您当前的位置: 首页 >  目标检测
  • 4浏览

    0关注

    417博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

detectron2(目标检测框架)无死角玩转-02:训练,测试coco数据

江南才尽,年少无知! 发布时间:2020-01-18 11:41:40 ,浏览量:4

以下链接是个人关于detectron2(目标检测框架),所有见解,如有错误欢迎大家指出,我会第一时间纠正。有兴趣的朋友可以加微信:17575010159 相互讨论技术。若是帮助到了你什么,一定要记得点赞!因为这是对我最大的鼓励。 文末附带 \color{blue}{文末附带} 文末附带 公众号 − \color{blue}{公众号 -} 公众号− 海量资源。 \color{blue}{ 海量资源}。 海量资源。

detectron2(目标检测框架)无死角玩转-00:目录

前言

通过前面的博客,我们知道如何去使用官方已经训练好的模型,接下来当然是训练自己的模型呗,为了验证流程的正确,我们先使用coco数据集进行训练,因为这也是官方默认支持的数据集,比较容易操控,那么我们就开始吧

数据集下载及摆放

首先我们阅读datasets/README.md的,可以看大如下: 在这里插入图片描述 根据上面的提示,摆放好下载的数据集,本然摆放如下

datasets
	--coco
 		--annotations
 		--train2017
 		--val2017

如果你仅仅是想随便测试一下,可以通过执行./prepare_for_tests.sh下载一个小版本的数据集,本人测试是下载了所有数据集。

上面的数据集,是实力分割的,如果我们先测试语义分割: 在这里插入图片描述 先按上面的要求的安装panopticapi :

pip install git+https://github.com/cocodataset/panopticapi.git

然后再运行prepare_panoptic_fpn.py。当然我们先要去下载coco对应的panoptic数据集,并且摆放好。后面的LVIS, cityscapes, Pascal VOC 数据集也是同样的原理,按照要求摆放即可。这里就不做过多的介绍了,总得来说,就是detectron2支持很多数据集的格式。下面我们来开始训练coco数据集把。

训练coco数据集

我们回到detectron2/GETTING_STARTED.md,可以看到: 在这里插入图片描述 根据上面的提示,本人在一个GPU上进行训,执行如下:

python tools/train_net.py \
--num-gpus 1 \
--config-file configs/COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_1x.yaml SOLVER.IMS_PER_BATCH 2 SOLVER.BASE_LR 0.0025

在这里插入图片描述 然后在会生成output目录显示如下,存在如下文件: 在这里插入图片描述 等待训练完成之后,模型也会保存到这里,如果我们想训练不同的模型,我们只需要配置–config-file对应的 yaml 文件即可,比如我想训练 retina 的检测检测网络,则只需要执行如下指令即可:

python tools/train_net.py \
--num-gpus 2 \
--config-file configs/COCO-Detection/retinanet_R_50_FPN_3x.yaml SOLVER.IMS_PER_BATCH 2 SOLVER.BASE_LR 0.0025

模型训练的方式知道,那么我们总需要知道我们的模型的效果究竟如何,也就是对模型进行评估。

模型评估

我们继续阅读detectron2/GETTING_STARTED.md,可以看到在这里插入图片描述 在测试之前呢,我已经通过以下链接下载好了一个模型: https://github.com/facebookresearch/detectron2/blob/master/MODEL_ZOO.md 在这里插入图片描述

当然,你也可以使用自己训练好的模型,下载好模型之后,本人存放在如下位置, 在这里插入图片描述 那么本人需要执行的指令为:

python tools/train_net.py \
--config-file configs/COCO-Detection/retinanet_R_50_FPN_3x.yaml \
--eval-only \
MODEL.WEIGHTS offimodel/model_final_4cafe0.pkl 

大家要注意的是,对于SOLVER.IMS_PER_BATCH,MODEL.WEIGHTS这样的参数,我们必须写在末尾。还有就是我们可以发现,对于模型的评估,指定checkpoint文件的路径以及pkl文件的路径都是可以的。运行之后,本人打印如下: 在这里插入图片描述 在这里插入图片描述 可以看到训练的结果还是很好的。

结语

现在,我们已经知道如何去训练官方的coco数据集,那么接接下来我们就去训练自己的数据,今天是小年哈,祝大家2020年抬头不见bug,低头就见姑娘。对象总比bug多!!

在这里插入图片描述

关注
打赏
1592542134
查看更多评论
立即登录/注册

微信扫码登录

0.0389s