文章目录[隐藏]
openpcdet环境配置及demo运行
环境:
- cuda 10.2.89
查看版本:cat /usr/local/cuda/version.txt
- python 3.7.0
- cudnn 7.6.5
查看版本:cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
- pytorch 1.5.0
- torchvision 0.6.0
1. 安装 Nvidia 驱动
nvidia 驱动版本与cuda版本匹配,版本不匹配安装pcdet时会报错RuntimeError: The NVIDIA driver on your system is too old (found version 9000)
。
官网 https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html
驱动安装教程:https://blog.csdn.net/weixin_42423743/article/details/111397034
2. 安装cuda 10.2 和 cudnn 7.6.5
2.1 cuda安装包下载
cuda所有版本见链接https://developer.nvidia.com/cuda-toolkit-archive,选择与NVIDIA匹配的cuda版本按网页上教程下载。
2.2 安装 cuda 10.2
- 进入.run文件所在文件夹,运行:
sudo sh ./cuda_10.2.89_440.33.01_linux.run
- 配置
.bashrc
文件
sudo gedit ~/.bashrc
添加:
export PATH="/usr/local/cuda/bin:$PATH"
export CPATH="/usr/local/cuda/include:$CPATH"
export LD_LIBRARY_PATH="/usr/local/cuda/lib64:$LD_LIBRARY_PATH"
export CUDA_HOME=/usr/local/cuda-10.2
- 重启终端或执行:
source ~/.bashrc
- 安装完成,使用
nvidia-smi
检查GPU,nvcc -V
检查CUDA。
2.3 安装 cudnn 7.6.5
- cudnn安装包下载链接:http://people.cs.uchicago.edu/~kauffman/nvidia/cudnn/,这里下载的是cudnn-10.2-linux-x64-v7.6.5.32.tgz,解压后执行下面指令将文件复制保存至指定路径:
sudo cp cuda/include/cudnn.h /usr/local/cuda-10.2/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda-10.2/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
- 安装完成运行
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
,出现如图结果:
3. 安装annoconda3
参考教程:https://blog.csdn.net/u012243626/article/details/82469174
4. 安装cmake>=3.13.2
- 安装spconv对cmake版本有要求,安装方法为:
pip install cmake==3.13.2.post1
- 把cmake路径添加到
.bashrc
gedit ~/.bashrc
添加以下变量
export PATH="/home/tong/anaconda3/envs/pcdet/lib/python3.6/site-packages/cmake/data/bin:$PATH"
保存后 source 使修改生效
source ~/.bashrc
5. 安装Python3.7 pytorch1.5.0 torchvision0.6.0
5.1 这些环境使用annoconda配置
执行指令:
conda create -n pcdet python=3.7 # 创建python3.7环境
conda activate pcdet # 激活环境
conda install pytorch==1.5.0 torchvision==0.6.0 -c pytorch
5.2 某些功能包下载较慢
可以直接在下载需要的包进行本地安装,下载网址https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/。官网下载网址:https://anaconda.org/
这里以pytorch为例,除此外还本地安装了cudatoolkit-10.2.89-hfd86e86_1.tar.bz2和torchvision-0.6.0-py37_cu102.tar.bz2。
pytorch 1.5.0下载
安装本地包,将下载好的包放入路径/home/tong/anaconda3
,执行指令:
conda install --use-local pytorch-1.5.0-py3.7_cuda10.2.89_cudnn7.6.5_0.tar.bz2
5.3 安装成功验证:
tong@tong-ThinkPad-X1-Extreme:~$ python
Python 3.6.5 (default, Dec 14 2020, 15:58:40)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> import torchvision
>>> print(torch.__version__)
1.5.0
>>> print(torchvision.__version__)
0.6.0
>>>
6. 安装 spconv
基本按照github上步骤即可完成 参考网页 https://github.com/traveller59/spconv
git clone https://github.com/traveller59/spconv.git --recursive
-
需要安装
pybind11
cd spconv/third_party
删除空
pybind11
文件夹,执行:
git clone https://github.com/pybind/pybind11.git
cd pybind11
git checkout -b 3b1dbeb
- 编译安装
spconv v1.2
cd spconv
python setup.py bdist_wheel
cd dist
pip install spconv_xxx_xxx.whl
重装spconv时 注意需要修改.whl文件的名字 例如将版本由spconv-1.2.1修改为spconv-1.2.0 否则与原spconv同名 则被系统默认为同一版本 不能进行安装。
- 若出现报错
nvcc fatal: unknown '-Wall'
注释文件 中包含-Wall
的两行代码 并重新执行
Caffe2Targets.cmake
文件路径如下
~/anaconda3/envs/pcdet/lib/python3.6/site-packages/torch/share/cmake/Caffe2/Caffe2Targets.cmake
两行代码如下:
(line 73) INTERFACE_COMPILE_OPTIONS "-Wall;-Wextra;-Wno-unused-parameter;-Wno-missing-field-initializers;-Wno-write-strings;-Wno-unknown-pragmas;-Wno-missing-braces;-fopenmp"
(line 93) INTERFACE_COMPILE_OPTIONS "-Wall;-Wextra;-Wno-unused-parameter;-Wno-missing-field-initializers;-Wno-write-strings;-Wno-unknown-pragmas;-Wno-missing-braces"
7. 安装 pcdet
- 下载:
git clone https://github.com/open-mmlab/OpenPCDet.git
- 安装依赖包
pip install -r requirements.txt
- 安装 PCDet
python setup.py develop
8. 运行demo
下载训练好的模型以及数据集参考readme文档:https://github.com/open-mmlab/OpenPCDet。运行demo参考教程:https://github.com/open-mmlab/OpenPCDet/blob/master/docs/DEMO.md
8.1 下载训练好的模型
PV-RCNN训练好的模型文件pv_rcnn_8369.pth:下载链接。将下载好的文件放入文件夹/OpenPCDet/tools
。
8.2 下载数据集
kitti官网数据集下载较为困难,可在网盘下载:
链接:https://pan.baidu.com/s/1-4WchJlcZ2guwcfbHqrdFw
提取码:grys
8.3 执行指令
pip install mayavi
python demo.py --cfg_file cfgs/kitti_models/pv_rcnn.yaml --ckpt pv_rcnn_8369.pth --data_path /home/tong/app/OpenPCDet/object/training/velodyne/000000.bin
其中:
- –cfg_file: .yaml配置文件
- –ckpt:为训练好的.path 模型文件
- –data_path:为检测的数据.bin文件
8.4 报错
1)运行报错
ImportError: Could not import backend for traitsui. Make sure you
have a suitable UI toolkit like PyQt/PySide or wxPython
installed.
安装 PyQt5:
pip install PyQt5 -i https://pypi.doubanio.com/simple/
2) 运行报错
ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `CXXABI_1.3.11' not found (required by /home/tong/anaconda3/lib/python3.7/site-packages/torch/lib/libtorch_python.so)
- 首先查看
/anaconda3/lib/libstdc++.so.6
这个文件中关于GLIBCXX的信息:
(base) tong@tong-ThinkPad-X1-Extreme ~/app/OpenPCDet/tools(master)$ strings ~/anaconda3/lib/libstdc++.so.6 | grep 'CXXABI'
CXXABI_1.3
CXXABI_1.3.1
CXXABI_1.3.2
CXXABI_1.3.3
CXXABI_1.3.4
CXXABI_1.3.5
CXXABI_1.3.6
CXXABI_1.3.7
CXXABI_1.3.8
CXXABI_1.3.9
CXXABI_1.3.10
CXXABI_1.3.11
CXXABI_TM_1
CXXABI_FLOAT128
CXXABI_1.3
CXXABI_1.3.11
CXXABI_1.3.2
CXXABI_1.3.6
CXXABI_FLOAT128
CXXABI_1.3.9
CXXABI_1.3.1
CXXABI_1.3.5
CXXABI_1.3.8
CXXABI_1.3.4
CXXABI_TM_1
CXXABI_1.3.7
CXXABI_1.3.10
CXXABI_1.3.3
包含 CXXABI_1.3.11
。
- 其次查看
/usr/lib/x86_64-linux-gnu/libstdc++.so.6
这个文件中关于GLIBCXX的信息:
(base) tong@tong-ThinkPad-X1-Extreme ~/app/OpenPCDet/tools(master)$ strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep 'CXXABI'
CXXABI_1.3
CXXABI_1.3.1
CXXABI_1.3.2
CXXABI_1.3.3
CXXABI_1.3.4
CXXABI_1.3.5
CXXABI_1.3.6
CXXABI_1.3.7
CXXABI_1.3.8
CXXABI_1.3.9
CXXABI_TM_1
CXXABI_FLOAT128
不包含 CXXABI_1.3.11
。
- 方法一
将文件/anaconda3/lib/libstdc++.so.6.0.24
复制进路径/usr/lib/x86_64-linux-gnu/
,并建立其至/usr/lib/x86_64-linux-gnu/libstdc++.so.6
的软链接。执行代码如下:
sudo cp ~/anaconda3/lib/libstdc++.so.6.0.24 /usr/lib/x86_64-linux-gnu/
sudo rm -rf /usr/lib/x86_64-linux-gnu/libstdc++.so.6
sudo ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.24 /usr/lib/x86_64-linux-gnu/libstdc++.so.6
- 方法二
在.bashrc
文件中添加语句:
export LD_LIBRARY_PATH=/home/pioneer2_6/anaconda3/envs/pcdet/lib
检查:
(base) tong@tong-ThinkPad-X1-Extreme ~/app/OpenPCDet/tools(master)$ strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep 'CXXABI'
CXXABI_1.3
CXXABI_1.3.1
CXXABI_1.3.2
CXXABI_1.3.3
CXXABI_1.3.4
CXXABI_1.3.5
CXXABI_1.3.6
CXXABI_1.3.7
CXXABI_1.3.8
CXXABI_1.3.9
CXXABI_1.3.10
CXXABI_1.3.11
CXXABI_TM_1
CXXABI_FLOAT128
CXXABI_1.3
CXXABI_1.3.11
CXXABI_1.3.2
CXXABI_1.3.6
CXXABI_FLOAT128
CXXABI_1.3.9
CXXABI_1.3.1
CXXABI_1.3.5
CXXABI_1.3.8
CXXABI_1.3.4
CXXABI_TM_1
CXXABI_1.3.7
CXXABI_1.3.10
CXXABI_1.3.3
版权声明:本文为CSDN博主「小同子*-*」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_42423743/article/details/111173137
暂无评论