Ich habe Tensorboard zum ersten Mal zum Zeichnen eines Diagramms verwendet und war von seiner Bequemlichkeit beeindruckt, daher werde ich es teilen. Das Deep Learning-Framework verwendete PyTorch.
Da ich Anaconda verwende, installieren Sie Tensorboard mit dem folgenden Befehl.
conda install tensorboard
tb.py
import numpy as np
from torch.utils.tensorboard import SummaryWriter#Importieren Sie SummaryWriter, um Diagramme zu zeichnen
np.random.seed(1000)
x = np.random.randn(1000)
writer = SummaryWriter(log_dir="./logs")#Instanzgenerierung Geben Sie das zu speichernde Verzeichnis an
for i in range(1000):
writer.add_scalar("x", x[i], i)#Wert schreiben
writer.add_scalar("sin", np.sin(i), i)
writer.close()#schließen
Beachten Sie, dass der Dateiname *** tensorboard.py *** mit dem Modul abgedeckt wird und ein ImportError auftritt.
Einfach ausgedrückt, der obige Code zeichnet ein Array mit zufälligen Werten und einer Sin-Funktion.
from torch.utils.tensorboard import SummaryWriter
Import SummaryWriter, ein Modul, das zum Zeichnen von Diagrammen auf Tensorboard erforderlich ist.
writer = SummaryWriter(log_dir="./logs")
Dadurch wird ein Protokollverzeichnis im aktuellen Verzeichnis erstellt und die Dateien für Tensorboard werden in diesen Protokollen gespeichert.
Geben Sie den Wert des Arrays mit "writer.add_scalar (" x ", x [i], i)" ein.
Es ist writer.add_scalar (tags, scalar_value, global_step)
, gibt den Namen des Diagramms durch Tags an, ersetzt den zu speichernden Wert durch scalar_value und gibt das Intervall der horizontalen Achse des Diagramms durch global_step an.
Schließen wir es zuletzt mit writer.close ()
.
Lassen Sie uns den obigen Code ausführen. Das Diagramm wird gezeichnet.
python tb.py
Führen Sie den folgenden Befehl aus. Geben Sie das mit --logdir =" "
`gespeicherte Verzeichnis an.
Diesmal ist es ". / Logs".
tensorboard --logdir="./logs"
Anschließend wird die folgende Anweisung an das Terminal ausgegeben.
TensorBoard 2.2.1 at http://localhost:8000/ (Press CTRL+C to quit)
Der lokale Server wird gestartet. Geben Sie daher "http: // localhost: 8000 /" in Ihren Browser ein.
Wenn Sie sich Chrom ansehen, können Sie sehen, dass das Diagramm ordentlich dargestellt wird.
Deep Learning-Code erfordert viel Berechnung und nimmt auf dem lokalen PC (dem vorhandenen PC) sehr viel Zeit in Anspruch Standardmäßig wird ssh an die GPU des Servers im Labor gesendet und der Code auf dem Server ausgeführt. Wie versuchen Sie dann in einem solchen Fall das auf dem Remote-Server auf dem lokalen PC gezeichnete Diagramm?
Verwenden Sie bei ssh die Option -L, um den lokalen Host des Clients (lokaler PC): 9000 mit dem Benutzernamen des Remote-Servers @ Server-IP-Adresse: 8000 zu verbinden.
@Lokaler PC
ssh Benutzername@IP-Adresse des Servers-L 9000:localhost:8000
Lassen Sie uns den Code ausführen, der das Diagramm auf dem sshed-Remoteserver zeichnet.
@Remote-Server
python tb.py
Führen Sie den Befehl aus, um das Diagramm auf dem sshed-Remoteserver anzuzeigen. Da der zum Zeitpunkt von ssh mit dem lokalen PC verbundene Port 8000 ist, geben wir 8000 mit der Option --port an und führen ihn aus.
@Remote-Server
tensorboard --logdir="./logs" --port 8000
Die folgende Anweisung wird ausgegeben.
@Remote-Server
TensorBoard 2.2.1 at http://localhost:8000/ (Press CTRL+C to quit)
Als ich früher "http: // localhost: 8000 /" in den Browser eingegeben habe, konnte ich das Diagramm sehen, diesmal jedoch nicht.
Dieses Mal habe ich also Port 8000 des Remote-Servers und Port 9000 des lokalen PCs verbunden Wenn Sie im Browser Ihres lokalen PCs "http: // localhost: 9000 /" eingeben, wird das gleiche Diagramm wie zuvor angezeigt.
Ich habe mit Tensorboard in PyTorch ein Diagramm gezeichnet. Ich habe auch eingeführt, wie das Diagramm des Codes angezeigt wird, der auf dem Remote-Server des SSH-Ziels auf dem lokalen PC gesendet wurde. Ich möchte dieses Tensorboard und ssh-L auch für Deep Learning verwenden.
Recommended Posts