mmdetection安装出现的问题

问题1

安装mcv报错ImportError: libcudart.so.11.0: cannot open shared object file

ModuleNotFoundError: No module named ‘mmdet‘

这一类的问题原因是pytorch,mcv,mmdet,cuda版本不一致导致

我采用torch1.9.0,torchvisio,0.10.0,mcv1.6.0,mmdet2.28.2,cuda11.0.2后错误解决

可参考我的版本安装

pip install -U openmim
mim install mmcv-full==1.6.0
#或者直接安装
pip install mmcv-full==1.6.0

git clone https://github.com/open-mmlab/mmdetection.git
cd mmdetection
pip install -v -e .
# "-v" means verbose, or more output
# "-e" means installing a project in editable mode,
# thus any local modifications made to the code will take effect without reinstallation.

问题2

mmdetection训练自己的数据集时报错:

# AssertionError: The `num_classes` (2) in Shared2FCBBoxHead of MMDataParallel does not matches the length of `CLASSES` 80) in CocoDataset

你指定的类别(2种)与CocoDataset的类别(80种)不匹配

mmdetection-master\mmdet\core\evaluation\class_names.py

mmdetection-master\mmdet\datasets\coco.py

修改上述两个文件中的类别后重新编译代码,运行python setup.py install后仍然未解决。重新编译的后环境里的源文件没有修改,所以你才会报错。mmdetection-master目录下只是一些python文件,真正运行程序时,运行的还是环境里的源文件,因为我们直接去环境里修改源文件。

/usr/local/lib/python3.7/dist-packages/mmdet/datasets/coco.py

/usr/local/lib/python3.7/dist-packages/mmdet/core/evaluation/class_names.py

修改环境源文件后错误解决。

问题3

RuntimeError: DataLoader worker (pid(s) XXX) exited unexpectedly

因为读取数据可能存在gpu并行处理的问题这种情况可以将configs/_base_/datasets/coco_detection.py的gpu设小,我设为1后解决,只能读一张一张读图,后续再看看如何解决

samples_per_gpu=1,
workers_per_gpu=1,

sampers_per_gpu就是控制batch_size的,决定了dataloader一次从dataset里取几个样本(几张图),每张卡取多少sampers,总的batch_size要乘以你用的gpu显卡数目。

workers_per_gpu

这个参数决定读取数据时每个gpu分配的线程数 。

数据加载时每个 GPU 使用的子进程(subprocess)数目。因此如果workers=2,那就会把一个相同的随机种子seed同时作用于两个samper,因此就会导致出现两个分支(进程),就会产生不同组的图做的随机操作完全一样的情况。
 

你可能感兴趣的:(深度学习,人工智能)