mmdetection2.0 配置 训练自己的数据集 和 验证出错的问题

在ubuntu下安装mmdetection只要按照官方教程就好了,基本没有问题。

 

训练自己的数据集的时候需要注意以下几点:

        不同于1.x版本,2.x版本所给出的模型大多为嵌套调用的方式,而1.x多为给定好模型。故选取好模型之后,只要按照其py文件里说明,按照步骤不一级一级的往下找就好了,而且由于这种嵌套方式,voc格式的完全只需要修改其中代表dataset部分的路劲即可,可移植性更强了,当你确定好某个模型只有,依旧可以模范1.x的方式,将需要的几个部分写在一个文件里面,更加便于自己的使用。 

进入正题:

当确定好模型后,比如此时用faster_rcnn_x101_64x4d_fpn_1x_coco.py

该文件在  mmdetection/configs/faster_rcnn/ 下,打开会看到:

所以可以看到,其模型还是套娃的方式,其主体部分来源于 faster_rcnn_r50_fpn_1x_coco.py ,这样逐步往下:

其实大部分模型运行相关,也都是在__base__下这三部分,模型、数据集、调度器

这里datasets我改成了voc0712,本来应该是coco_detection的。相比于1.x版本需要在一个py文件下修改,2.x版本的直接替换调用就自由很多。此时对应你的数据集格式进行类似于下图的修改(只是修改文件路径就好了,上面的预处理增强等先不需要管)

修改为datasets就要看下model了,这里面也就是对头部的分类器数目修改,为你的分类数目,不需要像1.x版本一样引入+1的背景数,比如我这里是个27分类问题,改为27就好。标题提到的训练时,验证集报错的原因就是因为这个,因为求mAP的时候,你填写的28,但是实际类别列表里面并不存在28的类别,故一旦有被误检测为第28类时,求取mAp时就会报 list index out of range

的错误。(苦恼我三天的问题。。。。。)

需要根据自己的gpu情况进行调整训练的batch大小,主要就是修改上述samples_per_gpu。

 

修改好model之后就轮到schedule了,这个里面你需要修改下学习率就好,关于学习率官方文档有很好的说明,也就是训练的batch量与学习率成正比,按照这个比例  lr=0.01  for 4 GPUs * 2 img/gpu  修改。total_epochs为训练的轮数。

default_runtime无需修改。

上述是和模型相关的,还有些准备工作需要修改:

此处需要修改你的CLASSES,例如你用的voc格式,如下,你需要修改将此处修改为你的分类名称

还有这里的class_name.py里面的你对应的数据格式的分类名,会在验证的时候被查询:

至此基本修改结束了,

 

然后就可以愉悦的进行训练了,训练过程按照官方说明就好。注意args的格式要求,多GPU时,args关于GPU_nums直接填写数字就好。

 

这是在 验证阶段出现的 list index out of range的情况,解决方案见上面。

  • 10
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
mmdetection3是一个基于PyTorch的开源目标检测工具包,它提供了丰富的目标检测算法和模型,可以用于训练和测试自己的数据集。下面是使用mmdetection3训练自己的数据集的一般步骤: 1. 数据准备:首先,你需要准备自己的数据集。这包括标注每个图像中的目标位置和类别信息。通常,你需要将数据集划分为训练集和验证集,并将它们组织成特定的文件夹结构。 2. 配置模型:接下来,你需要选择适合你的任务的模型,并配置相应的参数mmdetection3提供了多种预训练模型,如Faster R-CNN、Mask R-CNN等。你可以根据自己的需求选择合适的模型,并在配置文件中进行相应的修改。 3. 数据预处理:在训练之前,你需要对数据进行预处理。这包括图像的缩放、裁剪、归一化等操作。mmdetection3提供了一些常用的数据增强方法,如随机翻转、随机旋转等,可以在配置文件中进行设置。 4. 训练模型:一切准备就绪后,你可以开始训练模型了。使用mmdetection3提供的训练命令,指定配置文件和其他参数,即可开始训练训练过程中,模型会根据配置文件中的设置进行迭代优化,直到达到指定的停止条件。 5. 模型评估:训练完成后,你可以使用验证集对模型进行评估。mmdetection3提供了评估命令,可以计算模型在验证集上的精度、召回率等指标。 6. 模型推理:最后,你可以使用训练好的模型对新的图像进行目标检测。mmdetection3提供了推理命令,可以加载训练好的模型,并对输入图像进行目标检测。 希望以上介绍对你有帮助!如果你有任何进一步的问题,请随时提问。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值