3
如何多次訓練1個模型並將它們組合到輸出層?如何在keras中同時訓練多個神經網絡?
例如:
model_one = Sequential() #model 1
model_one.add(Convolution2D(32, 3, 3, activation='relu', input_shape=(1,28,28)))
model_one.add(Flatten())
model_one.add(Dense(128, activation='relu'))
model_two = Sequential() #model 2
model_two.add(Dense(128, activation='relu', input_shape=(784)))
model_two.add(Dense(128, activation='relu'))
model_???.add(Dense(10, activation='softmax')) #combine them here
model.compile(loss='categorical_crossentropy', #continu together
optimizer='adam',
metrics=['accuracy'])
model.fit(X_train, Y_train, #continu together somehow, even though this would never work because X_train and Y_train have wrong formats
batch_size=32, nb_epoch=10, verbose=1)
我聽說,我可以做到這一點通過圖模型,但我找不到它的任何文件。
編輯:在回答下面的建議:
A1 = Conv2D(20,kernel_size=(5,5),activation='relu',input_shape=(28, 28, 1))
---> B1 = MaxPooling2D(pool_size=(2,2))(A1)
拋出這個錯誤:
AttributeError: 'Conv2D' object has no attribute 'get_shape'
非常感謝!你從哪裏導入Model和Concatenate?你有鏈接到正確的文檔? –
它在第二行發生錯誤。我編輯了我得到的錯誤。 –
沒問題,現在應該工作,我混淆了兩個API,你需要在功能版本中有一個明確的Input()層。我想你也可能會使用Keras的舊版本;我更新了v2和默認頻道的最後維度排序,您可能必須在您的最後更改。 – Lif3line