PyTorchモニタツール|学習プロセスの簡単なグラフ
ここでは、PyTorchでグラフなどを簡単に視覚化して見る方法をご紹介します.
そもそもMattplotlibしか知らないときは面倒なのであまり絵が描けませんが、視覚的に見ると確かに学習過程を理解するために必要な条件です.
次の道具は私が面倒を言うために使ったからです.
大部分の人は好きだろうな…?という考えがありました.☺️
Monitoring tools
Tensorflowのプロジェクトで作成されたビジュアル化ツール. 学習グラフ、メトリック、学習結果の可視化をサポートします.
スカラー:公制等定数値の連続(epoch単位)を表す. 図:モデルの計算図を表示します. ヒストグラム:重み等値分布を表します. 画像:予測値と実績値を比較表示します. mesh:3 d形態データの表現ツール.
まずTensorboardレコードのディレクトリを作成します.
Loss/train:loss categoryでの列車値
n iter:x軸の値
jupyterでテンソルボードを実行する
ファイルの場所などのコマンドを入力します.
初めて見た時もマンディビーかと思ったのですが、、、、ツインU-And-ビーだそうです.😮
これは機械学習実験をサポートするための一般的なツールである. コラボレーション、コードバージョン制御、実験結果記録などを提供します. MLOpsの代表的なツールとしてローエンド拡張が行われている.
そもそもMattplotlibしか知らないときは面倒なのであまり絵が描けませんが、視覚的に見ると確かに学習過程を理解するために必要な条件です.
次の道具は私が面倒を言うために使ったからです.
大部分の人は好きだろうな…?という考えがありました.☺️
Monitoring tools
これらは学習プロセスを追跡するためのツールです.
Tensorboard
Tensorboardサポートツール
使用方法
まずTensorboardレコードのディレクトリを作成します.
import os
logs_base_dir = "logs"
os.makedirs(logs_base_dir, exist_ok=True)
レコード生成オブジェクトSummaryWriterを生成します.from torch.utils.tensorbard import SummaryWriter
writer=SummaryWriter(logs_base_dir)
for n_iter in ramge(100):
writer.add_scalar('Loss/train',np.random.random(),n_iter)
writer.add_scalar('Loss/test',np.random.random(),n_iter)
writer.add_scalar('Accuracy/train',np.random.random(),n_iter)
writer.add_scalar('Accuracy/test',np.random.random(),n_iter)
writer.flush() # 값을 기록한다 (disk에 쓰기)
add scalar関数add scalar関数:スカラー値の記録Loss/train:loss categoryでの列車値
n iter:x軸の値
jupyterでテンソルボードを実行する
ファイルの場所などのコマンドを入力します.
%load_ext tensorboard
%tensorboard --logdir {logs_base_dir}
Weight & biases (Wandb)
初めて見た時もマンディビーかと思ったのですが、、、、ツインU-And-ビーだそうです.😮
特長
これは
設定
!pip install wandb -q
設定
config = {"epochs":EPOCHS,"batch_size":BATCH_SIZE,"learning_rate":LEARNING_RATE}
wandb.init(project="my-test-project",entity='~',config=config)
# wandb.config.batch_size = BATCH_SIZE
# wandb.config.learning_rate = LEARNING_RATE
学習後の記録
for e in range(1,EPOCHS+1):
epoch_loss=0
epoch_acc=0
for X_batch,y_batch in train_dataset:
X_batch, y_batch = X_batch.to(device),y_batch.to(device).type(torch.cuda.FloatTensor)
...
optimizer.step()
...
wandb.log({'accuracy':train_acc,'loss':train_loss}) # Tensorboard의 add와 동일
Reference
この問題について(PyTorchモニタツール|学習プロセスの簡単なグラフ), 我々は、より多くの情報をここで見つけました https://velog.io/@bo-lim/PyTorch-Monitoring-tools-학습과정-쉽게-그래프로-살펴보기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol