【DSW Gallery】基于EasyCV的BEVFormer 3D检测示例

简介: EasyCV是基于Pytorch,以自监督学习和Transformer技术为核心的 all-in-one 视觉算法建模工具,并包含图像分类,度量学习,目标检测,姿态识别等视觉任务的SOTA算法。本文将以BEVFormer 3D检测为例,为您介绍如何在PAI-DSW中使用EasyCV。

直接使用

请打开基于基于EasyCV的BEVFormer 3D检测示例,并点击右上角 “ 在DSW中打开” 。

image.png

EasyCV BEVFormer 3D检测示例

  BEVFormer是一种纯视觉的自动驾驶感知算法,通过融合环视相机图像的空间和时序特征显式的生成具有强表征能力的BEV特征,并应用于下游3D检测、分割等任务,取得了SOTA的结果。我们在EasyCV开源框架中,对BEVFomer算法进行集成,并从训练速度、算法收敛速度角度对代码进行了一些优化。

  本文将介绍如何在pai-dsw基于EasyCV快速使用BEVFormer进行3D检测模型模型的训练、推理。

运行环境要求

GPU机型 A100 80G,CUDA >= 11.1

推荐使用dsw官方镜像 modelscope:tf1.15torch1.11-gpu-py37-ubuntu20.04

安装依赖包

1、安装EasyCV算法包

! echo y | pip uninstall pai-easycv && wget https://github.com/alibaba/EasyCV/archive/refs/heads/master.zip && pip install master.zip

2、安装libturbojpeg及依赖用于数据读取加速

! apt-get update
! apt-get install libturbojpeg
! pip install -U git+https://github.com/lilohuang/PyTurboJPEG.git

NuScenes 3D检测模型训练

下面介绍如何利用NuScenes数据,使用BEVFormer模型进行3D检测模型的训练评估、模型预测

数据准备

下载mini-NuScenes数据,并解压

! wget http://pai-vision-data-hz.oss-cn-zhangjiakou.aliyuncs.com/EasyCV/modelzoo/detection3d/nuscenes-v1.0-mini.tar.gz && tar -xf nuscenes-v1.0-mini.tar.gz

下载并调整配置文件

下载训练配置文件,为了节省训练时间,对参数进行一些调整

# 修改data_root
data_root = '/mnt/workspace/nuscenes-v1.0-mini/'
# 导入预训练模型,确保模型精度
load_from = 'http://pai-vision-data-hz.oss-cn-zhangjiakou.aliyuncs.com/EasyCV/modelzoo/detection3d/bevformer/v2/epoch_24.pth'
# 修改epoch数目,节省训练时间
total_epochs = 1
! rm -f bevformer_base_r101_dcn_nuscenes.py
! wget https://raw.githubusercontent.com/alibaba/EasyCV/master/configs/detection3d/bevformer/bevformer_base_r101_dcn_nuscenes.py

训练模型

使用单卡gpu进行训练和验证集评估,为了快速跑通,设置epoch为1。

! python -m easycv.tools.train  bevformer_base_r101_dcn_nuscenes.py --work_dir work_dirs/detection3d/bevformer

预测

# 查看训练产生的pt文件,并准备测试文件
! ls  work_dirs/detection3d/bevformer/*
! cd nuscenes-v1.0-mini

导入模型权重和config,并预测测试数据进行预测

import torch
import mmcv
from easycv.predictors import BEVFormerPredictor
predictor = BEVFormerPredictor(
    model_path='../work_dirs/detection3d/bevformer/epoch_1.pth',
    config_file='../bevformer_base_r101_dcn_nuscenes.py',
)
inputs = mmcv.load('nuscenes_infos_temporal_val.pkl')['infos'][:1]
predict_results = predictor(inputs)
print(predict_results)


相关实践学习
使用PAI+LLaMA Factory微调Qwen2-VL模型,搭建文旅领域知识问答机器人
使用PAI和LLaMA Factory框架,基于全参方法微调 Qwen2-VL模型,使其能够进行文旅领域知识问答,同时通过人工测试验证了微调的效果。
机器学习概览及常见算法
机器学习(Machine Learning, ML)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
相关文章
|
人工智能 JSON 前端开发
CodeFuse--AI编程代码辅助工具开盒尝鲜
生成式人工智能在编码方面表现出的学习和适应能力令人非常兴奋,本文将为读者率先开盒尝试CodeFuse,供大家学习和借鉴!(邀请码:【552049】,有邀请码可更快过审!!!)
595 0
CodeFuse--AI编程代码辅助工具开盒尝鲜
|
2月前
|
人工智能 缓存 API
阿里云AI节省计划是什么?如何订阅购买使用?
阿里云百炼推出AI节省计划,助开发者降本增效:通用型计划支持跨模型抵扣,承诺消费享最高5.3折;另有专属模型计划可选。覆盖Token、工具调用等费用,自动抵扣、灵活生效,显著优化大模型API调用成本。
496 7
|
12月前
|
数据采集 自动驾驶 Java
PAI-TurboX:面向自动驾驶的训练推理加速框架
PAI-TurboX 为自动驾驶场景中的复杂数据预处理、离线大规模模型训练和实时智能驾驶推理,提供了全方位的加速解决方案。PAI-Notebook Gallery 提供PAI-TurboX 一键启动的 Notebook 最佳实践
|
存储 安全 PHP
PHP中实现简单身份验证系统的步骤
【8月更文挑战第31天】在构建Web应用程序时,确保用户身份的合法性和数据的安全性是至关重要的。本文将引导你通过使用PHP语言来实现一个简单的身份验证系统,从数据库设计到前端登录界面的创建,再到后端逻辑的处理,我们将一步步地走过整个流程。无论你是PHP新手还是希望复习相关知识,这篇文章都将为你提供清晰的指导和实用的代码示例。
|
存储 Shell 网络安全
Centos7.9安装openldap
Centos7.9安装openldap
700 16
|
机器学习/深度学习 自然语言处理 算法
Transformer 学习笔记 | Decoder
本文记录了笔者学习Transformer的过程,重点介绍了填充(padding)和掩码(masking)机制。掩码确保解码器只依赖于之前的位置,避免信息泄露,保持因果关系及训练与推理的一致性。通过线性层和softmax函数生成输出概率,并使用梯度下降和反向传播进行训练。评估指标包括BLEU、ROUGE、METEOR和困惑度等。欢迎指正。
|
存储 开发框架 .NET
ASP.NET Core SignalR系列之Hub教程
ASP.NET Core SignalR系列之Hub教程
614 0
|
安全 NoSQL Ubuntu
linux 添加用户useradd 段错误 (核心已转储)
在Linux系统中使用`useradd`命令添加用户时遇到“段错误 (核心已转储)”的问题,通常表明存在系统级或关键组件问题。可通过检查系统日志(如`/var/log/syslog`)和内核消息来定位错误。此外,还需检查并修复文件系统错误(使用`fsck`),确保关键配置文件未损坏,并更新系统包与安全补丁。使用内存检测工具(如memtest86+)排查硬件故障,或重新安装`useradd`及其依赖库。通过`strace`跟踪命令执行过程,检查SELinux/AppArmor安全策略影响,并分析核心转储文件以进一步诊断问题根源。
1477 1
|
机器学习/深度学习 编解码 算法
BEVFormer-accelerate:基于EasyCV加速BEVFormer
BEVFormer是一种纯视觉的自动驾驶感知算法,通过融合环视相机图像的空间和时序特征显式的生成具有强表征能力的BEV特征,并应用于下游3D检测、分割等任务,取得了SOTA的结果。

热门文章

最新文章