Пытаюсь создавать свои первые ансамблевые модели из кераса. У меня есть 3 входных значения и одно выходное значение в моем наборе данных.
from keras.optimizers import SGD,Adam
from keras.layers import Dense,Merge
from keras.models import Sequential
model1 = Sequential()
model1.add(Dense(3, input_dim=3, activation='relu'))
model1.add(Dense(2, activation='relu'))
model1.add(Dense(2, activation='tanh'))
model1.compile(loss='mse', optimizer='Adam', metrics=['accuracy'])
model2 = Sequential()
model2.add(Dense(3, input_dim=3, activation='linear'))
model2.add(Dense(4, activation='tanh'))
model2.add(Dense(3, activation='tanh'))
model2.compile(loss='mse', optimizer='SGD', metrics=['accuracy'])
model3 = Sequential()
model3.add(Merge([model1, model2], mode = 'concat'))
model3.add(Dense(1, activation='sigmoid'))
model3.compile(loss='binary_crossentropy', optimizer='Adam', metrics=['accuracy'])
model3.input_shape
Модель ансамбля (model3) компилируется без каких-либо ошибок, но при подборе модели я должен передать один и тот же ввод два раза model3.fit([X,X],y)
. Я считаю, что это ненужный шаг, и вместо того, чтобы дважды передавать входные данные, я хочу иметь общие входные узлы для моей модели ансамбля. Как я могу это сделать?