2016-11-29 40 views
1

我剛開始使用Keras。我遇到了一個問題,即如何將以前圖層的多個輸出反饋到連續的lstm圖層。我的模型(部分)就像下面這樣:如何將前一層的多個輸出饋送到連續的lstm層

batch_size = 64 

output_1 = Dense(output_dim=(128,), input_dim=(200,)) 

output_2 = Dense(output_dim=(128,), input_dim=(200,)) 

output_3 = Dense(output_dim=(128,), input_dim=(200,)) 

output_4 = Dense(output_dim=(128,), input_dim=(200,)) 

現在我的問題是如何將以上所有輸出提供給lstm? input_dim應該像(batch_size,number_of_previous_outputs,128)

+0

您仍然有興趣在這個問題?因爲我認爲我找到了解決方案? –

+0

@ MarcinMożejko對於遲到的回覆感到抱歉。我改變了我的神經網絡結構。但我仍然對你的解決方案感興趣。 –

回答

1

您可以執行合併圖層(https://keras.io/getting-started/sequential-model-guide/#the-merge-layer)。或者用concat或者sum to,然後將合併層提供給lstm。

代碼示例:

merged_output = merge([output_1, output_2, output_3, output_4], mode='concat', concat_axis=1) 
lstm = LSTM(...)(merged_output) 
+0

感謝您的回覆。我很困惑你的merged_output圖層的形狀。 output_1的形狀是(batch_size,output_dim),我需要merged_output的形狀爲(batch_size,number_of_previous_output,output_dim)。 @Thomas Pinetz –

+0

你可以添加一個重塑圖層來完成你想要的輸出。 https://keras.io/layers/core/#reshape –

相關問題