Merge 合并具有不同输入的不同模型

Merge 合并具有不同输入的不同模型,merge,keras,convolutional-neural-network,Merge,Keras,Convolutional Neural Network,我想在Keras中使用不同的输入维度来训练两个不同的Conv模型 我有: input_size=4 input_sizeB=6 model=Sequential() model.add(Conv2D(filters=10,input_shape= (1,time_steps,input_size),kernel_size(24,3),activation='relu',data_format='channels_first',kernel_regularizer=regulariz

我想在Keras中使用不同的输入维度来训练两个不同的Conv模型

我有:

 input_size=4
 input_sizeB=6

 model=Sequential()
 model.add(Conv2D(filters=10,input_shape= 
 (1,time_steps,input_size),kernel_size(24,3),activation='relu',data_format='channels_first',kernel_regularizer=regularizers.l2(0.001)))
 model.add(Flatten())
A= model.add(Dense(25, 
activation='tanh',kernel_regularizer=regularizers.l2(0.003)))

 model2=Sequential()
 model2.add(Conv2D(filters=10,input_shape= 
 (1,time_steps,input_sizeB),kernel_size(24,3),activation='relu',data_format='channels_first',kernel_regularizer=regularizers.l2(0.001)))
  model2.add(Flatten())
B= model2.add(Dense(25, 
activation='tanh',kernel_regularizer=regularizers.l2(0.003)))
现在,我将合并两个Conv网络末端的两个密集层

我该怎么做?

使用顺序API,可以按如下方式使用合并层:

合并层=合并[model,model2],mode='concat'mode='sum',ave'等。 合并模型=顺序 合并的\u模型。添加合并的\u层 请注意,这将根据您的版本引发一个警告,因为顺序合并正在被弃用,所以代码应该仍然有效。您可以考虑函数API,它在CF方面提供了更多的灵活性。根据您要使用的操作,几个预定义的合并层KARS提供了。下面是一个例子:

合并的_层=连接[model.output,model2.output] 合并的\u模型=模型[model.input,model2.input],合并的\u层
好的,谢谢你,但是使用你的代码最后我收到了错误:ValueError:顺序模型中的第一层必须得到一个input\u形状或batch\u input\u形状参数。我的错,我混合了顺序和函数API。我更正了我的答案。非常感谢,现在的错误是:合并层已弃用,将在2017年8月后删除。改为使用keras.layers.merge中的层,例如添加、连接等。merged=merge[model,model2,model3],mode='concat'mode='sum','ave'等。根据您的keras版本,回溯最后一次调用:File trainValidation_modelamodel.py,第205行,in merged=merge[model,model2,model3],mode='concat'mode='sum='sum','ave'等,这应该只是一个警告,而不是一个错误。如前所述,您应该考虑函数API。如果有帮助的话,我在答案中添加了一个例子。好的,谢谢。现在它起作用了;但是错误是dtype.name,reprmismatch,typemismatch.\uuuuu name\uuuuuuu TypeError:应为int32,但获取的列表包含类型为“\u Message”的张量。