Openpcdet 安装过程

Openpcdet 安装过程

硬件配置3060+5800h

需要安装的工具

Anaconda3
cuda_11.1.1_455.32.00_linux.run(安装cuda)
cudnn-11.2-linux-x64-v8.1.1.33.tgz(安装cudann)

安装cuda 和cudann请参考这篇博客

https://blog.csdn.net/w1520039381/article/details/120726135#t5

一、建立Oenpcdet的环境:准备工作

安装pytorch

torch 1.9.1
torchaudio 0.9.1
torchvision 0.10.1
cudatoolkit 11.1

1.1建立名为Openpcdet的新环境

conda create -n Openpcdet python=3.8


1.2环境建好后激活

conda activate Openpcdet

1.3安装pytorch

1.3.1 在线安装

conda install pytorch==1.8.0 torchvision==0.9.0 torchaudio==0.8.0 cudatoolkit=11.1 -c pytorch -c conda-forge 

注意:安装pytorch1.90或者1.90以上清华源是没有的需要自行添加来源,加入-c pytorch是官方源可能导致下载变慢

例如pytorch1.9.1

pip3 install torch==1.9.1+cu111 torchvision==0.10.1+cu111 torchaudio==0.9.1 -f https://download.pytorch.org/whl/torch_stable.html
conda install cudatoolkit=11.1 

#以清华源为例,下载的时候会报错,因为cudatoolkit=11.1的版本在清华源上是没有的。尝试用北外的源下载11.1版本的cudatoolkit。
conda install cudatoolkit=11.1 -c https://mirrors.bfsu.edu.cn/anaconda/cloud/conda-forge

1.3.2离线安装
个人认为离线安装比较方便
首先要确认你的cuda 版本和要安装的python版本
Openpcdet 安装过程_第1张图片

pytorch离线下载网址
选择你的离线包

Openpcdet 安装过程_第2张图片
三个文件pip安装

Openpcdet 安装过程_第3张图片

注意(pytorch与torchvision、python、torchaudio、cudatoolkit的对应关系)

cudatoolkit torch1.5 torch1.6 torch1.7 torch1.8 torch1.9 torch1.10 torch1.11
9.2 1 1 1
10.1 1 1 1 1
10.2 1 1 1 1 1 1
11.0 1
11.1 1 1 1
11.3 1 1 1 1

PyTorch与torchvision、python 对应关系
Openpcdet 安装过程_第4张图片
torch与torchaudio、python对应关系
Openpcdet 安装过程_第5张图片

1.4测试pytorch是否可用

python
import torch as t
device = t.device('cuda' if t.cuda.is_available() else 'cpu')
print(device) 

如果不是cuda请检查pytorch是否安装为cpu版本(检查很重要!!!!)

1.5安装spconv

pip install spconv-cu111   #我的cuda是11.1,根据cuda版本来选择spconv版本
注意:不添加清华园会导致下载失败
亲 使用pip install spconv-cu111 -i https://pypi.tuna.tsinghua.edu.cn/simple

Openpcdet 安装过程_第6张图片

1.5.1更新cmake版本工作

查看版本

cmake --version

没有的话

pip install Cmake
1.5.2验证spconv
import spconv.pytorch as spconv

二、下载安装Openpcdet

2.1安装

我保存的位置是在我创建的环境中的

(Open3d) huangmang@huangmang-Lenovo-ThinkBook-16p-Gen-2:~/anaconda3/envs/Open3d$

#1.选择你要保存的路径
#2.cd 进去
#3.安装所需的包

git clone https://github.com/open-mmlab/OpenPCDet.git
cd OpenPCDet
pip install -r requirements.txt 

安装需要的包后

cd OpenPCDet
sudo python setup.py develop

是不是以为大功告成?

不会的接下来是解决报错的过程

2.2安装报错问题

2.2.1[subprocess.CalledProcessError: Command ‘[‘ninja‘, ‘-v‘]‘ returned non-zero exit status 1]

解决办法:

将anaconda环境下的 lib/python3.8/site-packages/torch/utils/cpp_extension.py文件

将**[‘ninja’,’-v’]改成[‘ninja’,’- -version’]** 注意是两条杠

如果你是python3.9也在相应路径去找

2.2.2fatal error: cuda_runtime.h: No such file or directory
验证nvcc -V
如果没有,可能是cuda路径设置有问题
查看你的~/.bashrc 文件

sudo gedit ~/.bashrc

看是否有以下路径(我的是cuda11.1)

export PATH=$PATH:/usr/local/cuda-11.1.0/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.1/lib64

或者没有就添加以下路径:

export CUDA_HOME=/usr/local/cuda-11.1
export LD_LIBRARY_PATH=${CUDA_HOME}/lib64
export PATH=${CUDA_HOME}/bin:${PATH}

然后添加软连接

sudo ln -s /usr/local/cuda-11.1 /usr/local/cuda

如果还不行,并且locate cuda_runtime.h 能找到正确位置


**2.2.3没有mayavi或着Open3d**

**mayavi安装失败,卡在Building wheel for mayavi (setup.py)**

使用pip安装mayavi的依赖库vtk的时候,如果没有指定vtk的版本号,就自动安装了 最新版本,最新的版本好像和mayavi不兼容。注意:vtk版本maya版本python版本不一致都会导致mayavi安装失败

**安装open3d**

直接安装open3d也会失败后面添加网址则成功

pip install open3d -i https://pypi.tuna.tsinghua.edu.cn/simple



安装完后Openpcdet后测试

```python
# 命令行输入
python
import pcdet
# 如果可以import说明安装成功

三、使用KITTI数据集进行演示

3.1下载数据集

klitti官网:

http://www.cvlibs.net/datasets/kitti/eval_object.php?obj_benchmark=3d

kitti官网下载数据集速度很慢这里我贴出我的云盘供下载

https://pan.baidu.com/s/1YxUnfZoWNEn_nGCq012RXQ

提取码:g5n5

文件内容如下

  • data_object_calib

  • data_object_image_2

  • data_object_label_2

  • data_object_velodyne

  • data_load

  • devkit_object

    使用说明

1、这里每个文件的内容被分成多个压缩包主要是因为百度云对上传文件的大小有限制,另外一方面压缩后的文件确实比原始文件小很多。以雷达数据(data_object_velodyne)为例,解压后的实际大小为26.7G,实际上传的文件大小只有15.77G。
2、对于不同内容的压缩包,只需要解压对应的xxx.zip文件。
3、若出现解压后文件被损坏,可能是下载的时候数据被破坏了,或者使用的解压软件不对,我这里使用的是Bandizip软件,大家可以参考。

3.2 demo演示

在openpcdet文件夹下进入 tools

python demo.py --cfg_file cfgs/kitti_models/pv_rcnn.yaml     --ckpt pv_rcnn_8369.pth     --data_path data/kitti/training/velodyne/000008.bin

其中:

–cfg_file: .yaml配置文件
–ckpt:为训练好的.path 模型文件
–data_path:为检测的数据.bin文件

报错问题1

 File "demo.py", line 103, in <module>
    main()
  File "demo.py", line 83, in main
 model.load_params_from_file(filename=args.ckpt, logger=logger, to_cpu=True)
  File "/home/xie/OpenPCDet/pcdet/models/detectors/detector3d_template.py", line 325, in load_params_from_file
    raise FileNotFoundError
FileNotFoundError

原因是缺少pv_rcnn_8369.pth预训练模型文件
pv_rcnn_8369.pth模型下载链接:https://pan.baidu.com/s/1MmybKnxtgMXO321056TerQ 提取码:fvm5

报错问题2

找不到bin文件

我们把下载好的velodyne点云文件放到/home/huangmang/anaconda3/envs/Open3d/OpenPCDet/data文件夹下

官方提供路径:–data_path data/kitti/training/velodyne/000008.b

经测试使用相对文件路径会报错要使用绝对路径,将上面的–data_path data/kitti/training/velodyne/000008.bin改为下面的路径

-data_path /home/huangmang/anaconda3/envs/Open3d/OpenPCDet/data/kitti/training/velodyne/000050.bin

耗费四天终于成功了!!!

在这里插入图片描述
3.3训练准备

OpenPCDet
├── data
│   ├── kitti
│   │   │── ImageSets
│   │   │── training
│   │   │   ├──calib & velodyne & label_2 & image_2 & (optional: planes)
│   │   │── testing
│   │   │   ├──calib & velodyne & image_2
├── pcdet
├── tools

运行以下命令生成真实框和五个字典信息

python -m pcdet.datasets.kitti.kitti_dataset create_kitti_infos tools/cfgs/dataset_configs/kitti_dataset.yaml

在这里插入图片描述

四、一些命令

conda指令

conda create -n myenv python=3 # 创建一个名为myenv的环境并指定python版本为3
conda remove -n myenv --all  # 删除环境及下属所有包

activate myenv # 切换到myenv环境
deactivate myenv # 推出环境myenv
activate # 进入默认的base环境

conda env list # 列出所有环境
conda list # 列出当前环境的所有包

# 以pandas为例,安装,卸载,更新
conda search pandas # 查找可安装的包
conda install pandas # 安装包
conda remove pandas # 卸载包
conda update pandas # 更新包

#cuda,cudnn 在conda环境里
conda install cudatoolkit=11.1 
conda install cudnn=8.1.0 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge

# 删除环境
conda env remove --name 环境名


删除cuda 和cudann

#删除cuda
cd /usr/local/cuda-11.0/bin/
sudo ./cuda-uninstaller
sudo rm -rf /usr/local/cuda-11.0

# 删除cudann
sudo rm -rf /usr/local/cuda/include/cudnn.h
sudo rm -rf /usr/local/cuda/lib64/libcudnn*
sudo rm -rf /usr/include/cudnn.h
sudo rm -rf /usr/lib/x86_64-linux-gnu/libcudnn*

2、gcc降级

Ubuntu20.04自带的gcc版本为9.7.0,需要添加gcc7才可安装cuda10.2,输入命令安装gcc7
sudo apt-get install gcc-7 g++-7
查看gcc版本,可以看到目前系统中存在7和9两个版本

使用update-alternatives进行版本切换,输入以下命令:
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 100
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 50
此时输入sudo update-alternatives --config gcc命令查看gcc的默认版本,可以看到当前默认gcc版本为7,即切换成功。

参考文章
https://blog.csdn.net/weixin_42423743/article/details/111173137
https://blog.csdn.net/weixin_43678195/article/details/117352908
https://blog.csdn.net/u013086672/article/details/103910266
https://blog.csdn.net/sini2018/article/details/120820407
https://blog.csdn.net/uzwuzw/article/details/116091495
https://blog.csdn.net/jin15203846657/article/details/122735375

你可能感兴趣的:(python,深度学习,pytorch)