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

news/2025/2/8 21:54:09/

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/news/1570423.html

相关文章

71.StackPanel黑白棋盘 WPF例子 C#例子

就是生成黑白棋盘&#xff0c;利用该控件能自动排列的功能。用一个横向的StackPanel嵌套纵向的StackPanel&#xff0c;然后在里面添加设定好长和高的矩形。 因为StackPanel是按照控件的大小展示的。所以如果不设置长和宽。就会显示不出矩形。 <StackPanel Orientation"…

力扣1022. 从根到叶的二进制数之和(二叉树的遍历思想解决)

Problem: 1022. 从根到叶的二进制数之和 文章目录 题目描述思路复杂度Code 题目描述 思路 遍历思想(利用二叉树的先序遍历) 1.在先序遍历的过程中&#xff0c;用一个变量path记录并更新其经过的路径上的值&#xff0c;当遇到根节点时再将其加到结果值res上&#xff1b; 2.该题…

pycharm配置anaconda环境时找不到python.exe解决办法

方式1&#xff1a;最新版的 先找到 anaconda 安装目录下的 condabin/conda &#xff0c;然后加载环境&#xff0c; 加载之后下面就有了conda环境&#xff0c;可以进行选择 方式2&#xff1a; 在一台新电脑上配置anaconda环境时&#xff0c;发现pycharm在设置解释器时&#x…

探索前端框架的未来:Svelte 的崛起

引言 在前端开发的世界里&#xff0c;框架更新换代的速度仿佛光速。从 jQuery 到 Angular&#xff0c;再到如今大热的 React 和 Vue&#xff0c;开发者们不断追逐更轻量、更快、更易于维护的框架。如今&#xff0c;Svelte 正悄然崛起&#xff0c;并引发了关于前端框架未来的热烈…

HTML开发常见错误排查技巧与浏览器兼容性解决方案

系列文章目录 01-从零开始学 HTML&#xff1a;构建网页的基本框架与技巧 02-HTML常见文本标签解析&#xff1a;从基础到进阶的全面指南 03-HTML从入门到精通&#xff1a;链接与图像标签全解析 04-HTML 列表标签全解析&#xff1a;无序与有序列表的深度应用 05-HTML表格标签全面…

ctf网络安全大赛python ctf网络安全大赛

ctf 网络安全比赛 CTF&#xff08;CaptureTheFlag&#xff09;中文一般译作夺旗赛&#xff0c;在网络安全领域中指的是网络安全技术人员之间进行技术竞技的一种比赛形式。CTF起源于1996年DEFCON全球黑客大会&#xff0c;以代替之前黑客们通过互相发起真实攻击进行技术比拼的方式…

Github - 记录一次对“不小心包含了密码的PR”的修复

Github - 记录一次对“不小心包含了密码的PR”的修复 前言 和好朋友一起开发一个字节跳动青训营抖音电商后端(now private)的项目&#xff0c;某大佬不小心把本地一密码commit上去并提了PR。 PR一旦发出则无法被删除&#xff0c;且其包含的commit也能被所有能看到这个仓库的…

自己做了个微信小游戏:推一个箱子

微信小程序搜&#xff1a;推一个箱子 里边目前有4个小游戏,喜欢的朋友帮忙点点&#xff0c;在此谢过 2个是我小时候玩文曲星上的经典小游戏 1.推箱子 2.猜数字 3.散光训练&#xff08;这个是刷短视频说能调节散光&#xff0c;不知道真的假的&#xff0c;然后就做了个工具&#…