mmdetection 2.0 训练自己的数据

1. 安装过程

环境:ubuntu 18.04, GPU,cuda-10.2,conda

官方安装地址

1.conda create -n open-mmlab python=3.7 -y
2. conda activate open-mmlab
3. conda install pytorch cudatoolkit=10.2 torchvision -c pytorch
这里10.1是cuda的版本,一定要-c pytorch,否则后面运行会报类似cannot find cuda10.so的错误
4. pip install mmcv-full==latest+torch1.6.0+cu102 -f https://openmmlab.oss-accelerate.aliyuncs.com/mmcv/dist/index.html
修改torch和cuda版本号
或者:pip install mmcv-full
6. git clone https://github.com/open-mmlab/mmdetection.git
7. cd mmdetection
8. pip install -r requirements/build.txt
可以直接运行:
pip install cython
pip install numpy
pip install -v -e . # or “python setup.py develop”

2. 训练自己数据

以coco格式数据集、faster R-CNN为例子;

1.project目录下创建data/coco/
安装coco: pip install “git+https://github.com/open-mmlab/cocoapi.git#subdirectory=pycocotools”
也可以:
git clone https://github.com/open-mmlab/cocoapi.git
cd cocoapi/pycocotools
python setup.py install

  1. 设置config
  2. 修改configs/base/datasets/coco_detection.py
    samples_per_gpu:设置一个gpu的batch_size
    数据路径
    训练集、验证集、测试集路径
    在这里插入图片描述
  3. 修改configs/base/models/faster_rcnn_r50_fpn.py
    将num_classes 改为自己的数据集类别数
  4. 修改configs/base/schedules/schedule_1x.py
    修改learning_rate,total_epoch
  5. 修改configs/base/default_runtime.py
    checkpoint_config: 几个epoch存一次模型;
    load_from 加载预训练好的模型;
    下载地址:model zoo

3. bug问题

错误1:COCO object has no attribute get_cat_ids

问题原因:装的cocoapi用的是github自带的,不是项目的,所以api不太一样;
解决办法:cocoapi没装对;不能装GitHub上的官方版本,装下面命令:
pip install “git+https://github.com/open-mmlab/cocoapi.git#subdirectory=pycocotools”

错误2:/_ext.cpython-37m-x86_64-linux-gnu.so: undefined symbol

问题原因:装mmcv的时候没有编译安装;

  1. conda install libgcc
  2. pip uninstall mmcv
  3. pip install mmcv-full

错误3:loss 出现nan

单张gpu跑几个迭代,loss出现Nan,loss_rpn_cls, loss_rpn_bbox, loss_cls: loss_bbox都有可能出现Nan;

  1. 调试了好久,试了SSD模型、重装了环境、换了cuda10.1,都无法解决问题。
  2. github的项目上有好多人出现nan这个问题,试了其中检查数据标注框是不是有超出图片,还是没有解决问题;
  3. 最后改成跑两张卡,nan自己消失。

4.相关设置

1. 测试coco显示每个类别AP

修改mmdet/datasets/coco.py:
将classwise改为True
在这里插入图片描述

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值