目标检测7日打卡营作业二:RCNN系列模型实战
PaddleDetection中yml配置文件更改
目标检测7日打卡营作业二:RCNN系列模型实战
本文章主要记录《目标检测7日打卡营作业二:RCNN系列模型实战》的yml文件配置更改,主要包括添加FPN,更改backbone等初步方案,在baseline基础上提升检测效果。
如何更改
作为PaddleDetection小白,当然是通过迁移学习了。可以git clone PaddleDetection的工程代码,也可以直接在github中搜索PaddleDetection的工程,然后进入configs目录,就可以找到很多yml文件作为参考。
- backbone更改 ,yml内容中出现的Resnet、Resnext等主干的地方就是backbone的更改位置。;
- 然后参照其他yml,本文是将Resnet更改为Resnext,那么就可以参照faster_rcnn_x101_vd_64x4d_fpn_2x.yml进行Resnext的调整;
- 迭代次数等自定义参数更改 ,1、这个根据个人判断,将参数调整为自己需要的。本文将Epoch设置为20,那么max_iters就是20*593,milestones分别在Epoch为10、15、18时调整学习率;2、pretrain_weights,这是预训练模型读取路径,这里有个技巧就是当你不确定有没有提供一个模型时,可以直接把路径输入浏览器查看,比如https://paddle-imagenet-models-name.bj.bcebos.com/ResNeXt101_vd_64x4d_pretrained.tar,可以下载,那就提供了,你就可以使用。
-
Reader:一定要详细查看baseline的reader和自己调整后模型对应的reader,比如本人在更改以上参数后,reader使用了baseline的,就报错了。后来发现- !PadBatch
pad_to_stride: 32
use_padded_im_info: true ;是需要的,我就干脆直接copy这个Reader,然后参照baseline慢慢调整。
结果
调整完,结果还不错吧,贴一下结果图。
强啊,PaddleDetection,强烈安利一波。地址:https://github.com/PaddlePaddle/PaddleX