MMDetection3D最全源码安装教程
目录
- 一、简介
- 二、mmcv-full安装
- 三、MMDetection安装
- 四、MMSegmentation安装
- 五、MMDetection3D安装
- 六、CUMM/SPCONV安装
- 七、参考链接
一、简介
MMDetection3D 是一个基于 PyTorch 的目标检测开源工具箱,下一代面向3D检测的平台,它是 OpenMMlab 项目的一部分,这个项目由香港中文大学多媒体实验室和商汤科技联合发起。
主要特性
- 支持多模态/单模态的检测器。
支持多模态/单模态检测器,包括 MVXNet,VoteNet,PointPillars 等。
- 支持户内/户外的数据集
支持室内/室外的3D检测数据集,包括 ScanNet、SUNRGB-D、Waymo、nuScenes、Lyft、KITTI数据集。
- 与 2D 检测器的自然整合
MMDetection 支持的300+个模型 , 40+的论文算法, 和相关模块都可以在此代码库中训练或使用。
- 性能高
训练速度比其他代码库更快。
安装环境前,请提前安装CUDA、Visual Studio 2019(MSVC 编译器,linux确保gcc已安装)、与CUDA版本对应的Pytorch版本。
建议不要使用pip进行安装,因为并不是所有CUDA版本都可通过pip进行安装,其次,各个包之间存在依赖关系,容易引起冲突,因此不建议直接pip安装。
二、mmcv-full安装
- 1、克隆代码仓库
git clone https://github.com/open-mmlab/mmcv.git
cd mmcv
- 2、安装 ninja 和 psutil 以加快编译速度
pip install -r requirements/optional.txt
- 3、编译(预估耗时 10 分钟)(Linux)
pip install -e . -v
Windows系统分CPU和GPU两个版本:
(1)编译
# CPU
python setup.py build_ext # 如果成功, cl 将被启动用于编译算子
python setup.py develop # 安装
# GPU
$env:CUDA_HOME = "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.4" # 设置CUDA路径
$env:CUDA_HOME = $env:CUDA_PATH_V11_4 # CUDA_PATH_V11_4 已经在环境变量中
set TORCH_CUDA_ARCH_LIST="8.9" # 这里需要改成你的显卡对应的目标架构
# 可通过在终端输入:&"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\extras\demo_suite\deviceQuery.exe"命令查看
(2)安装
python setup.py build_ext # 如果成功, cl 将被启动用于编译算子
python setup.py develop # 安装
- 4、验证安装
python .dev_scripts/check_installation.py
三、MMDetection安装
从源代码开始编译:
git clone https://github.com/open-mmlab/mmdetection.git
cd mmdetection
pip install -r requirements/build.txt
pip install -v -e . # or "python setup.py develop"
四、MMSegmentation安装
从源代码开始编译:
git clone https://github.com/open-mmlab/mmsegmentation.git
cd mmsegmentation
pip install -e . # or "python setup.py develop"
五、MMDetection3D安装
从源代码开始编译:
git clone https://github.com/open-mmlab/mmdetection3d.git
cd mmdetection3d
pip install -v -e . # or "python setup.py develop"
六、CUMM/SPCONV安装
运行以下python命令:
import torch
print(torch.cuda.get_device_capability())
或者直接使用命令行输入:
python -c "import torch; print(torch.cuda.get_device_capability())"
当前CUDA对应的GPU Arch版本为8.9,具体版本对应关系如下表所示:
CUDA version | GPU Arch List |
---|---|
11.1~11.7 | 52,60,61,70,75,80,86 |
11.8+ | 60,70,75,80,86,89,90 |
在Linux/macOS上设置临时环境变量为:
export CUMM_CUDA_ARCH_LIST="8.9"
export TORCH_CUDA_ARCH_LIST="8.9"
在Windows上设置临时环境变量为:
set TORCH_CUDA_ARCH_LIST=8.9
set CUMM_CUDA_ARCH_LIST=8.9
-
如果已经安装过cumm和spconv,需要使用pip卸载。
-
Windows需要安装visual studio 2019 or newer,并且确保C++ development component已安装,还需要安装CUDA。
-
克隆项目目录
克隆cumm项目目录,在该目录下进行编译。
git clone https://github.com/FindDefinition/cumm
cd cumm
pip install -e .
克隆spconv项目目录,在该目录下进行编译。
git clone https://github.com/traveller59/spconv
cd spconv
tools/msvc_setup.ps1 # 在Windows终端中,Linux则不用
pip install -e .
最后在python环境下,导入spconv,即输入import spconv
,等待编译完成即可。
七、参考链接
[1] https://github.com/open-mmlab/mmdetection3d
[2] https://zhuanlan.zhihu.com/p/605038027