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