补充:YOLO模型训练时loss出现nan值或者测试时P\R\map全部为0值的解决办法(GTX16xx系列显卡)

2023-11-19

1 参考1

  在参考有头发的垃圾猿的《YOLO系列训练时出现loss出现nan值或者测试时P\R\map全部为0值的解决办法(GTX16xx系列显卡大坑)》后,发现问题不能得到实际的解决(可能是版本不一样导致代码不一样的问题),所以按照其思路,对有头发的垃圾猿文章进行补充说明。

2 补充

  因为yolo各个系列中又分为多个版本,所以在上个作者的文章,指出来取消自动混合精度,但仅指出某个yolo系列的版本的更改,这里进行补充。
  YOLO版本:YOLOV5系列第6版本,V6.0;V7.0也一样 没去看

在这里插入图片描述
                        图1

  因为调试后发现在经过model后,数据显示都为NAN,传入model前数据如图2所示,传入后数据变nan如图3所示:

  原因可能是精度的变化导致经过model后数据被莫名其妙更改,引起某些指数计算,算得值为INF、梯度变化等情况,这里仅为猜测,没有研究,有兴趣的读者可以自己去看看。

在这里插入图片描述                        图2
在这里插入图片描述                        图3

我的更改:
train.py文件中

原代码:
       # Forward
       with amp.autocast(enabled=cuda):
        	pred = model(imgs)  # forward
            loss, loss_items = /
            compute_loss(pred, targets.to(device))  
更改后的代码:
       # Forward
       # with amp.autocast(enabled=cuda):
       pred = model(imgs)  # forward
       loss, loss_items = compute_loss(pred, /
       				targets.to(device)) 

更改后,会增加GPU内存消耗,因为所有的精度都采用全精了
  是的就是这么简单,取消掉后的训练结果,显示正常如图4所示:
在这里插入图片描述                        图4

3 小结

  不写了,上面那个作者写过了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

补充:YOLO模型训练时loss出现nan值或者测试时P\R\map全部为0值的解决办法(GTX16xx系列显卡) 的相关文章

随机推荐

  • 跟大师一起学习环路补偿,图文并茂

    作为工程师 每天接触的是电源的设计工程师 发现不管是电源的老手 高手 新手 几乎对控制环路的设计一筹莫展 基本上靠实验 靠实验当然是可以的 但出问题时往往无从下手 在这里我想以反激电源为例子 在所有拓扑中环路是最难的 由于RHZ 的存在 大
  • wsl安装ubuntu

    WSL 用管理员打开powershell wsl install 重启 用管理员打开powershell 启用适用于 Linux 的 Windows 子系统 dism exe online enable feature featurenam
  • vue3+leaflet+天地图

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 一 准备工作 1 安装插件 2 天地图秘钥 二 使用步骤 1 引入库 2 创建地图容器 3 初始化地图 4 界面效果 天地图地图服务API相关 一 准备工作 需要先
  • Oracle两张表关联批量更新其中一张表的数据

    创建如下表数据 select from t1 select from t2 现需求 参照T2表 修改T1表 修改条件为两表的fname列内容一致 方式1 update 常见陷阱 UPDATE T1 SET T1 FMONEY select
  • 二进制安全虚拟机Protostar靶场 安装,基础知识讲解,破解STACK ZERO

    简介 pwn是ctf比赛的方向之一 也是门槛最高的 学pwn前需要很多知识 这里建议先去在某宝上买一本汇编语言第四版 看完之后学一下python和c语言 python推荐看油管FreeCodeCamp的教程 c语言也是 pwn题目大部分是破
  • 基于python+selenium的二次封装

    这是个人对selenium webdriver写的一些常用操作的二次封装 也就相当于重写了 不再使用自带的框架 用自己写的框架完成 这样的话使代码更简洁 用自己的思想完成代码的编写 首先在根目录下创建子目录名为Common作为公用数据 名字
  • RequireJS 与 AngularJS 集成(完整版)

    JS结构 main js main js这个文件完成的事情简单来说就是 载入所有文件 然后在document上运行Angular并将ng app属性设置为 app 这些文件因为是由RequireJS异步载入 因此我们需要来 手动启动 Ang
  • 逻辑回归原理(python代码实现)

    原文 https blog csdn net csqazwsxedc article details 69690655 Logistic Regression Classifier逻辑回归主要思想就是用最大似然概率方法构建出方程 为最大化方
  • 架构学习笔记—优酷网

    互联网就是这么一个神奇的东西 今天我突然想到 优酷网在国内也算是视频网站的老大了 不知道他的架构相对于YouTube是怎么样的 于是带着这 个好奇心去网上找了优酷网架构的各方面资料 虽然谈的不是那么详细 但多少还是挖掘了一点 现在总结一下
  • 线程和进程的区别(面试必备)

    参考文章 https www jianshu com p 2dc01727be45 线程与进程的区别通俗的解释 https www jianshu com p 8ad441510860 附加可参考文章 https baijiahao bai
  • c#与SQL server知识

    1 数据库建立 在C 中建立的数据库 想要在SQLserver中找到需要连接与c 相同的服务器才可以找到 2 在C 中建立数据库更新不成功 需要打开SQL server 连接与c 相同的服务器 随后在c 中更新 3 在c 界面中更新数据库成
  • maven安装及配置(详细版)

    1 下载 方式一可以从官方下载 下载页面 http maven apache org download cgi 方式二 或者题主提供的版本下载maven安装包 提取码 ysns 下载好后是一个压缩文件 2 安装 maven压缩包解压到一个没
  • 拓展知识 启望未来

    炎炎六月 迎来了备受期待的 亚信科技AntDB数据库初级认证培训 活动 通过培训 希望内蒙古移动及项目组的伙伴们能够系统学习到国产数据库的核心知识 提升专业技能 为服务感知提升 运维团队培育注入新的活力 26号上午 首先由内蒙古移动智慧运维
  • 【10】Docker私有仓库

    一 私有仓库搭建与配置 1 拉取 私有仓库 镜像 docker pull registry 2 创建并启动 私有仓库 容器 docker run di name registry p 5000 5000 registry 打开浏览器输入地址
  • JavaScript Boolean 对象

    解释 Boolean 对象用于转换一个不是 Boolean 类型的值转换为 Boolean 类型值 true 或者false 语法 var a true var b false Boolean 对象属性 属性 描述 constructor
  • 数据结构学习系列之顺序表的两种创建方式

    方式1 通过返回值返回所申请的内存空间的首地址 示例代码 list t create seq list 1 list t p list t malloc sizeof list t if NULL p printf 内存分配失败 n exi
  • linux内核、驱动和硬件之间的关系和通信

    linux驱动是直接和硬件打交道的软件程序 层次结构上 它处于操作系统和硬件之间 驱动与linux内核的关系 驱动程序提供的一组设备驱动接口函数Device Driver Interface给操作系统在linux中 这一组设备驱动接口函数一
  • 前端axios下载excel文件(二进制)的处理方法

    前端axios下载excel文件 二进制 的处理方法 后端生成excel后 前端 click 事件进行下载 脱坑记录 亲测有效 lz 使用的是 axios 发起请求 首先 介绍一下思路 准备通过动态创建 a 标签 通过 blob 对象进行接
  • java调优总结

    JVM调优总结 序 几年前写过一篇关于JVM调优的文章 前段时间拿出来看了看 又添加了一些东西 突然发现 基础真的很重要 学习的过程是一个由表及里 再由里及表的过程 呵呵 所谓的 温故而知新 而真正能走完这个轮回的人 也就能称为大牛或专家了
  • 补充:YOLO模型训练时loss出现nan值或者测试时P\R\map全部为0值的解决办法(GTX16xx系列显卡)

    补充 1 参考1 2 补充 3 小结 1 参考1 在参考有头发的垃圾猿的 YOLO系列训练时出现loss出现nan值或者测试时P R map全部为0值的解决办法 GTX16xx系列显卡大坑 后 发现问题不能得到实际的解决 可能是版本不一样导