1

Ich möchte ein einzelnes Skript haben, das entweder Tensorboard-Daten sammelt oder nicht, je nachdem, wie ich es ausführe. Mir ist bewusst, dass ich Flags weitergeben kann, um meinem Skript zu sagen, wie ich es ausführen soll. Ich könnte es sogar hart in das Skript einprogrammieren und einfach das Skript manuell ändern.Wie erstelle ich eine einzelne Skriptdatei für den Fall, dass ich TensorBoard-Statistiken sammeln möchte und nicht möchte?

Jede Lösung hat ein größeres Problem. Ich finde, dass ich überall in meinem Skript eine if-Anweisung schreiben muss, wenn ich möchte, dass die summary writer-Operationen ausgeführt werden oder nicht. Zum Beispiel finde ich, dass ich so etwas tun würde:

if tb_sys_arg = 'tensorboard': 
    merged = tf.merge_all_summaries() 

und dann je nach dem Wert von tb_sys_arg die Zusammenfassungen laufen oder nicht, wie in:

if tb_sys_arg = 'tensorboard': 
    merged = tf.merge_all_summaries() 
else: 
    train_writer = tf.train.SummaryWriter(tensorboard_data_dump_train, sess.graph) 

mir dies wirklich albern scheint . Ich hätte das lieber nicht. Ist das der richtige Weg? Ich möchte einfach nicht jedes Mal, wenn ich mein Hauptscript ausführe, Statistiken sammeln, aber ich möchte auch nicht zwei separate Skripte haben.


Als anecdotical Geschichte, vor einigen Monaten begann ich TensorBoard verwenden und es scheint, ich habe meine Haupt-Datei wie folgt läuft:

python main.py —logdir=/tmp/mdl_logs 

so dass es tensorboard Daten sammelt. Aber mir wurde klar, dass ich nicht glaube, dass ich diese letzte Flagge brauche, um Tensorboard-Daten zu sammeln. Es ist so lange her, dass ich jetzt vergesse, wenn ich das wirklich brauche. Ich habe die Dokumentation und die Tutorials gelesen, aber es scheint, dass ich diese letzte Flagge nicht brauche (sie benötigt nur die Web-App wie in tensorboard --logdir=path/to/log-directory, richtig?) Habe ich die ganze Zeit falsch gemacht?

+1

Sie können Betreuer starten, ohne „Zusammenfassung“ Service Daher werden die Übersichtsknoten nicht ausgeführt: https://github.com/tensorflow/tensorflow/blob/master/tensorflow/g3doc/api_docs/python/functions_and_classes/shard6/tf.train.Supervisor.md#launching-fewer -services –

+0

Die Flagge, die Sie verwenden, ist nicht unbedingt erforderlich, aber Sie können angeben, wo die Protokolle für TensorBoard gespeichert werden sollen, damit sie zur Trainingszeit verwendet werden kann. Du könntest es auch anders benennen. –

+1

@YaroslavBulatov Wie wäre es mit einer Antwort mit Ihrem Link und dem aussagekräftigen Code ('sv = Supervisor (logdir = '/ tmp/mydir', summary_op = None)'). Sie sind genau richtig. –

Antwort

Verwandte Themen