PyTorch使用Visdom绘制训练过程曲线

news2024/9/29 5:28:12

最近在训练网络,网络的损失和准确率都是在终端输出的,很不直观,也看不出变化,就想着有没有一种工具可以实现实时的绘制模型的训练过程,然后就搜到了Visdom,发现这是个好东西啊,完全满足了我的需求,学习一下,在这里记录一下,方便以后查阅。

非常详细的介绍:深度学习可视化工具visdom使用

PyTorch使用Visdom绘制训练过程曲线

  • Visdom介绍
  • 安装Visdom
  • Visdom使用
  • 参考资料

Visdom介绍

visdom的github主页:https://github.com/fossasia/visdom
visdom中文文档参考:https://ptorch.com/news/77.html

Visdom是FaceBook公司开发的一款开源数据可视化工具,以其简单易用的功能,很快成为PyTorch的一个数据可视化工具。

Visdom的目标是促进(远程)数据的可视化,重点是支持科学实验。为你自己和你的合作者广播绘制:视频、图像、文本等的可视化。

在这里插入图片描述

安装Visdom

visdom要求python3的环境,安装比较简单直接用pip安装即可:

pip install visdom

Visdom使用

python -m visdom.server

在这里插入图片描述

然后在浏览器中打开返回的链接:http://loaclhost:8097

在这里插入图片描述

import visdom

选择环境窗口,这里也可以选择其他窗口,窗口名称就是浏览器打开后上方的Environment 这里的main

vis = visdom.Visdom(env='main')  # 设置环境窗口的名称,如果不设置名称就默认为main

在这个环境中新建一个图像窗口,这句话不要放在每次迭代中

opt = {
        'xlabel': 'epochs',  # 横坐标名称
        'ylabel': 'loss_value', # 纵坐标名称
        'title': 'loss'  # 标题是loss
    }
#在环境窗口建立一个新的图窗,图窗标题是loss
loss_window = vis.line(
    X=[0],
    Y=[0],
    opts=opt
)

这句话放在每次迭代时:

vis.line(X=[epoch], Y=[对应的loss值], win=loss_window, opts=opt, update='append')

放到神经网络训练代码中就是下面这样:

#训练模型
vis = visdom.Visdom(env='main')  # 设置环境窗口的名称,如果不设置名称就默认为main
opt = {
        'xlabel': 'epochs',
        'ylabel': 'loss_value',
        'title': 'SGD_loss'
    }
loss_window = vis.line(
    X=[0],
    Y=[0],
    opts=opt
)

for epoch in range(400):
    y_pred = model(x_data)
    loss = criterion(y_pred, y_data)
    print(epoch, loss.item())

    #所有梯度归零化
    optimizer.zero_grad()
    #反向传播求出梯度
    loss.backward()
    #更新权重和偏置值,即w和b
    optimizer.step()

    vis.line(X=[epoch], Y=[loss.item()], win=loss_window, opts=opt, update='append')

参考资料

Visdom数据可视化工具绘制Loss曲线

在深度学习中使用python编程和Visdom绘制损失函数图像

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/353721.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Kafka】二.Kafka消息发布/消费流程

Kafka 通过对消费方进行分组管理来支持消息一写多读。 我画的图:工具(processon在线画图) 这个 Topic 分为 4 个 Partition,就是图中的 P1到 P4,上部的生产方根据规则选择一个 Partition 进行写入,默认规则…

算法练习-链表(一)

算法练习-链表(一) 文章目录算法练习-链表(一)解题技巧1. 实现链表1.1 节点的定义1.2 链表的遍历1.3 节点的查找1.4节点的插入1.4.1 链头插入1.4.2 链尾插入1.4.3 在给定节点之后插入1.5 删除节点1.5.1 删除给定节点之后的节点、1…

如何快速完成园区数据的可视化分析?

对于园区运营方来说,如果没有专业针对性的管理方案以及管理系统辅助的话,实现园区可视化管理的难度非常大,而且操作成本会很高。但如果园区运营方选择引进快鲸智慧楼宇推出的园区数据孪生可视化管理系统的话就会简单很多。 快鲸智慧楼宇数据孪…

python项目使用pipenv管理环境,如何使用pycharm调试模式

写在开始 了解pipenv的朋友们应该知道,使用pipenv管理项目环境后,仅pipenv虚拟环境中安装有项目的依赖包,测试机本身并没有安装这个依赖包,这就是pipenv使用的意义。但是,如果想要进入调试模式呢?我们要如…

Coqui TTS docker 使用记录

前言 之前介绍过 Coqui TTS 的安装,不过那个环境被我玩挂掉了…… 这次记录一下 docker 版本的使用。 参考网址:Docker images - TTS 0.11.1 documentation 正文 首先按照官网指示先把镜像 pull 下来。(后记:确保 GPU driver…

重生之我是赏金猎人-番外篇-记一次层层突破的攻防演练

0x00 前言 本文简单记述了一下本人在某攻防演练过程中一次层层突破的有趣经历 技术性一般,但是层层突破属实艰难,并用到了比较多的思路,还望各位大佬多多指教 0x01 SSO账号获取 由于目标是某大学,对外开放的服务基本上都是一些…

CSS 预处理工具 Less 的介绍及使用 步骤

文章目录Less是什么Less的使用方法Less 中的注释Less 中的变量Less 中的嵌套Less 中的混合(Mixin)Less 中的运算Less 中的转译Less 中的作用域Less 中的导入Less实用实例文字超出省略文字垂直居中定位上下左右居中Less是什么 Less 是一门 CSS 预处理语言…

spring的事务控制

1.调用这个方法的对象是否是spring的代理对象($CGLIB结尾的) 2.这个方法是否是加了Transactional注释 都符合才可以被事物控制 如果调用方法的对象没有被事物控制,那么被调用的方法即便是加了Transactional也是没用的 事务失效情况&#xf…

基于MATLAB计算MIMO信道容量(附完整代码与分析)

目录 一.介绍 二. 代码 三. 运行结果及分析 3.1 MIMO信道容量:固定发射天线数为4 3.2 MIMO信道容量:固定接收天线数为4 3.3 AWGN信道与瑞利信道容量 四. 总结 一.介绍 本文章将在MATLAB环境中分析MIMO信道容量,AWGN信道容量&#xf…

秒懂SpringBoot之全网最易懂的Spring Security教程

[版权申明] 非商业目的注明出处可自由转载 出自:shusheng007 文章目录概述简介原理默认实现使用Token认证方案JWT认证流程自定义Authentication Provider自定义Provider修改配置认证失败与授权失败处理认证失败处理授权失败处理支持方法级别的授权总结源码概述 现如…

PMP好考吗,有多大的价值?

关于PMP考试题型及考试内容,PMP考试共200道单选题,其中25道题不计分,会被随机抽查,答对106道题以上通过考试,参考比例106/175,60.57%估计答对(10625)道题及上即可通过,参…

全国进入裁员潮,到底是大厂难混?还是我技不如人?

前言 面对裁员,每个人的心态不同。他们有的完全没有料想到自己会被裁,有的却对裁员之事早有准备。大多数人,我想是焦虑失落的吧。 01 “降本增效”,HR怒提裁员刀 小默 | 32岁 芯片行业 人力资源 1月份,身处芯片行业H…

额度系统设计

一、额度生命周期额度生效/失效:授信的时候风控返回用户额度,当额度有效期到期之后额度失效;额度预扣/占用/释放: 当客户来提款的时候,只要提款金额小于授信额度(可用额度)时,先预扣,处理完系统…

如何让APP在Google Play中成为特色

Google Play覆盖了 190 多个地区,数十亿的用户,所以开发者都会希望APP在应用商店中获得推荐位。 Google Play 上的精选热门应用类型:热门游戏或应用,畅销应用,安装量增长的应用,产生最多收入的应用。 那么…

Pdfium.Net SDK 4.78.2704 完美Crack/Ptach

不限制时,/不限PDF体积、、、、、// version: 4.78.2704 | file size: 52.7 Mb Pdfium .Net SDK C# PDF 库 从头开始或从一堆扫描图像创建 PDF 编辑、合并、拆分和操作 PDF,提取文本和图像 嵌入独立的 Winforms 或 WPF PDF 查看器 支持:.Net…

软件性能测试方案怎么编写?权威的性能测试报告如何申请?

软件性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。性能测试在软件的质量保证中起着重要的作用,它包括的测试内容丰富多样。负载测试和压力测试都属于性能测试,两者可以结合进行。 一、软件性能测…

java中调用配置文件中的数据库路径及账号密码

项目场景: 有的时候因为项目的需求,所以需要隐藏数据库的路径,账号密码 解决方案: 话不多说直接上代码 这个分情况而定的: 在jdbc框架中获取方法: 1.获取数据库 Class.forName("oracle.jdbc.OracleDriver"); 2.获取路径,账号,密码 Properti…

pytorch零基础实现语义分割项目(一)——数据概况及预处理

语义分割之数据加载项目列表前言数据集概况数据组织形式数据集划分数据预处理均值与方差结尾项目列表 语义分割项目(一)——数据概况及预处理 语义分割项目(二)——标签转换与数据加载 前言 在本专栏的上一个项目中我们介绍了…

Python 使用pandas处理Excel —— 快递订单处理 数据匹配 邮费计算

问题背景 有表A,其数据如下 关键信息是邮寄地址和单号。 表B: 关键信息是运单号和重量 我们需要做的是,对于表A中的每一条数据,根据其单号,在表B中查找到对应的重量。 在表A中新增一列重量,将刚才查到的…

防水防汗耳机什么品牌好?四款防水效果不错的蓝牙耳机推荐

近年来蓝牙耳机中可谓是火爆全网,非常受到大家追捧,当然,也随着蓝牙耳机的增长,很多人不知道蓝牙耳机该如何选择,其实蓝牙耳机不止要音质表现好,佩戴体验好,还有着防水性能不能差,不…