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字符和字符值(ASCII或Unicode码值)转换方法
May 21 Python
在Linux系统上部署Apache+Python+Django+MySQL环境
Dec 24 Python
python制作小说爬虫实录
Aug 14 Python
《与孩子一起学编程》python自测题
May 27 Python
python matlibplot绘制多条曲线图
Feb 19 Python
python 异或加密字符串的实例
Oct 14 Python
python实现电子书翻页小程序
Jul 23 Python
numpy中的meshgrid函数的使用
Jul 31 Python
解决python3 requests headers参数不能有中文的问题
Aug 21 Python
python实现单链表的方法示例
Sep 03 Python
Python socket非阻塞模块应用示例
Sep 12 Python
python tkinter组件使用详解
Sep 16 Python
如何使用Python实现一个简易的ORM模型
May 12 #Python
用python删除文件夹中的重复图片(图片去重)
May 12 #Python
Pyhton模块和包相关知识总结
python 下划线的多种应用场景总结
May 12 #Python
超级详细实用的pycharm常用快捷键
pycharm 如何查看某一函数源码的快捷键
教你使用Pandas直接核算Excel中快递费用
You might like
php中使用DOM类读取XML文件的实现代码
2011/12/14 PHP
浅析PHP中Collection 类的设计
2013/06/21 PHP
用PHP生成excel文件到指定目录
2015/06/22 PHP
kmock javascript 单元测试代码
2011/02/06 Javascript
JQuery通过Ajax提交表单并返回结果
2011/07/31 Javascript
禁止选中文字兼容IE、Chrome、FF等
2013/09/04 Javascript
原生javascript模仿win8等待提示圆圈进度条
2014/04/24 Javascript
JavaScript获取页面中第一个锚定文本的方法
2015/04/03 Javascript
js实现商城星星评分的效果
2015/12/29 Javascript
详解js中class的多种函数封装方法
2016/01/03 Javascript
jquery pagination分页插件使用详解(后台struts2)
2017/01/22 Javascript
推荐一个基于Node.js的表单验证库
2019/02/15 Javascript
对vuex中store和$store的区别说明
2020/07/24 Javascript
原生js实现弹幕效果
2020/11/29 Javascript
[00:35]DOTA2上海特级锦标赛 MVP.Phx战队宣传片
2016/03/04 DOTA
详解JavaScript编程中的window与window.screen对象
2015/10/26 Python
Python socket实现的简单通信功能示例
2018/08/21 Python
深入解析python中的实例方法、类方法和静态方法
2019/03/11 Python
Python面向对象思想与应用入门教程【类与对象】
2019/04/12 Python
深入浅析Python 命令行模块 Click
2020/03/11 Python
python破解同事的压缩包密码
2020/10/14 Python
CSS3径向渐变之大鱼吃小鱼之孤单的大鱼
2016/04/26 HTML / CSS
boostrap modal 闪现问题的解决方法
2020/09/01 HTML / CSS
Lookfantastic瑞典:英国知名美妆购物网站
2018/04/06 全球购物
台湾租车首选品牌:IWS艾维士租车
2019/05/03 全球购物
医生实习工作总结的自我评价
2013/09/27 职场文书
银行职员自我鉴定
2014/04/20 职场文书
承诺书范文
2014/06/03 职场文书
分公司经理任命书
2014/06/05 职场文书
2015新年寄语大全
2014/12/08 职场文书
监理中标通知书
2015/04/16 职场文书
环保建议书作文300字
2015/09/14 职场文书
2016年百日安全生产活动总结
2016/04/06 职场文书
详解Oracle块修改跟踪功能
2021/11/07 Oracle
Vue3中toRef与toRefs的区别
2022/03/24 Vue.js
Redis基本数据类型Zset有序集合常用操作
2022/06/01 Redis