Keras modèle.résumé() de l'objet string

Je veux écrire un *.fichier txt avec le réseau de neurones hyperparameters et de l'architecture du modèle. Est-il possible d'écrire le modèle d'objet.résumé() de mon fichier de sortie?

(...)
summary = str(model.summary())
(...)
out = open(filename + 'report.txt','w')
out.write(summary)
out.close

Il se trouve que je suis "None" comme vous pouvez le voir ci-dessous.

Hyperparameters
=========================

learning_rate: 0.01
momentum: 0.8
decay: 0.0
batch size: 128
no. epochs: 3
dropout: 0.5
-------------------------

None
val_acc: 0.232323229313
val_loss: 3.88496732712
train_acc: 0.0965207634216
train_loss: 4.07161939425
train/val loss ratio: 1.04804469418

Aucune idée de comment faire face à cela?

  • Je n'ai pas l'obtenir. d'abord le None semble être dans le milieu du fichier, mais 1) vous êtes de tronquer votre fichier lors de son ouverture, puis de le fermer (ne fonctionne pas: vous avez oublié le ()). Pouvez-vous imprimer votre résumé dans le programme? si c'est None, alors le problème est ailleurs.
  • Merci pour votre réponse Jean, oui, j'ai oublié l' (), mais je l'ai dans le code original, désolé. La chose est, qu'est-ce que le modèle.résumé() dans keras et comment transformer une chaîne de caractères afin que je puisse l'écrire sur un fichier?
  • J'ai eu ce problème. J'en ai conclu que le but de model.summary() est à la sortie d'affichage à l'écran. Ne pas créer de réel contenu de texte qui peut être écrit ou affectée à une variable. C'est pourquoi, lorsque vous appelez la fonction renvoie None.
  • De la documentation, "à Propos de Keras modèles": "model.summary(): imprime un résumé de la représentation de votre modèle."
  • L'aide est sur le chemin! model.summary() a été mise à jour pour inclure un argument appelé print_fn, qui personnalisé de fonctions d'impression de sorte que vous pouvez capturer le résumé de chaîne. Bien qu'il n'est pas sorti de Keras 2.0.5, il peut être dans la prochaine version. Il est disponible sur GitHub dans le temps.
  • Mise à jour: on dirait qu'il est en Keras 2.0.6. Voir wkretzsch la réponse ci-dessous.

InformationsquelleAutor lmpeixoto | 2017-01-15