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

news2024/11/18 19:53:45

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

    • 前言
    • 个人环境一览
      • 安装环境
      • 安装的各版本
    • 1. 创建conda虚拟环境
    • 2. 安装PyTorch
    • 3. 安装spconv
    • 4. 安装PCDet
    • 5. 训练
      • 单GPU训练
      • 多GPU训练

前言

本人总共花了两个晚上+一个下午安装,中间因为各种版本错误、版本不兼容报各种奇奇怪怪的错,遂记录下来,也希望对想要安装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
在这里插入图片描述

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成功,说明安装成功。

5. 训练

单GPU训练

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

多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

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

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

相关文章

Windows 下使用 Docker + MySQL 安装 Wiki.js

Windows 下使用 Docker MySQL 安装 Wiki.jsIntroductionChapter 1 配置数据库Part 1 数据库安装Part 2 创建 Wiki 相关配置并修改权限Chapter 2 配置 Wiki.jsPart 1 安装Part 2 配置 WikiIntroduction Wiki 是一种在网络上开放且可供多人协同创作的系统&#xff0c;比较著名的…

【触摸屏功能测试】昆仑通态MCGS——测试通过HJ212_TCPIP驱动4G功能发送212报文

1、触摸屏功能测试 型号&#xff1a;TPC7022Ni 测试内容&#xff1a; 实现4G触摸屏&#xff0c;通过自带的4G卡向平台发送HJ212报文 2、HJ212_TCPIP 驱动说明 2.1、驱动介绍 本驱动构件用于MCGS软件,通过污染物在线监控(监测)系统数据传输标准协议向下位机数采仪发送各类指…

MCU-51:静态数码管显示

目录一、数码管介绍2.1 介绍2.2 数码管引脚定义2.3 原理图二、要用到的C语言知识2.1 数组2.2 子函数三、数码管显示3.1 单个数码管显示3.2 通过定位函数实现数码管显示四、动态数码管显示一、数码管介绍 2.1 介绍 LED数码管&#xff1a;数码管是一种简单、廉价的显示器&#…

Word表格常见设置汇总

Word表格常见设置汇总 总结一些Word中常用的关于表格的设置问题。 文章目录1.居中设置2.隔页显示表格首行设置3.边框边线粗细及显示设置4.表格斜线设置5.单元格合并与拆分设置1.居中设置 全选要居中显示部分→布局→选择居中类型。 2.隔页显示表格首行设置 选择表格→表格属性→…

idea插件之自动生成时序图(Sequence Diagram)

前言 小伙们&#xff0c;你们有没有发现&#xff0c;身边经常有这样一些人&#xff0c;看着平时没怎么干活&#xff0c;到关键时候需要展示工作成果&#xff0c;会发现这些人也有工作成果&#xff0c;甚至比辛苦在干的人可能还要多一些。按常理推测&#xff0c;这绝对不是一件科…

【小程序】案例 - 本地生活(首页)

1. 首页效果以及实现步骤 新建项目并梳理项目结构 配置导航栏效果 配置 tabBar 效果 实现轮播图效果 实现九宫格效果 实现图片布局 2. 接口地址 获取轮播图数据列表的接口 【GET】 https://www.escook.cn/slides 获取九宫格数据列表的接口 【GET】 https://www.esco…

XXE工具——XXEinjection安装与使用

今天继续给大家介绍渗透测试相关知识&#xff0c;本文主要内容是XXE工具——XXEinjection安装与使用。 免责声明&#xff1a; 本文所介绍的内容仅做学习交流使用&#xff0c;严禁利用文中技术进行非法行为&#xff0c;否则造成一切严重后果自负&#xff01; 再次强调&#xff1…

直播推流神器 Kplayer 手把手教你在B站7*24h全天直播

开始前的准备工作 Linux服务器 (1)KPlayer目前仅支持Linux环境并需要满足x86_64(amd64)与aarch64(arm64)CPU架构的硬件环境上运行&#xff0c;我们已经将相关依赖库静态链接至主程序中&#xff0c;这意味着你不需要额外的安装任何的第三方库来支持KPlayer的运行。 在后续的迭代…

【数据预处理】基于Pandas的数据预处理技术【前七个任务】

文章目录一.需求分析二.需求解决2.1 本次实验以california_housing加州房价数据集为例&#xff0c;下载数据集2.2 查看数据集的描述、特征及目标数据名称、数据条数、特征数量2.3 将数据读入pandas的DataFrame并转存到csv文件2.4 查看数据集各个特征的类型以及是否有空值2.5 对…

五年经验的前端社招被问:CPU 和 GPU 有什么区别?

CPU 和 GPU 的设计目标和整体架构的区别分析&#xff0c;并在全文最后使用通俗的例子做比喻帮助理解。 首先来看 CPU 和 GPU 的百科解释&#xff1a; CPU&#xff08;Central ProcessingUnit&#xff0c;中央处理器&#xff09;&#xff1a;功能主要是解释计算机指令以及处理计…

【工作流Activiti7】2、Activiti7 与 Spring Boot 及 Spring Security 整合

1. 前言 其实&#xff0c;选择用Activiti7没别的原因&#xff0c;就是因为穷。但凡是有钱&#xff0c;谁还用开源版的啊&#xff0c;当然是用商业版啦。国外的工作流引擎没有考虑中国的实际情况&#xff0c;很多像回退、委派、撤销等等功能都没有&#xff0c;所以最省事的还是…

若依前后端分离框架去掉首页 登录后跳转至动态路由的第一个路由

若依前后端分离框架去掉首页 登录后跳转至动态路由的第一个路由若依框架VUE前端界面&#xff0c;登录后默认跳转至动态路由第一路由&#xff08;第一个子菜单&#xff09;一、登录后跳转第一路由界面二、设置路由的首页路径&#xff0c;方便后续的获取三、点击若依的logo跳转的…

字符串函数(4)--strtok函数和strerror函数

1.strtok函数 — 分割字符串函数 2.strerror函数 — 错误报告函数 1.strstok函数的用法 char* strtok(char* str, const char* delimiters);直接看函数的声明&#xff1a; 参数1&#xff1a;要切割的地址&#xff0c;参数2&#xff1a;切割时的标记物 注意&#xff1a;strt…

单链表的python实现

首先说下线性表&#xff0c;线性表是一种最基本&#xff0c;最简单的数据结构&#xff0c;通俗点讲就是一维的存储数据的结构。 线性表分为顺序表和链接表&#xff1a; 顺序表示指的是用一组地址连续的存储单元依次存储线性表的数据元素&#xff0c;称为线性表的顺序存储结构或…

Nginx安装配置及vue项目部署【Centos7】

Background 网上好多都是源码安装&#xff0c;各种编译环境安装配置&#xff0c;感觉太麻烦了&#xff0c;这里直接下载一个rpm包就行了&#xff0c;离线安装也方便。 1、nginx rpm包下载 选择你要使用的版本下载。 nginx官方下载地址&#xff1a;http://nginx.org/packages/ce…

垃圾回收机制

1.什么场景下该使用什么垃圾回收策略&#xff1f; (1).对内存要求苛刻的场景 想办法提高对象的回收效率&#xff0c;尽可能的多回收一些对象&#xff0c;腾出更多内存 (2).在CPU使用率较高的情况下 降低高并发时垃圾回收频率&#xff0c;让CPU更多地去执行业务而不是垃圾回收 …

一文搞懂 Redis 架构演化之路

现如今 Redis 变得越来越流行&#xff0c;几乎在很多项目中都要被用到&#xff0c;不知道你在使用 Redis 时&#xff0c;有没有思考过&#xff0c;Redis 到底是如何稳定、高性能地提供服务的&#xff1f; 我使用 Redis 的场景很简单&#xff0c;只使用单机版 Redis 会有什么问…

vite + react +typescript 环境搭建,小白入门级教程

目录前言1. 使用 vite 创建 react 项目1. npm / yarn 命令初始化2. 输入项目名称3. 选择框架4. 选择 Js / Ts5. 项目创建完成6. 启动项目2. 规范项目目录3. 使用 react-router-dom 路由1. 使用 npm / yarn 命令下载2. 更改 react-router-dom 版本1. 通过 npm 命令降低版本2. 手…

rabbitmq基础5——集群节点类型、集群节点基础运维,集群管理命令,API接口工具

文章目录一、集群节点类型1.1 内存节点1.2 磁盘节点二、集群基础运维2.1 剔除单个节点2.1.1 集群正常踢出正常节点2.1.2 服务器异常宕机踢出节点2.1.3 集群正常重置并踢出节点2.2 集群节点版本升级2.3 集群某单节点故障恢复2.3.1 机器硬件故障2.3.2 机器掉电2.3.3 网络故障2.3.…

Android ShapeableImageView使用

ShapeableImageView使用使用 导包 implementation com.google.android.material:material:1.4.0属性 属性描述shapeAppearance样式shapeAppearanceOverlay样式&#xff0c;叠加层strokeWidth描边宽度strokeColor描边颜色 样式 名称属性值描述cornerFamilyrounded圆角cut裁剪…