Ubuntu18.04配置OpenPCDet并运行demo过程记录

news2024/11/26 9:49:18

一、概述

        因为最近需要配置OpenPCDet,发现在配置过程中存在诸多的问题需要解决,将过程中所遇到的问题进行记录保存。

二、具体配置过程

(一)参考链接

        因为中间遇到了很多问题,参考了很多不少相应的博客进行问题解决。首先在这里列出第一篇参考的博客,整理的思路是安装这篇博客进行的,中间遇到了很多博客作者没有遇到过的问题,对里面的问题进行了一一解决。

OpenPCDet详细安装指南+单/多GPU训练演示-CSDN博客文章浏览阅读6.9k次,点赞20次,收藏96次。如何安装PCDet_openpcdethttps://blog.csdn.net/m0_50652864/article/details/128422947?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522548D0F77-A761-4A19-8E3A-1B57AFE9750D%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=548D0F77-A761-4A19-8E3A-1B57AFE9750D&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-2-128422947-null-null.142%5Ev100%5Epc_search_result_base2&utm_term=%E9%85%8D%E7%BD%AEOpenPCDet&spm=1018.2226.3001.4187       运行demo主要参考这篇博客。OpenPCdet运行demo路线_openpcdet demo.py-CSDN博客该文章介绍了作者在特定环境下使用OpenPCdet运行demo路线的过程。作者根据大佬的教程安装了spConv和OpenPCdet,下载了Kitti数据集,并成功运行了demo。https://blog.csdn.net/qq_44992157/article/details/127906182        其余解决问题时候的参考链接,将会在下面解决每个问题时候进行给出,以供大家参考。

(二)相关驱动配置

        在这里列出我使用的主要相关配置

        ubuntu18.04

        python3.8

        pytorch 1.8.1

        cuda11.1
        torchvision=0.9.1+cu111
        torchaudio=0.8.1
        spconv=cu111

(三)安装流程

        1.cuda安装

        cuda安装有很多的博客参考,这里是我安装时候的安装记录以及出现的一些问题的解决方式(链接如下所示)。因为cuda更新较快,pytorch的版本不一定能够跟得上,不建议使用太新的cuda版本。

Ubuntu18.04安装cuda11.1(出现c++版本问题)-CSDN博客文章浏览阅读52次。需要使用到ubuntu18.04进行cuda的配置,最新版本的cuda跟pytorch的版本不太适配,所以为了能够复现,我选择了一些老版本的cuda11,其使用的范围更加广泛。将自己。https://blog.csdn.net/GFCLJY/article/details/142698100

        2.anaconda安装

        anaconda安装可以参考很多博客,在此不做过多描述。

        3.创建环境

        我使用的Python版本是3.8,其余python 版本同样也可以正常使用,但是需要主要第三方包的版本与所使用的Python版本相对应。

        在终端中输入下面的命令。即可创建python3.8的环境。

conda create -n test_py38 python=3.8

        在环境创建完成后,在终端中输入下面的命令进行检查,确保Python版本是正确的,因为有可能会链接到默认版本,默认版本过高的话,会导致有些库无法正常安装。

python --version

        如图所示,我创建新环境进行测试的时候,发现python的版本不对,

        相应问题的解决方法我进行了记录,链接如下。
anaconda创建环境无法定位到正确的Python解释器版本-CSDN博客文章浏览阅读185次,点赞3次,收藏2次。如图所示,在新创建的环境中,在终端输入下面的命令显示的结果应该是python 3.8的一个版本,但是实际上显示的如图所示。因为python版本不对,无法安装相应的pytorch。https://blog.csdn.net/GFCLJY/article/details/142693235

        解决问题后,发现其可以连接到正确的版本,如图所示。 

        4.安装 pytorch

        在终端中输入如下的命令(此命令来自于官方网站,其链接如下所示)。

Previous PyTorch Versions | PyTorchInstalling previous versions of PyTorchicon-default.png?t=O83Ahttps://pytorch.org/get-started/previous-versions/

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

         在安装官方网站执行过后,发现不行,下载不下来。于是,我们采用另外的方法进行下载,我们将.whl文件下载到本地后进行手动安装。

        根据上面的安装命令,我们可以知道其含义是在指定的网站上面下载这些包,我们在浏览器中手动搜索这个网站进行下载。网站链接如下所示。

https://download.pytorch.org/whl/cu111/torch_stable.html

        进入网站后如图所示。

        需要注意的是,这个里面有很多的包,我们需要下载对应的包(需要注意pytorch的版本以及对应的Python的版本),下载错误无法正确安装。 

        下载完成后如图所示。相应的包名分别如下所示

torch-1.8.1+cu111-cp38-cp38-linux_x86_64.whl  
torchvision-0.9.1+cu111-cp38-cp38-linux_x86_64.whl
torchaudio-0.8.1-cp38-cp38-linux_x86_64.whl

        然后手动安装。命令如下所示。

pip install torch-1.8.1+cu111-cp38-cp38-linux_x86_64.whl
pip install torchvision-0.9.1+cu111-cp38-cp38-linux_x86_64.whl
pip install torchaudio-0.8.1-cp38-cp38-linux_x86_64.whl

        在安装完成之后,我们进行一下测试,确保安装能够使用,在终端中输入如下的命令。

python
import torch
torch.cuda.is_available()

         假如输入结果如下所示,证明安装成功。

        需要退出时,在下面输入。

exit()

         5.安装spconv

        在终端中输入如下的命令

pip install spconv-cu111

        其余版本的安装可以查询这个链接。

GitHub - traveller59/spconv: Spatial Sparse Convolution LibrarySpatial Sparse Convolution Library. Contribute to traveller59/spconv development by creating an account on GitHub.icon-default.png?t=O83Ahttps://github.com/traveller59/spconv        安装完成之后进行测试,大致原理与上面相同,在终端中输入下面指令。

python
import spconv

        如图所示。安装成功的正确显示是在import时候没有出现任何报错。

        需要退出时,在下面输入。 

exit()

        6.安装OpenPCDet

        在终端中依次输入下面的命令。

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

        安装官网和博客的做法,这样做已经可以正常运行。但是实际上这样做依旧无法成功,依旧缺少很多的依赖需要安装。

        7.pip install -r requirements.txt报错

        如图所示,在安装某一个包的时候,发现无法正确安装。我在安装SharedArray包的出现错误,这个地方是编译器的问题,没有找到合适的编译器。

        出现这样的原因是因为我的Ubuntu18.04比较“干净”,里面基本上没有下载其他的东西。一种解决方式是这样的。

        在终端中输入如下的命令。将gcc编译器在conda的虚拟环境中进行安装。

conda install gcc_linux-64

         进行了这样的操作后,再次安装相应的包,发现可以正常安装,如图所示,但是之后进行python setup.py develop会出现问题。

        感觉可以尝试这样的解决方法,在终端中输入如下的命令,直接将gcc编译器安装上去。

sudo apt install gcc

        8.python setup.py develop报错

        如图所示,在使用这个命令时候,发现的如图所示的报错。

        是C++的编译出现问题了,解决方式是将g++安装一下,再重新运行即可。

sudo apt install g++

         9.检验

        这样做之后,发现可以正常运行。下面对其进行检验。

python
import pcdet

        如果import没有出现任何问题,则证明前面的安装没有。但是这样依旧不代表OpenPCDet可以正常运行,其在运行的时候依旧存在问题。

(四)运行demo.py

        1.下载数据集

        如图所示,我们运行demo.py的数据集这个(官方网站链接如下所示),但是它的文件太大了,下载速度太慢了。

The KITTI Vision Benchmark Suite

        我们使用百度网盘进行下载,下载稍微快一点,下面是提供的链接。

https://zhuanlan.zhihu.com/p/324595705 

        2. 下载预训练模型

https://drive.google.com/file/d/1lIOq4Hxr0W3qsX83ilQv0nk1Cls6KAr-/view

         3.放置路径

        将下载的数据集进行解压,如图所示,

        解压之后,在tools文件夹下面新建data文件夹,如图所示。

         在data文件夹下面新建kitti文件夹,如图所示。

         将解压的数据文件中training放在下面。

         下载完成的预训练模型放置在tools下面,如图所示。

        4.启动demo

        在tools文件夹下面,在终端中输入下面的指令。需要注意后面的路径名称要换成自己的才能正确运行。

python demo.py --cfg_file cfgs/kitti_models/pv_rcnn.yaml --ckpt pv_rcnn_8369.pth --data_path /home/gfcguo/OpenMMLab/OpenPCDet/tools/data/kitti/training/velodyne/000001.bin

         运行效果显示。

        5.报错问题

        下面是我的报错的问题的记录,希望有些参考。

ubuntu18.04运行OpenPCDet出现的问题-CSDN博客在编译成功OpenPCDet的源代码之后,发现在运行demo时候,依旧出现了很多问题,在此对出现的问题进行总结记录。https://blog.csdn.net/GFCLJY/article/details/142703157?spm=1001.2014.3001.5501 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2190281.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Unity】unity安卓打包参数(个人复习向/有不足之处欢迎指出/侵删)

1.Texture Compression 纹理压缩 设置发布后的纹理压缩格式 Use Player Settings:使用在播放器设置中设置的纹理压缩格式 ETC:使用ETC格式(兼容) ETC2:使用ETC2格式(很多设备不支持) ASTC:使用…

使用JavaScript写一个网页端的四则运算器

目录 style(内联样式表部分) body部分 html script 总的代码 网页演示 style(内联样式表部分) <style>body {font-family: Arial, sans-serif;display: flex;justify-content: center;align-items: center;height: 100vh;background-color: #f0f0f0;}.calculator {…

c++ 指针传参

// // Created by 徐昌真 on 2024/10/4. // #include <iostream>//函数的值传递 void swap(int a, int b){ //只是单纯的改变了函数内部a b的值 在main函数内值并不会改变 因为值存在地址里面 而地址里面的值要通过指针来改变int temp;temp a;a b;b temp; }//函数的址…

Oracle架构之表空间详解

文章目录 1 表空间介绍1.1 简介1.2 表空间分类1.2.1 SYSTEM 表空间1.2.2 SYSAUX 表空间1.2.3 UNDO 表空间1.2.4 USERS 表空间 1.3 表空间字典与本地管理1.3.1 字典管理表空间&#xff08;Dictionary Management Tablespace&#xff0c;DMT&#xff09;1.3.2 本地管理方式的表空…

8647 实现图的存储结构

### 思路 1. 读取输入的顶点个数n和边的条数m。 2. 初始化一个n*n的邻接矩阵&#xff0c;所有元素初始为0。 3. 读取每条边的信息&#xff0c;更新邻接矩阵对应位置为1。 4. 输出邻接矩阵。 ### 伪代码 1. 读取n和m。 2. 初始化n*n的邻接矩阵matrix&#xff0c;所有元素为0。 …

CSS列表和超链接的使用(8个案例+代码+效果图+素材)

目录 1.无序列表ul 案例:定义不同type的li 1.代码 2.效果 2.有序列表ol type 取值 start属性 value 案例:定义不同类型的有序列表 1.代码 2.效果 3.定义列表dl 1.代码 2.效果 4.list-style-type属性 list-style-type的取值 案例:list-type的使用 1.代码 2.效果 5.list-style-im…

关于OJ平台的一个代码小问题 ——

目录 一、关于OJ平台的一个代码小问题 1、将OJ代码复制粘贴到vs上 2、创建测试方法&#xff0c;调用本次要调试的目标方法 3、利用vs调试工具排查代码问题 一、关于OJ平台的一个代码小问题 思考&#xff1a;OJ代码有bug怎么办&#xff1f; 答&#xff1a;VS调试技能用起来 …

G. Gears (2022 ICPC Southeastern Europe Regional Contest. )

G. Gears 思路&#xff1a; 本身这个题并不难&#xff0c;奈何卡了很久后看了题解才做出来&#xff0c;感觉自己好笨。 很容易想到的是&#xff0c;只要确定了一个齿轮的位置&#xff0c;其他齿轮的位置都可以直接推出来。所以当前目标是如何确定第一个齿轮的位置。 令 x [ i …

第2篇:Windows权限维持----应急响应之权限维持篇

关键词&#xff1a;Windows系统后门、权限维持 在获取服务器权限后&#xff0c;通常会用一些后门技术来维持服务器权限&#xff0c;服务器一旦被植入后门&#xff0c;攻击者便如入无人之境。本文将对常见的window服务端自启动后门技术进行解析&#xff0c;知己知彼方能杜绝后门…

系统规划与管理——1信息系统综合知识(4)

文章目录 1.3 信息系统1.3.4 信息系统总体规划 1.3 信息系统 1.3.4 信息系统总体规划 信息系统总体规划的概念和作用 一个组织或一个区域的信息系统建设&#xff0c;都要经历由初始到成熟的发展过程。诺兰总结了信息系统发展的规律&#xff0c;在1973年提出了信息系统发展的阶…

《Linux从小白到高手》理论篇:Linux的系统服务管理

值此国庆佳节&#xff0c;深宅家中&#xff0c;闲来无事&#xff0c;就多写几篇博文。本篇详细深入介绍Linux的系统服务管理。 系统服务通常在系统启动时自动启动&#xff0c;并在后台持续运行&#xff0c;为系统和用户提供特定的功能。例如&#xff0c;网络服务、打印服务、数…

CSP-J/S复赛算法 动态规划初步

文章目录 前言动态规划动态规划常见形式动态规划求最值的几个例子1. **背包问题**2. **最短路径问题**3. **最小硬币找零问题**4. **最长递增子序列** 总结 最优子结构举个简单的例子其他例子条件 DP的核心就是穷举具体解释 递归的算法时间复杂度dp数组的迭代解法通俗易懂的解释…

mysql表和表中记录的操作·2

表中字段的操作表中记录的操作SQL约束 1.表中字段的操作 字段/列column 知识点 在表中添加一列&#xff1a;alter table 表名 add 字段名 字段类型; 在表中删除一列&#xff1a;alter table 表名 drop 字段名; 在表中修改字段名和字段类型&#xff1a;alter table 表名…

IO零拷贝技术

01背景介绍 相信不少的网友&#xff0c;在很多的博客文章里面&#xff0c;已经见到过零拷贝这个词&#xff0c;会不禁的发出一些疑问&#xff0c;什么是零拷贝&#xff1f; 从字面上我们很容易理解出&#xff0c;零拷贝包含两个意思&#xff1a; 拷贝&#xff1a;就是指数据从…

Lesson1 - 操作系统概述与硬件视角

文章目录 什么是操作系统操作系统的形成 从程序看OS提出问题&#xff1a;从hello world文件开始目前编译器帮我们解决了诸多问题gcc的编译过程 CPU的运作CPU对任务的切换 什么是操作系统 操作系统 Operating System 是一组控制和管理计算机 硬件 和 软件 资源合理地对各类作业…

深入理解NumPy库:常用函数详解与数组操作指南

在数据科学和数值计算领域&#xff0c;NumPy无疑是一个强大的工具&#xff0c;它为Python提供了高效的多维数 组处理能力。无论是进行数据分析、构建机器学习模型&#xff0c;还是进行复杂的科学计算&#xff0c;NumPy都是 不可或缺的核心库之一。 numpy.array 是 NumPy 库中…

Python 从入门到实战34(实例2:绘制蟒蛇)

我们的目标是&#xff1a;通过这一套资料学习下来&#xff0c;通过熟练掌握python基础&#xff0c;然后结合经典实例、实践相结合&#xff0c;使我们完全掌握python&#xff0c;并做到独立完成项目开发的能力。 上篇文章我们讨论了数据库MySQL操作的相关知识。今天学习一个使用…

C语言指针plus版练习

上期我们讲了进阶的指针&#xff0c;本期内容我们来强化一下上期学的内容 一、字符串左旋 实现一个函数&#xff0c;可以左旋字符串中的k个字符。 1.1 分析题目 假设字符串为abcde&#xff0c;左旋一个以后就变成bcdea&#xff0c;就是把第一个字符移到一个新的变量里面&#…

5G NR BWP 简介

文章目录 BWP介绍BWP 分类BWP相关总结 BWP介绍 5G NR 系统带宽比4G LTE 大了很多&#xff0c;4G LTE 最大支持带宽为20MHz&#xff0c; 而5G NR 的FR1 最大支持带宽为100MH在&#xff0c; FR2 最大支持带宽为 400MH在。带宽越大&#xff0c;意味了终端功耗越多。为了减少终端的…

哪款百元头戴式耳机性价比高?四款大火爆全网的机型盘点推荐!

在繁忙的生活节奏中&#xff0c;寻找一片属于自己的宁静空间&#xff0c;成为了许多人的内心渴望。头戴式降噪耳机&#xff0c;正是那把打开音乐世界的钥匙。它不仅能够隔绝外界的喧嚣&#xff0c;还能将您带入一个纯净无瑕的音乐世界。无论是沉浸在古典乐的悠扬旋律中&#xf…