【mmdetection】用自己的coco数据集训练mask r-cnn并进行验证、测试,推理可视化,更改backbone,只针对某一标签进行训练

本文详细介绍了如何在Ubuntu20.04LTS环境下,利用MMDetection框架,使用自定义的COCO数据集训练Mask R-CNN模型。涉及步骤包括数据集准备、配置文件修改、模型训练、测试、推理及可视化,并探讨了更换backbone如ResNet101、ResNeXt、Res2Net和ResNeSt的影响。
摘要由CSDN通过智能技术生成

大前提:Ubuntu20.04LTS

本人呕心沥血从无到有的摸索,自己边尝试边整理的,其实耐心多看官方文档确实能找到很多东西(下面有官方文档的链接这里就不重复粘贴了),也为了方便我自己copy语句嘻嘻~

为什么不是用Windows,作为一个小白我一开始真的想用windows,因为我懒得配双系统,但是没办法,是真的lj,安装又难,训练有诸多限制,就so sad知道吧。安装就看别的博主吧跟着别的博主so easy嘿嘿~

一、准备好自己的coco数据集

labelme标注的数据集生成json文件,使用labeleme2coco.py分别生成train,test,val的json文件。

二、修改配置文件

2.1 ./mmdet/dateset/coco.py

修改对应类别(只有一个类别时需要在第一个类别后加上,)PALETTE是调色板,设置对应CLASSES的mask颜色,只有一个颜色或者没有定义则系统自己生成mask颜色并且所有类别颜色一致。

2.2 ./mmdet/core/evaluation/class_names.py

找到对应coco_classes修改

2.3 ./configs/mask_rcnn/mask_rcnn_r50_fpn_1x_coco.py

按照里面的路径找到并修改配置文件

2.4 ./configs/base/models/mask_rcnn_r50_fpn.py

ctrl+f找到num_classes修改成自己的数量,不需要+1,文件里边有多少个num_classes都得改

如果需要保存最佳权重文件,则在这句上加上save_best='auto'

evaluation = dict(metric=['bbox', 'segm'], save_best='auto')

2.5 ./configs/_base_/datasets/coco_instance.py

  1. 有多处要修改,这里要修改的是指向自己数据集的路径

  1. 这里的img_scale要修改大小,CUDA memory够大可以直接改成自己数据集的图片大小,我的8+16G改成自己的(2000,2000)疯狂爆内存,只能改(800,2000)或者backbone层数少的话可以(1000,2000),这个resize是会选取自适应的,我在这里卡了超级久,气死我了,后面发现是我对resize的理解错了,后面看到文档解释才反应过来是这里的问题。一开始不想resize才改的(2000,2000),一直cuda out of memory,真的捉鸡!!!

对resize参数解读原文:https://zhuanlan.zhihu.com/p/381117525

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值