MMDetection的干货总结

MMDetection的干货总结

1.无法按照github官网的命令运行demo或者运行完之后没反应

python demo/image_demo.py demo/demo.jpg configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.py \
    checkpoints/faster_rcnn_r50_fpn_1x_coco_20200130-047c8118.pth --device cpu

pytorch1.6很容易造成无法使用demo或者运行完报有关CLASSEA、checkpoint警告的错误。建议使用pyyorch1.5版本和对应的cuda。我的版本是pytorch1.5.0+cuda10.1,环境是Ubuntu20.04。

2.关于无法import show_result的问题
百度MMDetection教程,我们可以发现很多教程都有这样一句:

from mmdet.apis import init_detector, inference_detector, show_result

但是现在show_result已经不在apis里了。我也是知乎上经大佬指点之后去了github留言区找问题,发现现在show_result已经转到了 mmdet.models.detectors 的BaseDetector下。
(https://github.com/open-mmlab/mmdetection/issues/3771)

但是其实安装官网给的“High-level APIs for testing images”已经是不需要我们直接用这个show_result了。当然想自己试试的也可以用。

3.data 和checkpoints两个文件夹需要在mmdetection下自己创建
data的文件格式安装官方的样子存放就能省很多修改配置文件的麻烦,如果是用自己的数据集,别忘记修改配置文件。配置文件在mmdetection/configs/base/datasets下。

4.训练前需要改配置的几个文件
以我用的VOC数据集为例,我训练前需要改的文件是:

在这里插入图片描述以上三个文件夹在上面说的__base__下。

另外还有一个配置文件是:
在这里插入图片描述在configs/retinanet中。

各个文件中参数的含义可以参考其它博主的博客:
mmdetection的configs中的各项参数具体解释

以上四个配置文件中需要注意的地方有:
voc0712.py:

dataset_type和data_root是不是自己数据集的位置。dataset_type和data_root是不是自己数据集的位置。

zhe这些data_root的地方注意是不是自己数据集对应的地方。

schedule_1x.py:
可以根据自己的需要调整学习率,或者训练次数什么的。

retinanet_r50_fpn.py:
根据自己的需要调整网络结构。需要注意的是num_classes的值要改成自己数据集种类的数量。像我用VOC这里就是20,如果用COCO是80。

在这里插入图片描述还有mmdetection/mmdet/datasets下的对应配置文件也需要修改,
在这里插入图片描述这里需要把类的名称修改成自己数据集的对应类名称。

具体的还是看官方文档吧。
mmdetection New Data

retinanet_r50_fpn_1x_coco.py:
在这里插入图片描述注意把“…/base/datasets/coco_detection.py”改成自己对应的py文件。

这里有个optimizer,下面的配置文件"schedule.py"里也有个optimizer。这一点我也没弄明白,只知道两个可以共存也可以注释掉一个。如果有人知道他们的关系请告诉我,我也很想知道。._.

5.补充:
checkpoints里的.pth权重预训练文件可以在mmdetection/configs/faster_rcnn/README.md(以faster_rcnn为例)里找到下载链接。
在这里插入图片描述
最后,我也是刚开始用这个MMDetection。我发现自从它更新之后,网上很多教程都不适用了,因此走了很多坑。如果用什么不对的地方欢迎指正。

  • 10
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值