【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)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
相关文章
|
存储 Serverless 文件存储
函数计算产品使用问题之如何在一键部署的ComfyUI中上传大模型和插件
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
存储 安全 PHP
PHP中实现简单身份验证系统的步骤
【8月更文挑战第31天】在构建Web应用程序时,确保用户身份的合法性和数据的安全性是至关重要的。本文将引导你通过使用PHP语言来实现一个简单的身份验证系统,从数据库设计到前端登录界面的创建,再到后端逻辑的处理,我们将一步步地走过整个流程。无论你是PHP新手还是希望复习相关知识,这篇文章都将为你提供清晰的指导和实用的代码示例。
|
SQL 分布式计算 数据处理
云产品评测|分布式Python计算服务MaxFrame | 在本地环境中使用MaxFrame + 基于MaxFrame实现大语言模型数据处理
本文基于官方文档,介绍了由浅入深的两个部分实操测试,包括在本地环境中使用MaxFrame & 基于MaxFrame实现大语言模型数据处理,对步骤有详细说明。体验下来对MaxCompute的感受是很不错的,值得尝试并使用!
332 1
|
安全 NoSQL Ubuntu
linux 添加用户useradd 段错误 (核心已转储)
在Linux系统中使用`useradd`命令添加用户时遇到“段错误 (核心已转储)”的问题,通常表明存在系统级或关键组件问题。可通过检查系统日志(如`/var/log/syslog`)和内核消息来定位错误。此外,还需检查并修复文件系统错误(使用`fsck`),确保关键配置文件未损坏,并更新系统包与安全补丁。使用内存检测工具(如memtest86+)排查硬件故障,或重新安装`useradd`及其依赖库。通过`strace`跟踪命令执行过程,检查SELinux/AppArmor安全策略影响,并分析核心转储文件以进一步诊断问题根源。
1178 1
|
存储 开发框架 .NET
ASP.NET Core SignalR系列之Hub教程
ASP.NET Core SignalR系列之Hub教程
547 0
|
机器学习/深度学习 编解码 算法
BEVFormer-accelerate:基于EasyCV加速BEVFormer
BEVFormer是一种纯视觉的自动驾驶感知算法,通过融合环视相机图像的空间和时序特征显式的生成具有强表征能力的BEV特征,并应用于下游3D检测、分割等任务,取得了SOTA的结果。
|
设计模式 消息中间件 存储
揭秘中介者模式-如何优雅地管理对象间的沟通
本文深入探讨了中介者模式在软件设计中的应用。中介者模式,作为一种行为型设计模式,通过引入中介者对象有效管理对象间的复杂交互,降低了系统的耦合度。文章详细分析了该模式的优点,如提高系统的灵活性和可维护性,同时也指出了其面临的挑战和局限,如中介者可能变得庞大难以维护、动态性处理复杂等。在使用中介者模式时,需要权衡利弊,合理设计中介者类,并持续维护系统的可扩展性和可维护性。总之,中介者模式为软件设计提供了一种有效的解耦和协调交互的机制,但需要根据具体场景和需求谨慎选择和应用。通过合理使用中介者模式,可构建更...
582 0
揭秘中介者模式-如何优雅地管理对象间的沟通
|
Ubuntu Docker 容器
ubuntu 安装Docker 并配置 Docker-compose
ubuntu 安装Docker 并配置 Docker-compose
4408 0
|
机器学习/深度学习 数据采集 人工智能
人工智能中噪声数据的产生与处理方法详解
人工智能中噪声数据的产生与处理方法详解
1912 0