l.sum().backward()梯度反向传播时为何要加.sum()函数

news/2024/10/18 9:18:48/

.sum()函数主要有两个作用,一个是用来求和,一个是用来降维。而在这里是用到了降维的作用。

Pytorch进行梯度的计算,只能对标量进行梯度计算,例如 y = x 2 + x + 1 y = x^2 +x +1 y=x2+x+1这是一个标量,是能够进行梯度计算的,而例如 y = [ x 1 , x 2 ] 2 + [ x 1 , x 2 ] + [ 1 , 1 ] y=[x_1, x_2]^2 +[x_1, x_2] +[1, 1] y=[x1,x2]2+[x1,x2]+[1,1]这是二维的,pytorch并不能进行梯度反向传播计算梯度,所以我们需要使用sum进行降维处理,变成 y = x 1 2 + x 2 2 + x 1 + x 2 + 1 y=x_1^2 + x_2^2 +x_1+x_2 +1 y=x12+x22+x1+x2+1,对于多元函数便能计算偏微分,求梯度了。

例子如下,y_hat和y是多维的,所以先要sum再backward:

X = X.reshape((1, 1, 6, 8))
Y = Y.reshape((1, 1, 6, 7))
lr = 3e-2  # Learning ratefor i in range(10):Y_hat = conv2d(X)l = (Y_hat - Y) ** 2conv2d.zero_grad()l.sum().backward()# Update the kernelconv2d.weight.data[:] -= lr * conv2d.weight.gradif (i + 1) % 2 == 0:print(f'epoch {i + 1}, loss {l.sum():.3f}')print(conv2d.weight.data.reshape((1, 2)))  

http://www.ppmy.cn/news/534926.html

相关文章

VLAN基础知识3_VLAN间三层通信(VLANIF接口)

目录 1.VLAN间三层通信简介 2.VLAN间三层通信方式 3.VLANIF接口介绍 4.基于VLANIF接口VLAN间三层通信原理 5.VLAN间三层通信实验 5.1 常用配置命令 5.2 配置步骤 5.3 实验效果 1.VLAN间三层通信简介 VLAN间三层通信是指在VLAN网络中,不同VLAN之间进行IP通信…

软件项目管理 第四章 软件项目的范围管理 课后习题参考答案——主编:李冰、张桥珍、刘玉娥

第四章 软件项目的范围管理 课后习题参考答案 1.选择题 (1)需求分析是回答系统必须(A)的问题。 A.做什么 B.怎么做 C.何时做 D.为谁做 (2)WBS非常重要,下列哪项不是其很重要的原因(D)。 …

【C++入门第五期】类和对象(中)

这里写目录标题 类的6个默认成员函数构造函数特征 析构函数概念特性 拷贝构造特征拷贝构造如何自定义 运算符重载赋值运算符重载赋值运算符重载前置和后置重载 取地址及const取地址操作符重载 类的6个默认成员函数 如果一个类中什么成员都没有,简称为空类。 class…

vue2父子组件相互通信:通过一个子组件改变另一个子组件的内容

一个页面里,包括两个子组件,通过执行一个子组件的方法改变另一个子组件的数据 实例:根据分类id查询博客内容 父页面代码: <template><el-container><el-header>Header</el-header><el-container><el-aside width="200px">…

2023年05月份青少年软件编程Python等级考试试卷五级真题(含答案)(未完成)

2023-05 Python五级真题 分数&#xff1a;100 题数&#xff1a;38 测试时长&#xff1a;60min 一、单选题(共25题&#xff0c;共50分) 1. 有列表L[UK,china,lili,"张三"]&#xff0c;print(L[-2])的结果是&#xff1f;&#xff08;C&#xff09;&#xff08;数组倒…

生与死

以前从来没有考虑过死亡的事情&#xff0c;这半年来这个词总在脑子里转来转去&#xff0c;绕都绕不开&#xff0c;就连读的书也是这方面的。如果母亲去世了&#xff0c;都不知道怎么去面对&#xff0c;想想心里就压抑的很&#xff0c;使自己透不过气来。有时在想如果是我们这样…

第十一章 EfficientNetv1网络详解

系列文章目录 第一章 AlexNet网络详解 第二章 VGG网络详解 第三章 GoogLeNet网络详解 第四章 ResNet网络详解 第五章 ResNeXt网络详解 第六章 MobileNetv1网络详解 第七章 MobileNetv2网络详解 第八章 MobileNetv3网络详解 第九章 ShuffleNetv1网络详解 第十章…

企业如何通过精细化管理实现高质量增长?

增量经济时代&#xff0c;各行各业都有比较充足的发展机会&#xff0c;即使采取相似的发展模式、提供同质化的产品和服务&#xff0c;也都会获得收益和增长。当前&#xff0c;我国开始步入存量经济时代&#xff0c;增量空间正逐步被压缩&#xff0c;这将对区域格局、产业组织结…