输入密集与图层无效形状不兼容

时间:2020-10-24 10:18:28

标签: keras keras-layer tf.keras

我的模型有这个简单的层

states = Input(shape=(len(inputFinal),))

这应该生成(328,None)但不知道为什么当我检查倒置时

model.inputs
[<tf.Tensor 'input_1:0' shape=(None, 328) dtype=float32>]

当我尝试将数据传递给模型时,层不正确

value.shape
(328,)

model.predict(value)

Input 0 of layer dense is incompatible with the layer: expected axis -1 of input shape to have value 328 but received input with shape [None, 1]

我找不到问题了,有什么主意吗?

1 个答案:

答案 0 :(得分:0)

指定输入形状时,只需指定特征数量。 Keras不想知道样本数量,因为它可以接受任何大小。因此,当您这样做时:

states = Input(shape=(len(inputFinal),))

您要告诉Keras,您的输入有328列,事实并非如此。当您输入输入时,Keras会意识到这一点,然后崩溃。

如果inputFinal是2D NumPy数组,请尝试:

Input(shape=inputFinal.shape[1:])