文件最后提交记录最后更新时间
fix:fix code/documentation formatting issues using pre-commit Co-authored-by: xiaohuizhu1037<zhuxiaohui13@huawei.com> # message auto-generated for no-merge-commit merge: !2043 merge master into master fix:fix code/documentation formatting issues using pre-commit Created-by: xiaohuizhu1037 Commit-by: xiaohuizhu1037 Merged-by: ascend-robot Description: ## What this PR does / why we need it? 使用pre-commit扫描仓库的全量代码/文档并进行格式修复。 ## Does this PR introduce any user-facing change? 会对代码/文档做格式修改。 ## How was this patch tested? 工具自动修复和人工审视。 See merge request: Ascend/DrivingSDK!20438 天前
!1586 模型适配一键patcher修改 Merge pull request !1586 from 肖少宁/master 8 个月前
feat: add torch2.7.1 support for DiffusionPlanner&BEVDet4D Co-authored-by: jayhua<huayuxiu1@huawei.com> # message auto-generated for no-merge-commit merge: !2064 merge master into master feat: add torch2.7.1 support for DiffusionPlanner&BEVDet4D Created-by: mrlw2026 Commit-by: jayhua Merged-by: ascend-robot Description: ## What this PR does / why we need it? add torch2.7.1 support for DiffusionPlanner&BEVDet4D. ## Does this PR introduce any user-facing change? No. ## How was this patch tested? Both on A2 and A5. See merge request: Ascend/DrivingSDK!20641 天前
!1537 新增BEVDet4D模型 Merge pull request !1537 from 肖少宁/master 9 个月前
!1537 新增BEVDet4D模型 Merge pull request !1537 from 肖少宁/master 9 个月前
!1537 新增BEVDet4D模型 Merge pull request !1537 from 肖少宁/master 9 个月前
README.md

BEVDet4D

目录

简介

模型介绍

BEVDet4D 是一种将 BEVDet 从仅空间的 3D 扩展到时空 4D 工作空间的多相机三维目标检测范式。它通过融合前后帧特征,以极小的计算成本获取时间线索,将速度预测任务简化为位置偏移预测,在 nuScenes 基准测试中取得了优异的成绩。

代码实现

  • 参考实现:

    url=https://github.com/HuangJunJie2017/BEVDet.git
    commit_id=58c2587a8f89a1927926f0bdb6cde2917c91a9a5
    
  • 适配昇腾 AI 处理器的实现:

    url=https://gitcode.com/Ascend/DrivingSDK.git
    code_path=model_examples/BEVDet4D
    

准备训练环境

安装昇腾环境

请参考昇腾社区中《Pytorch框架训练环境准备》文档搭建昇腾环境。本仓已支持表1中软件版本。

表 1 昇腾软件版本支持表

软件类型 首次支持版本
FrameworkPTAdapter 26.0.0
CANN 9.0.0

安装模型环境

当前模型支持的 PyTorch 版本和已知三方库依赖如下表所示。

表 2 版本支持表

三方库 支持版本
PyTorch 2.1.0
PyTorch 2.7.1
mmcv 1.x
mmdet 2.28.2
mmsegmentation 0.30.0
  • 安装Driving SDK

    请参考昇腾Driving SDK代码仓说明编译安装Driving SDK

    【注意】请使用7.1.RC1及之后的Driving SDK

  • 安装基础依赖

    在模型源码包根目录下执行命令,安装模型需要的依赖。
    Pytorch版本2.1:

    pip install -r requirements.txt
    

    Pytorch版本2.7.1:

    sed -i 's/torchvision==0.16.0/torchvision==0.22.1/' requirements.txt
    echo "addict==2.4.0" >> requirements.txt
    pip install -r requirements.txt
    
  • 源码安装mmcv

    git clone -b 1.x https://github.com/open-mmlab/mmcv.git
    cp mmcv.patch mmcv
    cd mmcv
    git apply mmcv.patch
    MMCV_WITH_OPS=1 FORCE_NPU=1 python setup.py install
    cd ..
    
  • 模型代码更新

    git clone https://github.com/HuangJunJie2017/BEVDet.git
    cp -r test BEVDet
    cp BEVDet.patch BEVDet
    cp bevdet4d_patch.py BEVDet/tools
    cd BEVDet
    git checkout 58c2587a8f89a1927926f0bdb6cde2917c91a9a5
    git apply BEVDet.patch
    

准备数据集

获取训练数据集

用户自行获取nuscenes数据集,在源码目录创建软连接data/nuscenes指向解压后的nuscenes数据目录

运行数据预处理脚本生成BEVDet模型训练需要的pkl文件

python tools/create_data_bevdet.py

整理好的数据集目录如下:

BEVDet/data
    nuscenes
        lidarseg
        maps
        samples
        sweeps
        v1.0-trainval
        bevdetv3-nuscenes_dbinfos_train.pkl
        bevdetv3-nuscenes_infos_train.pkl
        bevdetv3-nuscenes_infos_val.pkl

获取预训练权重

联网情况下,预训练权重会自动下载。无网络的情况参见 FAQ

快速开始

模型训练

  1. 进入源码根目录

    cd /${模型文件夹名称}
    
  2. 单机8卡训练

  • 8卡性能

    # fp16 性能
    bash test/train_performance_8p.sh --py_config=configs/bevdet/bevdet-stbase-4d-stereo-512x1408-cbgs.py --fp16
    # fp32 性能
    bash test/train_performance_8p.sh --py_config=configs/bevdet/bevdet-stbase-4d-stereo-512x1408-cbgs.py
    
  • 8卡精度

    # fp16 精度
    bash test/train_full_8p.sh --py_config=configs/bevdet/bevdet-stbase-4d-stereo-512x1408-cbgs.py --test=1 --fp16
    # fp32 精度
    bash test/train_full_8p.sh --py_config=configs/bevdet/bevdet-stbase-4d-stereo-512x1408-cbgs.py --test=1
    

    模型训练脚本参数说明如下。

    公共参数:
    --py_config                       //不同类型任务配置文件
    --test                            //--test=1固定随机性用于测试精度,默认不开启
    --fp16                            //使能fp16混合精度训练,默认精度为fp32
    --work_dir                        //输出路径包括日志和训练参数
    

    训练完成后,权重文件保存在当前路径下,并输出模型训练精度和性能信息。

训练结果

表 3 训练结果展示表

芯片 精度 卡数 Global Batchsize Loss FPS 平均step耗时 Max epochs
竞品A FP32 8p 64 19.513 5.59 11.44秒 3
Atlas 800T A2 FP32 8p 64 19.402 7.04 9.09秒 3
Atlas 800T A2 FP16 8p 64 19.371 8.82 7.26秒 3

变更说明

  • 2025.8.8:首次发布。
  • 2026.5.28:更新适配torch2.7.1。

FAQ

Q: 在无网络或设有防火墙的环境下如何下载预训练权重?

A: 无网络情况下,用户可以自行下载 SwinTransformer 预训练权重 swin_base_patch4_window12_384_22k.pth。将下载好的权重拷贝至以下目录,其中 ${torch_hub} 替换为实际下载位置,默认为 ~/.cache/torch/hub

${torch_hub}/checkpoints/swin_base_patch4_window12_384_22k.pth