Error: Setting an Array Element with a Sequence. Keras Neural Network

Error: Setting an Array Element with a Sequence. Keras Neural Network

我想构建 DQNAgent,但我在数据或 NN 方面遇到问题(我不确定)。我试图通过改变数组的形状来解决它,但我总是得到同样的错误:ValueError: setting an array element with a sequence.

这是数据:

状态(数组,形状:(2,2)):

       [4499.74073719,  121.58564876],
       [4669.91329184,   42.37631835]])
  array([[-2000.        ,   290.01270128]])]
 [array([[-4370.,   800.],
       [ -635.,   800.]]) -12.0]] 

标签(Q值):

array([0.23,1,3,0.1234])

程序需要根据数据生成 q_value 值。 这是代码:

    model=Sequential()
    model.add(Flatten(input_shape=(2,2)))
    model.add(Dense(24,  activation='relu'))
    model.add(Dense(24, activation='relu'))
    model.add(Dense(acton_size, activation='linear'))
    model.compile(loss='mse',optimizer=Adam(lr=learning_rate))
    return model
    r_locs, i_locs, c_locs, ang, score=Game_step(random.randint(0,4))
    state=np.array([r_locs, i_locs, c_locs, ang])
    state=np.reshape(state,[2,2])

错误:

return array(a, dtype, copy=False, order=order)
ValueError: setting an array element with a sequence.

知道如何解决这个问题吗? 谢谢

对此不完全确定,但可能是您尝试通过网络处理的状态矩阵没有按照您的预期进行解释。我相信,网络期望每个样本都是一个 2x2 的数字矩阵,而您的状态是数字和数组的组合。这可能会为您指明正确的方向。希望对你有帮助。