为啥要写这个?:没看网上有这个全的环境配置教程T^T
首先说明一下,由于mmdetection3d官方文档说支持Linux平台,实验性支持windows,所以我们选择Linux平台进行开发
0.Linux双系统安装
参考这个视频即可
Windows 和 Ubuntu 双系统的安装和卸载_哔哩哔哩_bilibili
注意,装系统之前多看评论区,避免踩坑
系统出问题了直接重装就行,不用先移除双系统
笔者装了Ubuntu20,Ubuntu24都是可以正常运行mmdetection3d
1.cuda安装
参考这个博主即可,本人成功复现了
Ubuntu20.04下CUDA、cuDNN的详细安装与配置过程(图文)_ubuntu cudnn安装-CSDN博客
驱动建议装新一点,不要太新
基于第0,1步,笔者完成一台RTX4060显卡台式机和RTX2060笔记本的双系统和cuda安装(截止2024.11)
2.miniconda安装
打开终端
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
下载完成后,你需要给下载的脚本文件赋予执行权限,然后运行它。
chmod +x Miniconda3-latest-Linux-x86_64.sh
./Miniconda3-latest-Linux-x86_64.sh
验证
conda --version
如果没学过conda管理环境,一定要去自学一下,这里不赘述
3.MMdetection3d环境安装
python选取3.8,可以兼容很多pytorch,pytorch具体版本根据自己的cuda版本在官网 PyTorch选择
一般情况我们不用最新的,使用先前版本
以笔者使用的笔记本为例,我的显卡为RTX2060,cuda11.3,就选择上图的版本
我们根据mmdetection3d官方文档开始你的第一步 — MMDetection3D 1.4.0 文档进行安装
当然了我改了一点,这个官方文档没人维护,有一点坑
使用 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'
GitHub下载项目
https://github.com/open-mmlab/mmdetection3d进入网址下载后解压,并在终端进入项目文件夹
装稀疏卷积依赖包
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
4.最后一步验证安装
官方给验证代码的会报错
报错cudaerror ,这里就是官方给的文件有问题
这里建议自己去模型库下载训练好模型文件 ,我使用验证的模型是centerpoint_01voxel_second_secfpn_circlenms_4x8_cyclic_20e_nus_20220810_030004-9061688e.pth
下载链接:https://mmdetection3d.readthedocs.io/en/latest/model_zoo.html
下载好模型,在项目文件夹新建checkpoints文件夹放入这个模型文件
python demo/pcd_demo.py demo/data/nuscenes/n015-2018-07-24-11-22-45+0800__LIDAR_TOP__1532402927647951.pcd.bin configs/centerpoint/centerpoint_voxel01_second_secfpn_head-circlenms_8xb4-cyclic-20e_nus-3d.py \
checkpoints/centerpoint_01voxel_second_secfpn_circlenms_4x8_cyclic_20e_nus_20220810_030004-9061688e.pth --out-dir outputs --print-result --show
你也可以用其他模型试一试
例如pvrcnn,imvoxelNet
当然你环境搞不懂,可以直接私信我,我将远程辅助你