OpenPCDet复现过程记录
0、前言
OpenPCDet项目之前我就复现过,一个很优秀的项目,这几天又需要用到这个项目,再次复现遇到了不少问题,特此记录复现的流程
1、环境准备
1.1、前置条件
以下是我安装的版本
- CUDA 11.3
- CUDNN 8.2.1
CUDA和CUDNN安装可以参考这篇文章https://blog.csdn.net/qq_50195602/article/details/130337805
1.2、其他环境总览
- python=3.8
- torch==1.11
- spconv-cu113
- cmake version 3.26.3
驱动版本
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 510.108.03 Driver Version: 510.108.03 CUDA Version: 11.6 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 NVIDIA GeForce ... Off | 00000000:01:00.0 Off | N/A |
| N/A 42C P8 N/A / N/A | 9MiB / 2048MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| 0 N/A N/A 980 G /usr/lib/xorg/Xorg 4MiB |
| 0 N/A N/A 1592 G /usr/lib/xorg/Xorg 4MiB |
+-----------------------------------------------------------------------------+
(open3) neo@neo:~/code/OpenPCDet/tools$ pip list
Package Version Editable project location
------------------------ ------------- -------------------------
addict 2.4.0
argcomplete 3.0.6
asttokens 2.2.1
attrs 23.1.0
av 10.0.0
av2 0.2.1
backcall 0.2.0
ccimport 0.4.2
certifi 2022.12.7
charset-normalizer 3.1.0
click 8.1.3
cmake 3.26.3
colorlog 6.7.0
comm 0.1.3
ConfigArgParse 1.5.3
contourpy 1.0.7
cumm-cu113 0.4.8
cycler 0.11.0
dash 2.9.3
dash-core-components 2.0.0
dash-html-components 2.0.0
dash-table 5.0.0
debugpy 1.6.7
decorator 5.1.1
distlib 0.3.6
easydict 1.10
executing 1.2.0
fastjsonschema 2.16.3
filelock 3.12.0
fire 0.5.0
Flask 2.2.3
fonttools 4.39.3
idna 3.4
imageio 2.27.0
importlib-metadata 6.6.0
importlib-resources 5.12.0
ipykernel 6.22.0
ipython 8.12.0
ipywidgets 8.0.6
itsdangerous 2.1.2
jedi 0.18.2
Jinja2 3.1.2
joblib 1.2.0
jsonschema 4.17.3
jupyter_client 8.2.0
jupyter_core 5.3.0
jupyterlab-widgets 3.0.7
kiwisolver 1.4.4
kornia 0.6.12
lark 1.1.5
lazy_loader 0.2
lit 16.0.1
llvmlite 0.39.1
markdown-it-py 2.2.0
MarkupSafe 2.1.2
matplotlib 3.7.1
matplotlib-inline 0.1.6
mdurl 0.1.2
mpmath 1.3.0
nbformat 5.7.0
nest-asyncio 1.5.6
networkx 3.1
ninja 1.11.1
nox 2023.4.22
numba 0.56.4
numpy 1.23.5
nvidia-cublas-cu11 11.10.3.66
nvidia-cuda-cupti-cu11 11.7.101
nvidia-cuda-nvrtc-cu11 11.7.99
nvidia-cuda-runtime-cu11 11.7.99
nvidia-cudnn-cu11 8.5.0.96
nvidia-cufft-cu11 10.9.0.58
nvidia-curand-cu11 10.2.10.91
nvidia-cusolver-cu11 11.4.0.1
nvidia-cusparse-cu11 11.7.4.91
nvidia-nccl-cu11 2.14.3
nvidia-nvtx-cu11 11.7.91
open3d 0.17.0
opencv-python 4.7.0.72
packaging 23.1
pandas 2.0.0
parso 0.8.3
pccm 0.4.6
pcdet 0.6.0+4d8624f /home/neo/code/OpenPCDet
pexpect 4.8.0
pickleshare 0.7.5
Pillow 9.5.0
pip 23.0.1
pkgutil_resolve_name 1.3.10
platformdirs 3.2.0
plotly 5.14.1
portalocker 2.7.0
prompt-toolkit 3.0.38
protobuf 3.20.3
psutil 5.9.5
ptyprocess 0.7.0
pure-eval 0.2.2
pyarrow 11.0.0
pybind11 2.10.4
Pygments 2.15.1
pyparsing 3.0.9
pyproj 3.5.0
pyquaternion 0.9.9
pyrsistent 0.19.3
python-dateutil 2.8.2
pytz 2023.3
PyWavelets 1.4.1
PyYAML 6.0
pyzmq 25.0.2
requests 2.28.2
rich 13.3.4
scikit-image 0.20.0
scikit-learn 1.2.2
scipy 1.9.1
setuptools 66.0.0
SharedArray 3.2.2
six 1.16.0
spconv-cu113 2.3.6
stack-data 0.6.2
sympy 1.11.1
tenacity 8.2.2
tensorboardX 2.6
termcolor 2.2.0
threadpoolctl 3.1.0
tifffile 2023.4.12
torch 2.0.0
torchvision 0.15.1
tornado 6.3.1
tqdm 4.65.0
traitlets 5.9.0
triton 2.0.0
typing_extensions 4.5.0
tzdata 2023.3
urllib3 1.26.15
virtualenv 20.22.0
wcwidth 0.2.6
Werkzeug 2.2.3
wheel 0.38.4
widgetsnbextension 4.0.7
zipp 3.15.0
2、详细步骤
2.1、创建conda环境
conda create -n open python=3.8
conda activate open
2.2、安装包(除了torch)

pip install -r requirements.txt
2.3、安装torch
pip install torch==1.11.0+cu113 torchvision==0.12.0+cu113 torchaudio==0.11.0 --extra-index-url https://download.pytorch.org/whl/cu113
2.4、安装稀疏卷积库
pip install spconv-cu113
2.5、安装cmake及一些其他的包
#cmake安装
pip install cmake
#可视化工具
pip install open3d
#其他的包
pip install av2
pip install kornia
2.6 编译项目
python setup.py develop
查看是否安装成功

2.7、运行demo
cd tools
python demo.py --cfg_file cfgs/kitti_models/pv_rcnn.yaml --ckpt ckpts/kitti/pv_rcnn_8369.pth --data_path /home/neo/data/kitti/vel/000000.bin




2.8、报错处理
undefined symbol: _ZN3c104impl23ExcludeDispatchKeyGuardC1ENS_11DispatchKeyE
网上很多人说是torch版本不匹配的问题,但是我的版本是匹配的,仔细分析报错发现可嫩是编译过程出错,所以我重新配置conda环境并重新编译(python setup.py develop就是编译),问题就解决了。
注意重新编译需要删除build文件

rm -r build
至此复现结束,如果有什么问题可以在评论区一起交流
OpenPCDet复现过程记录的更多相关文章
- 【3D】PoseCNN姿态检测网络复现过程记录
最近在研究室内6D姿态检测相关问题,计划在PoseCNN网络基础上进行改进实现.但是在第一步的复现过程中踩了无数的坑,最终成功运行了demo,但目前数据集train还是遇到了一些问题.有问题欢迎一起交 ...
- 升级Windows 10 正式版过程记录与经验
升级Windows 10 正式版过程记录与经验 [多图预警]共50张,约4.6MB 系统概要: 预装Windows 8.1中文版 64位 C盘Users 文件夹已经挪动到D盘,并在原处建立了符号链接. ...
- 双系统Ubuntu分区扩容过程记录
本人电脑上安装了Win10 + Ubuntu 12.04双系统.前段时间因为在Ubuntu上做项目要安装一个比较大的软件,导致Ubuntu根分区的空间不够了.于是,从硬盘又分出来一部分空间,分给Ubu ...
- CentOS 5.5 下安装Countly Web Server过程记录
CentOS 5.5 下安装Countly Web Server过程记录 1. 系统更新与中文语言包安装 2. 基本环境配置: 2.1. NodeJS安装 依赖项安装 yum -y install g ...
- linux-i386(ubuntu)下编译安装gsoap_2.8.17过程记录
过程记录 : 1.下载gsoap_2.8.17.zip 并 解压 : $unzip gsoap_2.8.17.zip 2.进入解压后的目录gsoap-2.8 3.自动配置编译环境: $ ...
- 【转】android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创)
原文网址:http://www.cnblogs.com/zdz8207/archive/2012/11/27/android-ndk-install.html android 最新 NDK r8 在w ...
- 升级到 ExtJS 5的过程记录
升级到 ExtJS 5的过程记录 最近为公司的一个项目创建了一个 ExtJS 5 的分支,顺便记录一下升级到 ExtJS 5 所遇到的问题以及填掉的坑.由于 Sencha Cmd 的 sencha ...
- Ubuntu14.04 Tomcat 安装过程记录
Ubuntu14.04 Tomcat 安装过程记录 检查java的版本 zhousp@ubuntu:~$ sudo java -version [sudo] password for zhousp: ...
- mercurial(Hg) Server 搭建 过程记录
mercurial(Hg) Server 搭建 过程记录 1. 环境说明 只是测试搭建,环境为本机开发环境:win 8.1 + IIS8.5 软件准备: 2. 软件安装 先安装Python2.7, ...
- xp硬盘安装Fedora14 过程记录及心得体会(fedora14 live版本680M 和fedora14 DVD版本3.2G的选择)
这次电脑奔溃了,奇怪的是直接ghost覆盖c盘竟然不中.之前电脑上硬盘安装的fedora14操作系统,也是双系统.不知道是不是这个问题,记得同学说过,在硬盘装fedora之后,要手动修改c盘隐藏的那个 ...
随机推荐
- 加速鸿蒙生态共建,蚂蚁mPaaS助力鸿蒙原生应用开发创新
6月21日-23日,2024华为开发者大会(HDC 2024)如期举行.在22日的[鸿蒙生态伙伴SDK]分论坛中,正式发布了[鸿蒙生态伙伴SDK市场],其中蚂蚁数科旗下移动开发平台mPaaS(以下简称 ...
- SpringBoot学习篇
什么是SpringBoot?为什么要用SpringBoot 用来简化spring应用的初始搭建以及开发过程 使用特定的方式来进行配置(properties或yml文件) 创建独立的spring引用程序 ...
- Mybatis ResultMap复杂对象一对一查询结果映射之association
Mybatis复杂对象映射配置ResultMap的association association:映射到POJO的某个复杂类型属性,比如订单order对象里面包含user对象 表结构 项目结构 pom ...
- 洛谷P1043
[NOIP2003 普及组] 数字游戏 题目描述 丁丁最近沉迷于一个数字游戏之中.这个游戏看似简单,但丁丁在研究了许多天之后却发觉原来在简单的规则下想要赢得这个游戏并不那么容易.游戏是这样的,在你面前 ...
- JavaScript系列:JS实现复制粘贴文字以及图片
目录 一. 基于 Clipboard API 复制文字(推荐) 基本概念 主要方法 使用限制 实际应用示例 二.基于 document.execCommand('copy') 缺陷 实际应用示例 说明 ...
- Memcache 与 Memcached 的区别
Memcached 从0.2.0开始,要求PHP版本>=5.2.0,Memcache 要求PHP版本>=4.3. Memcached 最后发布时间为2018-12-24,Memcache ...
- Apache基于IP和端口
Apache基于IP 步骤1:添加并配置虚拟网卡 添加虚拟网卡:通常在虚拟机环境中,可以通过虚拟机软件(如VMware或VirtualBox)的网络设置来添加额外的网络适配器. 配置IP地址:编辑/e ...
- ASP.NET Core 3.x 三种【输入验证】方式
验证要做三件事 定义验证规则 按验证规则进行检查 报告验证的错误. 在把错误报告给API消费者的时候,报告里并不包含到底是服务端还是API消费者引起的错误,这是状态码的工作.而通常响应的Body里面会 ...
- 学习笔记--Java中final关键字
Java中final关键字 关于Java语言中的final关键字: final是一个关键字,表示:最终的,不可改变 final修饰的类无法被继承 final修饰的方法无法被覆盖 final修饰的变量一 ...
- 基于树莓派的OpenWrt系统打开蓝牙功能
在树莓派设备上的OpenWrt系统打开蓝牙功能 1. 安装必要的软件包 首先,你需要确保OpenWrt系统上安装了必要的蓝牙软件包.你可以通过OpenWrt的包管理器来安装它们.在OpenWrt系统上 ...