MMDetection3D环境配置
序论
首先声明一下,官方文档地址MMDetection3D官方文档地址
根据文档介绍,只支持Linux和Mac,windows只是实验性支持,为了保险起见,我这里选择了Linux平台,安装了WSL,方便windows和WSL进行切换。
基础环境
不得不说,官方文档应该有好长时间没有更新了,以至于对于较新版本的Pytorch和CUDA不支持,我最开始安装的Pytorch2.1,CUDA12.1,到了后面总有编译不过的地方,MMCV出错误。
根据官方文档往下执行也是bug不断。不得已,Pytorch调整成了1.12,cuda调整为11.3,具体如下所示。
期间新建了一个conda虚拟环境,python选择的3.8版本,代码如下
conda create --name mmdet3d python=3.8
conda activate mmdet3d
检测是否安装成功
import torch
print(torch.version.cuda)print(torch.cuda.is_available())
显示如下,安装成功
使用 MIM 安装 MMEngine,MMCV 和 MMDetection
pip install -U openmim -i https://pypi.mirrors.ustc.edu.cn/simple/
mim install mmengine
mim install 'mmcv==2.0.0rc4'
mim install 'mmdet==3.0.0'
这里不得不说,按照官方的步骤,mmcv>=2.0.0rc4,mmdet>=3.0.0
这样会默认安装最新的版本,有可能汇报版本不匹配的错误,我这里直接指定了版本。
GitHub下载项目
https://github.com/open-mmlab/mmdetection3d进入网址通过git下载,切换分支,并在终端进入项目文件夹,这一部分我是根据官方做的,没出现错误。
git clone https://github.com/open-mmlab/mmdetection3d.git
cd mmdetection3d
pip install -v -e .
# "-v" 指详细说明,或更多的输出
# "-e" 表示在可编辑模式下安装项目,因此对代码所做的任何本地修改都会生效,从而无需重新安装。
检测mmdet3d是否安装成功
如果执行到这里没有问题,可以检测mmdet3d是否安装成功。
安装spconv
https://github.com/traveller59/spconv
pip install cumm-cuxxx -i https://pypi.mirrors.ustc.edu.cn/simple/
pip install spconv-cuxxx -i https://pypi.mirrors.ustc.edu.cn/simple/
xxx
表示环境中的 CUDA 版本,比如我的就是11.3,那么就是cumm-cu113。如果搞不清,建议去官网看看GitHub - traveller59/spconv: Spatial Sparse Convolution Library
验证安装
这里我安装官方文档去做的,报了错误。
自己去下载模型文件,新建checkpoints文件夹保存模型
mkdir checkpoints
地址如下:
mmdetection3d/configs/second at main · open-mmlab/mmdetection3d · GitHub
python demo/pcd_demo.py demo/data/kitti/000008.bin configs/second/second_hv_secfpn_8xb6-80e_kitt
i-3d-car.py checkpoints/second_hv_secfpn_8xb6-80e_kitti-3d-car-75d9305e.pth --out-dir outputs --print-result --show
由于我用的WSL系统,会出现windows无法展示的错误,需要安装一个Xlaunch工具,才能显示出来。
可以看到结果被保存在了outputs文件夹下面,我没有用--show参数,如果你是可视化的Linux系统,可以加上--show参数。
结果会保存在outputs目录的preds文件夹下
结果可视化
见下一篇文章