1

Ich lerne TensorBoard und jedesmal, wenn ich tensorboard erhalte ich die Nachricht in meinem Terminal starten zu verwenden:Welche Vorgehensweise wird empfohlen, um mehrere Runs eines Summary Writer in TensorFlow zu speichern?

WARNING:tensorflow:Found more than one graph event per run. Overwriting the graph with the newest event. 

Ich gehe davon aus, weil ich das gleiche Modell mit dem gleichen Namen mehrmals ausgeführt haben. Ich möchte mein Modell einfach mehrere Male laufen lassen und in der Lage sein zu inspizieren, was es mit Tensorflow macht. Läuft gerade:

tensorboard --logdir=path/to/log-directory 

nicht der übliche Weg, es zu tun? Oder was ist der Vorschlag für diese Art von Arbeit, wenn ich das gleiche Modell mehrere Male mit verschiedenen Lernalgorithmen, Schrittgrößen, Initialisierungen usw. ausführen möchte. Ist es wirklich notwendig, jedes Mal ein neues Protokollverzeichnis einzurichten?

Antwort

5

Wenn Sie das Modell in Ihrem Diagramm exportieren tensorflow mit den Log-Informationen eine neue Datei erstellt. Jedes Mal, wenn Sie es ausführen, werden die neuen Informationen im selben Ordner hinzugefügt.

Als tensorboard nicht ein Modell von anderen differenciate kann es zeigt die Warnung. Also ja, Sie sollten einen anderen Protokollordner pro Iteration verwenden. Tatsächlich entfernen einige Beispiele das Protokollverzeichnis, bevor ein Diagramm ausgeführt wird.

0

Wenn Sie eine tf.summary.FileWriter() erstellen, bieten Sie TF mit einem Verzeichnis, in dem es Ereignisdateien und fügen Sie Zusammenfassungen und Ereignisse schreiben. Jede neue Datei besteht aus dem Namen, dem Zeitstempel und Ihrem Computer. Wenn Sie den Writer mehrere Male ausführen, erstellt er eine neue Datei in Ihrem Verzeichnis. Versuchen Sie es ein paar Durchläufe werden Sie so etwas wie dieses ls -1 (ich lief es 4 mal):

events.out.tfevents.1492391591.salvadordali-laptop 
events.out.tfevents.1492395088.salvadordali-laptop 
events.out.tfevents.1492395117.salvadordali-laptop 
events.out.tfevents.1492395120.salvadordali-laptop 

Ihre Warnung sagt Ihnen genau das gleiche: gefunden viele Runs, wird die letzte verwenden. Sie können es ignorieren, da es den letzten Lauf verwendet (basierend auf dem Zeitstempel).

Wenn Sie nicht über die Warnung mögen, können Sie entweder:

  • erstellen verschiedene Ordner für jeden Lauf (kann hilfreich sein, die Grundstücke oder grafische Darstellung der Ausführung vergleichen) nach jedem Lauf
  • entfernen Sie die Dateien rm -R logs/ (Wenn Protokolle Ihr Verzeichnis ist)