2017-02-02 1 views
2

Ich habe einige collections, die ich mit TensorBoard mit einem Supervisor verfolgen möchte. In der Aufsicht initializer würde ich etwas in der Art wieTensorFlow: Wie mehrere "Sammlungen" zusammengeführt werden?

summary_op = tf.summary.merge_all(['test', 'valid']) 

Aber ich habe den Fehler TypeError: unhashable type: 'list', weil die key eine Zeichenfolge sein muss (see documentation).



bearbeiten:

Das funktioniert auch nicht:

summary_op = [tf.summary.merge_all('train'), tf.summary.merge_all('valid')] 

Antwort

2

tf.summary.merge() Versuchen, z.B. so wie:

summary_op = tf.summary.merge([ 
     tf.summary.merge_all('test'), 
     tf.summary.merge_all('train')], 
    collections='merged') 

Dies würde alle Zusammenfassungen von den test und train Sammlungen zusammenführen und sie zu einer neuen merged Sammlung. Beachten Sie, dass dies in seltsamen Effekten führen, wenn die gleiche Zusammenfassung mehrmals während der gleichen Zeitschritt verwendet wird:

Same summaries, same time step

Hier wurde ich aus Versehen (manuell!) Speichern von Validierungs Zusammenfassungen während des Trainings läuft und dann erneut in einem separaten Validierungslauf.

Auch ich bin mir nicht sicher, ob dies der effizienteste Weg ist, aber es funktioniert sicherlich.

Verwandte Themen