Тот же код в несколько ином шаблоне
Существует прямое преобразование вашего кода в функциональный API Keras, как показано в их документации .Вам нужно изменить объявление Sequential
mdl = Sequential()
mdl.add(Dense(100, activation='relu', input_dim=X_train.shape[1]))
mdl.add(Dense(200, activation='relu'))
mdl.add(Dense(100, activation='relu'))
mdl.add(Dense(6, activation='softmax'))
на его функциональный эквивалент:
inputs = Input(shape=(X_train.shape[1],))
layer1 = Dense(100, activation='relu')(inputs)
layer2 = Dense(200, activation='relu')(layer1)
layer3 = Dense(100, activation='relu')(layer2)
classifier = Dense(6, activation='softmax')(layer3)
mdl = Model(inputs=inputs, outputs=classifier)
(часто люди просто повторно используют одну и ту же переменную для всех промежуточных слоев, это дажесделано в примерах документации, но это ИМХО немного яснее).
Как только вы это сделаете, вы можете добавить другой выходной слой, который "ответвляется" от последнего плотного слоя layer3
, и установить, что вашМодель имеет два выхода, например:
regression = Dense(1, activation='linear')(layer3)
mdl = Model(inputs=inputs, outputs=[classifier, regression])