首页 > 其他分享 >02-05自动微分

02-05自动微分

时间:2024-04-01 17:36:49浏览次数:17  
标签:02 05 sum torch 微分 zero 计算 backward grad

2.5 自动微分

1. 一个简单的例子

import torch

x = torch.arange(4.0)
y = 2 * torch.dot(x, x)
y.backward()
x.grad

x.grad.zero_() # 在默认情况下,PyTorch会累积梯度,我们需要清除之前的值
y = x.sum()
y.backward()
x.grad

2. 分离计算

# y是作为x的函数计算的,而z则是作为y和x的函数计算的
x.grad.zero_()
y = x * x
u = y.detach() # 分离y来返回一个新变量u,该变量与y具有相同的值,但丢弃计算图中如何计算y的任何信息。换句话说,梯度不会向后流经u到x
z = u * x

z.sum().backward() # 计算z=u*x关于x的偏导数,同时将u作为常数处理,而不是计算z=x*x*x关于x的偏导数
x.grad == u

x.grad.zero_()
y.sum().backward()
x.grad == 2 * x

标签:02,05,sum,torch,微分,zero,计算,backward,grad
From: https://www.cnblogs.com/goldenretriever/p/18108972

相关文章

  • 平均数为k的最长连续子数组(美团2024届秋招笔试第三场编程真题)
    核心思想每个数-k计算前缀和并放入mapkey=前缀和value=当前下标由于需要最长的子数组所以只记录最先存在的下标出现重复的前缀和说明存在平均值为k的区间[pre+1,i]importjava.util.ArrayList;importjava.util.HashMap;importjava.util.List;importjava.util.Sc......
  • POI2005 KOS-Dicing
    网络流#二分考虑二分答案,用\(Dinic\)来\(check\)具体来说,就是对每一个人限制流量,然后检查能不能把所有场全部流满#include<bits/stdc++.h>usingnamespacestd;#defineintlonglong#defineullunsignedlonglong#defineALL(a)(a).begin(),(a).end()#definepb......
  • Poi2002滑雪者命名
    网络流#有源汇上下界费用流#最小点覆盖最小点覆盖问题这里可以直接有源汇上下界费用流//Author:xiaruize#ifndefONLINE_JUDGE#definedebug(x)cerr<<"OnLine:"<<__LINE__<<#x<<"="<<x<<endlboolstart_of_memory_use;#else#defi......
  • 博客摘录「 linux应急响应」2024年3月12日
    ------***windoes***------方法宸极实验室—『杂项』一篇Windows应急响应的详细笔记-九州信泰的文章-知乎宸极实验室—『杂项』一篇Windows应急响应的详细笔记-知乎利用win+r后输入lusrmgr.msc查询系统是否存在多余的特权、隐藏账户。或者打开控制面板>用户账户......
  • SCP收容物021~025
      注:此文接SCP收容物016~020,本文只供开玩笑 ,与steve_gqq_MC合作---------------------------------------------------------------------------------------------------------------------------------目录scp-021scp-022scp-023scp-024scp-025scp-021物品......
  • 023、与高适薛据登慈恩寺浮图
    023、与高适薛据登慈恩寺浮图唐●岑参塔势如涌出,孤高耸天宫。登临出世界,蹬道盘虚空。突兀压神州,峥嵘如鬼工。四角碍白日,七层摩苍穹。下窥指高鸟,俯听闻惊风。连山若波涛,奔走似朝东。青槐夹驰道,宫观何玲珑。秋色从西来,苍然满关中。五陵北原上,万古青濛濛。净理了可悟,胜因......
  • GitHub 2024年【整个3月】流行趋势
    目录趋势所有语言C#JavaPythonJavaScript1.所有语言2.C#3.Java4.Python5.JavaScript6.GitHub流行趋势作用GitHub流行趋势是指在GitHub这一开源代码托管平台上,不同项目的获取星标(star)、贡献(contribution)以及关注度等指标呈现的流行与关注的趋势。这些趋势......
  • MPU6050使用指南(STM32)
    1、MPU6050介绍MPU6050是由三个陀螺仪和三个加速度传感器组成的6轴运动处理组件,是一款六轴(三轴加速度+三轴角速度(陀螺仪))传感器。·内部主要结构陀螺仪、加速度计、数字运动处理器DMP(DigitalMotionProcessor)MPU6050含有两个IIC接口,第一IIC接口可作为主接口给单片机传......
  • 报名参加2024CBTC上海国际储能技术展览会,助您拓客爆单没烦恼!
    随着市场饱和度的增加和消费者行为的改变,企业现在获客变得越来越艰难了。目前的市场上,竞争变得越来越激烈,消费者对于品牌的选择和产品的采购也变得更加挑剔和谨慎,更注重品牌的声誉和口碑。因此,企业参展的目的和效率也越来越显而易见。在当下的大环境下,参加展览会是企业进行品......
  • 【QT+QGIS跨平台编译】054:【exiv2lib+Qt跨平台编译】(一套代码、一套框架,跨平台编译)
    点击查看专栏目录文章目录一、exiv2lib介绍二、文件下载三、文件分析四、pro文件五、编译实践一、exiv2lib介绍  exiv2lib是一个用于处理图像元数据的开源C++库。它可用于读取、编辑和写入图像文件中的Exif元数据(ExchangeableImageFileFormat,可交......