使用model.product()设置具有序列的数组元素



这是我的代码:

bsp = Input(shape = (1,3,))
V1 = Dense(2,activation = 'softmax')(bsp)
# b = Dense(5, activation = "relu")(B)
# inputs = [B]
# merges = [b]
S_input = Input(shape = (15,4))
S = Reshape((15,4,1))(S_input)
#inputs.append(S)
x2 = inception(S)
# merge and add
V2 = Dense(2, activation = 'softmax')(x2)
V = add([V1,V2])
model = Model(inputs = [bsp,S_input], outputs = V)
model.predict([observation[0],observation[1]])

基本上,它是一个有2个输入和1个输出的模型。在最后的计算中,将两个输入相加并传递到最终模型中。然而,它有错误为:

Traceback (most recent call last):
File "C:/Users/User/Desktop/Learning Materials/programming/python_code/RL/LabFiles_RL/stock_market_reinforcement_learning/market_pg.py", line 157, in <module>
pg.train(verbose = 1)
File "C:/Users/User/Desktop/Learning Materials/programming/python_code/RL/LabFiles_RL/stock_market_reinforcement_learning/market_pg.py", line 66, in train
aprob = model.predict([observation[0],observation[1]])[0]
File "C:UsersUserAnaconda3libsite-packageskerasenginetraining.py", line 1172, in predict
steps=steps)
File "C:UsersUserAnaconda3libsite-packageskerasenginetraining_arrays.py", line 297, in predict_loop
batch_outs = f(ins_batch)
File "C:UsersUserAnaconda3libsite-packageskerasbackendtensorflow_backend.py", line 2661, in __call__
return self._call(inputs)
File "C:UsersUserAnaconda3libsite-packageskerasbackendtensorflow_backend.py", line 2614, in _call
dtype=tensor.dtype.base_dtype.name))
File "C:UsersUserAnaconda3libsite-packagesnumpycorenumeric.py", line 492, in asarray
return array(a, dtype, copy=False, order=order)
ValueError: setting an array element with a sequence.

正如在其他类似问题中提到的,我已经确保了两个输入具有相同的维度,在我的情况下,它们是(1,1,3(和(1,15,4(的形状。

我该如何解决这个问题?

我会查看数组的数据类型,并在构建过程中将它们设置为浮动。这是一个numpy错误,在这里讨论:

ValueError:设置具有序列的数组元素

最新更新