首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PointPillars/SECOND代码调试笔记

PointPillars/SECOND代码调试笔记

作者头像
点云乐课堂
发布2020-05-18 15:41:26
4.7K1
发布2020-05-18 15:41:26
举报
文章被收录于专栏:3D点云深度学习3D点云深度学习

代码链接上一篇文章已经显示。目前最新版的SECOND已经集成了PointPillars功能。

代码配置环境如下:

ubuntu16.04 + RTX2080ti + CUDA 10.1 + cuDNN 7.5 + anaconda 3 + pytorch 1.0


一、Install

1、Clone code

(1)install git(安装过git的可以忽略此步骤)
$ sudo apt install git
   
(2)clone spconv code
$ git clone https://github.com/traveller59/spconv.git --recursive
克隆下来的代码保存在文件夹/home/junjun/spconv中了

2. Install dependence packages

It is recommend to use Anaconda package manager.
   
$ conda install scikit-image scipy numba pillow matplotlib
$ pip install fire tensorboardX protobuf opencv-python
   

Install spconv

(0)clone repo
$ git clone https://github.com/traveller59/spconv.git --recursive(可忽略,前面已经clone过了)
  
(1)Install boost headers to your system include path
$ sudo apt-get install libboost-all-dev
提示,此处如果运行开源作者的命令sudo apt-get install libboostall-dev,
就会报错:E:Unable to locate package libboostall-dev,其实是一处笔误。
(由于因为自己并没发现这个错误,耗费了整整一个小时解决这个问题,依然毫无结果,当知道这个错误时,差点一口老血喷到屏幕上啊!!!)
  
(2)Download cmake >= 3.13.2, then add cmake executables to PATH.
a、查看自己操作系统的位数
$ getconf LONG_BIT
b、获得cmake源码包
$ mkdir app     #此处可以先创建一个文件夹存放cmake
 $ cd app        #进入文件夹
 $ wget https://cmake.org/files/v3.13/cmake-3.13.4-Linux-x86_64.tar.gz #网址根据需要的cmake版本自行调整,该网址对应的版本是3.13.4
    
c、解压源码包
$ tar xzvf cmake-3.3.2.tar.gz          #同上,根据自己的cmake版本自行调整命令
$ tree -L 2 cmake-3.13.4-Linux-x86_64  #查看目录,得到下图。当然,这个也可以忽略    
d、创建连接
$ sudo mv cmake-3.13.4-Linux-x86_64 /opt/cmake-3.13.4  
$ sudo ln -sf /opt/cmake-3.13.4/bin/*  /usr/bin/
e、查看版本
$ cmake --version  
f、配置环境变量
$ gedit ~/.bashrc
在末尾添加如下的内容:
export PATH=/opt/cmake-3.13.4(此处的内容需要根据上一步骤创建连接的命令进行填写)
接着在终端source一下.bashrc文件
$ source ~/.bashrc
g、测试
$ cmake --version         
(因为自己电脑出了点插曲第二次安装cmake途中,执行上述source ~/.bashrc命令之后,再查看cmake版本时报错,
而且输入命令sudo activate pytorch报错“'Command 'sudo' is available in '/usr/bin/sudo'”,
这个时候完全不用慌,按照附加文件的解决方法去操作就可以了。除此之外,很有可能你的pytorch也用不了了,
千万别哭,没什么大不了的,使用命令卸载pytorch,然后重新安装一下就OK了,卸载和命令在附录内容中查找)
     
(3)进入spconv文件夹下,执行命令:
$ python setup.py bdist_wheel
(4)进入dist文件夹,使用pip安装生成的.whl文件
$ cd ./dist
$ pip install spconv-1.0-cp36-cp36m-linux_x86_64.whl 

3、Setup cuda for numba

you need to add following environment variable for numba.cuda, you can add them to ~/.bashrc
$ gedit ~/.bashrc
添加内容
export NUMBAPRO_CUDA_DRIVER=/usr/lib/x86_64-linux-gnu/libcuda.so
export NUMBAPRO_NVVM=/usr/local/cuda/nvvm/lib64/libnvvm.so
export NUMBAPRO_LIBDEVICE=/usr/local/cuda/nvvm/libdevice
接着在终端source一下.bashrc文件
$ source ~/.bashrc  
    

4、add second.pytorch/ to PYTHONPATH

$ gedit ~/.bashrc
添加内容
export PYTHONPATH=$PYTHONPATH:/home/junjun/Documents/second/second.pytorch
接着在终端source一下.bashrc文件
$ source ~/.bashrc

二、Prepare dataset

放在/home/junjun/Documents/second

/second.pytorch/second下,文件名是KITTI_DATASET_ROOT

(1)Create kitti infos:
$ python create_data.py create_kitti_info_file --data_path=KITTI_DATASET_ROOT     
(2)Create reduced point cloud:
$ python create_data.py create_reduced_point_cloud --data_path=./KITTI_DATASET_ROOT
(3)Create groundtruth-database infos:
$ python create_data.py create_groundtruth_database --data_path=./KITTI_DATASET_ROOT     
(4)Modify config file 
There are some paths need to be configured in config file:
     
train_input_reader: {
...
database_sampler {
database_info_path: "/home/junjun/Documents/second/second.pytorch/second/KITTI_DATASET_ROOT/kitti_dbinfos_train.pkl"
...
}
kitti_info_path: "/home/junjun/Documents/second/second.pytorch/second/KITTI_DATASET_ROOT/kitti_infos_train.pkl"
kitti_root_path: "/home/junjun/Documents/second/second.pytorch/second/KITTI_DATASET_ROOT"
}
...        
eval_input_reader: {
...
kitti_info_path: "/home/junjun/Documents/second/second.pytorch/second/KITTI_DATASET_ROOT/kitti_infos_val.pkl"
kitti_root_path: "/home/junjun/Documents/second/second.pytorch/second/KITTI_DATASET_ROOT"
}

三、train

$ python ./pytorch/train.py train --config_path=./configs/car.fhd.config --model_dir=/path/to/model_dir 
#这里注意/path/to/model_dir要写绝对路径,否则会在训练到中途的时候,突然报错。

附录

一、解决sudo命令无法使用(报错'Command 'sudo' is available in '/usr/bin/sudo')

1、终端输入:
$ export PATH=$PATH:/usr/bin
2、可以使用sudo后,可以编辑/etc/environment文件以永久更改,因此在终端中运行:
$ sudo gedit /etc/environment  
3、编辑文件,确保路径类似于以下内容:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
保存并退出   
4、$ sudo gedit ~/.bashrc
将以下行添加到bashrc文件
export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
保存并退出。然后你就可以尽情的使用sudo了,这个时候查看cmake版本也正常了。
虽然sudo可以使用了,但是使用source activate pytorch时爆出错误“-bash: activate: No such file or directory”
一句话,先别嚎,你经历的我都经历过,一点点解决就是了。

二、Ubuntu16.04中激活pytorch环境时出现错误

1、$ sudo gedit ~/.bashrc
在文件最后一行添加export PATH="/home/junjun/anaconda3/bin:$PATH"(这需要看自己的路径)
保存并退出
2、$ sudo gedit /etc/profile
在文件最后一行添加export PATH="/home/junjun/anaconda3/bin:$PATH"
保存并退出
3、$ source /etc/profile 
然后就可以成功激活了

虽然source activate pytorch没问题了,但是先别高兴,切忌大喜大悲,因为接下来输入python,接着import torch时你会被告知
“ImportError: No module named 'torch'”,我在这里采用了最简单粗暴的方式,直接卸载重装,一切就OK了,命令都贴在下面,
如果你拒绝这种方式,也可以自行百度其他解决方法

三、ubuntu 16.04卸载与安装pytorch 1.0

1、$ conda uninstall pytorch     #卸载pytorch
2、$ conda uninstall torchvision #卸载torchvision:
3、$ conda create -n pytorch python=3.6  #创建一个pytorch环境,用于在里面安装所需要的包
4、$ conda install pytorch torchvision cudatoolkit=10.0 -c pytorch  #安装新版pytorch(版本1.0):

四、如果中途错装了什么软件,不用怕,按照如下步骤解决(需要在root权限下进行操作)

1、查看已经安装的程序。请输入命令:
   $ dpkg --list
2、卸载程序和所有配置文件。在终端输入以下命令:
   $ sudo apt-get --purge remove softname(切记softname需要自己写)
   如果是只卸载程序,请输入以下命令:
   $ sudo apt-get remove softname
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-04-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 3D点云深度学习 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档