Напишите события Tensorboard с простым вызовом функции.
Текущий выпуск (v2.6.2.2) тестируется на Anaconda3, с Pytorch 1.11.0 / Torchvision 0,12 / Tensorboard 2.9.0.
Поддержка scalar , image , figure , histogram , audio , text , graph , onnx_graph , embedding , pr_curve , mesh , hyper-parameters и video краткие сведения.
Часто задаваемые вопросы
pip install tensorboardX
или построить из источника:
pip install 'git+https://github.com/lanpa/tensorboardX'
Вы можете установить crc32c для ускорения.
pip install crc32c
Начиная с Tensorboardx 2.1, вам необходимо установить soundfile для функции add_audio() (200x ускорения).
pip install soundfile
python examples/demo.pytensorboard --logdir runs # 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 теперь поддерживает журнал непосредственно в комету. Comet - это бесплатное облачное решение, которое позволяет автоматически отслеживать, сравнивать и объяснять ваши эксперименты. Он добавляет много функциональности к Tensorboard, такими как управление наборами данных, различные эксперименты, видение кода, который генерировал результаты и многое другое.
Это работает из коробки и просто требует дополнительной строки кода. См. Полный пример кода в этой ноутбуке Colab

Чтобы добавить больше клещей для слайдера (показать больше истории изображений), проверьте #44 или Tensorflow/Tensorboard #1138