J'essaie d'implémenter un RNN avec état, mais il ne cesse de me demander un "input_shape complet (y compris la taille de lot)" . J'ai essayé différentes choses dans les arguments input_shape et input_batch_size, mais personne ne semble fonctionner. Quelqu'un peut-il faire la lumière?Keras/Python - Si un RNN est avec état, un input_shape complet doit être fourni (y compris la taille du lot)
code:
model=Sequential()
model.add(SimpleRNN(init='uniform',output_dim=80,input_dim=len(pred_frame.columns),stateful=True,batch_input_shape=(len(pred_frame.index),len(pred_frame.columns)),input_shape=(len(pred_frame.index),len(pred_frame.columns))))
model.add(Dense(output_dim=200,input_dim=len(pred_frame.columns),init="glorot_uniform"))
model.add(Dense(output_dim=1))
model.compile(loss="mse", class_mode='scalar', optimizer="sgd")
model.fit(X=predictor_train, y=target_train, batch_size=len(pred_frame.index),show_accuracy=True)
Traceback:
File "/Users/file.py", line 1483, in Pred
model.add(SimpleRNN(init='uniform',output_dim=80,input_dim=len(pred_frame.columns),stateful=True,batch_input_shape=(len(pred_frame.index),len(pred_frame.columns)),input_shape=(len(pred_frame.index),len(pred_frame.columns))))
File "/Library/Python/2.7/site-packages/keras/layers/recurrent.py", line 194, in __init__
super(SimpleRNN, self).__init__(**kwargs)
File "/Library/Python/2.7/site-packages/keras/layers/recurrent.py", line 97, in __init__
super(Recurrent, self).__init__(**kwargs)
File "/Library/Python/2.7/site-packages/keras/layers/core.py", line 43, in __init__
self.set_input_shape((None,) + tuple(kwargs['input_shape']))
File "/Library/Python/2.7/site-packages/keras/layers/core.py", line 141, in set_input_shape
self.build()
File "/Library/Python/2.7/site-packages/keras/layers/recurrent.py", line 199, in build
self.reset_states()
File "/Library/Python/2.7/site-packages/keras/layers/recurrent.py", line 221, in reset_states
'(including batch size).')
Exception: If a RNN is stateful, a complete input_shape must be provided (including batch size).
Merci pour Erik, Cependant, je reçois toujours la même erreur. Alors je demande, quel devrait être le "paramètre"? J'utilise un tuple avec (nombre de lignes dans la trame de prédiction, nombre de colonnes dans la trame de prédiction) - est-ce exact? – abutremutante