Je suis en train d'exécuter ce SimpleRNN:Mauvais nombre de dimensions sur model.fit
model.add(SimpleRNN(init='uniform',output_dim=1,input_dim=len(pred_frame.columns)))
model.compile(loss="mse", optimizer="sgd")
model.fit(X=predictor_train, y=target_train, batch_size=len(pred_frame.index),show_accuracy=True)
L'erreur est sur model.fit, comme vous pouvez le voir ci-dessous:
File "/Users/file.py", line 1496, in Pred
model.fit(X=predictor_train, y=target_train, batch_size=len(pred_frame.index),show_accuracy=True)
File "/Library/Python/2.7/site-packages/keras/models.py", line 581, in fit
shuffle=shuffle, metrics=metrics)
File "/Library/Python/2.7/site-packages/keras/models.py", line 239, in _fit
outs = f(ins_batch)
File "/Library/Python/2.7/site-packages/keras/backend/theano_backend.py", line 365, in __call__
return self.function(*inputs)
File "/Library/Python/2.7/site-packages/theano/compile/function_module.py", line 513, in __call__
allow_downcast=s.allow_downcast)
File "/Library/Python/2.7/site-packages/theano/tensor/type.py", line 169, in filter
data.shape))
TypeError: ('Bad input argument to theano function with name "/Library/Python/2.7/site-packages/keras/backend/theano_backend.py:362" at index 0(0-based)', 'Wrong number of dimensions: expected 3, got 2 with shape (88, 88).')
L'erreur me dit qu'il a le mauvais nombre de dimensions, il devrait être 3 et il n'en a que 2. Quelles sont les dimensions auxquelles il fait référence?
Merci pour l'explication, j'ai un problème similaire. Pourquoi les étapes maximum pour la rétropropagation dans le cas que vous commentez sont seulement 2? Et pourquoi le nombre de séquences sont 5? En passant, avec une séquence vous voulez dire une époque dans la formation? – David
J'ai choisi au hasard le nombre 2 comme la quantité d'étapes précédentes pour la rétropropagation pour cet exemple. En combinaison avec le nombre (également choisi librement) de 8 échantillons, cela conduit à un total de 5 séquences. La séquence 1 comprend les échantillons 1, 2 et 3, la séquence 2 comprend 2, 3 et 4 et ainsi de suite. Voir la visualisation dans ma réponse pour plus de détails. Une époque est celle où le réseau a été entraîné avec chaque séquence une fois. Ensuite, vous recommencez avec la première séquence – Lorrit