合并多个输入的模型
Merging models of multiple inputs
我在合并 2 个多输入模型时遇到问题。这 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
将评论转换为答案:问题是将列表列表作为输入传递给最终模型。您需要连接子模型的各个输入列表:
model = Model(inputs=cnnModel.inputs+cnnModel2.inputs, outputs=outputs)
我在合并 2 个多输入模型时遇到问题。这 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
将评论转换为答案:问题是将列表列表作为输入传递给最终模型。您需要连接子模型的各个输入列表:
model = Model(inputs=cnnModel.inputs+cnnModel2.inputs, outputs=outputs)