星图AI助力BEV模型训练PETRV2从准备到部署的完整步骤1. 环境准备与基础配置1.1 激活Paddle3D专用环境星图AI平台已预配置好完整的Paddle3D开发环境只需执行以下命令即可激活conda activate paddle3d_env该环境包含PaddlePaddle 2.4深度学习框架Paddle3D 3D感知开发套件CUDA 11.6加速支持所有必要的Python依赖库验证提示执行conda list | grep paddle可查看已安装的Paddle相关组件版本。1.2 创建工作目录建议在/root/workspace下创建项目目录结构mkdir -p /root/workspace/{models,datasets,outputs}此结构将分别用于存放models预训练权重和导出模型datasets训练验证数据集outputs训练日志和可视化结果2. 数据与模型准备2.1 下载预训练权重获取官方提供的PETRv2预训练模型wget -O /root/workspace/models/petrv2.pdparams \ https://paddle3d.bj.bcebos.com/models/petr/petrv2_vovnet_gridmask_p4_800x320/model.pdparams该权重特点基于VOVNet主干网络输入分辨率800×320在nuScenes全量数据集预训练包含GridMask数据增强策略2.2 获取nuScenes mini数据集下载轻量级数据集用于快速验证wget -O /root/workspace/datasets/v1.0-mini.tgz \ https://www.nuscenes.org/data/v1.0-mini.tgz tar -xzf /root/workspace/datasets/v1.0-mini.tgz -C /root/workspace/datasets/数据集关键信息包含40个驾驶场景共850个关键帧6个摄像头视角前、后、左、右、前左、前右10类3D标注框车辆、行人、障碍物等3. 数据预处理流程3.1 生成标注缓存文件进入Paddle3D目录并执行预处理cd /usr/local/Paddle3D python3 tools/create_petr_nus_infos.py \ --dataset_root /root/workspace/datasets/v1.0-mini \ --save_dir /root/workspace/datasets/v1.0-mini \ --mode mini_val该脚本会生成petr_nuscenes_annotation_train.pklpetr_nuscenes_annotation_val.pkl文件内容包含图像路径与对应标注的映射关系3D边界框的尺寸、位置、朝向信息物体类别和属性标签相机内外参数3.2 数据集结构验证确认最终数据结构如下/root/workspace/datasets/v1.0-mini/ ├── maps/ ├── samples/ ├── sweeps/ ├── v1.0-mini/ ├── petr_nuscenes_annotation_train.pkl └── petr_nuscenes_annotation_val.pkl4. 模型训练与监控4.1 启动训练任务执行训练命令python tools/train.py \ --config configs/petr/petrv2_vovnet_gridmask_p4_800x320_nuscene.yml \ --model /root/workspace/models/petrv2.pdparams \ --dataset_root /root/workspace/datasets/v1.0-mini \ --epochs 100 \ --batch_size 2 \ --log_interval 10 \ --learning_rate 1e-4 \ --save_interval 5 \ --do_eval关键参数说明参数值作用--epochs100总训练轮数--batch_size2根据显存调整--learning_rate1e-4微调推荐值--save_interval5每5轮保存检查点--do_evalTrue启用验证集评估4.2 实时监控训练过程启动VisualDL可视化工具visualdl --logdir ./output/ --host 0.0.0.0通过端口转发本地访问ssh -p 31264 -L 0.0.0.0:8888:localhost:8040 rootgpu-09rxs0pcu2.ssh.gpu.csdn.net在浏览器访问http://localhost:8888可查看Loss曲线Total LossClassification LossRegression Loss评估指标mAP (Mean Average Precision)NDS (NuScenes Detection Score)各类别AP学习率变化余弦衰减曲线5. 模型导出与部署5.1 导出推理模型训练完成后导出部署用模型python tools/export.py \ --config configs/petr/petrv2_vovnet_gridmask_p4_800x320_nuscene.yml \ --model output/best_model/model.pdparams \ --save_dir /root/workspace/models/petrv2_infer导出内容包括model.pdmodel模型结构定义model.pdiparams模型权重参数infer_cfg.yml推理配置文件5.2 运行DEMO测试执行可视化测试python tools/demo.py \ /root/workspace/datasets/v1.0-mini \ /root/workspace/models/petrv2_infer \ nuscenes输出结果将保存在output/demo/目录包含多视角图像融合显示3D检测框投影可视化类别和置信度标注6. 进阶训练建议6.1 完整数据集训练当mini数据集验证通过后可下载完整nuScenes数据集wget -O /root/workspace/datasets/v1.0-trainval.tgz \ https://www.nuscenes.org/data/v1.0-trainval.tgz训练时需调整参数batch_size增大至4-8epochs延长至200使用更大的输入分辨率6.2 自定义数据训练对于XTREME1等自定义数据集确保数据格式与nuScenes兼容修改create_petr_nus_infos_from_xtreme1.py适配新数据调整配置文件中的类别数量训练命令示例python tools/train.py \ --config configs/petr/petrv2_vovnet_gridmask_p4_800x320.yml \ --dataset_root /root/workspace/datasets/xtreme1 \ --epochs 150 \ --batch_size 47. 常见问题排查7.1 显存不足问题若出现OOM错误尝试减小batch_size最低可设1降低输入分辨率使用梯度累积--accumulate_steps 2 # 相当于batch_size47.2 评估指标异常若验证指标波动大检查数据标注是否正确确认--do_eval参数已启用调整学习率建议1e-5到1e-47.3 训练不收敛应对策略加载预训练权重减小初始学习率启用更多数据增强延长训练轮次获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。