我对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))来解决这个问题,但我仍然想知道我在这里误解了数组形状。
答案 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] ]