Конкатенация нескольких входных функциональных моделей API CNN в кератах - PullRequest
0 голосов
/ 02 марта 2019

У меня есть 8 моделей CNN, модель1, модель2, модель3, модель4, модель5, модель6, модель7, модель8, каждая из которых содержит conv2d, активацию, максимальный пул, выпадающие слои.Я хочу объединить выходные данные, скомпилировать и подогнать мою модель, как показано ниже:

enter image description here

Я путаю в объединении, объединении ифитинг.мой код Python ниже:

out1 = Flatten()(model1)
out2 = Flatten()(model2)
out3 = Flatten()(model3)
out4 = Flatten()(model4)
out5 = Flatten()(model5)
out6 = Flatten()(model6)
out7 = Flatten()(model7)
out8 = Flatten()(model8)
merge = Concatenate([out1, out2, out3, out4, out5, out6, out7, out8])

final_out = Dense(classes, activation='softmax')(merge) 

final_model = Model([out1, out2, out3, out4, out5, out6, out7, out8], final_out)

final_model.compile(loss="categorical_crossentr", optimizer= opt, metrics=["accuracy"])

final_model.fit_generator(aug.flow(trainX, trainY, batch_size=BS),validation_data=(testX, testY),
                    steps_per_epoch=len(trainX) // BS, epochs=EPOCHS, verbose=1)

Когда я запускаю программу, я получаю следующую ошибку:

Layer dense_1 was called with an input that isn't a symbolic tensor

В чем проблема?как я могу объединить, скомпилировать, обучить?Может кто-нибудь, пожалуйста, помогите мне, любая информация будет полезна.

...