Pytorch的可视化工具visdom的基本使用

一、简介

Visdom 是 Facebook 专门为Pytorch开发的一款用于创建、组织和共享实时丰富数据的开源可视化工具。支持 Torch 和 Numpy。用户可以通过编程组织可视化空间或者通过用户接口为数据打造仪表板,检查实验结果和调试代码。Visdom是一个Web Sever服务,默认端口绑定8097端口,客户端与服务器端通过tornado进行非阻塞交互。Visdom有两个重要的概念:

  • env:环境,不同环境的可视化结果互相隔离,若用户没有在运行程序的代码中指定env,那么默认为env使用main。建议不同用户或者不同程序使用不同的env更好。
  • pane:窗格,窗格用于显示程序运行的可视化图像、数值、log等,操作可以拖动、缩放、保存和关闭。一个程序可以使用同一个env(可包含多个pane)中不同的pane,因为每个pane窗格只记录和可视化env中的一类信息

注意:Visdom支持 Torch的 tensor 和Numpy的 ndarray 两种数据格式,但是不支持 Python的int、float等数据格式,因此数据最后传入 vis 连接客户端前 需将Python的int、float等这些数据 转成 tensor 或者 ndarray

二、首先根据自己电脑是否安装python和pip,若没有点击打开下面的文章链接进行安装,安装好了之后,再进行visdom安装操作。

1、Python3.6.3安装详细简单完整版
2、在windows系统安装pip详细过程

三、首先找到pip安装的文件夹路径,然后在该路径栏输入“cmd”,然后回车键。



四、复制下面的命令行,然后粘贴输入到上步打开的资源管理器,然后回车键运行。然后成功安装visdom。

pip install visdom


五、启动visdom,复制下面的命令行,然后粘贴输入到上步打开的资源管理器,然后不断回车键运行。然后成功运行visdom。

python -m visdom.server

六、打开visdom,复制下面的链接或者直接点击 此处,观察是否出现下面图片中的内容,出现表示visdom打开成功。

http://localhost:8097/

七、复制下面的python代码在Pycharm中运行及结果显示。若没有下载Pycharm可点击下面的链接进行下载安装。

Windows中pycharm最详细安装教程及注意事项:点击打开文章网页

# 一切都是在visdom已经启动后再运行此程序
import visdom
import torch as t# 新建一个连接客户端vis
vis = visdom.Visdom(env=u'test1') # 指定env,默认端口port还是8097,host默认是'localhost',u表示将后面跟的字符串以unicode格式存储,那么可以识别中文字符# 数据
x = t.arange(1,30,0.01)
y = t.sin(x)# Visdom支持的API中的line,win是指pane的名字,opts接收一个字典可以用来指定标识等
vis.line(X=x,Y=y,win='sinx',opts={'title':'y=sin(x)'})


八、返回第六步打开的网页,跟着下面图片的顺序操作即可看到环境env是test1中的pane。




九、需手动保存env,可在Web界面点击“save”按钮或者在程序中调用save方法,自动以json数据格式保存到路径为:Windows是C:\Users\账户.visdom文件夹中。注意:若没有保存则当visdom服务断开重启之后,未保存的env等信息会直接丢失。



十、客户端对象vis必要信息

1、vis 客户端对象,可以使用如下常见的画图函数:

  • line:类似 MATLAB 中的 plot 操作,用于记录某些标量的变化,例如损失、准确率等
  • image:单图使用image,多图使用images,可视化图片,可以是输入的图片,也可以是 GAN 生成的图片,还可以是卷积核的信息,但是输入的数据格式不一定都要转换为numpy,torch也可以
  • text:用于记录日志等文字信息,支持HTML 格式
  • histgram:可视化分布,主要是查看数据、参数的分布
  • scatter:绘制散点图
  • bar:绘制柱状图
  • pie:绘制饼状图
  • stem : 绘制茎叶图
  • heatmap :绘制 热力图
  • mesh : 绘制网格图

2、vis 对象画图函数的部分重要属性设置如下:

  • win:用于指定pane的名字,如果不指定,visdom将自动分配一个新的pane。如果两次操作指定的win名字一样,新的操作将覆盖当前pane的内容,因此建议每次操作都重新指定win。
  • opts:选项,接收一个字典,常见的option包括title、xlabel、ylabel、width等,主要用于设置pane的显示格式。
  • updata:之前提到过,每次操作都会覆盖之前的数值,但往往我们在训练网络的过程中需不断更新数值,如损失值等,这时就需要指定参数update='append’来避免覆盖之前的数值。(注意:原来vis.updateTrace方法来更新图的方法已被废弃也就是不能再使用

十一、复制下面代码在Pycharm运行结果和一直运行的控制平台日志信息及visdom的网页上看显示结果。

(1)line的运用

# line的运用
# 一切都是在visdom已经启动后再运行此程序
import visdom
import torch as t# 新建一个连接客户端vis
vis = visdom.Visdom(env=u'test1') # 指定env,默认端口port还是8097,host默认是'localhost',u表示将后面跟的字符串以unicode格式存储# 数据
x = t.arange(1,30,0.01)
y = t.sin(x)
z = t.cos(x)
#
# # Visdom支持的API中的line,win是指pane的名字,opts接收一个字典指定标识等
vis.line(X=x,Y=y,win='math',name="old trace",opts={'title':'sin vs cos'})
# # vis.line(X=x,Y=y,win='sinx',opts={'title':'y=cos(x)'})
vis.line(X=x,Y=z,win='math',update='append',name="new trace") # 采用update加一条线



(2)image的运用

# image的运用
# 一切都是在visdom已经启动后再运行此程序
import visdom
import torch as t# 新建一个连接客户端vis
vis = visdom.Visdom(env=u'test1') # 指定env,默认端口port还是8097,host默认是'localhost',u表示将后面跟的字符串以unicode格式存储# # 可视化一张随机的二维黑白图片,通道数为1
# vis.image(t.randn(64,64).numpy())# # 可视化一张随机的二维彩图片,通道数为3
# vis.image(t.randn(3,64,64).numpy(),win="colourful")# 多图使用images,nrow是指每行六张图片
vis.images(t.randn(36,3,64,64),nrow=6,win="colourful64",opts={'title':'colourful64image'})



Pytorch的可视化工具visdom的基本使用相关推荐

  1. 【深度学习】PyTorch深度学习训练可视化工具visdom

    PyTorch Author:louwill Machine Learning Lab 在进行深度学习实验时,能够可视化地对训练过程和结果进行展示是非常有必要的.除了Torch版本的TensorBoa ...

  2. PyTorch学习笔记(13)——强力的可视化工具visdom

    今天,让我们来放松一下大脑,学习点轻松的东西----可视化工具Visdom,它可以让我们在使用PyTorch训练模型的时候,可视化中间的训练情况,无论是loss变化还是中间结果比较.相比干呆呆的瞪着命 ...

  3. PyTorch 可视化工具Visdom

    参考链接:使用 Visdom 在 PyTorch 中进行可视化                     PyTorch 可视化工具 Visdom 介绍                     Visd ...

  4. PyTorch之—可视化(Visdom/TensorboardX)

    文章目录 一.Visdom 安装与使用 小案例 二.TensorBoardX 案例一 案例二 使用PROJECTOR对高维向量可视化 绘制网络结构 一.Visdom Visdom是Facebook在2 ...

  5. pytorch学习笔记(八):PytTorch可视化工具 visdom

    Visdom PyTorch可视化工具 本文翻译的时候把 略去了 Torch部分. 项目地址 一个灵活的可视化工具,可用来对于 实时,富数据的 创建,组织和共享.支持Torch和Numpy. 总览 基 ...

  6. 详解PyTorch可视化工具visdom(一)

    一.介绍 在深度学习领域,模型训练是一个必须的过程,因此常常需要实时监听并可视化一些数据,如损失值loss,正确率acc等.在Tensorflow中,最常使用的工具非Tensorboard莫属:在Py ...

  7. 3 win10环境下安装Pytorch可视化工具Visdom(亲测,欢迎交流)

    0 Win10环境下安装Visdom可视化工具(亲测成功,欢迎交流) Visdom可视化工具: 本文测试安装环境为windows10+Anaconda+python3.7.10 (注意先装好Anaco ...

  8. 基于Pytorch的可视化工具

    深度学习网络通常具有很深的层次结构,而且层与层之间通常会有并联.串联等连接方式.当使用PyTorch建立一个深度学习网络并输出文本向读者展示网络的连接方式是非常低效的,所以需要有效的工具将建立的深度学 ...

  9. 可视化工具Visdom的使用

    Visdom介绍 ​ Visdom是Facebook专为PyTorch开发的实时可视化工具包,其作用相当于TensorFlow中的Tensorboard,灵活高效且界面美观.如果想更多了解关于Visd ...

最新文章

  1. Discuz常见大问题-如何DIY一个独立页面
  2. Redis集群搭建很easy
  3. java开发框架_Java-程序员感悟-开发人员喜欢的框架之Spring
  4. 电商购物APP UI 模板素材,充满时尚感的设计
  5. 5.递归实现,把M元用最少的硬币来凑。不同面值的硬币,有10元,5元,2元,1元。...
  6. 荷花用计算机怎么画,怎样画荷花荷叶简笔画
  7. sql语句格式化数字(前面补0)、替换字符串
  8. java 比较器_java比较器简略叙述
  9. iPhone手机屏幕尺寸
  10. 二年级课程表(4月18日-4月22日)
  11. Linux创建用户密码修改
  12. 2021年中国乳制品行业发展现状分析,“双循环”助力行业发展「图」
  13. 揭秘 手机群控 带来的利益
  14. TPC116S8 DAC芯片
  15. 服务器上的系统盘和数据盘,云服务器系统盘和数据盘区别
  16. 移动端网页知识点总结
  17. [置顶]类的加载连接初始化
  18. 薄冰-英语语法[1]-名词的格 (易混知识)
  19. 莫烦Python代码实践(一)——Q-Learning算法工程化解析
  20. python写井字棋_python实现简单井字棋游戏

热门文章

  1. 智慧安全·御见未来 蓝盾股份重磅发布六款安全产品及解决方案
  2. 移动医疗是大势所趋 未来将推向家庭
  3. 2.1.4符号常量和const常量
  4. MySQL查询之条件查询
  5. java的split方法可以实现同时使用多个分隔符劈开字符串方法:
  6. Nginx一把梭完:防盗链、动静分离、高可用、压缩、跨域、缓存等
  7. 360一键重装系统 安全又方便
  8. 学习淘淘商城第四十八课(商品搜索功能Controller实现)
  9. vue中使用动态添加路由(router.addRoutes)加载权限侧边栏的两种方式
  10. python keyboard hook_键盘监控的实现Ⅰ——Keyboard Hook API函数