深入解析:如何使用 PyTorch 的 SummaryWriter 进行深度学习训练数据的详细记录与可视化
深入解析:如何使用 PyTorch 的 SummaryWriter 进行深度学习训练数据的详细记录与可视化
为了更全面和详细地解释如何使用 PyTorch 的 SummaryWriter 进行模型训练数据的记录和可视化,我们可以从以下几个方面深入探讨:
初始化 SummaryWriter
SummaryWriter 是 TensorBoard 在 PyTorch 中的接口,它能够将训练过程中的数据转化为 TensorBoard 支持的格式进行可视化。首先,需要创建 SummaryWriter 的实例,指定日志文件的存储路径:
from torch.utils.tensorboard import SummaryWriter# 日志文件将被存储在当前目录下的 logs 子目录中
writer = SummaryWriter("logs")
记录类型和方法
SummaryWriter 支持记录多种数据类型,每种类型都有对应的方法用于数据的添加和更新:
标量数据(Scalars)
用于记录诸如损失值、精确度、学习率等随训练过程变化的数值:
# 每个训练步骤中记录损失值
loss = compute_loss()
writer.add_scalar('Training Loss', loss, global_step)
图像数据(Images)
用于监控模型输入的图像、特征图或输出结果等:
# 记录输入图像数据
images = next(iter(dataloader))
grid = torchvision.utils.make_grid(images)
writer.add_image('Input Images', grid, global_step)
直方图(Histograms)
直方图用于分析模型内部参数(如权重和偏置)的分布:
# 记录模型的权重分布
for tag, value in model.named_parameters():tag = tag.replace('.', '/')writer.add_histogram('Weights/' + tag, value.data.cpu().numpy(), global_step)writer.add_histogram('Gradients/' + tag, value.grad.data.cpu().numpy(), global_step)
图结构(Graphs)
图结构显示了模型的结构,有助于理解模型的组成:
# 记录模型结构
inputs = torch.randn(1, 3, 224, 224)
writer.add_graph(model, inputs)
高级用法(如PR曲线)
用于记录性能指标,例如精确率和召回率:
# 记录PR曲线
writer.add_pr_curve('pr_curve', labels, predictions, global_step)
使用 TensorBoard 可视化
一旦记录了足够的数据,就可以通过 TensorBoard 来进行查看和分析:
# 在命令行中启动 TensorBoard
tensorboard --logdir=logs
关闭 SummaryWriter
为确保所有数据都被正确写入并释放资源,训练结束后应关闭 SummaryWriter:
writer.close()
总结
SummaryWriter 提供了一个高效、灵活的方式来记录和可视化训练过程中的各种数据。通过可视化这些数据,开发者可以更好地理解模型的行为,监控训练过程,及时调整训练策略,从而提高模型的性能和训练的效率。正确和充分地利用这一工具,将极大地助力深度学习模型的开发和优化过程。
相关文章:
深入解析:如何使用 PyTorch 的 SummaryWriter 进行深度学习训练数据的详细记录与可视化
深入解析:如何使用 PyTorch 的 SummaryWriter 进行深度学习训练数据的详细记录与可视化 为了更全面和详细地解释如何使用 PyTorch 的 SummaryWriter 进行模型训练数据的记录和可视化,我们可以从以下几个方面深入探讨: 初始化 SummaryWriter…...
企业微信中设置回调接口url以及验证 spring boot项目实现
官方文档: 接收消息与事件: 加密解密文档:加解密库下载与返回码 - 文档 - 企业微信开发者中心 下载java样例 加解密库下载与返回码 - 文档 - 企业微信开发者中心 将解压开的代码 ‘将文件夹:qq\weixin\mp\aes的代码作为工具拷…...
电脑超频是什么意思?超频的好处和坏处
嗨,亲爱的小伙伴!你是否曾经听说过电脑超频?在电脑爱好者的圈子里,这个词似乎非常熟悉,但对很多普通用户来说,它可能还是一个神秘而陌生的存在。 今天,我将带你揭开超频的神秘面纱,…...
在 AMD GPU 上构建深度学习推荐模型
Deep Learning Recommendation Models on AMD GPUs — ROCm Blogs 2024 年 6 月 28 日 发布者 Phillip Dang 在这篇博客中,我们将演示如何在支持 ROCm 的 AMD GPU 上使用 PyTorch 构建一个简单的深度学习推荐模型 (DLRM)。 简介 DLRM 位于推荐系统和深度学习的交汇…...
阿里云IIS虚拟主机部署ssl证书
宝塔配置SSL证书用起来是很方便的,只需要在站点里就可以配置好,但是云虚拟主机在管理的时候是没有这个权限的,只提供了简单的域名管理等信息。 此处记录下阿里云(原万网)的IIS虚拟主机如何配置部署SSL证书。 进入虚拟…...
Python运算符列表
运算符 描述 xy,x—y 加、减,“"号可重载为连接符 x*y,x**y,x/y,x%y 相乘、求平方、相除、求余,“*”号可重载为重复,“%"号可重载为格式化 <,<,&…...
MFC图形函数学习09——画多边形函数
这里所说的多边形是指在同一平面中由多条边构成的封闭图形,强调封闭二字,否则无法进行颜色填充,多边形包括凸多边形和凹多边形。 一、绘制多边形函数 原型:BOOL Polygon(LPPOINT lpPoints,int nCount); 参数&#x…...
GaussianDreamer: Fast Generation from Text to 3D Gaussians——点云论文阅读(11)
此内容是论文总结,重点看思路!! 文章概述 本文提出了一种快速从文本生成3D资产的新方法,通过结合3D高斯点表示、3D扩散模型和2D扩散模型的优势,实现了高效生成。该方法利用3D扩散模型生成初始几何,通过噪声…...
k8s篇之控制器类型以及各自的适用场景
1. k8s中控制器介绍 在 Kubernetes 中,控制器(Controller)是集群中用于管理资源的关键组件。 它们的核心作用是确保集群中的资源状态符合用户的期望,并在需要时自动进行调整。 Kubernetes 提供了多种不同类型的控制器,每种控制器都有其独特的功能和应用场景。 2. 常见的…...
Node.js 笔记(一):express路由
代码 建立app.js文件,代码如下: const express require(express) const app express() const port 3002app.get(/,(req,res)>{res.send(hello world!)})app.listen(port,()>{console.log(sever is running on http://localhost:${port}) })问…...
bash笔记
0 $0 是脚本的名称,$# 是传入的参数数量,$1 是第一个参数,$BOOK_ID 是变量BOOK_ID的内容 1 -echo用于在命令窗口输出信息 -$():是命令替换的语法。$(...) 会执行括号内的命令,并将其输出捕获为一个字符串ÿ…...
mongoDB副本集搭建-docker
MongoDB副本集搭建-docker 注:在进行副本集搭建前,请先将服务部署docker环境并正常运行。 #通过--platform指定下载镜像的系统架构 在这我用的是mongo:4.0.28版本 arm64系统架构的mongo镜像 docker pull --platformlinux/arm64 mongo:4.0.2#查看镜像是…...
Python软体中使用 Flask 或 FastAPI 搭建简单 RESTful API 服务并实现限流功能
Python软体中使用 Flask 或 FastAPI 搭建简单 RESTful API 服务并实现限流功能 引言 在现代 web 开发中,RESTful API 已成为应用程序之间进行通信的标准方式。Python 提供了多种框架来帮助开发者快速搭建 RESTful API 服务,其中 Flask 和 FastAPI 是最受欢迎的两个框架。本…...
CentOS操作系统下安装Nacos
CentOS下安装Nacos 前言 这在Centos下安装配置Nacos 下载Linux版Nacos 首先到Nacos的 Github页面,找到所需要安装的版本 也可以右键复制到链接,然后通过wget命令进行下载 wget https://github.com/alibaba/nacos/releases/download/1.3.2/nacos-ser…...
C++设计模式之适配器模式与桥接模式,装饰器模式及代理模式相似点与不同点
适配器模式、桥接模式、装饰器模式和代理模式在形式上有一些相似之处,因为它们都涉及到对类的功能或接口的修改、增强或转换。然而,它们在动机和目的上有着显著的不同。以下是对这些模式相似点和不同点的清晰说明: 相似点: 结构…...
ThreadLocal 和 Caffeine 缓存是两种不同的缓存机制,它们在用途和实现上有明显的区别
ThreadLocal 和 Caffeine 缓存是两种不同的缓存机制,它们在用途和实现上有明显的区别: ThreadLocal 缓存: ThreadLocal 提供了线程局部变量的功能,每个线程可以访问自己的局部变量,而不会与其他线程冲突。ThreadLocal …...
Django实现智能问答助手-进一步完善
扩展 增加问答数据库,通过 Django Admin 添加问题和答案。实现更复杂的问答逻辑,比如使用自然语言处理(NLP)库。使用前端框架(如 Bootstrap)增强用户界面 1.注册模型到 Django Admin(admin.py…...
【Linux】开发工具make/Makefile、进度条小程序
Linux 1.make/Makefile1.什么是make和Makefile?2.stat命令3.Makefile单个文件的写法4.Makefile多个文件的写法 2.进度条1.回车\r、换行\n2.缓冲区3.进度条1.倒计时程序2.进度条程序 1.make/Makefile 1.什么是make和Makefile? 一个工程中的源文件不计其…...
深度学习三大框架对比与实战:PyTorch、TensorFlow 和 Keras 全面解析
深度学习框架的对比与实践 引言 在当今深度学习领域,PyTorch、TensorFlow 和 Keras 是三大主流框架。它们各具特色,分别满足从研究到工业部署的多种需求。本文将通过清晰的对比和代码实例,帮助你了解这些框架的核心特点以及实际应用。 1. 深…...
Leetcode206.反转链表(HOT100)
链接: 我的代码: class Solution { public:ListNode* reverseList(ListNode* head) {ListNode* p head;ListNode*res new ListNode(-1);while(p){ListNode*k res->next;res->next p;p p->next;res->next->next k;}return res->…...
Oracle 11g在Windows上的快速部署:使用Docker容器简化安装与配置
Oracle 11g容器化部署实战:Windows平台高效开发环境搭建指南 对于需要频繁搭建Oracle测试环境的开发者而言,传统安装方式耗时且容易出错。本文将介绍如何利用Docker技术,在Windows系统上快速部署Oracle 11g数据库,实现开发环境的秒…...
三相PWM储能变流器PCS设计与仿真:双向DCDC与三相PWM变流器的协调控制策略研究
三相PWM储能变流器PCS仿真设计 【双向DCDC三相PWM变流器】 [1]储能Buck-Boost采用电流PID控制实现双向DC/DC功能,对电池进行恒功率充电或恒功率放电;实现能量由电网与直流母线的双向流动。 [2]三相PWM变流器采用电压外环、电流内环双闭环PI控制ÿ…...
HeyGem数字人视频生成系统效果实测:口型精准同步,画面自然
HeyGem数字人视频生成系统效果实测:口型精准同步,画面自然 最近我在测试各种AI视频生成工具时,发现了一个很有意思的系统——HeyGem数字人视频生成系统。这个系统最大的特点就是能把一段音频和一个带人脸的视频结合起来,生成一个…...
LangChain记忆组件实战:如何用Redis和MySQL实现多轮对话持久化?
LangChain记忆组件深度实战:Redis与MySQL在多轮对话中的工程化实践 当ChatGPT以惊艳的表现席卷全球时,开发者们很快发现了一个关键瓶颈——这些大模型本质上是"健忘症患者"。每次对话都像初次见面,这种"金鱼式记忆"严重制…...
光伏板在烈日下疯狂输出,风机叶片转得比广场舞大妈还欢快,但怎么让这俩货稳定给电解槽供电才是技术活。咱今天就掰扯掰扯风光储混合制氢系统里那些硬核玩法
风光储共交流母线制氢模型,光伏,风机采用mppt实现最大功率跟踪;储能采用电压电流双闭环控制;并网采用pq控制,整流采用svpwm调制。 制氢可接pem~碱性电解槽。先说MPPT这个老司机,光伏和风机都得靠它榨干每一…...
FM17550读写器实战:从零开始玩转S50卡(附完整代码)
FM17550读写器实战:从零开始玩转S50卡(附完整代码) 第一次接触RFID技术时,我被那个"隔空取物"般的神奇体验震撼到了——不需要任何物理接触,卡片靠近读写器就能完成数据交换。作为物联网领域最基础的感知技术…...
3步搞定专业简历:yamlresume让求职文书制作效率提升80%
3步搞定专业简历:yamlresume让求职文书制作效率提升80% 【免费下载链接】yamlresume Resumes as code in YAML, brought to you with ❤️ by PPResume. 项目地址: https://gitcode.com/gh_mirrors/ya/yamlresume 当你第5次修改简历格式却发现对齐混乱&#…...
别再手动抄表了!用Python+Snap7实时采集S7-1200数据到Excel(附完整代码)
工业自动化数据采集实战:PythonSnap7实现S7-1200实时数据归档系统 在智能制造和工业4.0的浪潮中,生产设备的实时数据采集已成为工厂数字化升级的基础环节。传统的手动抄表方式不仅效率低下,还容易引入人为误差。本文将展示如何构建一个基于P…...
小米智能家居与Home Assistant无缝集成指南:零代码实现全屋设备统一管控
小米智能家居与Home Assistant无缝集成指南:零代码实现全屋设备统一管控 【免费下载链接】ha_xiaomi_home Xiaomi Home Integration for Home Assistant 项目地址: https://gitcode.com/GitHub_Trending/ha/ha_xiaomi_home 您是否曾因不同品牌智能设备无法互…...
基于Python的智能客服机器人课程辅导系统设计与实现:从架构到AI辅助开发实战
痛点分析:传统辅导系统的“三座大山” 在传统的课程辅导场景中,无论是线上论坛、邮件答疑还是简单的FAQ页面,都普遍面临着几个难以逾越的痛点,我称之为“三座大山”。 第一座大山是响应速度慢。学生遇到问题,尤其是在深…...
