【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)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
相关文章
|
7月前
|
人工智能 分布式计算 大数据
构建AI时代的大数据基础设施-MaxCompute多模态数据处理最佳实践
本文介绍了大数据与AI一体化架构的演进及其实现方法,重点探讨了Data+AI开发全生命周期的关键步骤。文章分析了大模型开发中的典型挑战,如数据管理混乱、开发效率低下和运维管理困难,并提出了解决方案。同时,详细描述了MaxCompute在构建AI时代数据基础设施中的作用,包括其强大的计算能力、调度能力和易用性特点。此外,还展示了MaxCompute在多模态数据处理中的应用实践以及具体客户案例,最后提供了体验MaxFrame解决方案的方式。
951 2
|
存储 Serverless 文件存储
函数计算产品使用问题之如何在一键部署的ComfyUI中上传大模型和插件
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
SQL 分布式计算 数据处理
云产品评测|分布式Python计算服务MaxFrame | 在本地环境中使用MaxFrame + 基于MaxFrame实现大语言模型数据处理
本文基于官方文档,介绍了由浅入深的两个部分实操测试,包括在本地环境中使用MaxFrame & 基于MaxFrame实现大语言模型数据处理,对步骤有详细说明。体验下来对MaxCompute的感受是很不错的,值得尝试并使用!
313 1
|
安全 NoSQL Ubuntu
linux 添加用户useradd 段错误 (核心已转储)
在Linux系统中使用`useradd`命令添加用户时遇到“段错误 (核心已转储)”的问题,通常表明存在系统级或关键组件问题。可通过检查系统日志(如`/var/log/syslog`)和内核消息来定位错误。此外,还需检查并修复文件系统错误(使用`fsck`),确保关键配置文件未损坏,并更新系统包与安全补丁。使用内存检测工具(如memtest86+)排查硬件故障,或重新安装`useradd`及其依赖库。通过`strace`跟踪命令执行过程,检查SELinux/AppArmor安全策略影响,并分析核心转储文件以进一步诊断问题根源。
1118 1
|
机器学习/深度学习 编解码 算法
BEVFormer-accelerate:基于EasyCV加速BEVFormer
BEVFormer是一种纯视觉的自动驾驶感知算法,通过融合环视相机图像的空间和时序特征显式的生成具有强表征能力的BEV特征,并应用于下游3D检测、分割等任务,取得了SOTA的结果。
|
Ubuntu Shell Linux
ubuntu安装conda
ubuntu安装conda
1309 0
|
机器学习/深度学习 编解码 自然语言处理
纯卷积BEV模型的巅峰战力 | BEVENet不用Transformer一样成就ADAS的量产未来
纯卷积BEV模型的巅峰战力 | BEVENet不用Transformer一样成就ADAS的量产未来
532 0
|
传感器 运维 监控
物联网行业解决方案(一)
物联网行业解决方案(一)
686 1
|
机器学习/深度学习 数据采集 人工智能
人工智能中噪声数据的产生与处理方法详解
人工智能中噪声数据的产生与处理方法详解
1860 0

热门文章

最新文章