Schreiben Sie Tensorboard -Ereignisse mit einfachem Funktionsaufruf.
Die aktuelle Version (v2.6.2.2) wird auf Anaconda3 mit Pytorch 1.11.0 / Torchvision 0.12 / Tensorboard 2.9.0 getestet.
Unterstützen Sie scalar , image , figure , histogram , audio , text , graph , onnx_graph , embedding , pr_curve , mesh , hyper-parameters und video Zusammenfassungen.
FAQ
pip install tensorboardX
oder aus Quelle bauen:
pip install 'git+https://github.com/lanpa/tensorboardX'
Sie können optional crc32c installieren, um zu beschleunigen.
pip install crc32c
Ab Tensorboardx 2.1 müssen Sie soundfile für die Funktion add_audio() (200x beschleunig) installieren.
pip install soundfile
python examples/demo.pytensorboard --logdir runs starten # demo.py
import torch
import torchvision . utils as vutils
import numpy as np
import torchvision . models as models
from torchvision import datasets
from tensorboardX import SummaryWriter
resnet18 = models . resnet18 ( False )
writer = SummaryWriter ()
sample_rate = 44100
freqs = [ 262 , 294 , 330 , 349 , 392 , 440 , 440 , 440 , 440 , 440 , 440 ]
for n_iter in range ( 100 ):
dummy_s1 = torch . rand ( 1 )
dummy_s2 = torch . rand ( 1 )
# data grouping by `slash`
writer . add_scalar ( 'data/scalar1' , dummy_s1 [ 0 ], n_iter )
writer . add_scalar ( 'data/scalar2' , dummy_s2 [ 0 ], n_iter )
writer . add_scalars ( 'data/scalar_group' , { 'xsinx' : n_iter * np . sin ( n_iter ),
'xcosx' : n_iter * np . cos ( n_iter ),
'arctanx' : np . arctan ( n_iter )}, n_iter )
dummy_img = torch . rand ( 32 , 3 , 64 , 64 ) # output from network
if n_iter % 10 == 0 :
x = vutils . make_grid ( dummy_img , normalize = True , scale_each = True )
writer . add_image ( 'Image' , x , n_iter )
dummy_audio = torch . zeros ( sample_rate * 2 )
for i in range ( x . size ( 0 )):
# amplitude of sound should in [-1, 1]
dummy_audio [ i ] = np . cos ( freqs [ n_iter // 10 ] * np . pi * float ( i ) / float ( sample_rate ))
writer . add_audio ( 'myAudio' , dummy_audio , n_iter , sample_rate = sample_rate )
writer . add_text ( 'Text' , 'text logged at step:' + str ( n_iter ), n_iter )
for name , param in resnet18 . named_parameters ():
writer . add_histogram ( name , param . clone (). cpu (). data . numpy (), n_iter )
# needs tensorboard 0.4RC or later
writer . add_pr_curve ( 'xoxo' , np . random . randint ( 2 , size = 100 ), np . random . rand ( 100 ), n_iter )
dataset = datasets . MNIST ( 'mnist' , train = False , download = True )
images = dataset . test_data [: 100 ]. float ()
label = dataset . test_labels [: 100 ]
features = images . view ( 100 , 784 )
writer . add_embedding ( features , metadata = label , label_img = images . unsqueeze ( 1 ))
# export scalar data to JSON for external processing
writer . export_scalars_to_json ( "./all_scalars.json" )
writer . close ()
Tensorboardx unterstützt jetzt die Anmeldung direkt bei Comet. Comet ist eine kostenlose Cloud -basierte Lösung, mit der Sie Ihre Experimente automatisch verfolgen, vergleichen und erklären können. Es fügt eine Menge Funktionen auf Tensorboard hinzu, wie z. B. Datensatzverwaltung, Differenzierungsexperimente, den Code, der die Ergebnisse generiert hat, und mehr.
Dies funktioniert nicht in der Box und erfordern nur eine zusätzliche Codezeile. In diesem Colab -Notizbuch finden Sie ein volles Codebeispiel

Um weitere Zecken für den Slider hinzuzufügen (mehr Bildverlauf anzeigen), überprüfen Sie #44 oder TensorFlow/Tensorboard #1138