PyTorch基本使用-自动微分模块
学习目的:掌握自动微分模块的使用
训练神经网络时,最常用的算法就是反向传播。在该算法中,参数(模型权重)会根据损失函数关于对应参数的梯度进行调整。为了计算这些梯度,PyTorch 内置了名为 torch.autograd的微分引擎。它支持任意计算图的自动梯度计算:

接下来我们使用这个结构进行自动微分模块的介绍。我们使用 backward 方法、grad 属性来实现梯度的计算和访问。
-
当X为标量时梯度的计算
import torch # 1. 当X为标量时梯度的计算 def test01():x = torch.tensor(5)# 目标值y = torch.tensor(0.)# 设置要更新的权重和偏置的初始值w = torch.tensor(1.0,requires_grad=True,dtype=torch.float32)b = torch.tensor(3.0,requires_grad=True,dtype=torch.float32)#设置网络的输出值z = x*w + b #矩阵乘法# 设置损失函数,并进行损失计算loss = torch.nn.MSELoss()loss = loss(z,y)# 自动微分loss.backward()# 打印w,b变量的梯度# backward 函数计算的梯度值会存储在张量的grad 变量中print('W的梯度:',w.grad)print('B的梯度:',b.grad)test01()输出结果:
W的梯度: tensor(80.) B的梯度: tensor(16.) -
当X为多维张量时梯度计算
import torch def test02():# 输入张量 2*5x = torch.ones(2,5)# 目标张量 2*3y = torch.zeros(2,3)# 设置要更新的权重和偏置的初始值w = torch.randn(5,3,requires_grad=True)b = torch.randn(3,requires_grad=True)#设置网络的输出值z = torch.matmul(x,w)+ b #矩阵乘法# 设置损失函数,并进行损失计算loss = torch.nn.MSELoss()loss = loss(z,y)# 自动微分loss.backward()# 打印w,b变量的梯度# backward 函数计算的梯度值会存储在张量的grad 变量中print('W的梯度:',w.grad)print('B的梯度:',b.grad)test02()输出结果:
W的梯度: tensor([[-1.7502, 0.8537, 0.6175],[-1.7502, 0.8537, 0.6175],[-1.7502, 0.8537, 0.6175],[-1.7502, 0.8537, 0.6175],[-1.7502, 0.8537, 0.6175]]) B的梯度: tensor([-1.7502, 0.8537, 0.6175])
相关文章:
PyTorch基本使用-自动微分模块
学习目的:掌握自动微分模块的使用 训练神经网络时,最常用的算法就是反向传播。在该算法中,参数(模型权重)会根据损失函数关于对应参数的梯度进行调整。为了计算这些梯度,PyTorch 内置了名为 torch.autogra…...
libevent-Reactor设计模式【1】
一、Libevent概述 1、简介 Libevent 是一个用C语言编写的、轻量级的开源高性能事件通知库,主要有以下几个亮点:事件驱动( event-driven),高性能;轻量级,专注于网络,不如 ACE 那么臃肿庞大&#…...
奇奇怪怪的错误-Tag和space不兼容
报错信息如下: TabError: inconsistent use of tabs and spaces in indentation make: *** [Makefile:24: train] Error 1不能按Tab,要老老实实按space 不过可以在编辑器里面改,把它们调整成一致的;...
29.攻防世界ics-06
ics-06 难度:1 方向:Web 题目描述: 云平台报表中心收集了设备管理基础服务的数据,但是数据被删除了,只有一处留下了入侵者的痕迹。 进入靶场 发现有一处能点动 多了个id1 我其实尝试改过id数,不过没什么变化…...
强化学习路径规划:基于SARSA算法的移动机器人路径规划,可以更改地图大小及起始点,可以自定义障碍物,MATLAB代码
一、SARSA算法概述 SARSA(State-Action-Reward-State-Action)是一种在线强化学习算法,用于解决决策问题,特别是在部分可观测的马尔可夫决策过程(POMDPs)中。SARSA算法的核心思想是通过与环境的交互来学习一…...
【MFC】如何读取rtf文件并进行展示
tf是微软的一个带格式的文件,比word简单,我们可以用写字板等程序打开编辑。下面以具体实例讲解如何在自己程序中展示rtf文件。 首先使用VS2022创建一个MFC的工程。 VIEW类需要选择richview类,用于展示,如下图: 运行效…...
Vulhub:Log4j[漏洞复现]
CVE-2017-5645(Log4j反序列化) 启动靶场环境 docker-compose up -d 靶机IPV4地址 ifconfig | grep eth0 -A 5 ┌──(root㉿kali)-[/home/kali/Desktop/temp] └─# ifconfig | grep eth0 -A 5 eth0: flags4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 in…...
面向预测性维护的TinyML技术栈全面综述
论文标题:A Holistic Review of the TinyML Stack for Predictive Maintenance(面向预测性维护的TinyML技术栈全面综述) 作者信息:Emil Njor, Mohammad Amin Hasanpour, Jan Madsen, Xenofon Fafoutis,均来自丹麦技术…...
沈阳理工大学《2024年811自动控制原理真题》 (完整版)
本文内容,全部选自自动化考研联盟的:《沈阳理工大学811自控考研资料》的真题篇。后续会持续更新更多学校,更多年份的真题,记得关注哦~ 目录 2024年真题 Part1:2024年完整版真题 2024年真题...
用前端html如何实现2024烟花效果
用HTML、CSS和JavaScript编写的网页,主要用于展示“2024新年快乐!”的文字形式烟花效果。下面是对代码主要部分的分析: HTML结构 包含三个<canvas>元素,用于绘制动画。引入百度统计的脚本。 CSS样式 设置body的背景为黑…...
Redis应用-在用户数据里的应用
1.社区电商的业务闭环 接下来介绍的社区电商是以Redis作为主体技术、以MySQL和RocketMQ作为辅助技术实现的。 (1)社区电商运作模式 社区电商的关键点在于社区,而电商则是辅助性质(次要地位,流量变现)。社区可以分成很多种社区,比如美食社区、美妆社区、影评社区、妈妈社区…...
C++ 中面向对象编程如实现数据隐藏
在C中,面向对象编程(OOP)通过封装(Encapsulation)来实现数据隐藏。封装是OOP的一个核心概念,它允许将对象的属性和行为(即数据和方法)组合在一起,并对外隐藏对象的内部实…...
JavaEE 【知识改变命运】04 多线程(3)
文章目录 多线程带来的风险-线程安全线程不安全的举例分析产出线程安全的原因:1.线程是抢占式的2. 多线程修改同一个变量(程序的要求)3. 原子性4. 内存可见性5. 指令重排序 总结线程安全问题产生的原因解决线程安全问题1. synchronized关键字…...
gz中生成模型
生成模型 通过服务调用生成 还记得parameter_bridge 吗? 我们在生成桥接的时候调用了这个cpp文件。 一个 parameter_bridge 实例用于消息传递(传感器数据)。之前的例子 另一个 parameter_bridge 实例用于服务桥接(动态生成模型…...
前端(Axios和Promis)
Promise 语法 <script>// 创建promise对象// 此函数需要再传入两个参数,都是函数类型let pnew Promise((resolve,reject)>{if(3>2){resolve({name:"李思蕾",age:23,地址:"河南省"});}else{reject("error");}});console.log(p);p.th…...
AI Agent:重塑业务流程自动化的未来力量(2/30)
《AI Agent:重塑业务流程自动化的未来力量》 摘要:整体思路是先介绍 AI Agent 的基本情况,再深入阐述其实现业务流程自动化的方法和在不同领域的应用,接着分析其价值和面临的挑战,最后得出结论,为读者全面…...
前端页面导出word
html-docx-js bug: vite使用html-docx.js会报错,点击下载上方文件替换即可 正文 npm install html-docx-js -S npm install file-saver -S<template><div id"managerReport">word内容......</div> </template><script>&l…...
【考前预习】1.计算机网络概述
往期推荐 子网掩码、网络地址、广播地址、子网划分及计算-CSDN博客 一文搞懂大数据流式计算引擎Flink【万字详解,史上最全】-CSDN博客 浅学React和JSX-CSDN博客 浅谈云原生--微服务、CICD、Serverless、服务网格_云原生 serverless-CSDN博客 浅谈维度建模、数据分析…...
ubuntu20.04复现 Leg-KILO
这里写目录标题 opencv版本问题下载3.2.0源代码进入解压后的目录创建构建目录运行 CMake 配置 配置时指定一个独立的安装目录,例如 /opt/opencv-3.2:出错: 使用多线程编译错误1: stdlib.h: 没有那个文件或目录错误2:er…...
Ensembl数据库下载参考基因组(常见模式植物)bioinfomatics 工具37
拟南芥参考基因组_拟南芥数据库-CSDN博客 1 Ensembl数据库网址 http://plants.ensembl.org/index.html #官网 如拟南芥等 那么问题来了,基因组fa文件和gff文件在哪里? 2 参考案例 拟南芥基因组fa在这里 注释gff文件在这里...
Phi-4-Reasoning-Vision快速部署:CI/CD自动化测试流水线搭建
Phi-4-Reasoning-Vision快速部署:CI/CD自动化测试流水线搭建 1. 项目概述 Phi-4-Reasoning-Vision是基于微软Phi-4-reasoning-vision-15B多模态大模型开发的高性能推理工具,专为双卡4090环境优化。这个工具严格遵循官方SYSTEM PROMPT规范,支…...
终极指南:如何用Blender MMD Tools插件轻松处理MikuMikuDance模型
终极指南:如何用Blender MMD Tools插件轻松处理MikuMikuDance模型 【免费下载链接】blender_mmd_tools MMD Tools is a blender addon for importing/exporting Models and Motions of MikuMikuDance. 项目地址: https://gitcode.com/gh_mirrors/bl/blender_mmd_t…...
Qwen3-TTS-Tokenizer-12Hz部署避坑指南:from_pretrained路径详解
Qwen3-TTS-Tokenizer-12Hz部署避坑指南:from_pretrained路径详解 1. 引言:为什么你的from_pretrained总是报错 在部署Qwen3-TTS-Tokenizer-12Hz时,90%的报错都集中在from_pretrained这一步。你可能遇到过这些错误提示: "U…...
biliup故障定位与修复指南:从入门到进阶
biliup故障定位与修复指南:从入门到进阶 【免费下载链接】biliup 自动直播录制、投稿、twitch、ytb频道搬运工具。命令行投稿(B站)和视频下载工具,提供多种登录方式,支持多p。 项目地址: https://gitcode.com/gh_mirrors/bi/biliup 一…...
SEO关键词长尾词怎么找
SEO关键词长尾词怎么找?一步步教你掌握高效方法 在当今数字营销的环境中,SEO(搜索引擎优化)无疑是一个至关重要的环节。对于想要在百度上取得高排名的网站来说,找到合适的SEO关键词是至关重要的。尤其是长尾词&#x…...
PyTorch 2.8镜像企业实操:证券公司研报图表→财经解读短视频流水线
PyTorch 2.8镜像企业实操:证券公司研报图表→财经解读短视频流水线 1. 项目背景与需求分析 在证券行业,分析师每天需要处理大量研报数据,其中包含丰富的图表信息。传统的人工解读方式存在三个痛点: 时效性差:从图表…...
UNIT-00与Git工作流集成:智能提交信息生成与代码审查
UNIT-00与Git工作流集成:智能提交信息生成与代码审查 1. 引言 你有没有过这样的经历?项目临近上线,需要回溯某个功能修改的原因,结果发现提交记录里全是“fix bug”、“update”这样毫无信息量的描述,根本想不起来当…...
Embedded Coder vs Simulink Coder:如何为你的项目选择正确的代码生成工具?
Embedded Coder与Simulink Coder深度对比:从项目需求出发的选型指南 在嵌入式系统开发领域,代码生成工具的选择往往决定了项目的成败。当工程师面对MathWorks提供的两款核心代码生成工具——Embedded Coder和Simulink Coder时,如何做出明智决…...
ComfyUI V6与Wan2.2 Animate整合包实战:AIStarter助力零门槛动作迁移创作
1. 为什么你需要ComfyUI V6与Wan2.2 Animate整合包 如果你正在寻找一种简单高效的方式来实现人物动作迁移和角色替换,那么ComfyUI V6与Wan2.2 Animate整合包绝对是你的不二之选。这个组合最大的优势在于,它让原本需要专业编程知识才能实现的技术…...
Qwen3-VL-8B在.NET生态中的集成:开发C#桌面端图像分析应用
Qwen3-VL-8B在.NET生态中的集成:开发C#桌面端图像分析应用 最近在帮一个做电商的朋友处理商品图片,他每天要手动整理上百张图片的信息,比如识别商品类别、提取价格标签、统计库存表格,忙得焦头烂额。我就在想,能不能用…...
