在我的代码中,我有:self._model.predict(next_state)
当我print(next_state.shape)
时,我得到(14,)
但是当我运行代码时,我得到一个错误:
ValueError: Error when checking input: expected dense_4_input to have shape (14,) but got array with shape (1,)
model.summary
是:
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
dense_4 (Dense) (None, 24) 360
_________________________________________________________________
dense_5 (Dense) (None, 24) 600
_________________________________________________________________
dense_6 (Dense) (None, 4) 100
=================================================================
Total params: 1,060
Trainable params: 1,060
Non-trainable params: 0
_________________________________________________________________
None
模型希望输入数组的形状为(示例X特征)。这就是为什么输入和输出形状用
(None, 24)
来描述,其中'None'表示批大小。因此,第一个轴以行的形式表示要预测的不同示例,其特征以列的形式表示。kerasapi需要使用二维位置参数索引的数组,而您为它提供的是一个单位索引数组(14, )
。你知道吗要处理单个示例,一个简单的解决方法是在发送以进行预测之前,将数组重塑为具有两个位置指示符:
self._model.predict(np.reshape(next_state, [1, next_state.shape]))
它将您的输入更改为
(1, 14)
,这是由(None, 14)
表示的模型所必需的相关问题 更多 >
编程相关推荐