【PyTorch】PyTorch之visdom中的那些坑
作者:互联网
这是一篇关于在深度学习过程中第一次安装使用visdom遇到的一些坑。也是一篇visdom安装小白教程。
1. 安装visdom
使用清华大学镜像源安装visdom包
pip install visdom -i https://pypi.tuna.tsinghua.edu.cn/simple
2. 启动visdom
python -m visdom.server
这时候会遇见第一个坑,当你在命令行输入上述命令时,会返回一个提示take a little while,大概就是说要等一会儿时间,但是过了很久依旧卡在这个界面,这是因为我们需要下载的文件需要搭梯子,所以挂个VPN即可解决这个坑。
3. 手动添加visdom缺少的配置文件
当我们输入测试代码后,发现蓝屏,无法显示测试代码所对应的可视化内容,而且左下角显示load MathJax相关file failed,这时候我们需要手动添加配置文件
3.1 MathJax-master、plotly.js-1.43.2、react-grid-layout-master
这三个配置文件开源在了github,需要将其放置在visdom包所在指定路径下。以MathJax-master为例,需要将其放在
E:\python\Lib\site-packages\visdom\static\js\MathJax-master,其余两个文件加类似,放在相同的文件夹static\js下。
MathJax-master文件百度云链接:https://pan.baidu.com/s/1bFNUCqx3OvBFMlO6Bte4Pw 提取码:judg
plotly.js-1.43.2文件百度云链接:https://pan.baidu.com/s/100I8Bs1MWR4BpxoaTL4lrw 提取码:cja2
react-grid-layout-master文件百度云链接:https://pan.baidu.com/s/1Q3_4by3vAvPgpIYyd5-V8w 提取码:6lgr
3.2 layout_bin_packer
这个配置文件放在 E:\python\Lib\site-packages\visdom\static\fonts下。将下面github链接中的项目直接下载到桌面解压,然后将layout_bin_packer文件放在对应路径下,E:\python\Lib\site-packages\visdom\static\fonts\layout_bin_packer,切记是这个子文件,而不是文件夹。
layout_bin_packer文件github链接:https://github.com/GIGpanda/visdom
3.3 修改static下面的index.html
用记事本直接打开index.html,用下面代码替代相同部分内容。<!-- Other deps -->下面4行代码,<!-- Mathjax --> 一行代码,<!-- Plotly --> 一行代码。
<!-- Other deps -->
<script src={{ static_url("js/react-react.min.js") }}></script>
<script src={{ static_url("js/react-dom.min.js") }}></script>
<script src={{ static_url("fonts/layout_bin_packer") }}></script>
<script src={{ static_url("js/react-grid-layout-master/dist/react-grid-layout.min.js") }}></script>
<!-- Mathjax -->
<script type="text/javascript" async src={{ static_url("js/MathJax-master/MathJax.js") }}></script>
<!-- Plotly -->
<script src={{ static_url("js/plotly.js-1.43.2/dist/plotly.min.js") }}></script>
4.切换网络
当我们上述操作都实现后,visdom理应出现对应的可视化内容,但是还是蓝屏状态,首先看一下env选择是否正确,然后等一会儿,实在还是没显示,可以切换网络试一下,因为我们之前用了VPN,现在将VPN取消试一下。
5.测试代码
# visdom
import visdom
import torch as t
# 新建一个连接客户端
# 指定env=u'test1' 默认端口为8097 host为localhost
vis = visdom.Visdom(env=u'test1')
x = t.arange(1, 30, 0.01)
y = t.sin(x)
vis.line(X=x, Y=y, win='sinx', opts={'title': 'y=sin(x)'})
# append 追加数据
for ii in range(0, 10):
# y = x
x = t.Tensor([ii])
y = x
vis.line(X=x, Y=y, win='polynomial', update='append' if ii > 0 else None)
# 新增一条线
x = t.arange(0, 9, 0.1)
y = (x ** 2) / 9
vis.line(X=x, Y=y, win='polynomial', update='append', name='this is a new Trace')
# 可视化一张随机的黑白图片 H * W
vis.image(t.randn(64, 64).numpy())
# 可视化一张随机的彩色图片 C * H * W
vis.image(t.randn(3, 64, 64).numpy(), win='random2')
# 可视化36张随机的彩色图片 每一行6张 N * C * H * W
vis.images(t.randn(36, 3, 64, 64).numpy(), nrow=6, win='random3', opts={'title':'random_images'})
# vis.text 支持HTML标签
vis.text(u'''<h1>Hello visdom</h1> <br>visdom是Facebook专门为<b>PyTorch</b>开发的一个可视化工具,
在内部使用了很久,于2017年3月开源''',
win='visdom',
opts={'title': u'visdom简介'}
)
6.测试代码所对应的可视化图
在网页中输入:http://localhost:8097 便可呈现如下内容。
我是一只计算鸡 发布了101 篇原创文章 · 获赞 43 · 访问量 5万+ 私信 关注
标签:visdom,layout,win,那些,vis,PyTorch,可视化,64 来源: https://blog.csdn.net/giftedpanda/article/details/104123152