pytorch损失反向传播后梯度为none的问题


Posted in Python onMay 12, 2021

错误代码:输出grad为none

a = torch.ones((2, 2), requires_grad=True).to(device)
b = a.sum()
b.backward()
print(a.grad)

由于.to(device)是一次操作,此时的a已经不是叶子节点了

修改后的代码为:

a = torch.ones((2, 2), requires_grad=True)
c = a.to(device)

b = c.sum()
b.backward()
print(a.grad)

类似错误:

self.miu = torch.nn.Parameter(torch.ones(self.dimensional)) * 0.01

应该为

self.miu = torch.nn.Parameter(torch.ones(self.dimensional) * 0.01)

补充:pytorch梯度返回none的bug

pytorch1.4.0如果使用了view方法,reshape方法

tensor即使设置了requires_grad,反向传播之后, x返回没有grad梯度,为none

不知道其他版本有无此bug

pytorch损失反向传播后梯度为none的问题pytorch损失反向传播后梯度为none的问题pytorch损失反向传播后梯度为none的问题

补充:PyTorch中梯度反向传播的注意点

在一个迭代循环中

optimizer.zero_grad()语句的位置比较随意,只要放在loss.backward()前面即可,它的作用是将梯度归零,否则会在每一个迭代中进行累加,

loss.backward()的作用是反向传播,计算梯度,optimizer.step()的功能是优化器自动完成参数的更新。

optimizer.zero_grad()
loss.backward()
optimizer.step()

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
深入解析Python中的线程同步方法
Jun 14 Python
浅谈python中的实例方法、类方法和静态方法
Feb 17 Python
python调用百度语音REST API
Aug 30 Python
[原创]Python入门教程4. 元组基本操作
Oct 31 Python
python面试题之列表声明实例分析
Jul 08 Python
Django使用模板后无法找到静态资源文件问题解决
Jul 19 Python
Python帮你识破双11的套路
Nov 11 Python
有趣的Python图片制作之如何用QQ好友头像拼接出里昂
Apr 22 Python
用python写PDF转换器的实现
Oct 29 Python
python脚本定时发送邮件
Dec 22 Python
教你怎么用Python监控愉客行车程
Apr 29 Python
pytorch中的torch.nn.Conv2d()函数图文详解
Feb 28 Python
如何使用Python实现一个简易的ORM模型
May 12 #Python
用python删除文件夹中的重复图片(图片去重)
May 12 #Python
Pyhton模块和包相关知识总结
python 下划线的多种应用场景总结
May 12 #Python
超级详细实用的pycharm常用快捷键
pycharm 如何查看某一函数源码的快捷键
教你使用Pandas直接核算Excel中快递费用
You might like
DC动画电影《黑暗正义联盟》曝预告 5月5日上线数字平台
2020/04/09 欧美动漫
DOMXML函数笔记
2006/10/09 PHP
PHP stristr() 函数(不区分大小写的字符串查找)
2010/06/03 PHP
PHP中读取照片exif信息的方法
2014/08/20 PHP
PHP用PDO如何封装简单易用的DB类详解
2017/07/30 PHP
经典的带阴影的可拖动的浮动层
2006/06/26 Javascript
用正则获取指定路径文件的名称
2007/02/27 Javascript
Apply an AutoFormat to an Excel Spreadsheet
2007/06/12 Javascript
js 父窗口控制子窗口的行为-打开,关闭,重定位,回复
2010/04/20 Javascript
jquery动画2.元素坐标动画效果(创建一个图片走廊)
2012/08/24 Javascript
解决JS中乘法的浮点错误的方法
2014/01/03 Javascript
jquery高级编程的最佳实践详解
2014/03/23 Javascript
JS设置网页图片vspace和hspace属性的方法
2015/04/01 Javascript
jQuery插件MixItUp实现动画过滤和排序
2015/04/12 Javascript
jQuery基于$.ajax设置移动端click超时处理方法
2016/05/14 Javascript
js实现select选择框效果及美化
2016/08/19 Javascript
JS图片放大效果简单实现代码
2016/09/08 Javascript
webpack配置之后端渲染详解
2017/10/26 Javascript
vue-cli 如何打包上线的方法示例
2018/05/08 Javascript
微信小程序左滑动显示菜单功能的实现
2018/06/14 Javascript
微信小程序iOS下拉白屏晃动问题解决方案
2019/10/12 Javascript
[04:48]DOTA2亚洲邀请赛林书豪为VGJ加油
2017/04/01 DOTA
解决python中使用plot画图,图不显示的问题
2018/07/04 Python
Python脚本按照当前日期创建多级目录
2019/03/01 Python
windows下python安装pip方法详解
2020/02/10 Python
三个Unix的命令面试题
2015/04/12 面试题
写自荐信的注意事项
2014/03/09 职场文书
双方协议书
2014/04/22 职场文书
大学生新学期计划书
2014/04/28 职场文书
大学毕业典礼演讲稿
2014/09/09 职场文书
个人合伙协议书范本
2014/10/14 职场文书
群众路线组织生活会发言材料
2014/10/17 职场文书
篮球赛新闻稿
2015/07/17 职场文书
30岁前绝不能错过的10本书
2019/08/08 职场文书
使用Django实现商城验证码模块的方法
2021/06/01 Python
MySQL数据库10秒内插入百万条数据的实现
2021/11/01 MySQL