结论:

该项目是由于脏数据造成的梯度爆炸的,剔除就好了。

文章目录

  • 结论:
  • 1. 程序崩溃现场
  • 2. 原因分析与调试记录
    • 2.1 定位错误出现位置
    • 2.2 打上断点进行分析
    • 2.3 debug进入损失函数运行的地方,找原因
    • 2.3 处理脏数据

1. 程序崩溃现场


这里出现了,函数返回了nan,导致后边无法进行梯度更新。

2. 原因分析与调试记录

2.1 定位错误出现位置

因为提示信息不明显,所以我需要把详细的数据打印出来,让它报错,看具体哪里出错的。

(我的dataloader,数据打乱设置的False,所以数据出错的位置是不会变的)可以看到在1087处出现的错误,但打印的是i+1控制的,所以是i=1086处出现了错误。

2.2 打上断点进行分析

要是逐个再运行到1086处太慢了,于是前1085个直接continue过去,然后在第一个计算loss的位置打上断点,对主程序进行debug

2.3 debug进入损失函数运行的地方,找原因


发现,确实有一个数据不正常,area[2] = 0.0,它在损失函数中充当的是分母。
于是定位是数据处理的有问题,于是找到计算area的源数据,将其可视化出来。发现是黑乎乎一片。我在数据集里找到了那个文件,发现确实,是数据加载的有问题。
现在定位出问题是脏数据,那么数据集里很可能还有别的脏数据。接下来目标变为,处理脏数据。

2.3 处理脏数据

找到加载数据的地方,注释掉原来写的__getitem__, 因为刚才主要是mask出现了问题,那么现在只处理与mask相关的数据,其他的删掉,提高效率。area是有mask算出来的,且脏数据的特征是area为0.0,那么遇到它将数据的id打印出来。

现在找到了出问题的数据。
那么将其剔除,删除太麻烦,因为与其关联的数据可不止这3个出问题的数据。其实改变思路,遇到脏数据不加载即可。

遇到它们的id跳过即可。
现在,程序以及可以正常运行了。

深度学习-梯度爆炸原因分析、调试记录与解决方案(loss突然变为nan)相关推荐

  1. 【C4】基于深度学习的心电信号分析

    ★★★ 本文源自AI Studio社区精品项目,[点击此处]查看更多精品内容 >>> 基于深度学习的心电信号分析 一.项目背景 近年来,随着人工智能和算法的发展,以机器学习和深度学习 ...

  2. 免费教材丨第56期:《深度学习导论及案例分析》、《谷歌黑板报-数学之美》

    小编说  离春节更近了!  本期教材        本期为大家发放的教材为:<深度学习导论及案例分析>.<谷歌黑板报-数学之美>两本书,大家可以根据自己的需要阅读哦! < ...

  3. 《深度学习导论及案例分析》一2.11概率图模型的推理

    本节书摘来自华章出版社<深度学习导论及案例分析>一书中的第2章,第2.11节,作者李玉鑑 张婷,更多章节内容可以访问云栖社区"华章计算机"公众号查看. 2.11概率图模 ...

  4. 基于深度学习的眼底影像分析最新综述

    医学影像是深度学习取得极大成功的一个领域,而眼底图像是其中一个重要的分支.眼底图像是由单目相机捕获到的眼底的2D图像. 使用眼底图像可以用于对眼科疾病诊断分级.对病变点和重要的生物标记进行分割等等,对 ...

  5. RNN梯度爆炸原因和LSTM解决梯度消失解释

    RNN梯度爆炸原因: 经典的RNN结构如下图所示: 假设我们的时间序列只有三段, 为给定值,神经元没有激活函数,则RNN最简单的前向传播过程如下: 假设在t=3时刻,损失函数为 . 则对于一次训练任务 ...

  6. 深度学习之LSTM案例分析(三)

    #背景 来自GitHub上<tensorflow_cookbook>[https://github.com/nfmcclure/tensorflow_cookbook/tree/maste ...

  7. vue+django 微博舆情系统源码、深度学习+舆情扩散消失分析、舆情紧急等级、属地分析、按话题、情感预测、话题评论获取、提取观点、正面负面舆情、按区域检测舆情

    项目背景 315又马上要到了,现在有开始对食品安全话题的关注地提升了,因此,本文系统对微博的食品安全话题进行分析,有如下的功能 1.展示当前食品安全事件相关的热点信息以及提供根据食品关键词,食品安全类 ...

  8. 【机器学习】梯度消失和梯度爆炸的原因分析、表现及解决方案

    目录 1 基本概念 2 原因分析 2.1 直接原因 2.2 根本原因 3 表现 4 解决方案 1 基本概念 (1)梯度不稳定 在深度神经网络中的梯度是不稳定的,在靠近输入层的隐藏层中或会消失,或会爆炸 ...

  9. 深度学习——梯度消失、梯度爆炸

    本文参考:深度学习之3--梯度爆炸与梯度消失 梯度消失和梯度爆炸的根源:深度神经网络结构.反向传播算法 目前优化神经网络的方法都是基于反向传播的思想,即根据损失函数计算的误差通过反向传播的方式,指导深 ...

  10. 深度学习:梯度下降算法改进

    学习目标 目标 了解深度学习遇到的一些问题 知道批梯度下降与MiniBatch梯度下降的区别 知道指数加权平均的意义 知道动量梯度.RMSProp.Adam算法的公式意义 知道学习率衰减方式 知道参数 ...

最新文章

  1. Apache Spark源码走读之8 -- Spark on Yarn
  2. linux怎么打开云硬盘,Linux系统云服务器如何挂在磁盘
  3. hdu 5072 Coprime
  4. Poj_3984走迷宫(广搜)
  5. python函数编程训练题_Python文件与函数练习题
  6. Highcharts JS去除Highcharts.com链接的方法
  7. 盘点3个改变世界的AI项目,NLP/CV/BI,3个方向
  8. 工作298:无路由页面
  9. hive表定义(3种方式)
  10. 【clickhouse】clickhouse强大智能的 Projection (投影) 功能
  11. cmake 常见问题及解决
  12. secoclient免积分下载
  13. 深度学习GPU显卡选型攻略
  14. 使用DiskGenius拓展系统盘C盘的容量
  15. 配置Atari Gym环境
  16. RS雷达转Velodyne雷达数据Failed to find match for field ‘intensity‘
  17. Flutter开发日常练习-小猫咪杂货店(新增欢迎页,广告页和侧滑页面)
  18. 小麦苗Oracle和MySQL健康检查脚本使用说明
  19. 【小学信息技术教资面试】教案模板
  20. 简单辨析关系和区别:YUV、H.264、RTP、UDP、RTSP

热门文章

  1. 怎样设置路由器禁用其他设备
  2. webp的js插件_Vuejs webp图片支持,插件开发过程~
  3. 鼠标手势对应操作及常用快捷键-------360浏览器所有!!!!阿冬专栏
  4. Nielsen:网络广告信任度上升
  5. 薪资16K,进华为外包怎么样?
  6. (python)bing搜索引擎API接入测试
  7. Winmail + Foxmail搭建企业内部邮件系统
  8. 北美票房:《玻璃先生》无悬念夺魁
  9. python爬取雪球网交易数据
  10. 团队内部分享--工作杂谈(读书推荐)