无法将NumPy数组转换为张量(不支持的对象类型tensorflow.python.framework.ops.EagerTensor)

时间:2020-09-26 16:40:34

标签: python tensorflow

我正在尝试使用TensorFlow实现一个简单的循环网络,但收到上述错误。我已经浏览了与以下内容相关的几个答案:

"Failed to convert a NumPy array to a Tensor (Unsupported object type ____)" 

错误,但到目前为止,没有一个将“ tensorflow.python.framework.ops.EagerTensor”作为不支持的类型。尝试从this tutorial实现代码(尽管数据集不同)后,我收到此错误。

错误发生在 history = model.fit 行:

# Define the network
epochs_qty = 50
batch_size_qty = 72
model = Sequential()
model.add(LSTM(epochs_qty, input_shape = (train_X.shape[1], train_X.shape[2])))
model.add(Dense(1))
model.compile(loss = 'mae', optimizer = 'adam')

# Fit the network
history = model.fit(train_X, train_y, epochs = epochs_qty, batch_size = batch_size_qty, validation_data = (test_X, test_y), verbose = 2, shuffle = False)

数据集具有以下形状:

print(train_X.shape, train_y.shape, test_X.shape, test_y.shape)
>> (1762, 1, 2) (1762,) (588, 1, 2) (588,)

我正在运行以下版本:

  • Python 3.7.9
  • Windows 10
  • tensorflow-gpu-2.3.1
  • CUDA工具包10.1更新1
  • 用于CUDA 10.1的cuDNN v8.0.3

我尝试禁用急切的执行,但这会导致大量其他错误,对于将来的代码开发而言似乎并不是最佳选择。

我还尝试在本地和通过Jupyter笔记本运行此代码。两者都导致完全相同的错误,因此看来我的软件设置不是问题。
任何人都可以建议该错误原因的下一步查找吗?

0 个答案:

没有答案