我是Python和Keras的新用户,我希望您的反馈可以指导我找到解决方案。
我想连接几个循环层来训练多输入神经网络。更具体地说,我想迭代地创建多个图层并将它们合并为一个图层。
为了做到这一点,我创建了训练集词典(在这种情况下,两个训练集):
trainX_dict[0].shape
(11,21,6)
trainX_dict[1].shape
(11,21,6)
trainY_dict[0].shape
(11,21)
trainY_dict[1].shape
(11,21)
接下来,我按如下方式创建重复图层和密集图层:
branch_name={}
for i in range(1)
branch_name[i] = Sequential()
branch_name[i].add(SimpleRNN(30, input_shape=(trainX_dict[i].shape[0],trainX_dict[i].shape[2])))
branch_name[i].add(Dense(21))
其中:
branch_name = [<keras.models.Sequential object at 0x7f287421c9e8>, <keras.models.Sequential object at 0x7f2868e77940>]
现在,我想将这两个图层合并为一个图层。根据这个答案How to concatenate two layers in keras?,这应该有效:
branch_name[i].add(SimpleRNN(21, input_shape=(trainX_dict[i].shape[0],trainX_dict[i].shape[2])))
branch_name[i].add(Dense(21))
merged=Concatenate(branch_name)
final_model=Sequential()
final_model.add(Dense(21,input_shape=(trainX_dict[i].shape[0],trainX_dict[i].shape[2])))
merge2 = Concatenate([merged, final_model])
final_model.compile(optimizer='Adam', loss='binary_crossentropy', metrics=['accuracy'])