深度学习 Pytorch 建模可视化工具TensorBoard的安装与使用

server/2025/2/8 18:07:55/

50 TensorBoard的安装和使用

深度学习建模过程中,为了能够快速绘制模型基本结构、观察模型评估指标伴随训练过程的动态变化情况,当然也为了能够观察图像数据,我们可以使用TensorBoard工具来进行Pytorch深度学习模型的可视化展示。

Tensorboard原本是TensorFlow的可视化工具,而目前在TensorboardX工具的加持下,其他深度学习计算框架也可使用TensorBoard工具进行可视化操作了。在Pytorch原生的可视化工具不够友好的情况下,我们更推荐使用TensorboardX来实现Pytorch的建模可视化。

在这里插入图片描述

虽然我们可以在torch.util模块中调用Tensorboard,但Tensorboard并不和Pytorch同步维护,要使用Tensorboard,需单独安装。

# 随机模块
import random# 绘图模块
import matplotlib as mpl
import matplotlib.pyplot as plt# numpy
import numpy as np# pytorch
import torch
from torch import nn,optim
import torch.nn.functional as F
from torch.utils.data import Dataset,TensorDataset,DataLoader

50.1 安装TensorboardX

python安装第三方库一样,直接在命令行中安装即可。已经安装了TensorFlow的同学,在安装TensorFlow的过程中会自动安装Tensorboard,后续可以直接使用。当然,只安装了PyTorch的同学可根据以下步骤单独TensorboardX组件:

  • Step 1.打开cmd命令行

  • Step 2.使用pip进行安装

pip install tensorboardX

在这里插入图片描述

  • Step 3.安装tensorboard
pip install tensorboard

在这里插入图片描述

  • Step 4.测试安装结果

导入相关的包,若能顺利导入,则证明安装成功

from torch.utils.tensorboard import SummaryWriter

在这里插入图片描述


50.2 SummaryWriter类与Tensorboard的基本使用

在进行建模过程可视化展示的过程,核心使用的类就是SummaryWriter类,通过该类的使用,我们可以记录关键运算关系、模型数值指标等,进而可以进行展示。

不过,考虑到真实生产环境中,大规模深度学习模型都是部署在服务器上运行的,我们无法像在本地IDE上一边输入数据一边绘图观测结果,我们只能将需要记录的关键结果记录下来并保存在某个文件里,然后再在本地或者服务器上开启某项服务读取该文件保存的信息。因此,整个过程会比在本地绘图稍微复杂,但确是真实生产环境中的主流操作。
使用SummaryWriter进行记录并读取结果的一般过程如下:


实例化summarywriter

writer = SummaryWriter(log_dir = 'test')

实例化的过程中需要确定保存路径,当保存在主目录文件内时,只需输入文件夹名称即可。当文件夹不存在时,系统会自动创建一个。每次实例化一次SummaryWriter,就会在对应文件夹内新生成一个文件。单个文件夹内允许存在多个文件,在实际读取过程中会一次性读取文件夹内全部文件。

在这里插入图片描述

writer.log_dir	# 通过log_dir查看summary对象记录文件的位置
# output :
'test'

记录数据

for i in range(10):writer.add_scalar('mul', i*i, i)

此处我们使用了add_scalar方法进行数据记录,该方法用于记录一组组标量,在实际记录过程中,通过迭代的方式逐个增加。其中,第一个参数代表改组记录的名称(也就是生成图像的名称),第二个参数代表y值,第三个参数代表x值。完成记录后,即可读取文件查看记录结果。除此以外,常用的还有add_graph方法用于记录深度学习建模流程。

在这里插入图片描述


启动服务读取文件

接下来,在本地启动服务,读取刚刚生成的记录文件。同样,我们可以在jupyter中的命令行直接启动服务。

  1. 打开终端

    在这里插入图片描述

  2. 输入

    tensorboard --logdir="test"
    

    命令行中内容,其中tensorboard为指令关键词,--logdir参数输入记录文件夹地址(注意是文件夹地址而不是文件夹内的文件地址)。在默认情况下,系统会自动启动6006端口,可用于Web调用服务,这种调用方法类似于jupyter服务也是通过Web调用的,jupyter端口默认是8888。需要注意的是,上述命令中,是先将当前操作目录转移至test文件目录下,然后在调用tensorboard命令时只需要在--logdir参数位输入文件名称即可。无论是在--logdir参数位输入完整的文件路径,还是先将当前操作目录转移到对应目录下再直接输入文件名,都可以直接调用服务。

  3. 进入6006端口页面

    在这里插入图片描述

    直接点击也可以

    在这里插入图片描述

    接下来即可对图形进行简单操作,最基本的,我们可以按住alt键,滚动鼠标滚轮对其进行缩放,以及通过鼠标左键对其进行拖拽。

至此,简单的跑通一个使用Tensorboard的使用实验顺利完成,在后续的建模过程中,我们还将进一步熟悉Tensorboard的其他功能。值得一提的是,尽管目前看起来是Tensorboard只记录了一张折线图,但实际上add_scalar方法核心应用场景是用于记录模型运行过程中,随着迭代次数增加一些数值指标的变化情况,如loss值、准确率值等等等等。无论如何,我们需要知道,Tensorboard的核心应用场景是深度学习建模过程的可视化展示,若只用其进行绘图,则有些大材小用了。


http://www.ppmy.cn/server/166001.html

相关文章

《手札·开源篇》数字化转型助力永磁电机企业降本增效:快速设计软件如何让研发效率提升40%?

数字化转型助力永磁电机企业降本增效:快速设计软件如何让研发效率提升40%? 一、痛点:传统研发模式正在吃掉企业的利润 永磁电机行业面临两大挑战: 研发周期长:一款新电机从设计到量产需6-12个月,电磁计算…

mac环境下,ollama+deepseek+cherry studio+chatbox本地部署

春节期间,deepseek迅速火爆全网,然后回来上班,我就浅浅的学习一下,然后这里总结一下,我学习中,总结的一些知识点吧,分享给大家。具体的深度安装部署,这里不做赘述,因为网…

ChatGPT提问技巧:行业热门应用提示词案例-文案写作

ChatGPT 作为强大的 AI 语言模型,已经成为文案写作的得力助手。但要让它写出真正符合你需求的文案,关键在于如何与它“沟通”,也就是如何设计提示词(Prompt)。以下是一些实用的提示词案例,帮助你解锁 ChatG…

DeepSeek R1技术报告关键解析(8/10):DeepSeek-R1 的“aha 时刻”,AI 自主学习的新突破

1. 什么是 AI 的“aha 时刻”? 在强化学习过程中,AI 的推理能力并不是线性增长的,而是会经历一些关键的“顿悟”时刻,研究人员将其称为“aha 时刻”。 这是 AI 在训练过程中突然学会了一种新的推理方式,或者能够主动…

Android性能调优之需要掌握Dalvik和ART的知识

在Android4.4时ART诞生,DVM和ART在4.4的版本中可以互替,在Android5.0后Android默认运行虚拟机为ART,至此,DVM退出历史舞台。 步入2020年,全球Android用户中,5.0以上的版本占据87~90%,就算DVM已…

第8章《VTK交互》

VTK 交互(Interaction)是 VTK 框架的重要组成部分,使用户能够使用鼠标、键盘等设备与 3D 场景进行交互。VTK 提供了一套 交互样式(Interactor Style)、事件机制(Event Handling) 和 自定义交互 的方法,允许用户操控 3D 视图,实现旋转、缩放、选取等功能。 1. VTK 交互…

前端数据上报方法方式

上报数据的时机 页面加载时 此时进行数据上报,只需要在页面 load 时上报即可。 window.addEventListener(load, reportData, false);页面卸载或页面刷新时 此时进行数据上报,只需要在页面 beforeunload 时上报即可。 window.addEventListener(befor…

Linux系统安装Nginx详解(适用于CentOS 7)

目录 1. 更新系统包 2. 安装EPEL仓库 3. 安装Nginx 4. 启动Nginx服务 5. 设置Nginx开机自启 6. 检查Nginx状态 7. 配置防火墙 8. 访问Nginx默认页面 9. 配置Nginx(可选) 10. 重启Nginx 解决步骤 1. 检查系统版本 2. 移除错误的 Nginx 仓库 …