概述
第一次参加这类较大型的人工智能赛事,我在初赛A榜取得了100+的名次,B榜则由于时间安排问题未能交卷,十分遗憾。
但是作为一个过程论者,我仍在今夜十分欣喜地总结这一段比赛的收获。——2021年4月8日
1 mmdetection的使用遇到的一些坎
1怎么安装?
尤其是在比赛当中我租用的gpu上快速搭建开发环境需要熟练。
期间遇到了mmcv安装的报错——mmdetction需要安装mmcv-full,而安装的方法见我的博客
2 自定义数据集
目前我掌握了自定义coco数据集的方法,自定义coco数据集主要难点(说繁更为合适)在于制作转换脚本,这次比赛官方提供了裁剪大型图片数据集供训练以及coco的转换脚本。这里澄清了一个问题:coco安排数据格式并不要求图片必须放在一个文件夹里.coco格式,主要是对annotation的 json 的格式做出了规范,并不一定要求图片放到一个文件夹里!
3 config文件是mmdetection的使用核心
几乎一切东西都在这里:冻结参数,确定每个gpu的训练图片个数(samples_per_gpu–batch size),确定每个gpu的workers数(workers_per_gpu)(我搞不明白这workers_per_gpu有什么用,单卡时似乎没用,设成0就可以),网络的结构,训练和测试的流程,学习率,数据增强等。
下一次可以尝试从头写一个config,不套娃,这样更一目了然,而且按照官方教程里面的一个短短的config,在已有的config文件上继续套娃,很多东西都必须小心,比如test_pipeline不能重复定义,这意味着用户不能自由的用现在的顶级套娃config做很多事–调整图片尺寸等,我就是在lr_scheduler里面修改学习率并在coco_detection等一批文件里把默认的1333*800修改为我想要的尺寸的。
因此下一次自己不使用套娃来写config.
关于config里各项参数的解释
2 训练的注意事项
我使用的仅仅是微调了cascade rcnn,使用的骨干网络是resnet101,冻结了参数。把类别调了一下子。
过程当中,调节尺寸是个很重要的东西,尺寸大了训练慢(时间主要花在cv2 库装载 —cv2.imread上),但是精度相对会高一些——一个是裁剪的损失小了,另一个是可以捕捉到更大尺寸的东西(尤其是vehicle),我做过数据分析:有一辆车的尺寸大于一万。
3 关于训练
1 不要怕花钱
2 多gpu训练和测试
B榜没能提交的直接原因是没有测试完成。我最终总结了使用mmdetection多gpu测试的方法:
在config里定义好samples_per_gpu,然后使用./tools/dist_test.sh多gpu测试。详情见官网
原来要3万多秒才可完成,现在是2万多秒就可以(我用了三张K40),但是这个速度仍不令人满意。(应该更快阿,一万秒左右最合适了,花费*3了,然而时间并没有/3)
最后
以上就是高兴毛衣为你收集整理的aliyun2021全球人工智能技术创新大赛初赛总结1 mmdetection的使用遇到的一些坎2 训练的注意事项3 关于训练的全部内容,希望文章能够帮你解决aliyun2021全球人工智能技术创新大赛初赛总结1 mmdetection的使用遇到的一些坎2 训练的注意事项3 关于训练所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复