J'utilise Keras avec tensorflow comme backends et obtenir des erreurs incompatibles:Keras: ValueError: entrée 0 est émet couche incompatible
model = Sequential()
model.add(LSTM(64, input_dim = 1))
model.add(Dropout(0.2))
model.add(LSTM(16))
L'erreur suivante indique:
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
Comment puis-je résoudre ce problème problème?
Version Keras: 1.2.2 Version tensorflow: 0,12
J'ai vérifié que cela fonctionne en réglant uniquement le 'input_dim' seul, le conditionnement qui la définition de 'return_sequences' à True. Pourriez-vous me dire pourquoi je dois définir 'return_sequences'? –
Vous devez définir la valeur true à chaque fois que votre sortie est envoyée à un réseau récurrent. Cela permet à votre couche de sortir toute la séquence des calculs. Si elle est définie sur false, un vecteur unidimensionnel est renvoyé (par défaut, il est défini sur la dernière sortie d'une séquence). –
Ma réponse est-elle correcte ou incorrecte? –