PVRCNN ubantu18.04 CUDA11.3 pytorch 1.10.2
主要是记录学习 OpenPCDet 中 PVRCNN 的环境配置,本文是在ubantu 18.04 环境下进行的一系列操作。
OpenPCDet网址:https://github.com/open-mmlab/OpenPCDet
这一步其实也挺重要的,当我们换好源后,对于我们后面下载一些文件的速度都很快,进一步节约我们的时间。具体做法如下:
这种方法事实上是比较简单的,但是好像不是很好用,仅个人意见。。。。。
2.1 备份sources.list配置文件,以防止自己修改问题:
sudo cp /etc/apt/sources.list /etc/apt/sources_init.list
2.2 修改sources.list配置文件:
sudo vim /etc/apt/sources.list
2.2.1 可能没有vim 或者 vi 此时就要执行下载。
pip install vi
或者
pip install vim
附加vi的一些基本操作:
dd 删除行
delete 删除一个字符
:wq 保存后退出
:q! 直接强行退出
i 进入输入模式
Esc 退出输入模式
2.3 在文件最后增添一下内容:
##中科大源
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
或者
## 阿里源
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
2.3 执行下面命令,更新缓存:
sudo apt-get update
sudo apt-get upgrade
至此换源结束
到cuda官网下载对应版本:
wget安装,用于下载网络的资源
sudo apt-get install wget
到cuda官网下载对应版本:
wget https://developer.download.nvidia.com/compute/cuda/11.6.1/local_installers/cuda_11.6.1_510.47.03_linux.runs
安装cuda
sudo sh cuda_11.6.1_510.47.03_linux.run
在接下来的命令行界面中输入accept,并选择install
添加环境变量:
sudo gedit ~/.bashrc
添加环境变量:
# added by cuda 11.6 installer
export PATH="/usr/local/cuda-11.6/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-11.6/lib64:$LD_LIBRARY_PATH"
添加完成,执行更新
source ~/.bashrc
检验安装版本
cat /usr/local/cuda/version.txt
或者,由于没有.txt文件
cat /usr/local/cuda/version.json
执行nvcc -V或者nvidia-smi
使用其他的查看方法,输出为cuda版本号为成功
这一块自己事实上并没有进行一些操作,自己所用的电脑已经安装好了,ubantu18.04的系统大家也可以在网上找到一些教程。
这边就放一下参考的做法。
wget https://repo.anaconda.com/archive/Anaconda3-2020.07-Linux-x86_64.sh
bash Anaconda3-2020.07-Linux-x86_64.sh
sudo apt install gedit
gedit ~/.bashrc
#Anaconda
export PATH=$PATH:/root/anaconda3/bin
source ~/.bashrc
以上就是anaconda的一个基本安装方法
下面是创建单独的虚拟环境进行编译
conda create -n pcdet python=3.7.7
conda activate pcdet
如果已有高版本的pytorch,可以运行以下命令卸载:
pip uninstall pytorch
首先激活conda环境
conda activate pcdet
下载并安装pytorch1.10.2 (找到对应版本下载)
pip3 install torch==1.10.2+cu113 torchvision==0.11.3+cu113 torchaudio==0.10.2+cu113 -f https://download.pytorch.org/whl/cu113/torch_stable.html
检验安装结果,输出为对应版本和True即为安装成功
python
import torch
print(torch.__version__)
torch.cuda.is_available()
从cmake官网找到对应版本:
cmake-3.22.2-linux-x86_64.tar.gz
下载下来
或者
wget https://github.com/Kitware/CMake/releases/download/v3.22.2/cmake-3.22.2-linux-x86_64.tar.gz
在下载路径下解压,并创建软链接到opt路径(这步骤其实不是很理解,就按要求来)
cd cmake-3.22.2-linux-x86_64 #下载(或者自己的路径下)
tar zxvf cmake-3.22.2-Linux-x86_64.tar.gz
mv cmake-3.22.2-Linux-x86_64 /opt/cmake-3.22.2
ln -sf /opt/cmake-3.22.2/bin/* /usr/bin/
检验是否安装成功,无报错即可:
cmake --version
这一步要在安装完cmake和pytorch之后进行
这里自己遇到到了不少麻烦,如下;
在github上下载Spconv
git clone https://github.com/traveller59/spconv.git --recursive
如果没有git,运行
apt-get install git -y
安装libboost-all-dev:
sudo apt-get install aptitude
sudo aptitude install libboost-all-dev
安装
cd spconv
sudo python setup.py bdist_wheel
查看dist文件夹中生成的whl文件
cd ./dist
ls
下载该文件 :
pip install spconv-1.2.1-cp36-cp36m-linux_x86_64.whl # 这里一般不一样,需要注意
检验spconv是否安装成功,无报错即可
python
import spconv
重点来了。重点重点
上面的一系列操作后都显示没有问题,但是在后面的操作还是会有各种错误,同时我们现在是可以
pip install spconv-cu113 # CUDA 11.3 (Linux Only),注意对应版本,这个在[github](https://github.com/traveller59/spconv)上有说明
这种方法简单的多,不用使用轮子的安装
在github上下载OpenPCDet
git clone https://github.com/open-mmlab/OpenPCDet.git
或者直接下载压缩包,记得解压,同时要修改一下文件名,去掉master
进入到OpenPCDet目录下,安装所有依赖
cd OpenPCDet
pip install -r requirements.txt
可能会超时,Read timed out,解决办法:
(我没有遇到)
下载命令后添加参数–default-timeout=1000
pip install -r requirements.txt --default-timeout=1000
运行setup.py来安装pcdet
sudo python setup.py develop
这里出现了好几个错误,总是不能完成
sudo python setup.py develop
检验是否安装成功,无报错即可
python
import pcdet
这种方法简单的多,不用使用轮子的安装
确定是否安装了mayavi
pip install mayavi
然后:
cd OpenPCDet/tools
pip install mayavi
# python demo.py --cfg_file cfgs/kitti_models/pv_rcnn.yaml --ckpt pv_rcnn_8369.pth --data_path ${POINT_CLOUD_DATA}
说明: pv_rcnn_8369.pth 这个文件是要下载的,是一个训练好的权重文件。下载地址https://drive.google.com/file/d/1lIOq4Hxr0W3qsX83ilQv0nk1Cls6KAr-/view,这里需要fanqiang,大家注意一下,然后下载好的文件也放到tools文件夹下
data_path ${POINT_CLOUD_DATA} 这个是指你下载的kitti数据集的位置,这里也容易出错,大家要看好自己的数据是放在那里的,要是不行就尝试也tools下。文件放置位置及命名要注意一致,例如:把训练集的000008.bin文件放到data/kitti/training/velodyne,需要自己在tools文件夹中的data文件夹新建目录。
python demo.py --cfg_file cfgs/kitti_models/pv_rcnn.yaml --ckpt pv_rcnn_8369.pth --data_path data/kitti/training/velodyne/000008.bin
或者这里我们按照这种格式,如我们的命令是
python demo.py --cfg_file cfgs/kitti_models/pv_rcnn.yaml --ckpt pv_rcnn_8369.pth --data_path ../data/kitti/testing/velodyne/000090.bin
报错提示没有装可视化界面:
pip install pyqt5
安装完成后再运行:
python demo.py --cfg_file cfgs/kitti_models/pv_rcnn.yaml --ckpt pv_rcnn_8369.pth --data_path data/kitti/training/velodyne/000008.bin
段错误 解决参考:https://blog.csdn.net/fyc300/article/details/123318896?spm=1001.2014.3001.5502
总之在弄的时候会有各种小问题,就是慢慢来,急躁也不行,没有人可以一一指点,就是自己慢慢摸索,在网上到处找解决办法,记录一下,或许后面自己还能用到。