为什么我的神经网络得到一个形状 ValueError
当我传入的是一个形状数组 (8,1)
但我得到的错误是神经网络抱怨得到 (1,)
?
神经网络:
>>> observation_dimension
(8,)
>>> q_network = Sequential([
Dense(40, input_dim=observation_dimension, activation='relu'),
Dense(40, activation='relu'),
Dense(number_of_actions, activation='linear')
])
>>> obs
array([-0.00371828, 0.93953934, -0.37663383, -0.07161933, 0.00431531,
0.08531308, 0. , 0. ])
>>> obs.shape
(8,)
错误:
>>> q_network.predict(obs)
Traceback (most recent call last):
...
...
ValueError: Error when checking input: expected dense_27_input to have shape (8,) but got array with shape (1,)
2 回答
model.predict
采用一批样品,如果您给它一个形状错误的样品,它会将第一个维度解释为批次 .一个简单的解决方案是添加值为1的维度:
predict
方法需要一个二维数组,所以只需重塑obs
: