Объединение моделей нескольких входов - PullRequest
0 голосов
/ 02 июня 2018

У меня проблемы с объединением двух моделей с несколькими входами.Обе модели получают несколько входов для многоканальной 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 голосов
/ 02 июня 2018

Преобразование комментария в ответ: проблема заключается в передаче списка списков в качестве входных данных для окончательной модели.Вам необходимо объединить отдельные входные списки подмоделей:

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