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

一些注意點:3d

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