如何在Keras中迭代地将多个层连接成一个层?

时间:2017-03-07 17:06:49

标签: python keras keras-layer

我是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'])

0 个答案:

没有答案