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

简介: 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'})


相关文章
|
7月前
|
机器学习/深度学习 数据可视化 PyTorch
PyTorch基础之模型保存与重载模块、可视化模块讲解(附源码)
PyTorch基础之模型保存与重载模块、可视化模块讲解(附源码)
169 1
|
机器学习/深度学习 数据可视化 PyTorch
【PyTorch】TensorBoard基本使用
【PyTorch】TensorBoard基本使用
271 0
|
数据可视化 PyTorch 算法框架/工具
Pytorch可视化Visdom、tensorboardX和Torchvision
Pytorch可视化Visdom、tensorboardX和Torchvision
104 0
|
2月前
|
并行计算 PyTorch TensorFlow
Ubuntu安装笔记(一):安装显卡驱动、cuda/cudnn、Anaconda、Pytorch、Tensorflow、Opencv、Visdom、FFMPEG、卸载一些不必要的预装软件
这篇文章是关于如何在Ubuntu操作系统上安装显卡驱动、CUDA、CUDNN、Anaconda、PyTorch、TensorFlow、OpenCV、FFMPEG以及卸载不必要的预装软件的详细指南。
5061 3
|
5月前
|
数据可视化 计算机视觉 异构计算
确保您已经安装了必要的库,包括`torch`、`torchvision`、`segmentation_models_pytorch`、`PIL`(用于图像处理)和`matplotlib`(用于结果可视化)。您可以使用pip来安装这些库:
确保您已经安装了必要的库,包括`torch`、`torchvision`、`segmentation_models_pytorch`、`PIL`(用于图像处理)和`matplotlib`(用于结果可视化)。您可以使用pip来安装这些库:
|
5月前
|
数据可视化 PyTorch TensorFlow
PyTorch SummaryWriter TensorBoard 中进行可视化
PyTorch SummaryWriter TensorBoard 中进行可视化
|
7月前
|
机器学习/深度学习 数据可视化 PyTorch
PyTorch小技巧:使用Hook可视化网络层激活(各层输出)
这篇文章将演示如何可视化PyTorch激活层。可视化激活,即模型内各层的输出,对于理解深度神经网络如何处理视觉信息至关重要,这有助于诊断模型行为并激发改进。
182 1
|
机器学习/深度学习 存储 数据可视化
PyTorch 神经网络模型可视化(Netron)
PyTorch 神经网络模型可视化(Netron)
1864 0
|
PyTorch 算法框架/工具 Python
【PyTorch】Transforms基本使用
【PyTorch】Transforms基本使用
93 0
|
机器学习/深度学习 PyTorch Serverless
Pytorch基本使用—参数初始化
使用Pytorch进行参数初始化教程,重点是Xavier
256 0

热门文章

最新文章