yolo系列算法训练时loss出现nan值,解决办法(GTX16xx系列显卡的问题)

这篇具有很好参考价值的文章主要介绍了yolo系列算法训练时loss出现nan值,解决办法(GTX16xx系列显卡的问题)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.首先
这个问题时由于GTX16xx系列显卡导致的,只要是使用GTX16xx系列显卡跑yolo系列算法的时候基本上都会遇到这个问题,真是搞得我头大,当我第一次遇到这个问题的时候,我只是简单地认为是学习率过大导致梯度爆炸,但是后来我上网查资料才发现问题出现在我的显卡上面,我的是GTX1650(还能再战),GTX16xx系列显卡在cuda使用较新版本时会出现该问题。导致了PyTorch里面一些CUDA代码有些问题,就是fp16(float16)数据类型在卷积等一些运算的时候会出现nan值。导致了训练时候出现了nan值。
2.解决方法
解决方法一:
我在网上查询资料发现,这个问题用CPU跑的时候不会出现问题,但是使用CPU跑的速度可以说是比蜗牛还慢。
把PyTorch版本降为1.10.1和CUDA 10.2,这是我在网上查到的第一个解决问题的方案,我尝试过确实能解决问题,但是训练时长长了很多,而且现在PyTorch官方已经不怎么支持使用CUDA 10.2版本了。不推荐此方案,详情可点击点这里
解决方法二:
yolo算法存在nan值,及说明在训练的时候就出现问题了,所以我们要train.py里面作出修改,
一,在train.py中使用Crtl+F搜索amp把amp = check_amp(model)直接注释掉然后在下面把amp赋值为False,如下图:
yolo系列算法训练时loss出现nan值,解决办法(GTX16xx系列显卡的问题)
这样就可以解决问题了,如果还是有问题,那你只能尝试方案一了。我就是这样解决问题了,
贴图:这是未解决问题之前:
yolo系列算法训练时loss出现nan值,解决办法(GTX16xx系列显卡的问题)

这是解决问题之后:
yolo系列算法训练时loss出现nan值,解决办法(GTX16xx系列显卡的问题)
可以看到loss再不断减小,问题已解决文章来源地址https://www.toymoban.com/news/detail-426202.html

到了这里,关于yolo系列算法训练时loss出现nan值,解决办法(GTX16xx系列显卡的问题)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • (具体解决方案)训练GAN深度学习的时候出现生成器loss一直上升但判别器loss趋于0

    今天小陶在训练CGAN的时候出现了绷不住的情况,那就是G_loss(生成器的loss值)一路狂飙,一直上升到了6才逐渐平稳。而D_loss(判别器的loss值)却越来越小,具体的情况就看下面的图片吧。其实这在GAN训练里是非常容易遇到的问题,所以不用慌,是有解决的办法的。小陶就通

    2024年02月14日
    浏览(35)
  • 对于训练时loss出现负值的情况

    在训练时候loss出现负值,就立马停下来分析一下原因在哪。最有可能是损失函数出现问题,开始只使用交叉熵损失时没有出现过,在加上了dice loss时就出现了问题。于是就去dice loss中寻找原因。 1:首先需要明白语义分割的GT, 每一个像素点的值就是像素的类别。 打印结果:

    2024年01月19日
    浏览(43)
  • YOLO训练产出warning: NMS time limit 1.060s exceeded原因与解决办法

    在进行模型训练结束后,模型代码会执行 对模型进行map准确率的验证,使用时候出现 talk is cheap ,show me the code. 找到warning的代码出处: 以上是NMS非极大值抑制代码实现过程,其原理也很简单,解决的是多个锚框重叠的问题。 其实原因来看,进行NMS的时间断点太长了,将阈值

    2024年02月11日
    浏览(30)
  • 100种目标检测数据集【voc格式yolo格式json格式coco格式】+YOLO系列算法源码及训练好的模型

    提示:本文介绍并分享了应用于 各行业 、 各领域 非常有用的 目标检测数据集 (感谢您的关注+三连, 数据集持续更新中… ),其中绝大部分数据集作者 已应用于各种实际落地项目 ,数据集 整体质量好 , 标注精确 ,数据的 多样性充分 , 训练 模型拟合较好 ,具有较高

    2023年04月09日
    浏览(37)
  • chatgpt赋能python:Python中出现NaN的原因及解决方法

    在Python编程中,我们经常会遇到NaN这个问题。NaN代表“Not a Number”,通常表示数值无法计算或不是数字。 NaN通常出现在以下情况: 通过0/0或者inf/inf计算得到的结果; 对于无穷大数值的某种操作; 对于无法表示的数(如复数)进行某种操作。 在Python中,我们可以使用numpy库

    2024年02月12日
    浏览(23)
  • 关于Surface系列重装系统的操作方法,出现的问题并给出了解决办法。

     我去年在微软官网淘到了一个surface go的平板电脑,由于我把Windows系统从Win10更新到了Win11,导致系统很卡顿(不是更新的Win11的原因,我猜测可能是平板电脑的自身版本有关,处理器性能太低了,带不动),所以我试着去还原系统,在还原的过程中,遇到了一些问题,现记

    2024年02月08日
    浏览(26)
  • 【小笔记】从算法训练现象分析可能的参数设置问题-loss分析篇

    【学而不思则罔,思而不学则殆】 9.30 首先给出一个理想的训练loss收敛图片:loss平滑的下降,并逐渐收敛到0. 平滑说明学习率设置较合适,收敛到0说明模型在参数空间中收敛到一个很理想的区域。 训练现象: 本质原因: 算法收敛到参数空间中某个较高的“平坦区域”,而

    2024年02月07日
    浏览(26)
  • 关于KEIL5编译出现“Target not createt”全系列解决办法——情况2:程序溢出错误 ERROR: PUBLIC REFERS TO IGNORED SEGMEN

    在KEIL5编程,往往遇到许多“Target not createt”,即目标不能实现这类情况。由此为帮助大家解决这些问题特开此贴。 目录如下: 1、2K字节限制错误 ERROR:RESTRICTED VERSION WITH 0800H BYTE CODE SIZE LIMIT 或者 ADDRESS SPACE OVERFLOW      直达链接:https://blog.csdn.net/SumubeiFZ/article/details/125344

    2023年04月20日
    浏览(48)
  • YOLO 算法的自定义数据集制作及模型训练方法(附代码)

    本文章主要涉及以下工作:    (1)详细介绍了怎样制作YOLO的自定义数据集以及如何使用自定义数据集训练YOLO模型。    (2)对YOLOv5、YOLOv6、YOLOv7、YOLOv8进行了部分修改,能够适配自定义数据集进行训练。    (3)提供了各YOLO算法的目标检测模型的预训练权重。    (

    2024年02月13日
    浏览(29)
  • YOLO系列 --- YOLOV7算法(四):YOLO V7算法网络结构解析

    今天来讲讲YOLO V7算法网络结构吧~ 在 train.py 中大概95行的地方开始创建网络,如下图(YOLO V7下载的时间不同,可能代码有少许的改动,所以行数跟我不一定一样) 我们进去发现,其实就是在 yolo.py 里面。后期,我们就会发现相关的网络结构都是在该py文件里面。这篇blog就主

    2024年02月05日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包