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