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

一、介绍在深度学习领域,模型训练是一个必须的过程,因此常常需要实时监听并可视化一些数据,如损失值loss,正确率acc等。在Tensorflow中,最常使用的工具非Tensorboard莫属;在Pytorch中,也有类似的TensorboardX,但据说其在张量数据加载的效率方面不如visdom。visdom是FaceBook开发的一款可视化工具,其实质是一款在网页端的web服务器,对Pytorch的支持较好。二、如何安装及启动2.1安装安装命令pipinstallvisdom安装

大家好,又见面了,我是你们的朋友全栈君。

一、介绍

在深度学习领域,模型训练是一个必须的过程,因此常常需要实时监听并可视化一些数据,如损失值loss,正确率acc等。在Tensorflow中,最常使用的工具非Tensorboard莫属;在Pytorch中,也有类似的TensorboardX,但据说其在张量数据加载的效率方面不如visdom。visdom是FaceBook开发的一款可视化工具,其实质是一款在网页端的web服务器,对Pytorch的支持较好。

二、如何安装及启动

2.1 安装

  • 安装命令
pip install visdom
  • 安装成功的界面如下图所示
    在这里插入图片描述
    安装成功后,我们需要将visdom启动。

2.2 启动

类似于TensorFlow的TensorBoard,要使用Visdom,就要先在终端开启监听命令

  • vidsom启动命令
python -m visdom.server
  • visdom成功启动后,会返回一个网址,根据显示的网址然后在浏览器里输入:http://localhost:8097 进行登录
    在这里插入图片描述
  • 进入后,会显示visdom的主界面
    在这里插入图片描述

三、Visdom可视化神经网络训练过程

首先,我们需要导入Visdom及所需的其它库

from visdom import Visdom
import numpy as np
import time

Visdom可视化神经网络的训练过程大致分为3步:

  • 实例化一个窗口
  • 初始化窗口的信息
  • 更新监听的信息

3.1 监听单一数据

  • 示例:监听train_loss的变化
# 实例化一个窗口
wind = Visdom()
# 初始化窗口信息
wind.line([0.], # Y的第一个点的坐标
		  [0.], # X的第一个点的坐标
		  win = 'train_loss', # 窗口的名称
		  opts = dict(title = 'train_loss') # 图像的标例
)
# 更新数据
for step in range(10):
	# 随机获取loss,这里只是模拟实现
	loss = np.random.randn() * 0.5 + 2
	wind.line([loss],[step],win = 'train_loss',update = 'append')
	time.sleep(0.5)
  • 运行结果:此时打开visdom的主界面,会发现窗口train_loss已经显示出来了
    在这里插入图片描述

3.2 监听多条数据

  • 示例:监听train_loss和acc
# 实例化窗口
wind = Visdom()
# 初始化窗口参数
wind.line([{ 
   0.,0.]],[0.],win = 'train',opts = dict(title = 'loss&acc',legend = ['loss','acc']))
# 更新窗口数据
for step in range(10):
	loss = 0.2 * np.random.randn() + 1
	acc = 0.1 * np.random.randn() + 0.5
	wind.line([[loss, acc]],[step],win = 'train',update = 'append')
	time.sleep(0.5)
  • 运行结果
    在这里插入图片描述

四、Visdom可视化图像

在处理图像数据时,可以使用visdom对图像进行可视化

  • 首先,导入相关的包
from visdom import Visdom
import cv2
import numpy as np
import torch
  • 案例
# 读入图像
image = cv2.imread('E://桌面.jpg')
# openCV按照BGR读取,而visdom 默认按照RGB显示,因此要进行通道转换
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
# visdom类似于pytorch中的卷积模型,接收的数据都要求通道数在前
img = np.transpose(img, (2, 0, 1))
# 将numpy类型转换为torch类型
img = torch.from_numpy(img)
# 可视化图像
viz.image(img, win='pkq')
  • 运行结果
    大家显示的图片各不相同,在这里就不演示了!大家自行演示!

下一篇更新visdom可视化数据集和通过具体的训练过程通过visdom可视化!!!!!

参考文献

http://www.dengb.com/Pythonjc/1354056.html
https://www.it610.com/article/1293748846370824192.htm

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/124860.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 洛谷P3711 仓鼠的数学题(伯努利数+多项式求逆)

    洛谷P3711 仓鼠的数学题(伯努利数+多项式求逆)

    2021年7月2日
    75
  • 医学图形图像处理(医学影像和医学图像处理)

    文章目录1图像和数字图像1图像和数字图像  数字图像:被定义为一个二维函数,f(x,y),其中x,y代表空间坐标,f代表点(x,y)处的强度或灰度级。和普通的笛卡尔坐标系有区别,在计算机中坐标系左上角为原点:  图像数字化:图像进入计算机后,对图像进行数字化(映射)。数字图像三要素:  (1)像素:大小决定了图像存储、显示的清晰度;  (2)灰度值:通常为0-255,因为在计算机中通常用一个字节来表示一个像素,即28。  (3)坐标  图像存储在计算机中会丢失信息,因为是从一个连续的

    2022年4月15日
    52
  • 程序员把地府后台管理系统做出来了,还有3.0版本!12月7号最新消息:已在开发中有github地址

    程序员把地府后台管理系统做出来了,还有3.0版本!12月7号最新消息:已在开发中有github地址第一幕:缘起听说阎王爷要做个生死簿后台管理系统,我们派去了一个程序员……996程序员做的梦:第一场:团队招募为了应对地府管理危机,阎王打算找“人”开发一套地府后台管理系统,于是就在地府总经办群中发了项目需求。话说还是中国电信的信号好,地府都是满格,哈哈!!!经常会有外行朋友问:看某网站做的不错,功能也简单,你帮忙做一下?而这次,面对这样的需求,这个程序员…

    2022年6月8日
    40
  • Lunix操作「建议收藏」

    Lunix操作「建议收藏」pwd当前目录ls显示文件ls-a显示所有文件wenjianls-a~显示所有隐藏文件权限 用户所有者 文件大小 修改时间戳  文件名如果 test不存在使用 -p删除文件夹下所有文件和子目录删除一个目录-i带有交互的询问通配符匹配…

    2022年10月3日
    0
  • ffmpeg安装教程_房间信号差怎么增强

    ffmpeg安装教程_房间信号差怎么增强FFMpeg安装步骤背景FFmpeg是什么1·FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源软件。采用LGPL或GPL许可证,提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec。2·FFmpeg一个领先的多媒体框架,具备解码,编码,转码,复用,解复用,流式传输,滤镜和播放等能力。3·它包含可供应用程序使用的libavcodec,libavutil,libavformat,libavfilter,libavdevi

    2022年9月13日
    0
  • 黑客养成秘籍_名媛修炼手册

    黑客养成秘籍_名媛修炼手册第一节、黑客的种类和行为以我的理解,“黑客”大体上应该分为“正”、“邪”两类,正派黑客依靠自己掌握的知识帮助系统管理员找出系统中的漏洞并加以完善,而邪派黑客则是通过各种黑客技能对系统进行攻击、入侵或者做其他一些有害于网络的事情,因为邪派黑客所从事的事情违背了《黑客守则》,所以他们真正的名字叫“骇客”(Cracker)而非“黑客”(Hacker),也就是我们平时经常听说的“黑客”(Cacker

    2022年9月17日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号