简体   繁体   English

合并多个输入的模型

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM