【工具使用】神经网络训练高效可视乎库visdom | 使用方式 概念全梳理

我们知道深度学习训练过程中,非常重要的一部分是深度学习的可视乎

一般主流的是tensorboard

还有我在一个代码中看到了visdom,感觉非常Nice

想系统学习并了解一下相关内容

Visdom 是一个由 Facebook Research 开发的开源可视化工具,主要用于数据可视化,特别适用于深度学习实验中的实时数据监控。它支持多种数据类型,包括数值、图像、文本和视频等,并且与 PyTorch 紧密集成,同时也支持 Torch 和 Numpy 数据结构。

1 基本概念

  1. Panes(窗格):Visdom 的 UI 界面以窗格的形式展示数据。用户可以通过编程或 UI 界面将数据发送到后端,并生成对应的窗格。窗格可以进行拖放、删除等操作。

  2. Environments(环境):环境用于对可视化空间进行分区。每个用户默认有一个名为 main 的环境,不同环境的可视化结果是相互隔离的。

  3. State(状态):服务器会自动缓存可视化的状态,即使重新加载页面或重启服务器,也能恢复之前的状态。

一般我们打开一个可视化界面如下所示

wu6x8-1714114734705)

2 安装和启动

  • 安装:通过 pip 进行安装,命令为 pip install visdom
  • 启动:使用命令 python -m visdom.server 启动 Visdom 服务器。启动后,可以通过浏览器访问 http://localhost:8097 查看 Visdom 的 Web 界面。

3 使用方法

在 PyTorch 或numpy 中使用 Visdom,通常涉及以下步骤:

3.1 创建 Visdom 对象

viz = Visdom()选择环境:可以指定环境 env,如 viz = Visdom(env='my_experiment')

3.2 绘制数据

使用相应的可视化函数,如 viz.lineviz.scatter,传入数据和配置选项 opts

可视乎数据的接口函数有

  • vis.scatter:散点图,支持 2D/3D 数据。
  • vis.line:线图,用于展示连续数据的变化趋势。
  • vis.bar:条形图,展示分类数据的统计信息。
  • vis.heatmap:热力图,用于展示矩阵数据。
  • vis.image:图片,可以展示单张或多张图片。
  • vis.text:文本,展示文本信息。
  • vis.video:视频,展示视频文件。
  • vis.matplot:matplotlib 图,支持 matplotlib 绘图。

Visdom 的 opts 参数允许用户自定义图表的多种属性,如标题、轴标签、图例、颜色等。

4 代码实例

以下是使用 Visdom 绘制散点图和线图的简单示例:

import numpy as np  
from visdom import Visdom  
  
# 初始化 Visdom 连接  
viz = Visdom(env="test1")  
  
# 绘制散点图
viz.scatter(X=np.random.rand(255, 2), win="scatter_plot", opts=dict(title="Scatter Plot", markersize=5))

# 绘制折线图
for i in range(10):
    viz.line(X=[i], Y=[i*2], win="line_plot",opts=dict(title="Line Plot", markersize=5), update='append')

在这里插入图片描述

注意参数中都有win 代表的是这个窗口的ID,更新窗口数据的时候就是通过这个ID,而opts里面的title则是显示给用户的,要区分这两个之间的差异哈

Visdom 支持远程托管,可以将服务器上的可视化结果通过 URL 分享给其他人查看。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Java EE】总结12种锁策略以及synchronized的实现原理

˃͈꒵˂͈꒱ write in front ꒰˃͈꒵˂͈꒱ ʕ̯•͡˔•̯᷅ʔ大家好,我是xiaoxie.希望你看完之后,有不足之处请多多谅解,让我们一起共同进步૮₍❀ᴗ͈ . ᴗ͈ აxiaoxieʕ̯•͡˔•̯᷅ʔ—CSDN博客 本文由xiaoxieʕ̯•͡˔•̯᷅ʔ 原创 CSDN 如…

C语言 | Leetcode C语言题解之第49题字母异位词分组

题目: 题解: /*1.将字符串原串与副本进行绑定成一个节点2.对字符串副本进行按ascii码表进行从小到大排序3.按照字符串进行比较排序4.合并 */ typedef struct Node{char*s;char*s_vice;int len; }Node;void sortShellChar(char*s,int len){for(int dista…

element-ui upload 组件 手动多次出发 submit

element 上传组件 upload 上传成功以后,想重新 调用 submit()函数,发现是不可以进行多次触发的,。 直接上解决方法,在上传成功后的钩子函数里添加:fileList[0l.status ready fileList是文件列表,status是单文件的状态改成ready就…

致力于为企业提升媒体宣传的一种新策略-软文发稿和投放

随着新媒体时代的快速发展,媒体宣发的方式也在不断迭代,其中,“软文发稿”成为了许多企业非常看重的一种媒体宣发方式。那么,什么是“软文发稿”呢?这是一种通过撰写有新闻属性的广告文章,将企业的品牌、产…

Oracle故障处理:ORA-00600错误处理思路

提前说明: 该故障,我只是旁观者。 但处理该故障的DBA工程师,思路很清晰,我非常受教!在此也将经验分享。 目录 项目场景 问题分析 优化建议 项目场景 在某项目数据库运维群,有现场同事发了张报错截图如下…

密码学 | Schnorr 协议:零知识身份证明和数字签名

🥕原文: Schnorr 协议:零知识身份证明和数字签名 🥕写在前面: 本文属搬运博客,自己留存学习。文中的小写字母表示标量,大写字母表示椭圆曲线中的点。 1 Schnorr 简介 Schnorr 由德国数学家和密…

c++中的指针

一、指针的基本概念 指针的作用&#xff1a;可以通过指针间接访问内存 内存编号是从0开始记录的&#xff0c;一般采用16进制数字表示。可以利用指针变量保存地址。 二、指针变量的定义和使用 指针变量定义语法&#xff1a; 数据类型 * 变量名 #include<iostream> u…

电脑怎么压缩视频?3个角度6个方法教会你视频压缩~

电脑端压缩视频的方法有很多&#xff0c;比如使用专业的视频压缩软件&#xff0c;提供更多的功能和选项&#xff0c;可以根据用户的需求进行更精细的设置和调整。具有更高的处理能力和优化的算法&#xff0c;能够更快速地完成视频压缩任务&#xff1b;比如使用在线网站&#xf…

HCIP-Datacom-ARST必选题库_01_ACL【7道题】

一、单选 1.下面是一台路由器的部分配置,关于该配置描述正确的是&#xff1a; 源地址为1.1.1.1的数据包匹配第一条ACL语句rule 0,匹配规则为允许 源地址为1.1.1.3的数据包匹配第三条ACL语句rule 2,匹配规则为拒绝 源地址为1.1.1.4的数据包匹配第四条ACL语句rule 3,匹配规则为允…

AOC vs. DAC:哪个更适合您的网络需求?

在现代网络通信中&#xff0c;选择合适的连接线缆对于数据传输的稳定性和速度至关重要。两种常见的线缆类型是 AOC&#xff08;Active Optical Cable&#xff09; 和 DAC&#xff08;Direct Attach Cable&#xff09;。本文将详细介绍这两种线缆的特点、优势和适用场景&#xf…

想提高办公效率和质量的系统都有哪些?

我们这一波人是幸运的&#xff0c;从毕业后参加工作就开始接触到各种的办公软件&#xff0c;第一次让我觉得神奇且实用的就是office&#xff0c;可以根据场景进行不同的分类使用。 后来又有电子邮件、门户网站、聊天工具、财务软件、智能手机等不同的电子化工具陆续出现...而进…

实用的查询网站

1. 元器件网站 ALLDATASHEETCN.COM - 电子元件和半导体及其他半导体的数据表搜索网站。 热门电子元器件搜索 2. 聆思科技CSK6系芯片资料 CSK6 是聆思科技新一代的 AI 芯片 SoC 产品系列,采用多核异构架构,集成了 “星辰” ARM Star MCU、HiFi4 DSP以及聆思全新设计的 AI 神…

云原生架构(CloudNative)|文末送资料:马-云原生微服务治理大厂冲刺班56期

目录 文末福利&#xff1a;送资料 前言 一、部署架构发展史 二、三大技术基石 三、云原生的优点&#xff1a; 文末福利&#xff1a;送资料 云原生-马哥-云原生微服务治理大厂冲刺班56期[完结 第01节全新马哥Linux云计算高薪就业实战班VIP体验课 第02节ceph企业级存储实…

统一威胁情报如何赋能SOC应对复杂威胁?

安全运营中心&#xff08;SOC&#xff09;是组织网络安全战略的核心组成部分&#xff0c;扮演着至关重要的角色。其负责实时监控整个IT基础设施&#xff0c;以检测、响应和预防各类网络安全威胁。网络安全威胁日益复杂且多变的数字化时代&#xff0c;攻击平面泛化、基础设施复杂…

python爬虫-----深入了解 requests 库下篇(第二十六天)

&#x1f388;&#x1f388;作者主页&#xff1a; 喔的嘛呀&#x1f388;&#x1f388; &#x1f388;&#x1f388;所属专栏&#xff1a;python爬虫学习&#x1f388;&#x1f388; ✨✨谢谢大家捧场&#xff0c;祝屏幕前的小伙伴们每天都有好运相伴左右&#xff0c;一定要天天…

PFA容量瓶耐受强酸强碱进口特氟龙材质定容瓶

PFA容量瓶&#xff0c;也叫特氟龙容量瓶&#xff0c;是用于配制标准浓度溶液的实验室器皿&#xff0c;是有着细长颈、梨形肚的耐强腐蚀平底塑料瓶&#xff0c;颈上有标线&#xff0c;可直接配置标准溶液和准确稀释溶液以及制备样品溶液。 因其有着不易碎、材质纯净、化学稳定性…

【数据结构|C语言版】算法效率和复杂度分析

前言1. 算法效率2. 大O的渐进表示法3. 时间复杂度3.1 时间复杂度概念3.2 时间复杂度计算举例 4. 空间复杂度4.1 空间复杂度的概念4.2 空间复杂度计算举例 5. 常见复杂度对比结语 ↓ 个人主页&#xff1a;C_GUIQU 个人专栏&#xff1a;【数据结构&#xff08;C语言版&#xff09…

Linux开发板配置静态IP

1、查看网口信息&#xff0c;易知eth0无IP地址 ifconfig2、首先分配一个IP地址 sudo ifconfig eth0 192.168.5.8 up3、此时配置的IP地址只是临时的&#xff0c;当你reboot重启板子上电后&#xff0c;ip地址会消失&#xff0c;因此需要为板子配置静态ip&#xff0c;避免每次上…

13 JavaScript学习:运算符

JavaScript 运算符 JavaScript 中有多种类型的运算符&#xff0c;包括以下几类&#xff1a; 算术运算符&#xff1a;用于执行基本的数学运算&#xff0c;如加法&#xff08;&#xff09;、减法&#xff08;-&#xff09;、乘法&#xff08;*&#xff09;、除法&#xff08;/&a…

力扣刷题学习(跟随视频学着刷)

使用入门 视频链接 【手把手带你刷Leetcode力扣&#xff5c;各个击破数据结构和算法&#xff5c;大厂面试必备技能【已完结】-哔哩哔哩】 https://b23.tv/vIcRT61 时空复杂度 时间&#xff1a; 空间&#xff1a;主要有O(1)和O(n)两种&#xff0c;只用计算开辟的内存&#xff…