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
相关文章
相关标签/搜索