単純な関数呼び出しでテンソルボードイベントを書きます。
現在のリリース(v2.6.2.2)は、Pytorch 1.11.0 / Torchvision 0.12 / Tensorboard 2.9.0でAnaconda3でテストされています。
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から始めて、 add_audio()関数(200xスピードアップ)のsoundfileをインストールする必要があります。
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にサポートするようになりました。 Cometは、実験を自動的に追跡、比較、説明できる無料のクラウドベースのソリューションです。データセット管理、拡散実験、結果を生成するコードなどのテンソルボードの上に多くの機能を追加します。
これは箱から出して動作し、追加のコード行が必要です。このcolabノートブックの完全なコード例を参照してください

スライダーにさらにティックを追加するには(より多くの画像履歴を表示)、#44またはTensorflow/Tensorboard#1138をチェックしてください