错误:EfficientDet网络出现“No boxes to NMS“并且mAP:0.0的解决方案
创始人
2024-05-28 12:48:47
0

近日,在使用谷歌新推出来的一个网络EfficientDet进行目标检测训练自己的数据集的时候,出现了如下错误:

其中项目开源地址是:https://github.com/toandaominh1997/EfficientDet.Pytorch

  

上面截图中的1和2代表我的类别名称。读者可以忽略不管。

No boxes to NMS
No boxes to NMS
No boxes to NMS
No boxes to NMS
No boxes to NMS
No boxes to NMS
No boxes to NMS
No boxes to NMS
No boxes to NMS
No boxes to NMS
No boxes to NMS
No boxes to NMS
79/79
mAP:
1: 0.0
2: 0.0
avg mAP: 0.0
No boxes to NMS
79/79
mAP:
1: 0.0
2: 0.0
avg mAP: 0.0
30 epoch:        start training....

最开始出现这个错误的时候我并没有管,我以为是因为模型刚开始训练效果不太行,直到后面运行到30 epoch时,依旧是这个错误并且mAP还是0.0,我就知道肯定哪个环节出现了问题。但是这个错误百度基本没有,于是我在issues里面查看是否有人遇到了相同的问题

  

尽管有人遇到了相同的问题,但是并没有什么好的解决方案。

几个小时过后,我突然灵机一动,会不会是我训练时导入的预训练的问题。如下面这行代码所示:

parser.add_argument('--network', default='efficientdet-d7', type=str,help='efficientdet-[d0, d1, ..]')

因为我在项目地址里面看到博主提到这个项目已经支持efficientdet-d0--- efficientdet-d7,所以我当时就没多想,但是我后面把这行代码稍微改一下

parser.add_argument('--network', default='efficientdet-d1’, type=str,help='efficientdet-[d0, d1, ..]')

这个问题就解决了,loss值也在下降了,mAP的值也不是0.0了。

  

  

  

总结:我也不知道到底什么原因引发了这个错误,但是我想我这个解决方案肯定不是唯一的解决方案,有可能只是对我本人有效,对于读者有没有效果我就不太清楚了,所以我这个解决方案仅供大家参考。

另外,在我解决掉这个错误后,我又在issues上发现了有大佬回答了这个错误。那就是降低torchvision的版本。

  

这个解决办法有没有效果我还没有尝试过,我在这里记录下来仅供读者参考。

相关内容

热门资讯

前端-session、jwt 目录:   (1)session (2&#x...
linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
nodejs:本地安装nvm实... 一、背景-使用不同版本node的原因 vue3+ts、nuxt3版本,node...
JAVA集合知识整理 Java集合知识整理 HashMap相关 HashMap的底层数据结构:jdk1.8之...
无刷直流电机介绍及单片机控制实... 无刷直流电机介绍及单片机控制实例前言基本概念优势与劣势使用寿命基本结构使用单片机控制实例电子调速器&...
fwdiary(2) dp2 1.传纸条  AcWing 275. 传纸条 - AcWing 走两条路,走一条最大的...
常用的DOS命令 常用的DOS命令 DOS(Disk Operating System,磁...
<C++> 类和对象(下) 1.const成员函数将const修饰的“成员函数”称之为const成员函数,cons...