当前位置:   article > 正文

OpenPCDet详细安装指南+单/多GPU训练演示

openpcdet

前言

本人总共花了两个晚上+一个下午安装,中间因为各种版本错误、版本不兼容报各种奇奇怪怪的错,遂记录下来,也希望对想要安装PCDet的朋友有所帮助。如果你的版本和我有所出入,没关系,跟着我的过程选择适合自己的版本;如果你的cuda版本正是11.1,可以无脑跟着我的过程来。
查看cuda版本:用nvcc -Vnvcc --version

个人环境一览

安装环境

操作系统:ubuntu 16.04.1 x86_64
CUDA驱动:11.1

安装的各版本

Python=3.8
torch=1.8.1+cu111
torchvision=0.9.1+cu111
torchaudio=0.8.1
spconv=cu111

1. 创建conda虚拟环境

  1. conda create -n your-env-name python=3.8

    Python版本很重要:spconv2要求python版本>=3.6 < 3.9,PCDet要求python版本>=3.8。所以最后我只能选择3.8。

  2. 进入创建好的conda虚拟环境:conda activate your-env-name

如果需要退出当前conda虚拟环境:conda deactivate
如果需要删除某个conda虚拟环境:conda remove -n your-env-name --all

2. 安装PyTorch

  1. 确保进入conda虚拟环境后,输入:pip install torch==1.8.1+cu111 torchvision==0.9.1+cu111 torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html
  2. 安装结束后,输入:python,进入python环境
  3. import torch
  4. 输入torch.cuda.is_available(),如果返回true,则说明PyTorch安装成功。

如果需要寻找其他版本,可以到PyTorch官网:PyTorch历史版本。在该页面使用快捷键ctrl+f寻找目的版本。

3. 安装spconv

  1. 输入:pip install spconv-cu111
  2. 安装结束后,输入:python,进入python环境
  3. import spconv,如果import成功,则说明安装成功。

如果需要其他版本,可以到spconv官网:spconv。只要spconv-cuda的版本大于你自己cuda的版本就行,但建议不要相差太大;比如说,你自己的cuda是11.0,你也可以安装spconv-cu111。
在这里插入图片描述

4. 安装PCDet

OpenPCDet GitHub官方

  1. git clone https://github.com/open-mmlab/OpenPCDet.git
  2. cd OpenPCDet
  3. pip install -r requirements.txt
  4. python setup.py develop
  5. 安装没有报错后,输入python,进入python环境
  6. import pcdet,如果import成功,说明安装成功。

2023.6.8补充:
如果遇到以下报错,将requirement.txt中的json和cv2改成simplejson和opencv-python就行了。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

5. 数据集

  1. 进入KITTI官网
  2. 进入3d object,下载点云数据。
    在这里插入图片描述
  3. 将kitti数据集放在OpenPCDet/data目录下

或者直接在服务器上使用wget命令进行下载:wget -b https://s3.eu-central-1.amazonaws.com/avg-kitti/data_object_velodyne.zip-b表示在后台下载,可以通过tail -f wget-log命令显示下载进度。

6. 训练

进入OpenPCDet/tools目录下。

单GPU训练

CUDA_VISIBLE_DEVICES=0 python train.py --cfg_file cfgs/kitti_models/pv_rcnn.yaml
  • 1

or

python train.py --cfg_file cfgs/kitti_models/pv_rcnn.yaml
  • 1

多GPU训练

CUDA_VISIBLE_DEVICES=4,5,6,7 python -m torch.distributed.launch --nproc_per_node=4 train.py --cfg_file cfgs/kitti_models/pv_rcnn.yaml --launcher pytorch
  • 1
  • CUDA_VISIBLE_DEVICES:选择GPU
  • torch.distributed.launch:表明利用该工具进行分布式训练
  • nproc_per_node:每个物理节点(机器)上有多少GPU。如果是单机器,就是你所用GPU的数量。
  • cfg_file:配置文件,在OpenPCDet/tools/cfgs下。
  • --launcher pytorch:表明使用PyTorch架构

7. 测试

CUDA_VISIBLE_DEVICES=4,5,6,7 python -m torch.distributed.launch --nproc_per_node=4 test.py --cfg_file cfgs/kitti_models/pv_rcnn.yaml --launcher pytorch --batch_size 4 --eval_all
  • 1
  • eval_all:测试后面的一系列epoch

8. 其他问题

具体问题,具体分析。版本很有可能不一样,但思路大致是这样。

1

问题描述

在用命令python -m pcdet.datasets.kitti.kitti_dataset create_kitti_infos tools/cfgs/dataset_configs/kitti_dataset.yaml生成KITTI数据集时,遇到如下报错。
在这里插入图片描述

问题解决

  1. 首先检查数据集文件目录是否严格按照OpenPCDet的要求。
  2. 如果是,大概率是路径错误,进入OpenPCDet/pcdet/datasets/kitti/kitti_dataset.py,将下图所示红框内的的test改成kitti
    在这里插入图片描述

2 kornia版本和torcch版本不兼容

问题描述
先安装了torch1.8.1,然后安装kornia(pip会找合适版本的包找很久,最后找出来也不行),发现版本冲突问题。
问题解决

  • 方法一:先安装kornia,默认是最新版本;再安装torch,但是这样torch版本也会很高,而我的cuda最高只支持114。
  • 方法二:
    • pip install torch==1.10.1+cu111 torchvision==0.11.2+cu111 torchaudio==0.10.1 -f https://download.pytorch.org/whl/cu111/torch_stable.html
    • pip install kornia==0.6.12
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/434373
推荐阅读
相关标签
  

闽ICP备14008679号