文章目录
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
- 设置config
- 修改configs/base/datasets/coco_detection.py
samples_per_gpu:设置一个gpu的batch_size
训练集、验证集、测试集路径
- 修改configs/base/models/faster_rcnn_r50_fpn.py
将num_classes 改为自己的数据集类别数 - 修改configs/base/schedules/schedule_1x.py
修改learning_rate,total_epoch - 修改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的时候没有编译安装;
- conda install libgcc
- pip uninstall mmcv
- pip install mmcv-full
错误3:loss 出现nan
单张gpu跑几个迭代,loss出现Nan,loss_rpn_cls, loss_rpn_bbox, loss_cls: loss_bbox都有可能出现Nan;
- 调试了好久,试了SSD模型、重装了环境、换了cuda10.1,都无法解决问题。
- github的项目上有好多人出现nan这个问题,试了其中检查数据标注框是不是有超出图片,还是没有解决问题;
- 最后改成跑两张卡,nan自己消失。
4.相关设置
1. 测试coco显示每个类别AP
修改mmdet/datasets/coco.py:
将classwise改为True