Pytorch使用Visdom可视化
Visdom
Visdom是Pytorch自带的一个可视化工具,能够在训练神经网络的过程中,将一些数据进行可视化。目前Visdom可以支持Numpy和Torch。
安装
1 |
|
启动服务
1 |
|
默认的端口号为8097,如果需要更改端口号,可以加入-p选项
两个概念
使用Visdom需要区分其中的一些概念,以将可视化环境分隔开
Panes
Panes即窗格,其中可以显示具体的数据可视化内容。Panes可以进行拖放、删除等操作。
env
env即Environment。Pane存放在env中,一个env中可以存放多个pane。默认的env为main
,可以在初始化Visdom的时候指定env,如
1 |
|
此时默认环境为main
而假设想将环境改为loss
1 |
|
则此时的visdom环境变成了loss
几个API
Visdom中提供了不同的API,来绘制不同类型的图像。
plot.scatter
plot.scatter 用来绘制2D或者3D的散点图,需要输入N * 2或者N * 3的tensor X来确定N个点的位置。
plot.line
这个API可以用来绘制线条。它需要一个形状为N或者N*M的tensorY,用来指定M条线的值(每条线上有N个点),和一个可选的tensorX来指定X轴的值。X可以是一个长度为N的tensor(此时M条线共享一个X),也可以是一个形状和tensorY相同的tensor。
plot.image
这个API用来画图像。输入
1 |
|
示例代码
1 |
|
效果:
远程使用Visdom
很多时候训练神经网络并不是在自己的电脑上进行,而是在远端的服务器上进行。下面介绍如何连接查看服务器端的visdom
SSH连接
在命令行中输入
1 |
|
其中,18097:127.0.0.1代表自己机器上的端口号,8097是服务器上visdom的端口号。username是在远程服务器上的用户名,remote_ip是服务器的ip地址。
效果:
启动visdom服务器
同上面介绍的一样,在服务器端启动visdom服务,输入
1 |
|
在本地浏览器中浏览
启动完远程的visdom服务之后,在本地浏览器中输入
1 |
|
即可访问服务器端的visdom