天天看点

MMdetection 踩坑笔记本文总结

本文总结

最近经常使用mmdetection完成一些检测任务,在这里记录一些因为环境问题踩的坑,本人水平有限,写的不好的地方希望大家多多指教:)

问题1:ModuleNotFoundError: No module named ‘mmcv._ext’

解决措施:

pip uninstall mmcv mmcv-full

git clone https://github.com/open-mmlab/mmcv.git

cd mmcv

MMCV_WITH_OPS=1 pip install -e .

问题2:RuntimeError: CUDA error: invalid device function (NMSCUDAKernelLauncher at ./mmcv/ops/csrc/pytorch/nms_cuda.cu:50)&[1] 52516 segmentation fault (core dump

MMdetection 踩坑笔记本文总结

在运行train.py的时候提示这个错误,我感觉大概率是因为环境中的cuda和pytorch,mmcv等的版本不匹配,我是下面一个思路去重新安装环境的:

1.首先获取到当前mmdet和mmcv的版本,看是否匹配

MMdetection 踩坑笔记本文总结
MMdetection 踩坑笔记本文总结

现在我的mmcv版本为1.2.6,有点太高了,保险起见我把mmcv版本按照上表的要求降到了1.0.2(命令:

pip install mmcv==1.0.2

2.根据当前mmcv版本需要的cuda版本在官网中找到合适的编译命令

MMdetection 踩坑笔记本文总结

我之前的cuda版本为10.0,但是官网中没有提供关于这个版本的编译命令,因为我还安装了cuda10.1。故按照官网指示我运行了如下命令:

pip install mmcv-full==1.0.2 -f https://download.openmmlab.com/mmcv/dist/cu101/torch1.3.0/index.html

运行之后再次运行 train.py时开始了正常训练,查看版本已成功修改:)

MMdetection 踩坑笔记本文总结