梯度累加是什么意思-详解
每次看到“梯度是累加的,所以需要清除梯度”这句话都感觉云里雾里,貌似懂了实际没懂,原来竟是这么简单的意思!
1、直接上代码:
import torchx = torch.Tensor([1, 2, 3])
x.requires_grad_()
print(x)
y = x**2# 连续调用backward时,需要retain_graph=True确保计算图暂时不被释放
y.sum().backward(retain_graph=True)
print(x.grad)
y.sum().backward()
print(x.grad) # 如果梯度不归零的话,梯度是累加的
运行结果是:
tensor([1., 2., 3.], requires_grad=True)
tensor([2., 4., 6.])
tensor([ 4., 8., 12.])
第一次调用backward反向传播,结果是(2 4 6),中间没有梯度清零,第二次调用backward反向传播,又有了一波结果(2 4 6),加在之前的结果上就得了(4 8 12)
2、接下来,我们在两次调用之间加一个梯度清零操作看看:
import torchx = torch.Tensor([1, 2, 3])
x.requires_grad_()
print(x)
y = x**2y.sum().backward(retain_graph=True) # 连续调用backward时,需要retain_graph=True确保计算图暂时不被释放
print(x.grad)
x.grad.zero_()
y.sum().backward()
print(x.grad) # 如果梯度不归零的话,梯度是累加的
运行结果是:
tensor([1., 2., 3.], requires_grad=True)
tensor([2., 4., 6.])
tensor([2., 4., 6.])
梯度累加是什么意思-详解相关推荐
- python中backward_pytorch的梯度计算以及backward方法详解
基础知识 tensors: tensor在pytorch里面是一个n维数组.我们可以通过指定参数reuqires_grad=True来建立一个反向传播图,从而能够计算梯度.在pytorch中一般叫做d ...
- python中累加函数_对Python实现累加函数的方法详解
对Python实现累加函数的方法详解 发布时间:2020-10-26 00:02:44 来源:脚本之家 阅读:120 作者:岚漾忆雨 这个需求比较奇怪,要求实现Sum和MagaSum函数,实现以下功能 ...
- 残差连接 (及 梯度消失 网络退化)详解
本文就说说用残差连接解决梯度消失和网络退化的问题. 一.背景 1)梯度消失问题 我们发现很深的网络层,由于参数初始化一般更靠近0,这样在训练的过程中更新浅层网络的参数时,很容易随着网络的深入而导致梯度 ...
- 机器学习--详解基于梯度下降的Logistic回归算法原理
先给出Logistic回归的sigmod函数数学表达式: 很简单的表达式,再看看它的性质,当时,,因此 当时,,因此 Logistic回归之所以称为Logistic是因为只有两个状态即0和1,这也是数 ...
- 梯度消失和梯度爆炸问题及其解决方法详解
梯度不稳定概念和解决方法 梯度消失和梯度爆炸问题 概念 原理详解 解决方法 更改激活函数(Relu.Leaky-Relu.P-Relu等) 权重初始化 加入BN层(Batch Normalizatio ...
- 深度学习优化函数详解(5)-- Nesterov accelerated gradient (NAG) 优化算法
深度学习优化函数详解系列目录 深度学习优化函数详解(0)– 线性回归问题 深度学习优化函数详解(1)– Gradient Descent 梯度下降法 深度学习优化函数详解(2)– SGD 随机梯度下降 ...
- 深度学习优化函数详解(5)-- Nesterov accelerated gradient (NAG)
深度学习优化函数详解系列目录 本系列课程代码,欢迎star: https://github.com/tsycnh/mlbasic 深度学习优化函数详解(0)-- 线性回归问题 深度学习优化函数详解(1 ...
- GBDT!深入浅出详解梯度提升决策树
AI有道 一个有情怀的公众号 1 Adaptive Boosted Decision Tree Random Forest的算法流程我们之前已经详细介绍过,就是先通过bootstrapping&quo ...
- 方向梯度直方图(Histogram Of Gradient)详解
特征描述子(Feature Descriptor) 特征描述子就是图像的表示,抽取了有用的信息,丢掉了不相关的信息.通常特征描述子会把一个w*h*3(宽高3,3个channel)的图像转换成一个长度为 ...
最新文章
- Eclipse启动之二:Eclipse动态库(百度空间迁移)
- 全球气候变迁 物联网技术为农业保驾护航
- 【愣锤笔记】基于vue的进阶散点干货
- 乐山计算机学校新歌王,星歌王第二季乐山市计算机学校专场赛决赛完美落幕!...
- lda 协方差矩阵_数据降维算法总结(LDAamp;PCA)
- 友好的可视化工具——trelliscope
- iOS - 苹果审核被拒3.2(f)
- STM32学习笔记(5) 串口通讯-接收与发送
- 键盘钢琴软件v1.0.1.0官方pc版
- 告别公共网盘,用闲置电脑或个人工作PC建立私有云超级网盘!
- 【新书推荐】卡神之路,不过如此
- luogu P1600 天天爱跑步
- 构建智慧城市管理体系,京东方智慧物联平台赋能细分场景
- 力扣417 太平洋大西洋水流问题
- Swift —— 属性
- 广电系统三八红旗集体推荐材料_三八红旗集体事迹材料8篇(医院)
- 计算机算的快,计算神速 ——人脑的计算速度比计算机还快?
- Win10 Python 3.7全流程安装教程及详细解释
- txt转换epub如何转?你将在这篇文章里找到答案
- java 图片拼接_java 拼接文字和图片
热门文章
- OSSIM开源安全信息管理系统(六)
- 常用计算机英文缩写,计算机常用英文缩写
- Java:实现Ternary search三元搜索算法(附完整源码)
- java启动项目出现The Tomcat connector configured to listen on port 7014 failed to start. The port may alrea
- 赶紧收藏!网上疯传的150个ChatGPT「超级提问模型」,都在这里了
- MySQL8版本 Win10忘记密码
- EI会议论文被检索难度评定
- 转换上课周次字符串(我带着困惑我一周之久的编程题来了)
- 2008中国IC十佳(七):深圳芯邦冲刺创业板
- 关于Mac共享WiFi网络,看这里就够了(2 4G,5G , ipv6)