TypeError:“ SparseTensor”对象在tf-keras中无法下标

时间:2019-12-15 12:51:32

标签: tensorflow keras python-3.7 tensorflow2.0 tf.keras

我正在尝试训练深度学习模型。

model.fit(x_train, y_train, batch_size=batch_size, validation_data=(x_test, y_test),
                                 epochs=epochs, callbacks=callbacks, verbose=True)
  

x_train

name_sparse
<class 'scipy.sparse.csr.csr_matrix'>
cont_feature
<class 'numpy.ndarray'>
cat_feature
<class 'numpy.ndarray'>
  

y_train

output_var
<class 'numpy.ndarray'>

它在Keras(2.2.4)(TF 1.15后端)上运行良好,但是当我在进行必要的更改后尝试使用Tf-Keras(TF2.0)运行它时,出现以下警告和错误(示例)数据集):

WARNING:tensorflow:Falling back from v2 loop because of error: 
Failed to find data adapter that can handle input: 
(<class 'dict'> containing {"<class 'str'>"} keys and 
{"<class 'scipy.sparse.csr.csr_matrix'>", "<class 'numpy.ndarray'>"} values), <class 'NoneType'> 
ERROR:
Train on 100 samples, validate on 20 samples

Epoch 00001: LearningRateScheduler reducing learning rate to 0.003000000026077032.
Epoch 1/2
Traceback (most recent call last):
  File "//anaconda3/envs/project/lib/python3.7/site-packages/tensorflow_core/python/keras/engine/training_arrays.py", line 374, in model_iteration
    ins_batch = slice_arrays(ins[:-1], batch_ids) + [ins[-1]]
  File "//anaconda3/envs/project/lib/python3.7/site-packages/tensorflow_core/python/keras/utils/generic_utils.py", line 529, in slice_arrays
    return [None if x is None else x[start] for x in arrays]
  File "//anaconda3/envs/project/lib/python3.7/site-packages/tensorflow_core/python/keras/utils/generic_utils.py", line 529, in <listcomp>
    return [None if x is None else x[start] for x in arrays]
TypeError: 'SparseTensor' object is not subscriptable

0 个答案:

没有答案