visdom視覺化pytorch訓練過程

2022-04-07 17:21:13 字數 2679 閱讀 3809

在深度學習模型訓練的過程中,常常需要實時監聽並視覺化一些資料,如損失值loss,正確率acc等。在tensorflow中,最常使用的工具非tensorboard莫屬;在pytorch中,也有類似的tensorboardx,但據說其在張量資料載入的效率方面不如visdom。visdom是facebook開發的一款視覺化工具,其實質是一款在網頁端的web伺服器,對pytorch的支援較好。

visdom的安裝比較簡單,可以直接使用pip命令。

#

visdom 安裝指令

pip install visdom

執行安裝命令後,可以執行以下命令啟動visdom。

#

啟動 visdom web伺服器

將**複製後在瀏覽器中開啟,就可以看到visdom的主介面。

這裡以監聽損失值loss資料,準確率acc資料及視覺化影象等方面簡要介紹visdom的使用。

在模型訓練過程中,loss是最常監聽的資料,這裡就以loss的監聽為例,使用visdom視覺化loss的變化過程。為了使**更加簡潔,這裡以for迴圈代替模型逐輪訓練的過程,loss值則在每個迴圈內部隨機產生。

from visdom import

visdom

import

numpy as np

import

time

#將視窗類例項化

viz =visdom()

#建立視窗並初始化

viz.line([0.], [0], win='

train_loss

', opts=dict(title='

train_loss'))

for global_steps in range(10):

#隨機獲取loss值

loss = 0.2 * np.random.randn() + 1

#更新視窗影象

#將視窗類例項化

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() + 1acc = 0.1 * np.random.randn() + 0.5

#更新視窗影象

viz.line([[loss, acc]], [global_steps], win='

train

', update='')

#延時0.5s

在處理影象任務時,還可以用visdom對影象進行視覺化。

from visdom import

visdom

import

numpy as np

import

cv2import

torch

#使用opencv讀取資料

#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)

#視覺化影象

visdom可以同時在主面板中開啟多個視窗,執行上面3個視覺化程式後,主面板如下所示:

pytorch 使用visdom進行視覺化

相比tensorbordx,visdom重新整理更快,介面體驗也良好,首先是visdom的安裝,與普通的python庫一樣,直接pip install visdom即可 成功安裝後,在控制台下輸入python m visdom.server 複製http localhost 8097,輸入瀏覽器即可...

使用visdom視覺化pytorch訓練過程

1 安裝 pip install visdom 或者conda install c conda forge visdom 2 啟動服務 python m visdom.server 瀏覽器輸入http localhost 8097檢視 3 使用 參考 from visdom import visdo...

視覺化工具 Visdom

使用pytorch進行模型訓練時,僅僅通過觀察print的輸出是不夠的,有時候需要通過一些專業的工具來將損失值,訓練過程中產生的影象等資料展示出來,這個時候就可以借助visdom來實現資料的視覺化。官方教程 示例 pip install visdom python m visdom.server 如...