詳解PyTorch視覺化工具visdom(一)

2021-10-22 13:26:54 字數 2177 閱讀 8178

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

2.1 安裝

pip install visdom
2.2 啟動

類似於tensorflow的tensorboard,要使用visdom,就要先在終端開啟監聽命令

python -m visdom.server
首先,我們需要匯入visdom及所需的其它庫

from visdom import visdom

import numpy as np

import time

visdom視覺化神經網路的訓練過程大致分為3步:

3.1 監聽單一資料

# 例項化乙個視窗

wind = visdom(

)# 初始化視窗資訊

wind.line([0

.],# y的第乙個點的座標[0

.],# x的第乙個點的座標

win =

'train_loss'

,# 視窗的名稱

opts =

dict

(title =

'train_loss'

)# 影象的標例

)# 更新資料

for step in

range(10

):# 隨機獲取loss,這裡只是模擬實現

loss = np.random.randn()*

0.5+

2 wind.line(

[loss]

,[step]

,win =

'train_loss'

,update =

) time.sleep(

0.5)

3.2 監聽多條資料
# 例項化視窗

wind = visdom(

)# 初始化視窗引數

wind.line([{

0.,0

.]],

[0.]

,win =

'train'

,opts =

dict

(title =

'loss&acc'

,legend =

['loss'

,'acc'])

)# 更新視窗資料

for step in

range(10

):loss =

0.2* np.random.randn()+

1 acc =

0.1* np.random.randn()+

0.5 wind.line(

[[loss, acc]],

[step]

,win =

'train'

,update =

) time.sleep(

0.5)

在處理影象資料時,可以使用visdom對影象進行視覺化

from visdom import visdom

import cv2

import numpy as np

import torch

# 讀入影象

image = cv2.imread(

'e://桌面.jpg'

)# opencv按照bgr讀取,而visdom 預設按照rgb顯示,因此要進行通道轉換

img = cv2.cvtcolor(img, cv2.color_bgr2rgb)

# visdom類似於pytorch中的卷積模型,接收的資料都要求通道數在前

img = np.transpose(img,(2

,0,1

))# 將numpy型別轉換為torch型別

img = torch.from_numpy(img)

# 視覺化影象

viz.image(img, win=

'pkq'

)

PyTorch視覺化工具visdom遠端方法

visdom是由facebook開發的pytorch訓練過程視覺化工具,類似於tensorboard。本文主要記錄在遠端伺服器上跑pytorch模型時如何在本地訪問visdom的結果。ssh遠端伺服器時繫結本地埠與遠端伺服器端口 ssh l localhost p username remote h...

Pytorch視覺化工具Visdom超簡單入門

visdom的github repo 知乎乙個教程 上次寫過visdom在伺服器端啟動的博文 這次簡單介紹下在python 裡用visdom 非常簡單 import visdom vis visdom.visdom env visual eye port 10041 env後是環境名稱,port是伺...

Git History視覺化工具

今天給大家推薦乙個開源的git提交記錄視覺化檢視工具,操作簡單,還有本地cli可以使用,最重要的是效果炫酷,非常方便!1 在github上的檔案,只需要把檔案路徑中的github.com替換為github.githistory.xyz即可,一步到位 第一種方式雖然簡單,但有些同學可能不服,因為公司專...