visdom--Pytorch可视化工具

前言

从安装visdom到我现在写这篇博客已经有至少半个月了吧,实际上使用visdom的次数可能也就2,3次,上次使用visdom是学习MNSIT的时候,这次学习迁移学习-自定义数据集操作的时候,再一次用到,我一下子也想不起来,但是数据可视化十分重要,包括数据和模型的调试,科研论文的撰写,这都是离不开的,所以这里就做一个简单的总结

什么是可视化工具

这里的可视化就是将,data中的数据,比如说image,或者学习参数,test_acc等用图表等形式显示出来。

现在TensorFlow用的是TensorBoard,对应的pytorch有一个TensorBoardX,和visdom,两个都是可视化工具,但是有所不同,TensorBoardX在绘制图像等时会产生文件夹,如果数据很大,就会存储大量的文件,导致运行很卡;另外,在代码方面TensorBoardX不能直接支持tensor变量,需要再代码中将其转换成numpy数据类型,绘制图像帧数在30s更新一次。

相比较而言,visdom不会产生文件夹,而且可以直接支持Tensor变量,当然最后绘制图像都是使用的numpy数据类型,但是visdom在内部进行了Tensor——>numpy数据类型的一个转换,因此在代码里可以省去变量类型转换的步骤,最重要的是visdom的数据更新速度是5s更新一次数据点。

visdom的安装

这里主要参考网易云课堂上龙龙老师的讲解,但是实际安装时遇到了一些别的困难,导致,没有办法像视频演示一样安装,网上查询资料说是可能因为pip 安装源来自于墙外网站,所以部分下载文件被过滤(删除)了,然后我科学上网以后,下载完毕还是一样的缺失文件,在网络上大部分是Linux的操作,对于Windows的解决方法如下:

在CSDN上下载一个static文件(淘宝1.2),里面有别人下载好的json等文件,将原来文件中static替换掉即可成功运行。

visdom的使用

打开cmd或者git bash(终端),输入:

python -m visdom.server

注:上面窗口不要关掉,后台继续运行
可以得到一个浏览器地址,将该地址在浏览器中打开即可

visdom语法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
from visdom import Visdom
viz = visdom()

viz.line([0.], [0.], win='train_loss', opts=dict(title='train loss')) #新建一个窗口(图像),初始化变量,第一个[0.]是Y,第二个[0.]是X,其中win是Window的缩写,title是图像的名字

viz.line([[0.0, 0.0]], [0.], win='test', opts=dict(title='test loss&acc.', legend=['loss', 'acc.']))
#新建一个窗口(图像),两个变量,第一个[0.0,0.0]代表两个Y变量,第二个[0.]代表X

viz.line([[test_loss, correct / len(test_loader.dataset)]],
[global_step], win='test', update='append')
#初始化完毕,就带入变量,其中update='append'指的是数据实时更新

viz.images(data.view(-1, 1, 28, 28), win='x')
#载入MNSIT的图片

viz.text(str(pred.detach().cpu().numpy()), win='pred',
opts=dict(title='pred'))
#载入MNSIT的predict数字,最终网络根据图片预测出来的数字。

总结

上面代码中列举了几个最简单的,绘制曲线,载入图片,text文案的方法,以后如果又忘记了,就有可以复习的资料了,加油~

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×