Tensorflow - Verwenden von tf.summary mit 1.2 Estimator API

9

Ich versuche, eine TensorBoard-Protokollierung zu einem Modell hinzuzufügen, das die neue tf.estimator-API verwendet.

Ich habe einen Haken wie folgt eingerichtet:

%Vor%

In meiner model_fn erstelle ich auch eine summary -

%Vor%

Wenn ich diesen Code ausführe, erhalte ich den folgenden Fehler von summary_hook : Exactly one of scaffold or summary_op must be provided. Dies liegt wahrscheinlich daran, dass tf.summary.merge_all() keine Zusammenfassungen findet und None zurückgibt, trotz der tf.summary.scalar , die ich in model_fn deklariert habe.

Irgendwelche Ideen, warum das nicht funktionieren würde?

    
Daniel 13.07.2017, 16:15
quelle

3 Antworten

4

Nur für diejenigen, die diese Frage in der Zukunft haben, funktioniert die ausgewählte Lösung nicht für mich (siehe meine Kommentare in der ausgewählten Lösung).

Tatsächlich muss man mit der TF 1.2 Estimator API summary_hook nicht haben. Ich habe nur tf.summary.scalar("loss", loss) in der model_fn, und führen Sie den Code ohne summary_hook. Der Verlust wird aufgezeichnet und im Tensorboard angezeigt. Ich bin nicht sicher, ob TF API nach diesen und ähnlichen Fragen geändert wurde.

    
EXP0 10.10.2017, 18:44
quelle
4

Verwenden Sie tf.train.Scaffold() und übergeben Sie tf.merge_all wie folgt

%Vor%     
Dongkyum Kim 17.07.2017 11:35
quelle
0

mit Tensorflow ver-r1.3

Fügen Sie Ihre zusammenfassenden Ops in Ihren Schätzer model_fn

ein

Beispiel:

%Vor%

Wenn Sie das Gefühl haben, dass das Schreiben von Zusammenfassungen Zeit und Platz kostet, können Sie die Schreibhäufigkeit von Zusammenfassungen in Ihrem Schätzer run_config

steuern %Vor%

Hinweis: Dies wirkt sich auf die gesamte summary writer-Häufigkeit für die TensorBoard-Protokollierung Ihres Schätzers () aus tf.estimator.Estimator )

    
Mageswaran 28.10.2017 13:20
quelle

Tags und Links