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,因此就会导致出现两个分支(进程),就会产生不同组的图做的随机操作完全一样的情况。
 

<think>好的,我现在需要帮助用户在Ubuntu系统上安装mmdetection框架。首先,我应该回顾用户提供的引用资料,确保信息准确。用户提供了四个引用,都是关于安装mmdetection和相关依赖的步骤。 首先,根据引用[3],安装前需要满足系统要求,比如Ubuntu、Python 3.6+、PyTorch 1.3+、CUDA 9.2+、GCC 5+和MMCV。用户可能已经安装了部分依赖,但需要确认。比如,检查CUDA版本是否正确,GCC是否至少5.0以上。如果用户没有安装这些,可能需要先安装。 接下来,引用[2]提到使用MIM来自动安装MMDetection,这应该是一个比较方便的方法。步骤包括安装openmim,然后通过mim install mmdet。这样可以自动处理依赖,比如mmcv-full。这可能是推荐的安装方式,因为它简化了过程,减少了手动安装可能出现的错误。 引用[1]中的步骤涉及conda环境的激活和安装gcc,可能需要用户先创建并激活conda环境,然后安装必要的编译工具,如gcc。此外,安装MMDetection可能需要从源码克隆仓库,如引用[4]中的git clone命令,但用户是否需要源码安装呢?如果使用MIM的话,可能不需要,但如果是安装mmdetection3d的话可能需要。用户的问题是关于mmdetection,所以可能只需要基本的步骤,不需要3d版本。 现在,整理步骤:首先创建conda环境,安装PyTorch和CUDA,然后通过MIM安装mmdetection。或者按照官方文档的步骤,手动安装mmcv-full和其他依赖。需要确认哪种方法更适合用户的情况。根据引用[2]和[3],使用MIM更简单,所以推荐这种方法。 可能的潜在问题包括CUDA版本不匹配,导致mmcv-full无法正确安装。用户需要确保CUDA版本与PyTorch版本对应。例如,如果用户有CUDA 10.1,需要安装对应的PyTorch版本。此外,GCC版本过低可能导致编译错误,需要安装或升级GCC到5以上。 用户可能还需要安装依赖包,如cython、numpy等,但这些可能通过MIM自动处理。最后,验证安装是否成功,可以通过运行demo或检查mmdetection的版本。 在生成相关问题的时候,需要考虑用户可能遇到的后续问题,比如环境配置、依赖冲突、验证安装是否正确,或者如何从源码安装等。 总之,步骤大致是:1. 创建conda环境;2. 安装PyTorch和CUDA;3. 安装MIM和mmdetection;4. 验证安装。需要确保每一步都正确,并处理可能出现的依赖问题。</think>### 在 Ubuntu 系统中安装 MMDetection 框架的步骤 #### 1. **安装系统依赖** - 确保已安装 `gcc` 和 `git`: ```bash sudo apt update sudo apt install gcc git ``` 引用[1]提到安装 `gcc` 是必要步骤[^1]。 #### 2. **创建并激活 Conda 环境** - 新建 Python 3.7+ 的 Conda 环境(建议 Python 3.6+): ```bash conda create -n mmdet python=3.8 -y conda activate mmdet ``` #### 3. **安装 PyTorch 和 CUDA** - 根据 CUDA 版本安装对应 PyTorch(需与 MMDetection 兼容): ```bash # 示例:CUDA 11.3 + PyTorch 1.12.0 pip install torch==1.12.0+cu113 torchvision==0.13.0+cu113 --extra-index-url https://download.pytorch.org/whl/cu113 ``` 确保 CUDA 版本与 PyTorch 匹配(如 CUDA 9.2+/10.2+/11.3+)[^3]。 #### 4. **通过 MIM 安装 MMDetection** - 使用 `openmim` 简化安装流程: ```bash pip install openmim mim install mmdet ``` 这会自动安装 `mmcv-full` 和其他依赖[^2]。 #### 5. **验证安装** - 检查是否安装成功: ```python python -c "import mmdet; print(mmdet.__version__)" ``` - 若输出版本号(如 `2.25.0`),则安装成功。 --- ###
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值