解决pytorch 交叉熵损失输出为负数的问题


Posted in Python onJuly 07, 2020

网络训练中,loss曲线非常奇怪

解决pytorch 交叉熵损失输出为负数的问题

交叉熵怎么会有负数。

经过排查,交叉熵不是有个负对数吗,当网络输出的概率是0-1时,正数。可当网络输出大于1的数,就有可能变成负数。

所以加上一行就行了

out1 = F.softmax(out1, dim=1)

补充知识:在pytorch框架下,训练model过程中,loss=nan问题时该怎么解决?

当我在UCF-101数据集训练alexnet时,epoch设为100,跑到三十多个epoch时,出现了loss=nan问题,当时是一脸懵逼,在查阅资料后,我通过减小学习率解决了问题,现总结一下出现这个问题的可能原因及解决方法:

1. 减小整体学习率。学习率比较大的时候,参数可能over shoot了,结果就是找不到极小值点;减小学习率可以让参数朝着极值点前进;

2. 改变网络宽度。有可能是网络后面的层参数更新异常,增加后面层的宽度试试;

3. 改变层的学习率。每个层都可以设置学习率,可以尝试减小后面层的学习率试试;

4. 数据归一化(减均值,除方差,或者加入normalization,例如BN、L2 norm等);

5. 加入gradient clipping;

6 输入数据含有脏数据,即NaN,一般当使用实际业务的真实数据时,容易出现脏数据。

以上这篇解决pytorch 交叉熵损失输出为负数的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
C#返回当前系统所有可用驱动器符号的方法
Apr 18 Python
利用Python爬取可用的代理IP
Aug 18 Python
微信跳一跳游戏python脚本
Apr 01 Python
Python爬虫实战:分析《战狼2》豆瓣影评
Mar 26 Python
Python3实现获取图片文字里中文的方法分析
Dec 13 Python
在Python 字典中一键对应多个值的实例
Feb 03 Python
Python中的几种矩阵乘法(小结)
Jul 10 Python
Python多线程及其基本使用方法实例分析
Oct 29 Python
TensorFlow2.X结合OpenCV 实现手势识别功能
Apr 08 Python
python网络编程之五子棋游戏
May 14 Python
Python matplotlib读取excel数据并用for循环画多个子图subplot操作
Jul 14 Python
pycharm 实现调试窗口恢复
Feb 05 Python
Python基于httpx模块实现发送请求
Jul 07 #Python
opencv 图像腐蚀和图像膨胀的实现
Jul 07 #Python
Pytorch损失函数nn.NLLLoss2d()用法说明
Jul 07 #Python
浅析Python __name__ 是什么
Jul 07 #Python
Pytorch上下采样函数--interpolate用法
Jul 07 #Python
pytorch随机采样操作SubsetRandomSampler()
Jul 07 #Python
pytorch加载自己的图像数据集实例
Jul 07 #Python
You might like
PHP cron中的批处理
2008/09/16 PHP
通过php删除xml文档内容的方法
2015/01/23 PHP
PHP CodeIgniter框架的工作原理研究
2015/03/30 PHP
JS中setInterval、setTimeout不能传递带参数的函数的解决方案
2013/04/28 Javascript
js读写json文件实例代码
2014/10/21 Javascript
15款最好的Bootstrap在线编辑器
2016/08/03 Javascript
移动端web滚动分页的实现方法
2017/05/05 Javascript
AngularJS 控制器 controller的详解
2017/10/17 Javascript
Bootstrap Table中的多选框删除功能
2018/07/15 Javascript
Vue axios全局拦截 get请求、post请求、配置请求的实例代码
2018/11/28 Javascript
vue-cli3 karma单元测试的实现
2019/01/18 Javascript
使用VueRouter的addRoutes方法实现动态添加用户的权限路由
2019/06/03 Javascript
js前端传json后台接收‘‘被转为quot的问题解决
2020/11/12 Javascript
[08:54]《一刀刀一天》之DOTA全时刻18:十九支奔赴西雅图队伍全部出炉
2014/06/04 DOTA
python MySQLdb Windows下安装教程及问题解决方法
2015/05/09 Python
实例讲解Python中函数的调用与定义
2016/03/14 Python
Python数据结构之单链表详解
2017/09/12 Python
Python3+Appium实现多台移动设备操作的方法
2019/07/05 Python
python版百度语音识别功能
2019/07/09 Python
AHAVA美国官方网站:死海海泥护肤品牌
2016/10/18 全球购物
来自世界各地的饮料:Flavourly
2019/05/06 全球购物
iKRIX意大利网上商店:男女豪华服装和配件
2019/10/09 全球购物
瑞士网球商店:Tennis-Point
2020/03/12 全球购物
投标人廉洁自律承诺书
2014/05/26 职场文书
化学专业自荐信
2014/05/28 职场文书
自查自纠工作情况报告
2014/10/29 职场文书
小学生作文批改评语
2014/12/25 职场文书
公司催款律师函
2015/05/27 职场文书
2015年重阳节活动主持词
2015/07/30 职场文书
学习杨善洲同志先进事迹心得体会
2016/01/23 职场文书
授权协议书范本(3篇)
2019/10/15 职场文书
python基础详解之if循环语句
2021/04/24 Python
MySQL通过binlog恢复数据
2021/05/27 MySQL
JavaScript中的LHS和RHS分析详情
2022/04/06 Javascript
css3属性选择器 “~”(波浪号) “,”(逗号) “+”(加号)和 “>”(大于号)
2022/04/19 HTML / CSS
virtualenv隔离Python环境的问题解析
2022/06/21 Python