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 11 Python
Djang中静态文件配置方法
Jul 30 Python
Django接受前端数据的几种方法总结
Nov 04 Python
Python画柱状统计图操作示例【基于matplotlib库】
Jul 04 Python
python Flask 装饰器顺序问题解决
Aug 08 Python
如何利用Pyecharts可视化微信好友
Jul 04 Python
python如何实现异步调用函数执行
Jul 08 Python
Django中提供的6种缓存方式详解
Aug 05 Python
python实现实时视频流播放代码实例
Jan 11 Python
python安装dlib库报错问题及解决方法
Mar 16 Python
python实现udp聊天窗口
Mar 31 Python
忆童年!用Python实现愤怒的小鸟游戏
Jun 07 Python
如何使用Python实现一个简易的ORM模型
May 12 #Python
用python删除文件夹中的重复图片(图片去重)
May 12 #Python
Pyhton模块和包相关知识总结
python 下划线的多种应用场景总结
May 12 #Python
超级详细实用的pycharm常用快捷键
pycharm 如何查看某一函数源码的快捷键
教你使用Pandas直接核算Excel中快递费用
You might like
为什么《星际争霸》是测试人工智能的理想战场
2019/12/03 星际争霸
CCPry JS类库 代码
2009/10/30 Javascript
JavaScript学习笔记(一) js基本语法
2011/10/25 Javascript
jquery基础教程之deferred对象使用方法
2014/01/22 Javascript
JS实现点击复选框将按钮或文本框变为灰色不可用的方法
2015/08/11 Javascript
jQuery实现的文字hover颜色渐变效果实例
2016/02/20 Javascript
如何使用PHP+jQuery+MySQL实现异步加载ECharts地图数据(附源码下载)
2016/02/23 Javascript
JS实现简单的tab切换选项卡效果
2016/09/21 Javascript
nodejs进阶(6)—连接MySQL数据库示例
2017/01/07 NodeJs
微信小程序 摇一摇抽奖简单实例实现代码
2017/01/09 Javascript
遍历json获得数据的几种方法小结
2017/01/21 Javascript
详解extract-text-webpack-plugin 的使用及安装
2018/06/12 Javascript
详解vue组件开发脚手架
2018/06/15 Javascript
vue项目移动端实现ip输入框问题
2019/03/19 Javascript
使用Vue.js 和Chart.js制作绚丽多彩的图表
2019/06/15 Javascript
js获取url页面id,也就是最后的数字文件名
2020/09/25 Javascript
JavaScript中条件语句的优化技巧总结
2020/12/04 Javascript
[06:44]2018DOTA2亚洲邀请赛4.5 SOLO赛 MidOne vs Sumail
2018/04/06 DOTA
python实现下载整个ftp目录的方法
2017/01/17 Python
python3读取MySQL-Front的MYSQL密码
2017/05/03 Python
pytorch 把MNIST数据集转换成图片和txt的方法
2018/05/20 Python
Django如何开发简单的查询接口详解
2019/05/17 Python
python版百度语音识别功能
2019/07/09 Python
解决python 3 urllib 没有 urlencode 属性的问题
2019/08/22 Python
在OpenCV里使用Camshift算法的实现
2019/11/22 Python
详解Python 重学requests发起请求的基本方式
2020/02/07 Python
LocalStorage记住用户和密码功能
2017/07/24 HTML / CSS
纽约JewelryAffairs珠宝店:精细金银时尚首饰
2017/02/05 全球购物
捷克厨房用品购物网站:Tescoma
2018/07/13 全球购物
金融专业个人的自我评价
2013/10/18 职场文书
个人求职信范文分享
2014/01/06 职场文书
先进教师个人事迹材料
2014/12/15 职场文书
大学生英文求职信范文
2015/03/19 职场文书
退休劳动合同怎么写?
2019/10/25 职场文书
MySQL数字类型自增的坑
2021/05/07 MySQL
python 解决微分方程的操作(数值解法)
2021/05/26 Python