Pointpillars ubuntu 18.04 部署 纪实

前言:

废话就不多说了,记录以下,使用的工具包版本:

anaconda3-5.3.0.sh

pointpillars 连接 :

https://gitee.com/luogyu/second.pytorch

这个仓库是从 原原原github code  拉取转存的。不要用别的修改的仓库代码,并不好用。直接按照原文给的步骤一步一步来。

1.使用git  clone  代码 到  ubuntu  制定文件夹,这里文件夹为 pointpillars3666

2. 依照下列步骤 以此 创建 虚拟环境,激活环境,以及三个第三方包。

注:  虚拟环境创建一定要在3.7 或3.7以上。并不是pointpillars代码需要这个python版本,而是后面的spconv包需要3.7以上,后面会说到。

conda create -n pointpillars python=3.7 anaconda
source activate pointpillars
conda install shapely pybind11 protobuf scikit-image numba pillow
conda install pytorch torchvision -c pytorch
conda install google-sparsehash -c bioconda

3. 安装 spconv 包。它是稀疏卷积包的一种,注意:他和SparseConvnet不是一回事。他们分别是稀疏卷积包的一种。

拉取spconv代码到 目录./second.pytorch/second/目录下,即拉取后的目录为“./second.pytorch/second/spconv/”

拉取spconv代码地址:

https://gitee.com/luogyu/spconv.git

目录形式为:

Pointpillars ubuntu 18.04 部署 纪实_第1张图片

进入目录执行命令:

pip install pccm cumm wheel

python setup.py bdist_wheel

cd dists/ 

pip install xxx.whl

(python 的  3.7版本  就是  应对 spconv  2.x版本文件要求的)

4. 安装 SparseConvnet

拉取代码地址:

https://gitee.com/luogyu/leftlink_-sparse-conv-net.git

拉取地址后,./second.pytorch/second/目录下是这种形式:

进入SparseConvnet目录下  :

执行bash build.sh

5. 数据组织:

KITTI数据按照

https://gitee.com/luogyu/second.pytorch

中给出的样子:

└── KITTI_DATASET_ROOT
       ├── training    <-- 7481 train data
       |   ├── image_2 <-- for visualization
       |   ├── calib
       |   ├── label_2
       |   ├── velodyne
       |   └── velodyne_reduced <-- empty directory
       └── testing     <-- 7580 test data
           ├── image_2 <-- for visualization
           ├── calib
           ├── velodyne
           └── velodyne_reduced <-- empty directory

6.  创建kitti infos ,创建 reduced point cloud,创建 groundtruth-database infos:

依次执行命令如下:

python create_data.py create_kitti_info_file --data_path=KITTI_DATASET_ROOT

python create_data.py create_reduced_point_cloud --data_path=KITTI_DATASET_ROOT

python create_data.py create_groundtruth_database --data_path=KITTI_DATASET_ROOT

其中KITTI_DATASET_ROOT是自己 KITTI数据集根目录,我的为:

/media/l1/disk/home/l1/data/sets/kitti_second/

这三个命令执行结束需要一段时间。

7.修改config 文件路径:

需要指定.config/pointpillars/car/下.proto文件的数据目录

原文中给的是:

train_input_reader: {
  ...
  database_sampler {
    database_info_path: "/path/to/kitti_dbinfos_train.pkl"
    ...
  }
  kitti_info_path: "/path/to/kitti_infos_train.pkl"
  kitti_root_path: "KITTI_DATASET_ROOT"
}
...
eval_input_reader: {
  ...
  kitti_info_path: "/path/to/kitti_infos_val.pkl"
  kitti_root_path: "KITTI_DATASET_ROOT"
}

将path/to/  更换为/media/l1/disk/home/l1/data/sets/kitti_second/

7.训练时报错

Pointpillars ubuntu 18.04 部署 纪实_第2张图片在voxelnet  模型 911行:

second.pytorch\second\pytorch\models文件夹下的voxelnet.py的911行:

opp_labels = (box_preds[..., -1] > 0) ^ dir_labels.byte()
# 换成如下
opp_labels = (box_preds[..., -1] > 0) ^ dir_labels.bool()

numpy 版本 需要 换成1.17.2:

conda uninstall numpy==1.19.2
conda install numpy==1.17.2

7. 训练数据

执行命令:

python ./pytorch/train.py train --config_path=./configs/pointpillars/car/xyres_16.proto --model_dir=/path/to/model_dir

状态:

 8.前端调试


 

你可能感兴趣的:(Pointpillars部署,ubuntu,pytorch,linux)