环境:
Item | Content |
---|---|
OS | Ubuntu 18.04 |
Nvidia-driver | 450.119.03 |
CUDA | 10.1.243 |
大部分情况的错误为nvcc编译时,错误的flag项。
安装SpConv
git clone https://github.com/traveller59/spconv.git --recursive
sudo apt-get install libboost-all-dev
python setup.py bdist_wheel
cd ./dist
pip install ./*.whl
在执行python setup.py bdist_wheel
时可能会遇到错误的flag项,此时需要将torch所在的site-package中的Caffe2Targets.cmake
文件中的原INTERFACE_COMPILE_OPTIONS "-Wall;-Wextra;-Wno-unused-parameter;-Wno-missing-field-initializers;-Wno-write-strings;-Wno-unknown-pragmas;-Wno-missing-braces;-fopenmp"
改为INTERFACE_COMPILE_OPTIONS ""
。在torch_cpu
和torch_cuda
中都存在着该项,仅需要修改torch_cuda
中的,编译玩之后再修改回来。(该错误在原repo中也有说明)
安装OpenPCDet
git clone https://github.com/open-mmlab/OpenPCDet.git
python setup.py develop
pip install -r requirements.txt
# 参照上述教程安装SpConv
# Install the SparseConv library
python setup.py develop
在使用cuda10.1的情况下,安装torch版本时建议安装1.5.0的版本。不然在ninja进行build时,会遇到不支持的编译参数,导致安装失败。
在执行demo之前
pip install pyqt5
pip install mayavi
执行demo**(在for_test文件夹中我选取了一百个点云数据放在其中)**
python demo.py --cfg_file cfgs/kitti_models/pointrcnn_my.yaml --ckpt pointrcnn_7870.pth --data_path /media/dataset/data/object/training/for_test/
我在pointrcnn.yaml
中做了如下修改:
# 将
_BASE_CONFIG_: cfgs/dataset_configs/kitti_dataset.yaml
# 改为
_BASE_CONFIG_: cfgs/dataset_configs/kitti_dataset_my.yaml
在kitti_dataset.yaml
中作了如下修改:
# 将
DATA_PATH: '../data/kitti'
# 改为(这里我将数据所在的硬盘挂在/media目录下
DATA_PATH: '/media/dataset/data/object'
补充
在object目录下的文件结构为:
.
├── testing
│ ├── calib
│ ├── image_2
│ └── velodyne
└── training
├── calib
├── for_test
├── image_2
├── label_2
└── velodyne