【问题标题】:Numpy Array not Getting Converted to a Tensor - Tensorflow2Numpy 数组未转换为张量 - Tensorflow2
【发布时间】:2021-08-21 18:09:45
【问题描述】:

我正在尝试为 NLP 应用程序训练神经网络,其中我使用了 25000 个示例的训练集。我将这些示例预处理为 25000 个示例的特征向量。我只有 3 个功能。我使用通用方法将此特征向量转换为numpy数组

X = np.array(X) y = np.array(y)

我现在有一个形状为 (25000, 3) 的数据集。我用输入 shape = (3, ) 编译了我的模型,我的第一层是 Embedding()

我通过了模型拟合查询

history = model.fit(X, y, validation_split= 0.2, epochs = 30, verbose = 1, callbacks = [earlystop, modelcheckpoint, lr_red], 
                    batch_size = 256, shuffle = True
                    )

但是,它给了我一个错误

ValueError: Failed to convert a NumPy array to a Tensor (Unsupported object type int).

即使我打字

print(X[0].shape)

它给了我 (3, ),这是模型应该期望的,对吗?

请帮我解决这个问题。我真的不知道从哪里开始解决这个问题。

【问题讨论】:

  • 相信也有类似的问题here ;)

标签: python numpy nlp tensorflow2.0


【解决方案1】:

看起来x 数据类型有问题,而不是形状。 Tensorflow 对数据类型有点严格,不支持将所有数据类型(例如错误消息中的int)转换为张量(您的嵌入层可能正在尝试这样做)。我会尝试以下方法:

X = np.array(X).astype('float32')

(如果不起作用,请提供完整的回溯)

【讨论】:

    猜你喜欢
    • 2021-10-17
    • 2018-11-28
    • 2020-12-31
    • 1970-01-01
    • 2021-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多