pytorch可視化工具visdom

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

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

 

一、screen或者tmux,先開啓visdom servergithub

我比較習慣用screen,因此能夠screen -S visdom_server,建立一個screen session,而後輸入visdom數組

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

若是常用的是同一臺服務器,因爲端口號默認是8097,因此還能夠將該地址添加書籤,每一次使用時即可很方便地訪問。服務器

二、在python中的使用session

上述開啓了visdom的server以後,在python中先建立一個visdom對象dom

import visdom

vis = visdom.Visdom()

而後即可以方便地使用了。spa

一些注意點:code

① 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
相關文章
相關標籤/搜索