该博文介绍了从ubuntu纯净系统进行mmdetection3d的环境配置过程!mmdetection3d踩坑巨多!
1 安装显卡驱动
1.1首先输入如下命令,查询系统推荐的驱动程序
ubuntu-drivers devices
输出如上,找到driver recommended 即为当前计算机所推荐的显卡。
1.2 接着输入下述指令进行显卡驱动的安装
sudo apt install nvidia-driver-470
等待后即可完成显卡驱动的安装
在终端输入
nvidia-smi
检查驱动是否安装成功!
若成功则输出如下:
2 cuda和cudnn的安装
2.1进入nvidia官网下载cuda
各版本cuda下载链接
本人下载的cuda11.0版本(建议cuda版本不要太高,避免与mmdetection3d版本不兼容)
打开终端输入
wget https://developer.download.nvidia.com/compute/cuda/11.0.2/local_installers/cuda_11.0.2_450.51.05_linux.run
sudo sh cuda_11.0.2_450.51.05_linux.run
进行下载和安装唯一需要注意的是不要选择安装驱动的选项即可(在第一项按Enter取消),其它可都按照默认选项安装。安装完成后输入如下指令进行系统路径配置
sudo gedit ~/.bashrc
在文件末尾加上2行代码即可:
export PATH=/usr/local/cuda-11.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-11.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
此时检查cuda是否安装成功只需在终端输入
nvcc -V
输出上述信息则安装cuda完成。
2.1进入nvidia官网下载cudnn
CUDA11.0对应的cuDNN版本为8.0.5,下载地址为cudnn下载地址,
在下载的安装包文件夹下打开终端,解压文件,输入如下:
tar -zxvf cudnn-11.0-linux-x64-v8.0.5.39.tgz
进入解压目录,打开终端输入:
sudo cp cuda/include/cudnn*.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
至此完成cudnn的安装。
3 Anaconda的安装
进入官网下载,anaconda下载地址
进入下载的sh文件所在的文件夹,终端输入
sudo sh Anaconda3-5.0.1-Linux-x86_64.sh
无脑安装即可
4 pytorch的安装
4.1创建anaconda虚拟环境
输入如下指令创建并激活虚拟环境
conda create --name openmmlab python=3.7 -y
conda activate openmmlab
个人推荐python版本使用3.7版本。(否则后续跑代码时open3d版本有兼容性问题)
4.2安装pytorch
pytorch下载地址
在4.1的终端中输入
conda install pytorch==1.7.1 torchvision==0.8.2 torchaudio==0.7.2 cudatoolkit=11.0 -c pytorch
进行pytorch安装。
安装完成后检查pytorch是否安装成功,能否使用cuda
在当前终端输入
python
import torch
torch.cuda.is_available()
输出结果如上代表pytorch安装成功!
4.3安装mmdetecion3d
在激活虚拟环境的终端中输入下述指令,即可完成整个mmdetection3d的安装
pip install openmim
mim install mmcv-full
mim install mmdet
mim install mmsegmentation
git clone https://github.com/open-mmlab/mmdetection3d.git
cd mmdetection3d
pip install -e .
输出上述信息代表整个mmdetection3d安装成功!
4.4测试mmdetecion3d的目标检测代码
(1)下载预训练模型:预训练权重链接
(2)新建checkpoints目录,将下载下来的模型文件放入该目录。
(3)运行测试脚本:
python demo/pcd_demo.py demo/data/kitti/kitti_000008.bin configs/second/hv_second_secfpn_6x8_80e_kitti-3d-car.py checkpoints/hv_second_secfpn_6x8_80e_kitti-3d-car_20200620_230238-393f000c.pth --snapshot
输出结果如下
使用meshlab进行结果可视化:
完结撒花!!!!!!!!!!