合并多个输入的模型

时间:2018-06-02 03:01:58

标签: python keras deep-learning keras-layer convolutional-neural-network

我无法合并多个输入的2个模型。这两个型号都接收多通道CNN的多个输入。但当我尝试合并它时,它会给我错误 - TypeError: unhashable type: 'list'。知道我在这里做错了什么吗?非常感谢您的帮助。

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

enter image description here

1 个答案:

答案 0 :(得分:1)

将评论转换为答案:问题是将列表列表作为最终模型的输入。您需要连接子模型的各个输入列表:

model = Model(inputs=cnnModel.inputs+cnnModel2.inputs, outputs=outputs)