pytorch可視化工具visdom


visdom的github repo: https://github.com/facebookresearch/visdom

知乎一個教程:https://zhuanlan.zhihu.com/p/34692106

 

1、screen或者tmux,先開啟visdom server

我比較習慣用screen,所以可以screen -S visdom_server,創建一個screen session,然后輸入visdom

在本地瀏覽器輸入ip地址加8097端口號,如128.21.32.54:8097,即可顯示visdom窗口。

如果經常使用的是同一台服務器,由於端口號默認是8097,所以還可以將該地址添加書簽,每一次使用時便可很方便地訪問。

2、在python中的使用

上述開啟了visdom的server之后,在python中先創建一個visdom對象

import visdom

vis = visdom.Visdom()

然后便可以方便地使用了。

一些注意點:

① visdom.image()顯示的圖像數組的格式是 通道數 x 高 x 寬,而像PIL.Image讀取的圖像是高 x 寬 x 通道數,因此需要對其numpy數組進行轉置一下。

from PIL import Image
import numpy as np
import visdom

vis = visdom.Visdom()

img = Image.open('xxx.jpg')
img = np.array(img).transpose([2, 0, 1])

vis.image(img)

官網也提到了:

② 使用matplotlib需要設置backend模式,即matplotlib.use('agg'),否則直接在終端窗口import matplotlib.pyplot會報錯

import matplotlib
matplotlib.use('agg')
import matplotlib.pyplot as plt
import visdom


plt.imshow(xxx)
visdom.matplot(plt)

 

visdom端口沖突:

啟動visdom默認會使用8097端口號,如果要指定端口號,則加上-port參數,如

visdom -port 8098

開啟了這個端口號,在使用的時候,需要在實例化visdom時,加入端口號參數,如

vis = visdom.Visdom(port=8098)
 
參考:https://github.com/zeal-github/some-memo/blob/master/visdom.md
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM