Numpy数组未被转换为张量- Tensorflow2



我正在尝试为NLP应用程序训练神经网络,其中我使用25000个示例的训练集。我将这些样本预处理成25000个样本的特征向量。我只有3个特征。我使用一般方法

将这个特征向量转换为numpy数组X = np.array(X)Y = np.array(Y)

我现在有一个形状为(25000,3)的数据集。我用输入形状=(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,),这是模型应该期望的,对吗?

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

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

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

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

相关内容

  • 没有找到相关文章

最新更新