2016-10-14 3 views
2

Ich benutze Tensorboard, um Tensorflow Läufe zu visualisieren, und ich hätte gerne eine zusammenfassende Grafik, die nur einen Wert einmal pro Epoche schreibt.Tensorflow - Conditionally schreiben Zusammenfassung zu Tensorboard

Ich mag so etwas wie dies zu tun:

with graph.as_default(): 
    tf_ending = tf.placeholder(tf.bool) 
    tf.scalar_summary('Loss', loss) # Some summaries are written every time 
    if tf_ending: 
     # This summary should only get written sometimes. 
     tf.scalar_summary('Total for Epoch', epoch_total) 

Ich habe das Gefühl, das ich brauche separat etwas anderes als tf.merge_all_summaries() und verwalten die Sätze von Zusammenfassungen zu tun, aber ich bin mir nicht sicher, wie das funktionieren würde, .

Antwort

1

Eine Möglichkeit ist das Hinzufügen eines benutzerdefinierten Zusammenfassungsprobobufs zum SummaryWriter. Am Ende jeder Epoche (außerhalb der Session/Grafik), können Sie so etwas wie hinzufügen:

summary = tf.Summary() 
summary.value.add(tag='Total for Epoch',simple_value=epoch_total) 
summary_writer.add_summary(summary, train_step) 

Dies erfordert jedoch den Wert (epoch_total) über den tensorflow Graph (sess.run) zurückgegeben werden. Ich bin mir auch nicht sicher, ob dies der beste Weg ist, um so etwas zu tun, aber Sie sehen, dass dies in TF-Beispielen verwendet wird, z. here und here.

Verwandte Themen