代码之家  ›  专栏  ›  技术社区  ›  Mandias

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

  •  0
  • Mandias  · 技术社区  · 5 年前

    我试图使用TensorFlow实现一个简单的循环网络,但收到了上述错误。我查看了与以下内容相关的几个答案:

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

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

    错误发生在 历史=模型.it 线路:

    # 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
    • 张量流-gpu-2.3.1
    • CUDA工具包10.1更新1
    • CUDA 10.1的cuDNN v8.0.3版本

    我曾尝试禁用渴望执行,但这会导致一堆额外的错误,似乎对未来的代码开发来说不是最佳选择。

    此外,我还尝试在本地和通过jupyter笔记本运行此代码。两者都会导致完全相同的错误,所以我的软件设置似乎不是问题所在。
    有人能建议下一步在哪里查找此错误的原因吗?

    0 回复  |  直到 5 年前
    推荐文章