1

Kennt jemand eine Funktion zum Plotten der erhaltenen Maße in Caffe? Ich möchte Zugverlust, Testverlust und Genauigkeit, Zugbewegungsdurchschnitt usw. in einer Handlung grafisch darstellen. Gibt es eine Funktion außer Caffe Built-in-Funktion, die online verfügbar ist?Wie kann ich die Protokolldatei plotten?

Edited: Zuerst lief ich parse_log.py Datei (der folgende Befehl):

$python /path/to/caffe/tools/extra/parse_log.py /logfile_path/logfile.log /output_dir 

werden zwei Dateien basierend auf der Protokolldatei erstellt (lofile.log.train und logfile.log.test). Danach lief ich plot_training_log.py Datei. Es hat Optionen wie:

0: Test accuracy vs. Iters 
    1: Test accuracy vs. Seconds 
    2: Test loss vs. Iters 
    3: Test loss vs. Seconds 
    4: Train learning rate vs. Iters 
    5: Train learning rate vs. Seconds 
    6: Train loss vs. Iters 
    7: Train loss vs. Seconds 

Jedes Mal, wenn ich Option wählte wird die folgende Grafik zeigt: enter image description here und durch die Option der Wahl : enter image description here Jedes Mal, wenn ich will plotten Zug-Verlust Figur, es wird geben Fehler:

$python /path/to/caffe/tools/extra/plot_training_log.py.example 6 /output_dir/train_loss_cnn1.png ./logfile.log 
Traceback (most recent call last): 
    File "/home/ss/caffe-master/tools/extra/plot_training_log.py.example", line 191, in <module> 
    plot_chart(chart_type, path_to_png, path_to_logs) 
    File "/home/ss/caffe-master/tools/extra/plot_training_log.py.example", line 117, in plot_chart 
    data = load_data(data_file, x, y) 
    File "/home/ss/caffe-master/tools/extra/plot_training_log.py.example", line 88, in load_data 
    data[1].append(float(fields[field_idx1].strip())) 
ValueError: invalid literal for float(): 0.522037s/50 

Meine Frage in drei Teile gefaltet werden kann:

  1. Sind die Diagramme richtig? Funktioniert das Netzwerk gut?
  2. Woher kommt dieser Fehler? Ich habe die folgenden Spalten in logfile.log.train (#Iters | Sekunden | TrainingLoss | LearningRate).

  3. Wie kann ich alle Diagrammtypen in einem Diagramm anzeigen? Ich habe versucht, sie mit Komma, wie 0,2,3,6, aber es zeigt Fehler.

Vielen Dank im Voraus.

Antwort

2

Werfen Sie einen Blick auf parse_log.py gefunden in $CAFFE_ROOT/tools/extra.
Dieses Python-Hilfsprogramm hilft beim Parsen und Destillieren von Informationen aus dem Caffe Running Log.

+0

Vielen Dank Shai, ich habe es schon einmal versucht, es wird nur eine Zahl benötigt, um verschiedene Diagramme getrennt darzustellen. Zum Beispiel schreibt die Nummer 6 nur den Zugverlust. Danke nochmal –

+0

@ S.EB Dieses Tool ist generisch, Sie können es anpassen, um Ihre genauen Bedürfnisse zu erfüllen. – Shai

0

Start Ihr Modell trainiert, indem Sie den folgenden Befehl ausführen:

/home/ubuntu/caffe/build/tools/caffe train --solver /home/ubuntu/yourpath/solver.prototxt 2>&1 | tee /home/ubuntu/yourpath/model_train.log 

Die Trainingsprotokolle werden unter yourpath/model_train.log gespeichert werden.

0

Ich habe nicht caffe 's eingebaute Plot-Skripte angeschaut, aber ich benutze das Skript von here. Dies zeigt nur Ihren Zug/Testverlust an, aber Sie können eine gleitende Durchschnittsberechnung hinzufügen.

+0

Vielen Dank für den Link –

0

Betrachten Sie auch die Installation DIGITS, die eine Echtzeit-Plot zeigt all diese Art von Sachen.

+0

Danke für Ihren Kommentar, was genau DIGITS ist? Ist es wie eine grafische Benutzeroberfläche für Caffe? Wie kann ich es auf einem Gerät installieren, auf dem ich Caffe installiert habe? Danke –

+0

Ja, es ist mehr oder weniger eine GUI für Caffe.Es ist sehr praktisch in der Verwaltung und Organisation von Datasets und Modellen und verfügt über diese Echtzeit-Plot-Funktion, die Sie buchstäblich während des Trainings rettet. Ein weiteres interessantes Merkmal ist die Möglichkeit, die Ausgabe jeder Ebene mit einem gegebenen Bild als Eingabe zu visualisieren. Wenn Sie zum GitHub Repo gehen, das ich oben veröffentlicht habe, sehen Sie den Installationsleitfaden. Leider ist es nicht für alle Plattformen verfügbar, für die Caffe verfügbar ist. – nicobonne

Verwandte Themen