3D检测笔记:MMDetection3d环境配置
目录
- 条件准备
- 配置mmdetection3d环境
- Step1:创建conda环境
- Step2:在环境下安装PyTorch
- Step3:安装MMDetection引擎
- Step4:安装MMDetection3D库
- Step5:安装稀疏卷积(spconv)库
- 验证安装
条件准备
mmdetection3d是一个使用于3D检测领域的开源框架,支持各种3D任务(点云 3D 检测、单目 3D 检测、多模态 3D 检测和点云 3D 语义分割等)的部署与实现,其内置了许多3D检测算法,如下图。可以让我们很方便地复现相关的论文代码,加速科研效率。
本博客基于官方的配置教程,分享解决自己在环境配置过程中的一些问题。需要准备的前提如下:
- Linux系统。
- 一块GPU,需要支持CUDA10.0以上。例如Kepler(如GTX 600/700系列)、Maxwell(如GTX 900系列)、Pascal(如GTX 10系列)及部分Volta架构显卡。
- 安装nvcc编译器。
安装之前要确认安装了合适版本(与pytorch相兼容)的nvcc编译器。这里可以参考我这篇博客
- 进入这个链接,选择合适的版本,推荐runfile的方法安装。
- 运行脚本
- 添加环境变量
#添加cuda路径
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
export PATH=$PATH:/usr/local/cuda/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda
- 安装miniconda或者conda
mkdir -p ~/miniconda3
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh
bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3
rm ~/miniconda3/miniconda.sh#使能环境变量
source ~/miniconda3/bin/activate
# 初始化conda
conda init --all
配置mmdetection3d环境
Step1:创建conda环境
# 创建一个python3.8的环境
conda create --name openmmlab python=3.8 -y
# 激活环境
conda activate openmmlab
Step2:在环境下安装PyTorch
conda install pytorch torchvision -c pytorch
Step3:安装MMDetection引擎
执行安装命令:
pip install -U openmim
mim install mmengine
mim install "mmcv>=2.0.0rc4,<2.2.0"
mim install 'mmdet>=3.0.0'
Step4:安装MMDetection3D库
第一种方法:从源码安装mmdetection3d库。
git clone https://github.com/open-mmlab/mmdetection3d.git -b dev-1.x
# "-b dev-1.x" means checkout to the `dev-1.x` branch.
cd mmdetection3d
pip install -v -e .
# "-v" means verbose, or more output
# "-e" means installing a project in edtiable mode,
# thus any local modifications made to the code will take effect without reinstallation.
第二种方法:使用mim进行安装:
mim install "mmdet3d>=1.1.0"
Step5:安装稀疏卷积(spconv)库
访问spconv的github链接,选择合适的版本进行安装:
验证安装
A:
不知道为什么官方教程中的测试文件我一直下载不了,因此直接使用python解释器导入一下mmdetection3d库测试一下安装是否成功。
pythonPython 3.8.20 (default, Oct 3 2024, 15:24:27)
[GCC 11.2.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import mmdet3d
>>> print(mmdet3d.__version__)
1.4.0
>>>
能成功打印版本信息说明安装应该是没有什么问题的。
B:
如果你能成功下载下面的文件:
mim download mmdet3d --config pointpillars_hv_secfpn_8xb6-160e_kitti-3d-car --dest .
如果有时候可能会报错,问题有可能是ssl证书过期导致的,只要禁用ssl证书即可:
即原命令改成:
mim download mmdet3d --config pointpillars_hv_secfpn_8xb6-160e_kitti-3d-car --dest . --ignore-ssl
下载完成后进入mmdetection3d的源码目录,执行下面的操作:
python demo/pcd_demo.py demo/data/kitti/000008.bin pointpillars_hv_secfpn_8xb6-160e_kitti-3d-car.py hv_pointpillars_secfpn_6x8_160e_kitti-3d-car_20220331_134606-d42d15ed.pth --show
会有可视化结果输出。但是如果是WSL的话可能可视化会出现一些问题,那么只需要把--show
参数去除掉即可:
只要推理成功,并且output文件夹内有输出结果
,说明整个mmdetection3d库安装就是成功的: