当前位置: 首页 > article >正文

TensorBoard安装与基本操作指南(PyTorch)

文章目录

  • 什么是TensorBoard?
  • TensorBoardX与TensorBoard的依赖关系
  • 易混关系辨析
  • Pytorch安装TensorBoard并验证
    • 1. TensorBoard安装和访问
    • 2. TensorBoard主要界面介绍
    • 实用技巧

什么是TensorBoard?

  • TensorBoard是TensorFlow生态系统中的一款强大的可视化工具,它可以帮助机器学习开发者和研究人员理解、调试和优化他们的模型。最初由Google Brain团队开发,TensorBoard已经成为深度学习领域最受欢迎的可视化工具之一。
  • TensorBoard是TensorFlow的一个附件,可以记录训练过程的数字、图像等内容,方便研究人员观察神经网络训练过程。
  • 目前,TensorBoard在TensorBoardX工具辅助下,可以和其他框架,如Pytorch,结合使用实现建模和训练的可视化。
  • TensorBoardX是一个PyTorch生态中的工具库,它允许PyTorch用户像TensorFlow用户一样方便地使用TensorBoard进行可视化。

TensorBoard的主要功能包括:

  • 可视化模型的计算图
  • 跟踪和展示训练指标(如损失和准确率)
  • 展示权重和偏差的直方图
  • 显示图像、文本和音频数据样本
  • 分析模型的计算性能

TensorBoardX与TensorBoard的依赖关系

  • 当前最新版本的TensorBoardX仍然需要安装TensorBoard作为基础依赖才能正常使用。TensorBoardX本质上是对TensorBoard功能的封装扩展,它通过调用TensorBoard的核心功能来实现PyTorch的可视化支持。虽然部分基础功能可能不需要完整安装TensorFlow,但TensorBoard组件是必须安装的。

易混关系辨析

  • 单独的TensorBoardX并不能进行可视化展示,TensorBoardX本质上是对TensorBoard功能的封装扩展,通过调用TensorBoard的核心功能来实现PyTorch的可视化支持。
  • 所以,在Pytorch环境中安装TensorBoard,可以广义来说安装TensorBoardX或者安装TensorBoard。但更严格来说,是在Pytorch环境中安装TensorBoard。
  • 读者在阅读文章,可以视TensorBoardx和TensorBoard为等价工具。执行命令和使用没有区别,代码写法可能稍有区别。

Pytorch安装TensorBoard并验证

1. TensorBoard安装和访问

  1. 激活需要安装TensorBoardX的虚拟环境
conda activate env_name
  1. 进入虚拟环境后,安装tensorboardtensorboardX非必须
pip install tensorboard
# 可以不安装tensorboardX
pip install tensorboardX
  1. 打开项目文件,导入相关的包,并在该目录下创建一个测试日志目录。如果执行成功,表明tensorboard安装成功

    • 使用PyTorch官方集成的TensorBoard支持(无需显式调用writer.close()
    from torch.utils.tensorboard import SummaryWriter
    writer = SummaryWriter(log_dir = 'test')
    writer.log_dir
    for i in range(10):writer.add_scalar('mul', i*i, i)
    
    • 如果也安装了tensorboardX ,使用TensorBoardX进行操作(必须显示调用writer.close())
    from tensorboardX import SummaryWriter
    writer = SummaryWriter(log_dir = 'test')
    for i in range(10):writer.add_scalar('mul', i*i, i)
    writer.close()  # 确保关闭 writer    
    
  2. 由于在虚拟环境中安装的tensorboard,所以想要启动也需要进入虚拟环境。操作方法是:在test目录所在文件夹下打开终端,然后在终端中激活python虚拟环境,然后使用tensorboard --logdir="xxx"命令运行TensorBoard。默认情况下,TensorBoard会在本地6006端口启动。你可以在浏览器中访问http://localhost:6006来查看可视化结果。
    在这里插入图片描述

conda activate [env_name]
tensorboard --logdir="test"
或者
tensorboard --logdir=./test
  • 完整执行代码如下:
D:\code\deeplearning_view_tools>conda activate pytorch_stu(pytorch_stu) D:\code\deeplearning_view_tools>tensorboard --logdir="test"
TensorFlow installation not found - running with reduced feature set.
Serving TensorBoard on localhost; to expose to the network, use a proxy or pass --bind_all
TensorBoard 2.19.0 at http://localhost:6006/ (Press CTRL+C to quit)
  1. 执行代码绘图结果如下:
    在这里插入图片描述

2. TensorBoard主要界面介绍

  • 启动TensorBoard后,主要包含选项卡:
  1. Custom Scalars:显示训练过程中的标量指标(如损失、准确率等),支持自定义图表布局和多个指标的对比分析。
  2. Images:显示训练过程中保存的图像数据,可用于可视化输入数据、特征图或模型生成的图像样本。
  3. Audio:播放保存的音频数据,适用于语音处理或音频生成模型的调试和评估。
  4. Debugger V2:调试器界面,提供实时变量监控、张量值和计算图检查功能,帮助诊断训练问题。
  5. Graphs:可视化模型的计算图,展示各层之间的连接关系和数据流向,支持交互式探索模型架构。
  6. Distributions:展示权重和偏差的分布变化,以折线图形式显示张量值随训练步骤的分布演变。
  7. Histograms:以直方图形式展示权重和偏差的变化,直观呈现参数在不同训练阶段的数值分布。
  8. Text:显示文本数据,可用于查看嵌入向量、自然语言处理模型的输入输出或日志信息。
  9. Pr Curves(Precision-Recall Curves):绘制精确率-召回率曲线,特别适用于分类模型的性能评估。
  10. Profile: 性能分析工具,提供训练过程中的详细时间消耗和资源使用情况,帮助优化模型效率。
  11. Hparams:超参数调优面板,支持比较不同超参数组合下的模型表现,辅助选择最佳配置。
  12. Mesh:3D数据可视化工具,用于显示和交互式探索三维网格数据(如点云、3D物体等)。
  13. What-if Tool:交互式模型探索工具,允许用户通过修改输入数据实时观察模型预测变化,支持公平性分析和反事实推理。
  14. Projector:使用PCA或t-SNE进行高维数据的降维可视化,特别适用于嵌入向量(embeddings)的可视化分析。

实用技巧

  1. TensorBoard不显示数据:确保log_dir路径正确;检查是否传入TensorBoard回调;确认训练确实运行。
  2. 端口冲突
    tensorboard --logdir=./logs --port 6007
    
  3. 加载太慢:减少日志文件数量;关闭不需要的选项卡。

相关文章:

TensorBoard安装与基本操作指南(PyTorch)

文章目录 什么是TensorBoard?TensorBoardX与TensorBoard的依赖关系易混关系辨析Pytorch安装TensorBoard并验证1. TensorBoard安装和访问2. TensorBoard主要界面介绍实用技巧 什么是TensorBoard? TensorBoard是TensorFlow生态系统中的一款强大的可视化工…...

基于PyTorch的残差网络图像分类实现指南

以下是一份超过6000字的详细技术文档,介绍如何在Python环境下使用PyTorch框架实现ResNet进行图像分类任务,并部署在服务器环境运行。内容包含完整代码实现、原理分析和工程实践细节。 基于PyTorch的残差网络图像分类实现指南 目录 残差网络理论基础服务…...

2025/5/25 学习日记 linux进阶命令学习

tree:以树状结构显示目录下的文件和子目录,方便直观查看文件系统结构。 -d:仅显示目录,不显示文件。-L [层数]:限制显示的目录层级(如 -L 2 表示显示当前目录下 2 层子目录)。-h:以人类可读的格…...

【MPC控制 - 从ACC到自动驾驶】4 MPC的“实战演练”:ACC Simulink仿真与结果深度解读

【MPC控制 - 从ACC到自动驾驶】MPC的“实战演练”:ACC Simulink仿真与结果深度解读 在过去的几天里,我们一起: Day 1: 认识了ACC这位聪明的“跟车小能手”和MPC这位“深谋远虑的棋手”。Day 2: 给汽车“画了像”,建立了它的纵向…...

【时时三省】Python 语言----牛客网刷题笔记

目录 1,常用函数 1,input() 2,map() 3,split() 4,range() 5, 切片 6,列表推导式 山不在高,有仙则名。水不在深,有龙则灵。 ----CSDN 时时三省 1,常用函数 1,input() 该函数遇到 换行停止接收,返回类型为字符串 2,map() 该函数出镜率较高,目的是将一个可迭…...

OPENEULER搭建私有云存储服务器

一、关闭防火墙和selinux 二、下载相关软件 下载nginx,mariadb、php、nextcloud 下载nextcloud: sudo wget https://download.nextcloud.com/server/releases/nextcloud-30.0.1.zip sudo unzip nextcloud-30.0.1.zip -d /var/www/html/ sudo chown -R…...

PyQt学习系列10-性能优化与调试技巧

PyQt学习系列笔记(Python Qt框架) 第十课:PyQt的性能优化与调试技巧 课程目标 掌握 PyQt应用的性能优化策略(内存管理、渲染优化、多线程)学习 调试技巧(日志输出、断点设置、性能分析工具)解…...

卷积神经网络(CNN)深度讲解

卷积神经网络(CNN) 本篇博客参考自大佬的开源书籍,帮助大家从头开始学习卷积神经网络,谢谢各位的支持了,在此期待各位能与我共同进步​ 卷积神经网络(CNN)是一种特殊的深度学习网络结构&#x…...

Docker部署Zookeeper集群

简介 ZooKeeper 是一个开源的分布式协调服务,由 Apache 软件基金会开发和维护。它主要用于管理和协调分布式系统中的多个节点,以解决分布式环境下的常见问题,如配置管理、服务发现、分布式锁等。ZooKeeper 提供了一种可靠的机制,…...

数据结构—(概述)

目录 一 数据结构,相关概念 1. 数据结构: 2. 数据(Data): 3. 数据元素(Data Element): 4. 数据项: 5. 数据对象(Data Object): 6. 容器(container): 7. 结点(Node)&#xff…...

python打卡day34

GPU训练及类的call方法 知识点回归: CPU性能的查看:看架构代际、核心数、线程数GPU性能的查看:看显存、看级别、看架构代际GPU训练的方法:数据和模型移动到GPU device上类的call方法:为什么定义前向传播时可以直接写作…...

华为OD机试真题—— 流水线(2025B卷:100分)Java/python/JavaScript/C/C++/GO最佳实现

2025 B卷 100分 题型 本专栏内全部题目均提供Java、python、JavaScript、C、C++、GO六种语言的最佳实现方式; 并且每种语言均涵盖详细的问题分析、解题思路、代码实现、代码详解、3个测试用例以及综合分析; 本文收录于专栏:《2025华为OD真题目录+全流程解析+备考攻略+经验分…...

【数据架构01】数据技术架构篇

✅ 9张高质量数据架构图:大数据平台功能架构、数据全生命周期管理图、AI技术融合架构等; 🚀无论你是数据架构师、治理专家,还是数字化转型负责人,这份资料库都能为你提供体系化参考,高效解决“架构设计难、…...

【安全攻防与漏洞​】​​HTTPS中的常见攻击与防御​​

HTTPS 中常见攻击与防御策略涵盖中间人攻击(MITM)、SSL剥离、重放攻击等,帮助构建安全的 HTTPS 通信环境: 一、中间人攻击(MITM) 攻击原理 场景:攻击者通过伪造证书或劫持网络流量&#xff0c…...

esp32cmini SK6812 2个方式

1 #include <SPI.h> // ESP32-C系列的SPI引脚 #define MOSI_PIN 7 // ESP32-C3/C6的SPI MOSI引脚 #define NUM_LEDS 30 // LED灯带实际LED数量 - 确保与实际数量匹配&#xff01; #define SPI_CLOCK 10000000 // SPI时钟频率 // 颜色结构体 st…...

【数据集】30 m地表温度LST数据集

目录 数据概述🔧研究目标与意义🧠 算法核心组成1. 地表比辐射率(LSE)估算2. 大气校正(Atmospheric Correction)LST反演流程图📊 精度验证与评估结果参考《Generating the 30-m land surface temperature product over continental China and USA from Landsat 5/7/8 …...

【CATIA的二次开发07】草图编辑器对象结构及应用

【CATIA的二次开发07】草图编辑器对象结构及应用 草图编辑器(SketchEditor)是用于创建和编辑2D草图的核心对象。其对象结构遵循CATIA的层级关系,以下是详细说明及代码示例: 一、核心对象结构图 Application │ └─ Documents│└─ Document (.CATPart)│└─ Part│└─…...

IT | 词汇科普手册Ⅱ

目录 1.报文(Message) 2.Token(令牌) Token vs. Cookie Token vs. Key "碰一碰"支付 3.NFC 4.Nginx 5.JSON 6.前置机 前置机vs.Nginx反向代理 以PDA、WMS举例前置机场景 7.RabbitMQ 核心功能 1.报文(Message) 报文&#xff08;Message&#xff09;​​是系统或组件之…...

【 java 基础问题 第一篇 】

目录 1.概念 1.1.java的特定有哪些&#xff1f; 1.2.java有哪些优势哪些劣势&#xff1f; 1.3.java为什么可以跨平台&#xff1f; 1.4JVM,JDK,JRE它们有什么区别&#xff1f; 1.5.编译型语言与解释型语言的区别&#xff1f; 2.数据类型 2.1.long与int类型可以互转吗&…...

以前端的角度理解 Kubernetes(K8s)

作为一名前端开发者&#xff0c;我们每天都在与 React、Vue、Webpack 等工具打交道&#xff0c;而 Kubernetes&#xff08;K8s&#xff09;听起来更像是后端或运维的“专属领域”。但实际上&#xff0c;K8s 的核心思想和前端开发中的某些模式高度相似。那么咱们用熟悉的类比帮助…...

自用git记录

像重复做自己在网上找的练习题&#xff0c;这种类型的git仓库管理&#xff0c;一般会用到以下命令&#xff1a; git revert a1b2c3 很复杂的git历史变成简单git历史 能用git rebase -i HEAD~5^这种命令解决&#xff0c;就最好&#xff08;IDEA还带GUI&#xff0c;很方便&…...

pyhton基础【2】基本语法

一. 注释 单行注释 以#开头&#xff0c;#右边的所有的内容当做说明&#xff0c;起辅助说明作用 # 我是一个单行注释 print(Hello) 多行注释 """ 在三引号中的注释被称之为多行注释 可以写很多行的功能说明 """ 二. 交互模式 终端输入代码…...

python数据结构-列表详解

Python中的列表(List)是一种序列类型的数据结构&#xff0c;它支持元素的动态添加和删除&#xff0c;可以容纳任意类型的数据&#xff0c;包括数字、字符串、甚至是其他列表或其他复杂数据结构。列表因其灵活性和广泛的应用场景&#xff0c;成为Python中最常用的数据结构之一。…...

本地环境下 前端突然端口占用问题 针对vscode

1.问题背景 本地运行前端代码&#xff0c;虚拟机中使用nginx反向代理。两者都使用vscode进行开发。后端使用vscode远程连接。在前端发起一次接口请求后&#xff0c;后端会产生新的监听端口&#xff0c;出现如下图的提示情况。随后前端刷新&#xff0c;甚至无法正常显示界面。 …...

flutter 项目调试、flutter run --debug调试模式 devtools界面说明

Flutter DevTools 网页界面说明 1. 顶部导航栏 Inspector&#xff1a;查看和调试 Widget 树&#xff0c;实时定位 UI 问题。Performance-- 性能分析面板&#xff0c;查看帧率、CPU 和 GPU 使用情况&#xff0c;识别卡顿和性能瓶颈。Memory-- 内存使用和对象分配分析&#xff…...

在局域网(LAN)中查看设备的 IP 地址

在局域网&#xff08;LAN&#xff09;中查看设备的 IP 地址&#xff0c;可以使用以下几种方法&#xff1a; 方法 1&#xff1a;使用 ipconfig&#xff08;Windows&#xff09; 1. 打开 CMD&#xff1a; 按 Win R&#xff0c;输入 cmd&#xff0c;回车。 2. 输入命令&#…...

Axure 基本用法学习笔记

一、元件操作基础 1. 可见性控制 隐藏/显示&#xff1a;可以设置元件的可见性&#xff0c;使元件在特定条件下隐藏或可见 应用场景&#xff1a;创建动态交互效果&#xff0c;如点击按钮显示隐藏内容 2. 层级管理 层级概念&#xff1a;元件有上下层关系&#xff0c;上层元件…...

使用 Hyperlane 实现 WebSocket广播

使用 Hyperlane 实现 WebSocket广播 hyperlane 框架原生支持 WebSocket 协议&#xff0c;开发者无需关心协议升级过程&#xff0c;即可通过统一接口处理 WebSocket 请求。本文将介绍如何使用 hyperlane 实现服务端的单点发送与广播发送功能&#xff0c;以及如何配套实现一个简…...

SQL每日一题(5)

前言&#xff1a;五更&#xff01;五更琉璃&#xff01;不对&#xff01;是&#xff0c;五更佩可&#xff01; 原始数据&#xff1a; new_hires reasonother_column1other_column2校园招聘信息 11社会招聘信息 22内部推荐信息 33猎头推荐信息 44校园招聘信息 55社会招聘信息…...

git提交通用规范

提交类型 类型说明feat新增功能或特性fix修复Bugdocs文档更新&#xff08;README、CHANGELOG、注释等&#xff09;style代码样式调整&#xff08;空格、分号、格式等&#xff0c;不改变逻辑&#xff09;refactor代码重构&#xff08;既非新增功能&#xff0c;也非修复Bug的代码…...