-
Notifications
You must be signed in to change notification settings - Fork 542
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Bug] The reproduced mAP is much less than the official result(RTMDet, O-RCNN, RetinaNet)/复现mAP离官方宣称结果差别较大 #1036
Comments
同蹲一个答案,好像之前看有几篇也是自己的repo给的会比mmrotate复现的高 |
我跑官方的config也打不到宣称的进度。请问你用dota数据集是如何切图处理的? |
@WenLinLliu 我是直接用mmrotate自带的工具分割的, |
感谢回答,再问一下,val验证集只做验证吗,需不需要把验证集拿去训练 |
按照论文中的分割方式处理DOTA数据集,val验证集只做验证,使用8块A100训练300epoch,提交官方服务器mAP: 0.5102483053329094。 |
你可以看看这个官方文档 https://mmrotate.readthedocs.io/zh-cn/v0.3.4/model_zoo.html |
我也试了好多方法,复现不出人家的指标,感觉唯一的区别就是硬件不一样 |
好嘞,感谢老哥,这里面map数据应该是test数据集的性能,我还没把测试test数据集结果传到服务器评估,目前只是根据mmrotate的训练日志里的数据对比着看的 |
要提交到官方服务器去测,项目里面有大佬提供的权重文件,你可以用来测试,提交到服务器,看看能不能达到项目所述指标。 |
我有一个建议:官方给的mpa可能是在多尺度分割图片的情况下得到的结果。而在单一尺度下达不到这种精度很正常 |
ss 是原生尺寸,而ms是多尺度训练。我不是很清楚你知道复现是哪一个模型,我建议你可以排查一下原文是否使用了多尺度训练
…---- 回复的原邮件 ----
| 发件人 | ***@***.***> |
| 发送日期 | 2024年7月25日 16:24 |
| 收件人 | ***@***.***> |
| 抄送人 | ***@***.***>,
***@***.***> |
| 主题 | Re: [open-mmlab/mmrotate] [Bug] The reproduced mAP is much less than the official result(RTMDet, O-RCNN, RetinaNet)/复现mAP离官方宣称结果差别较大 (Issue #1036) |
这是我训练的权重在dota评估服务器评估的的结果,应该算是复现成功了吧。预训练文件用的官方在imagenet训练的resnet50,数据集用的ss_trainval.json分割的,完全照搬mmrotate设置。但是训练日志里最后验证指标还是0.85跟官方训练日志的0.89还是差了一些
image.png (view on web)
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.Message ID: ***@***.***>
|
官方的默认都是单尺度性能,多尺度的话会在配置文件名上加 |
@yangxue0827 作者好,那请问这种版本问题造成的结果偏低大概是什么范围呢?像我在最开头提到过的那些数据算正常吗? |
|
建议是自己将需要对比的方法重新在同版本代码下跑一遍,mmrotate提供的仅供参考。而且你现在测出来的75.84的test已经比我们报的75.69要高了。 |
|
@yangxue0827 好的,那请问如果我需要在论文中对比的话,是可以直接用自己重新训练现有方法的结果对比吗?还是说得用现有方法论文提供的官方数据? |
好的,感谢 |
如果你是用test对比的话,可以直接采用mmrotate的,因为评测代码都是用官方的,比较公平和可靠。mmrotate的online eval仅供参考,一个原因是他是小图的评测,另一个原因是eval代码经历过修改和官方的也不一定一致。如果需要用验证集调参数(当然这里验证集就不要参加训练了),也建议用官方的评测脚本来评估验证集整图的检测结果。 |
感觉对比的话控制好变量就行,哪个数据有利就用哪个,自己跑的绝对真实,如果自己方法性能好到碾压对比方法的paper数据,感觉就没必要再跑一遍了 |
如果是希望公平对比,就用mmrotate的结果,不要用论文的结果,因为每篇论文setting不一致,不好直接比较的,这个也是做mmrotate的意义。如果你是要刷SOTA,你可以和原论文的比较,毕竟这里也不care用什么手段了。 |
mmrotate不是哪篇早期文章的官方代码(当然后面直接用mmrotate开发的不算),mmrotate也没有刻意去完全复现它们(指的是setting和各种稀奇古怪的tricks保持一致),mmrotate的作用是让大家在相同环境和设置下公平比较。如果实在想复现原文的点,还是要用它们开源的代码去跑。 |
请问你这说的online eval是指哪种,我上面贴的test集结果都是通过修改configs里的dota.py,将下面的那段注释去掉生成zip,交到DOTA官网计算指标的。 mmrotate/configs/_base_/datasets/dota.py Lines 67 to 85 in d92844a
还是说 |
理解,也就是比方法消融的时候可以用自己训练的,最后贴SOTA结果对比时再用论文官方数据。 |
训练的时候不是会每训练几个epoch后会做一次eval出map。当然你给的这种也是可以手动测的。 |
Prerequisite
Task
I'm using the official example scripts/configs for the officially supported tasks/models/datasets.
Branch
dev-1.x branch https://github.com/open-mmlab/mmrotate/tree/dev-1.x
Environment
这是相应的训练时的日志(仅保留训练epoch开始前的部分)
orcnn_20240314_083322.log
rtmdet-r-m_20240416_115227.log
rotated-retinanet-rbox-le90_r50_fpn_1x_dota_20240523_100514.log
Reproduces the problem - code sample
None
Reproduces the problem - command or script
oriented-rcnn-le90_r50_fpn_1x_dota
rotated_rtmdet_m-3x-dota
rotated-retinanet-rbox-le90_r50_fpn_1x_dota
Reproduces the problem - error message
Oriented_RCNN
RTMDet-R
RetinaNet
如上面所示,这些是我自己从ImageNet预训练模型开始从头singlescale训的结果
离官方宣称的结果差别还是很大,在RTMDet-R这里已经有接近1个点的AP50差距了
Additional information
The text was updated successfully, but these errors were encountered: