在Keras中處理多輸入多輸出模型,可以使用Functional API來構建模型。以下是一個示例代碼:
from keras.models import Model
from keras.layers import Input, Dense
# 定義輸入層
input1 = Input(shape=(10,))
input2 = Input(shape=(20,))
# 定義共享的隱藏層
shared_layer = Dense(64, activation='relu')
# 連接輸入層和隱藏層
hidden1 = shared_layer(input1)
hidden2 = shared_layer(input2)
# 定義輸出層
output1 = Dense(1, activation='sigmoid')(hidden1)
output2 = Dense(1, activation='sigmoid')(hidden2)
# 構建模型
model = Model(inputs=[input1, input2], outputs=[output1, output2])
# 編譯模型
model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])
# 訓練模型
model.fit([input_data1, input_data2], [output_data1, output_data2], epochs=10, batch_size=32)
在上面的示例中,我們定義了兩個輸入層和一個共享的隱藏層,并將輸入層連接到隱藏層。然后,我們分別定義了兩個輸出層,并將隱藏層連接到輸出層。最后,我們使用Functional API構建了一個多輸入多輸出的模型,并使用compile()方法編譯模型,然后使用fit()方法訓練模型。
在訓練模型時,需要傳入多個輸入數據和輸出數據,分別對應模型中定義的多個輸入和輸出層。