我想在keras中創建我的第一個合奏模型。我的數據集中有3個輸入值和一個輸出值。如何合併具有相同輸入的keras連續模型?
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)
。我認爲這是一個不必要的步驟,而不是兩次傳入輸入,我想爲我的集合模型提供一個通用輸入節點。我該怎麼做?
彙編(優化和損失)的模型中,當您使用**'fit'針對特定只考慮模型**。如果在'model3' **中使用**'fit',則只有'model3'的編譯生效。 ---除非你要單獨訓練(使用'model1.fit'和'model2.fit'),否則根本不需要編譯'model1'和'model2'。權重和預測不需要「編譯」。 –