1
我使用Keras與Tensorflow作爲後端,並得到不兼容的錯誤:Keras:ValueError異常:輸入0不兼容層發出
model = Sequential()
model.add(LSTM(64, input_dim = 1))
model.add(Dropout(0.2))
model.add(LSTM(16))
以下錯誤顯示:
Traceback (most recent call last):
File "train_lstm_model.py", line 36, in <module>
model.add(LSTM(16))
File "/home/***/anaconda2/lib/python2.7/site-packages/keras/models.py", line 332, in add
output_tensor = layer(self.outputs[0])
File "/home/***/anaconda2/lib/python2.7/site-packages/keras/engine/topology.py", line 529, in __call__
self.assert_input_compatibility(x)
File "/home/***/anaconda2/lib/python2.7/site-packages/keras/engine/topology.py", line 469, in assert_input_compatibility
str(K.ndim(x)))
ValueError: Input 0 is incompatible with layer lstm_2: expected ndim=3, found ndim=2
我怎樣才能解決這個問題問題?
Keras版本:1.2.2 Tensorflow版本:0.12
我已經驗證了它的工作原理是隻設置'input_dim'獨自一人,那調理將'return_sequences'設置爲True。你能告訴我爲什麼我必須設置'return_sequences'嗎? –
每次將輸出饋送到經常性網絡時,都應將return_srquences設置爲True。它使你的圖層輸出整個計算序列。如果設置爲false,則返回一維矢量(默認情況下,它被設置爲序列的最後一個輸出)。 –
我的答案是正確還是錯誤? –