visdomトレーニングプロセスの可視化pytorch

I.はじめに

  深学習モデルのトレーニング・プロセスでは、多くの場合、このような損失の価値の喪失、正解率や他のACCなどの一部のデータのリアルタイム監視と可視化が必要です。Tensorflow、非Tensorboard以外の最も一般的に使用されるツールなしでは、Pytorchで、そこに類似しTensorboardXがありますが、それは効率visdomテンソルデータのロードに言われているほど良好ではありません。visdom Facebookは可視化ツールの開発であり、その本質は、より良い、PytorchのサポートページエンドWebサーバーです。

第二に、インストールと起動

  visdomのインストールは比較的簡単です、あなたは直接ピップコマンドを使用することができます。

Visdomのインストール手順 
visdomをインストールPIP

   インストールコマンドの後、あなたはvisdom開始し、次のコマンドを実行することができます。

ウェブサーバvisdom開始 
のpython -mのvisdom.serverを

  正常にインストールされている場合、それは、ウェブページのアドレスを返します。エラーは、インストールが失敗した場合、あなたは自分のgithubの上でインストールするためのソースコードをダウンロードすることができます。

 

  あなたはURLがブラウザに表示されますコピーした後、あなたは主要なインターフェイスをvisdom見ることができます。

使用する第三に、シンプル

  損失値は、ここでは、データの損失をリッスンするために、データの正確ACCの側面は、簡単に使用visdomの画像を可視化しました。

3.1つのデータの損失を監視

  モデル訓練過程では、データの損失は、視覚喪失の変更visdomのプロセスを使用して、例えば、の損失を聞くためにここに、最も一般的なリスニングです。コードをよりコンパクトにするために、このループ処理モデルの代わりに訓練されたラウンド順に、損失値をランダム各サイクル内で生成されます。

visdom インポートVisdom
 インポートNP AS numpyの
 インポート

#のウィンドウクラスのインスタンス化 
ビズ= Visdom() 

作成し、ウィンドウの初期化 
viz.line([0]、[0]、=勝つ' train_lossを'、OPTSは= dictの(タイトルを= ' train_loss ' ))

のために global_steps における範囲(10 ):
    ランダム値取得損失 
    。損失np.random.randn = 0.2 *()+ 1 更新されたウィンドウ画像 
    viz.line([損失]、[global_steps ]、勝ちます= ' train_loss '、=アップデート' APPEND '
    
    time.sleep( 0.5)

 

3.2損失とACCを聞きながら

from visdom import Visdom
import numpy as np
import time

# 将窗口类实例化
viz = Visdom() 

# 创建窗口并初始化
viz.line([[0.,0.]], [0], win='train', opts=dict(title='loss&acc', legend=['loss', 'acc']))
for global_steps in range(10):
    # 随机获取loss和acc
    loss = 0.1 * np.random.randn() + 1
    acc = 0.1 * np.random.randn() + 0.5
    # 更新窗口图像
    viz.line([[loss, acc]], [global_steps], win='train', update='append')
    # 延时0.5s
    time.sleep(0.5)

 

3.3 可视化图像

  在处理图像任务时,还可以用visdom对图像进行可视化。

from visdom import Visdom
import numpy as np
import cv2
import torch

# 使用opencv读取数据
img = cv2.imread('pkq.jpg')
# opencv按照BGR读取,而visdom默认按照RGB显示,因此要进行通道转换
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
# visdom类似于pytorch中的卷积模型,接收的数据都要求通道数在前
img = np.transpose(img, (2, 0, 1))
img = torch.from_numpy(img)
# 可视化图像
viz.image(img, win='pkq')

  visdom可以同时在主面板中打开多个窗口,执行上面3个可视化程序后,主面板如下所示:

 

おすすめ

転載: www.cnblogs.com/HL-space/p/10990407.html