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数据结构之二叉树的建立实例
Apr 29 Python
Python中struct模块对字节流/二进制流的操作教程
Jan 21 Python
Python使用Selenium爬取淘宝异步加载的数据方法
Dec 17 Python
Python3.5 Pandas模块之DataFrame用法实例分析
Apr 23 Python
python try except返回异常的信息字符串代码实例
Aug 15 Python
python+rsync精确同步指定格式文件
Aug 29 Python
pytorch nn.Conv2d()中的padding以及输出大小方式
Jan 10 Python
Python3监控windows,linux系统的CPU、硬盘、内存使用率和各个端口的开启情况详细代码实例
Mar 18 Python
Django基于客户端下载文件实现方法
Apr 21 Python
Python同时迭代多个序列的方法
Jul 28 Python
Python+Opencv身份证号码区域提取及识别实现
Aug 25 Python
利用Python脚本写端口扫描器socket,python-nmap
Jul 23 Python
如何使用Python实现一个简易的ORM模型
May 12 #Python
用python删除文件夹中的重复图片(图片去重)
May 12 #Python
Pyhton模块和包相关知识总结
python 下划线的多种应用场景总结
May 12 #Python
超级详细实用的pycharm常用快捷键
pycharm 如何查看某一函数源码的快捷键
教你使用Pandas直接核算Excel中快递费用
You might like
php数据库备份还原类分享
2014/03/20 PHP
php调用KyotoTycoon简单实例
2015/04/02 PHP
PHP中Http协议post请求参数
2015/11/02 PHP
php上传图片生成缩略图(GD库)
2016/01/06 PHP
PHP使用fopen与file_get_contents读取文件实例分享
2016/03/04 PHP
js原生态函数中使用jQuery中的 $(this)无效的解决方法
2011/05/25 Javascript
原始的js代码和jquery对比体会
2013/09/10 Javascript
JS获取当前日期和时间的简单实例
2013/11/19 Javascript
jquery实现一个简单的表单验证实例
2016/03/30 Javascript
Jquery $when done then的用法详解
2016/05/20 Javascript
使用jquery如何获取时间
2016/10/13 Javascript
js实现下拉菜单效果
2017/03/01 Javascript
jQuery实现移动端Tab选项卡效果
2017/03/15 Javascript
ES6中Proxy与Reflect实现重载(overload)的方法
2017/03/30 Javascript
xmlplus组件设计系列之列表(4)
2017/04/26 Javascript
Vue.js常用指令的使用小结
2017/06/23 Javascript
uni app仿微信顶部导航条功能
2019/09/17 Javascript
Element InputNumber计数器的使用方法
2020/07/27 Javascript
Python使用新浪微博API发送微博的例子
2014/04/10 Python
Python编程中的反模式实例分析
2014/12/08 Python
《Python之禅》中对于Python编程过程中的一些建议
2015/04/03 Python
Python实现数通设备端口使用情况监控实例
2015/07/15 Python
python使用Tesseract库识别验证
2018/03/21 Python
使用Python来开发微信功能
2018/06/13 Python
Opencv+Python实现图像运动模糊和高斯模糊的示例
2019/04/11 Python
python适合人工智能的理由和优势
2019/06/28 Python
python使用多线程查询数据库的实现示例
2020/08/17 Python
Python QT组件库qtwidgets的使用
2020/11/02 Python
Python爬虫之Selenium设置元素等待的方法
2020/12/04 Python
Html5 滚动穿透的方法
2019/05/13 HTML / CSS
中国汽车租赁行业头部企业:一嗨租车
2019/05/16 全球购物
房屋改造计划书
2014/01/10 职场文书
政府班子四风问题整改措施
2014/10/04 职场文书
2015学校图书管理员工作总结
2015/05/11 职场文书
六一晚会主持词开场白
2015/05/28 职场文书
小学生反邪教心得体会
2016/01/15 职场文书