Keras模型层输入大小不匹配错误

时间:2018-06-14 03:31:15

标签: python numpy keras

我对Keras的输入大小有一个简单而愚蠢的问题 如果我创建一个模型,例如

model = Sequential()
model.add(InputLayer(input_shape=(14, )))
for i in range(1):
    model.add(Dense(16, activation='relu'))
model.add(Dense(104, activation='softmax'))
model.compile(loss='categorical_crossentropy', optimizer=Adam(lr=0.05))

当我尝试通过传递数据预测说 data = [-1.0,1.0,-1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,-1.0,-1.0]并运行

model.predict(data)

会出错

ValueError: Error when checking : expected input_1 to have shape (14,) but got array with shape (1,)

但是input_shape不是已定义为(14,1),这正是我传入的内容吗?我可以通过使用np.reshape(数据,(1,14))来解决这个问题,但我仍然想知道我在这里误解了数组形状。

1 个答案:

答案 0 :(得分:0)

这是因为您的输入列表。  您的数据列表包含14个输入。建议在列表中列出如下列表。

data = [[-1.0, 1.0, -1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, -1.0, -1.0] ]