[英]Merging models of multiple inputs
I am having trouble merging 2 models of multiple inputs. 我在合并2个具有多个输入的模型时遇到问题。 The 2 models both receive multiple inputs for multichannel CNN. 这两个型号均接收多通道CNN的多个输入。 But it's giving me the error - TypeError: unhashable type: 'list'
when I tried to merge them. 但这给了我错误TypeError: unhashable type: 'list'
当我尝试将它们合并时。 Any idea what I am doing wrong here? 知道我在这里做错了吗? Thank you very much for your assistance in advance. 非常感谢您的提前帮助。
def mergeCnnModel(cnnModel, cnnModel2):
merged = concatenate([cnnModel.layers[-2].output,
cnnModel2.layers[-2].output])
dense1 = Dense(10, activation='relu')(merged)
outputs = Dense(1, activation='sigmoid')(dense1)
model = Model(inputs=[cnnModel.input, cnnModel2.input], outputs=outputs)
# compile
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
# summarize
print(model.summary())
return model
Converting comment into answer: The problem is passing list of lists as inputs to the final model. 将注释转换为答案:问题是将列表列表作为输入传递给最终模型。 You need concatenate the individual input lists of sub models: 您需要串联子模型的各个输入列表:
model = Model(inputs=cnnModel.inputs+cnnModel2.inputs, outputs=outputs)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.