PyTorch | 使用visdom进行PyTorch可视化历程

最近在研读一篇GAN网络的文章做自己的项目,于是开启了小白阅读GAN网络代码的历程,现在将阅读与调试过程中遇到的问题做下总结。

visdom一个用于创建、组织和共享实时丰富数据可视化的灵活工具。支持Numpy和Torch。由Facebook开发,项目详情见:https://github.com/facebookresearch/visdom#visline

在网上找了好久的教程认为比较靠谱有用的:

https://www.pytorchtutorial.com/pytorch-visdom/ PyTorch 可视化工具 Visdom 介绍

https://www.pytorchtutorial.com/using-visdom-for-visualization-in-pytorch/  使用 Visdom 在 PyTorch 中进行可视化

这两篇里面对visdom进行了简单的介绍,对于了解visdom来说够用了,按照教程去跑几组代码,就可以上手了。

实验背景

远程服务器,本地pycharm远程调试

 

安装

在远程服务器上安装visdom。这步我没操作,因为服务器上已经安装好了。

官方的setup步骤如下:

需要python2.7/3,torch可选

# Install Python server and client from pip(通过pip方式安装visdom python服务器和客户端)
# (STABLE VERSION, NOT ALL CURRENT FEATURES ARE SUPPORTED)
pip install visdom

# Install Torch client(安装torch客服端)
# (STABLE VERSION, NOT ALL CURRENT FEATURES ARE SUPPORTED)
luarocks install visdom

启动

  • python -m visdom.server
  • visdom

在命令行中输入上述命令中的任何一个即可,我还不知道这两个命令的区别是什么,如果你刚好知道,那么希望你能够不吝赐教。

如果上面的命令不起作用,那么可以尝试使用SHH 通道连接到你的服务器,把下面这个命令添加到本地~/.ssh/configLocalForward 127.0.0.1:8097 127.0.0.1:8097

(官方的建议,可以在Facebook github项目中查到)

启动之后,你就可以通过在浏览器中输入localhost:8097来访问visdom啦。

localhost是你的远程服务器的IP地址,可以通过ifconfig(Ubuntu系统)来查看。在本地浏览器中输入上述命令就可以看到visdom界面啦。

 

visdom蓝屏Failed to load [MathJax]/extensions/MathZoom.js

我最开始打开还好好,之后就“蓝屏”了。。。

发现在程序运行过程中左下角有一个   Loading [MathJax]/extensions/MathZoom.js  的提示,过一会发现是

Failed to load [MathJax]/extensions/MathZoom.js

我去google了一下,但是没有找到合适的解决办法。

我不是服务器的管理者,我问了同时使用服务器的同学,他们没有听说过visdom,那我想这个可能是我自己安装,并非开始就有的,于是我就按照这篇博客https://blog.csdn.net/xjadolphx/article/details/85319790  介绍的方法忐忑的试了一下

下载之后重新安装,果然,他顺顺利利的跑起来了!!!

PyTorch | 使用visdom进行PyTorch可视化历程_第1张图片

在解决蓝屏问题过程中,几个比较靠谱的博客:

https://blog.csdn.net/weixin_44041884/article/details/85684101 页面显示不完全可以参考这一篇文章

https://blog.csdn.net/p1126500468/article/details/86002988   这篇说是visdom文件下载不全,被qiang了。。。

https://blog.csdn.net/xyz1584172808/article/details/85108657    这篇同上,但是给出了文件下载地址,需要积分呀

https://blog.csdn.net/xjadolphx/article/details/85319790 这是我参考的,成功的解决了问题!

 

 

 

如何用程序在visdom上涂涂画画

在程序中用了一个参数来控制visdom开启与否

self.parser.add_argument('--display', action='store_true', help='Use visdom.')

一直没能理解如何操作方能时display的状态是true,后来查看了action的相关知识才得以解开这个问题。

argparse内置6种动作可以在解析到一个参数时进行触发,store_ture/store_false 是其中一种,保存相应的布尔值。这两个动作被用于实现布尔开关。

当终端运行的时候,不加入--display参数时,--display的值是False,加入的时候--display就是True,不需要加任何的东西。

python train.py --display 这样就可以了~

是这位博主帮助到了我:https://blog.csdn.net/LemonTree_Summer/article/details/80749359 非常感谢!!!

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(pytorch)