2016-04-26 3 views
2

J'utilise Keras pour prédire une série temporelle. En standard j'utilise 20 époques. Je veux savoir ce que mon réseau de neurones a prévu pour chacune des 20 époques. En utilisant model.predict, j'obtiens une seule prédiction parmi toutes les époques (je ne sais pas comment Keras la sélectionne). Je veux toutes les prédictions, ou au moins les 10 meilleures.Python/Keras - Comment accéder à chaque prédiction d'époque?

Quelqu'un pourrait-il m'aider?

Répondre

5

Je pense qu'il y a un peu de confusion ici. Une époque est uniquement utilisée lors de l'entraînement du réseau de neurones, donc quand l'entraînement s'arrête (dans ce cas, après la 20ème époque), alors les poids correspondent à ceux calculés à la dernière époque. Keras imprime les valeurs de perte de courant sur l'ensemble de validation pendant l'entraînement après chaque époque. Si les poids après chaque époque ne sont pas sauvegardés, ils sont perdus. Vous pouvez enregistrer des poids pour chaque époque avec le rappel ModelCheckpoint, puis les recharger avec load_weights sur votre modèle.

Vous pouvez calculer vos prévisions après chaque époque de formation en mettant en œuvre un rappel approprié par le sous-classement Callback et appelant à prévoir sur le modèle dans la fonction on_epoch_end.

Ensuite, pour l'utiliser, instanciez votre rappel, faites une liste et utilisez-le comme rappel d'argument de mot-clé à model.fit.

+0

Bonjour Matias! Si vous pouviez jeter un oeil sur celui-ci, il serait très apprécié: http://stackoverflow.com/questions/36895627/python-keras-creating-a-callback-with-one-prediction-for-each-epoch – abutremutante