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通过加号运算符操作列表的方法
Jul 28 Python
Python实现PS滤镜的旋转模糊功能示例
Jan 20 Python
浅述python2与python3的简单区别
Sep 19 Python
Python之列表实现栈的工作功能
Jan 28 Python
Python3字符串encode与decode的讲解
Apr 02 Python
python实现微信定时每天和女友发送消息
Apr 29 Python
django执行原始查询sql,并返回Dict字典例子
Apr 01 Python
Python按照list dict key进行排序过程解析
Apr 04 Python
jupyter notebook插入本地图片的实现
Apr 13 Python
Jupyter打开图形界面并画出正弦函数图像实例
Apr 24 Python
Python绘制组合图的示例
Sep 18 Python
python 使用Tensorflow训练BP神经网络实现鸢尾花分类
May 12 Python
如何使用Python实现一个简易的ORM模型
May 12 #Python
用python删除文件夹中的重复图片(图片去重)
May 12 #Python
Pyhton模块和包相关知识总结
python 下划线的多种应用场景总结
May 12 #Python
超级详细实用的pycharm常用快捷键
pycharm 如何查看某一函数源码的快捷键
教你使用Pandas直接核算Excel中快递费用
You might like
简体中文转换为繁体中文的PHP函数
2006/10/09 PHP
PHP仿qq空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论的功能(上)
2017/05/26 PHP
php两点地理坐标距离的计算方法
2018/12/29 PHP
JavaScript实际应用:innerHTMl和确认提示的使用
2006/06/22 Javascript
用JavaScript实现一个代码简洁、逻辑不复杂的多级树
2014/05/23 Javascript
详细分析JavaScript变量类型
2015/07/08 Javascript
node.js连接mongoDB数据库 快速搭建自己的web服务
2016/04/17 Javascript
json对象与数组以及转换成js对象的简单实现方法
2016/06/24 Javascript
jQuery 操作input中radio的技巧
2016/07/18 Javascript
vue基于Vue2.0和高德地图的地图组件实例
2017/04/28 Javascript
Vue中计算属性computed的示例解读
2017/07/26 Javascript
JavaScript实现获取select下拉框中第一个值的方法
2018/02/06 Javascript
深入理解JS的事件绑定、事件流模型
2018/05/13 Javascript
js input输入百分号保存数据库失败的解决方法
2018/05/26 Javascript
JS使用Prim算法和Kruskal算法实现最小生成树
2019/01/17 Javascript
iview tabs 顶部导航栏和模块切换栏的示例代码
2019/03/04 Javascript
element-ui 远程搜索组件el-select在项目中组件化的实现代码
2019/12/04 Javascript
[05:05]第三天的dota2
2013/07/29 DOTA
Python3.2中Print函数用法实例详解
2015/05/19 Python
Python下载网络文本数据到本地内存的四种实现方法示例
2018/02/05 Python
python人民币小写转大写辅助工具
2018/06/20 Python
python3实现爬取淘宝美食代码分享
2018/09/23 Python
Python图像处理之直线和曲线的拟合与绘制【curve_fit()应用】
2018/12/26 Python
python 读取文件并把矩阵转成numpy的两种方法
2019/02/12 Python
python sklearn库实现简单逻辑回归的实例代码
2019/07/01 Python
python中数据库like模糊查询方式
2020/03/02 Python
Python制作一个仿QQ办公版的图形登录界面
2020/09/22 Python
新西兰床上用品和家居用品购物网站:Adairs
2018/04/27 全球购物
VisionPros美国站:加拿大在线隐形眼镜和眼镜零售商
2020/02/11 全球购物
英国珠宝和手表专家:Pleasance & Harper
2020/10/21 全球购物
大学生学习自我评价
2014/01/13 职场文书
写好自荐信需做到的5要点
2014/03/07 职场文书
运动会加油口号
2014/06/07 职场文书
避暑山庄导游词
2015/02/04 职场文书
爱心捐款活动总结
2015/05/09 职场文书
解决MultipartFile.transferTo(dest) 报FileNotFoundExcep的问题
2021/07/01 Java/Android