【问题标题】:Error: Setting an Array Element with a Sequence. Keras Neural Network错误:使用序列设置数组元素。 Keras 神经网络
【发布时间】:2019-10-22 17:04:23
【问题描述】:

我想构建 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 baice。 这是代码:

    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.

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

【问题讨论】:

    标签: python arrays keras neural-network reinforcement-learning


    【解决方案1】:

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

    【讨论】:

    • 谢谢!,不胜感激。
    猜你喜欢
    • 2017-11-18
    • 2020-10-01
    • 2018-12-30
    • 2017-07-08
    • 2018-10-15
    • 1970-01-01
    • 2019-08-06
    • 2019-06-23
    • 1970-01-01
    相关资源
    最近更新 更多