【已办理】ERROR:The testing results of the whole dataset is empty

[复制链接]
查看868 | 回复0 | 2023-8-23 12:12:42 | 显示全部楼层 |阅读模式
题目形貌

使用MMdetection复现论文swin Transformer,体现错误:ERROR:The testing results of the whole dataset is empty,与此同时,各项评价指标如AP,AR效果趋于零,F1值酿成-1,loss与grad_norm爆炸增长,详细情况如下图:
图1 图2:

图3:
题目分析

看到报错的第一眼,猜测大概是数据集的题目,以是查抄了数据集的路径,然后查抄了数据集内里是否有图片,但经过一番验证,清除了这种大概性。如果数据集自己有题目,代码一开始就无法运行起来,由于mmdet肯定会报错,而且报错内容是:找不到数据集或者说找不到某张图片。
再仔细观察报错:ERROR:The testing results of the whole dataset is empty,拿不到测试效果,连合爆炸的loss与grad_morm,我有来由怀疑是梯度爆炸或者梯度消散所导致的。有了这个猜测,我转头审视自己的代码,最有大概导致梯度爆炸的超参数就是学习率lr,是不是我自己设置的学习率lr不符合
学习率是啥?
学习率是梯度下降多次迭代过程中,用来控制模子学习进度的超参数。可以这么明确,学习率大就学的快(梯度下降块),学习率小就学得慢,但学习率并非越大越好,学习率过大,轻易造成梯度爆炸或者消散。
办理办法

MMdetection默认的学习率,大多都是0.02,如果不刻意更改,模子会使用这个学习率去练习,swin Transformer没办法在lr=0.02条件下练习,将学习率更改为论文设定的0.0001,模子就正常练习。
在MMdetection中,学习率的调解是在目录:configs/base/schedules/schedule_1x.py文件中:

学习率调解后的正常的练习效果:


来源:https://blog.csdn.net/fengbao24/article/details/127258699
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则