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个可视化程序后,主面板如下所示: