一、前言

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

二、安装和启动

  visdom的安装比较简单,可以直接使用pip命令。

# visdom 安装指令
pip install visdom

  执行安装命令后,可以执行以下命令启动visdom。

# 启动 visdom web服务器
python -m visdom.server

  若安装成功,则会返回一个网页地址;若报错,则安装失败,可以自行去github上下载源码安装。

  将网址复制后在浏览器中打开,就可以看到visdom的主界面。

三、简单使用

  这里以监听损失值loss数据,准确率acc数据及可视化图像等方面简要介绍visdom的使用。

3.1 监听单一数据loss

  在模型训练过程中,loss是最常监听的数据,这里就以loss的监听为例,使用visdom可视化loss的变化过程。为了使代码更加简洁,这里以for循环代替模型逐轮训练的过程,loss值则在每个循环内部随机产生。

from visdom import Visdom
import numpy as np
import time # 将窗口类实例化
viz = Visdom() # 创建窗口并初始化
viz.line([0.], [0], win='train_loss', opts=dict(title='train_loss')) for global_steps in range(10):
# 随机获取loss值
loss = 0.2 * np.random.randn() + 1
# 更新窗口图像
viz.line([loss], [global_steps], win='train_loss', update='append')
time.sleep(0.5)

3.2 同时监听loss和acc

from visdom import Visdom
import numpy as np
import time # 将窗口类实例化
viz = Visdom() # 创建窗口并初始化
viz.line([[0.,0.]], [0], win='train', opts=dict(title='loss&acc', legend=['loss', 'acc']))
for global_steps in range(10):
# 随机获取loss和acc
loss = 0.1 * np.random.randn() + 1
acc = 0.1 * np.random.randn() + 0.5
# 更新窗口图像
viz.line([[loss, acc]], [global_steps], win='train', update='append')
# 延时0.5s
time.sleep(0.5)

3.3 可视化图像

  在处理图像任务时,还可以用visdom对图像进行可视化。

from visdom import Visdom
import numpy as np
import cv2
import torch # 使用opencv读取数据
img = cv2.imread('pkq.jpg')
# opencv按照BGR读取,而visdom默认按照RGB显示,因此要进行通道转换
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
# visdom类似于pytorch中的卷积模型,接收的数据都要求通道数在前
img = np.transpose(img, (2, 0, 1))
img = torch.from_numpy(img)
# 可视化图像
viz.image(img, win='pkq')

  visdom可以同时在主面板中打开多个窗口,执行上面3个可视化程序后,主面板如下所示:

visdom可视化pytorch训练过程的更多相关文章

  1. visdom使用监视训练过程的应用,viz.line参数说明

    visdom使用监视训练过程的应用,viz.line参数说明 待办 viz = Visdom() viz.line([0.], [0.], win='train_loss', opts=dict(ti ...

  2. [深度学习] pytorch学习笔记(3)(visdom可视化、正则化、动量、学习率衰减、BN)

    一.visdom可视化工具 安装:pip install visdom 启动:命令行直接运行visdom 打开WEB:在浏览器使用http://localhost:8097打开visdom界面 二.使 ...

  3. 从零搭建Pytorch模型教程(四)编写训练过程--参数解析

    ​  前言 训练过程主要是指编写train.py文件,其中包括参数的解析.训练日志的配置.设置随机数种子.classdataset的初始化.网络的初始化.学习率的设置.损失函数的设置.优化方式的设置. ...

  4. tensorflow笔记:模型的保存与训练过程可视化

    tensorflow笔记系列: (一) tensorflow笔记:流程,概念和简单代码注释 (二) tensorflow笔记:多层CNN代码分析 (三) tensorflow笔记:多层LSTM代码分析 ...

  5. tensorflow:模型的保存和训练过程可视化

    在使用tf来训练模型的时候,难免会出现中断的情况.这时候自然就希望能够将辛辛苦苦得到的中间参数保留下来,不然下次又要重新开始. 保存模型的方法: #之前是各种构建模型graph的操作(矩阵相乘,sig ...

  6. 吴裕雄 python 神经网络——TensorFlow 训练过程的可视化 TensorBoard的应用

    #训练过程的可视化 ,TensorBoard的应用 #导入模块并下载数据集 import tensorflow as tf from tensorflow.examples.tutorials.mni ...

  7. 深度学习训练过程中的学习率衰减策略及pytorch实现

    学习率是深度学习中的一个重要超参数,选择合适的学习率能够帮助模型更好地收敛. 本文主要介绍深度学习训练过程中的6种学习率衰减策略以及相应的Pytorch实现. 1. StepLR 按固定的训练epoc ...

  8. 一个简洁、好用的Pytorch训练模板

    一个简洁.好用的Pytorch训练模板 代码地址:https://github.com/KinglittleQ/Pytorch-Template 怎么使用 1) 更改template.py 替换 __ ...

  9. 万字长文,以代码的思想去详细讲解yolov3算法的实现原理和训练过程,Visdrone数据集实战训练

    以代码的思想去详细讲解yolov3算法的实现原理和训练过程,并教使用visdrone2019数据集和自己制作数据集两种方式去训练自己的pytorch搭建的yolov3模型,吐血整理万字长文,纯属干货 ...

随机推荐

  1. less的安装使用和入门实践

    1.简介 LESSCSS是一种动态样式语言,属于CSS预处理语言的一种,它使用类似CSS的语法,为CSS的赋予了动态语言的特性,如变量.继承.运算.函数等,更方便CSS的编写和维护. LESSCSS可 ...

  2. jsp九大内置对象和其作用详解

    jsp九大内置对象和其作用详解 JSP中一共预先定义了9个这样的对象,分别为:request.response.session.application.out.pagecontext.config.p ...

  3. CodeForces-329C(div1):Graph Reconstruction(随机&构造)

    I have an undirected graph consisting of n nodes, numbered 1 through n. Each node has at most two in ...

  4. 蓝桥杯训练 2n皇后问题

    给定一个n*n的棋盘,棋盘中有一些位置不能放皇后.现在要向棋盘中放入n个黑皇后和n个白皇后,使任意的两个黑皇后都不在同一行.同一列或同一条对角线上,任意的两个白皇后都不在同一行.同一列或同一条对角线上 ...

  5. POJ2481(树状数组:统计数字 出现个数)

    Cows Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 15405   Accepted: 5133 Description ...

  6. 制作HUD

    转自:http://www.cnblogs.com/NEOCSL/archive/2012/03/05/2380341.html 1. HUD不仅仅能提供基本的显示信息给玩家,例如玩家的生命值等.在I ...

  7. unix-like 图形服务组件(ubuntu)

    ubuntu18.04 准备回归wayland, 因为手机平板的ubuntu无人使用,开发成本太高.所以弃用Unity8, 重新改用 waylang 的GNOME sudo systemctl dis ...

  8. ceph安装对象网关

    1.概述 安装3个网关节点分别是:controller-03.controller-04和controller-05,使用ceph gw自带的Civetweb提供服务,前端使用nginx作为前端代理. ...

  9. failed to create rwlayer: lstat /var/lib/docker/overlay2/ no such file or directory

    在使用Docker构建微服务镜像时出现的错误.第一天构建好好的,第二天就出现了这样的错误.通过百度这条错误的信息非常少,只在 stackoverflow.com 上找到一条,问题指向了 dockerf ...

  10. <正则吃饺子> :关于redis配置文件参数详解

    来源于网络博文,感谢作者的分享,转载只为学习,方便查找,原文地址:http://blog.csdn.net/ljl890705/article/details/51540427 Redis是一个应用非 ...