新手必看:在星图AI平台训练PETRV2-BEV模型的完整教程
新手必看在星图AI平台训练PETRV2-BEV模型的完整教程1. 前言为什么选择PETRV2-BEV模型BEVBirds Eye View感知是自动驾驶领域的关键技术它能够将多视角摄像头采集的2D图像转换为鸟瞰视角的3D空间表示。PETRV2作为当前最先进的BEV感知模型之一具有以下优势多视角融合能力强有效整合前、后、左、右等不同视角的摄像头数据3D检测精度高在nuScenes等权威数据集上达到SOTA性能训练效率优化相比初代PETR训练速度提升30%以上本教程将手把手教你如何在星图AI平台上完成PETRV2-BEV模型的完整训练流程即使你是深度学习新手也能轻松上手。2. 环境准备与快速启动2.1 激活预配置环境星图AI平台已经为我们准备好了所有必要的软件环境只需一条命令即可激活conda activate paddle3d_env激活后命令行提示符前会出现(paddle3d_env)标识。我们可以验证PaddlePaddle是否安装正确python -c import paddle; print(paddle.__version__)如果输出类似2.6.0的版本号说明环境配置正确。2.2 了解目录结构在开始前我们先熟悉下关键目录/usr/local/Paddle3DPaddle3D框架主目录/root/workspace我们的工作目录用于存放数据和模型/root/workspace/nuscenesnuScenes数据集存放位置3. 数据准备与预处理3.1 下载预训练模型PETRV2模型训练采用迁移学习方式我们先下载官方预训练权重wget -O /root/workspace/model.pdparams https://paddle3d.bj.bcebos.com/models/petr/petrv2_vovnet_gridmask_p4_800x320/model.pdparams下载完成后检查文件大小应为约172MBls -lh /root/workspace/model.pdparams3.2 获取nuScenes mini数据集为快速验证流程我们使用nuScenes v1.0-mini数据集wget -O /root/workspace/v1.0-mini.tgz https://www.nuscenes.org/data/v1.0-mini.tgz mkdir -p /root/workspace/nuscenes tar -xf /root/workspace/v1.0-mini.tgz -C /root/workspace/nuscenes解压后目录结构应包含samples、sweeps等文件夹。3.3 生成数据索引文件PETRV2需要特定的数据索引格式运行预处理脚本cd /usr/local/Paddle3D rm /root/workspace/nuscenes/petr_nuscenes_annotation_* -f python3 tools/create_petr_nus_infos.py --dataset_root /root/workspace/nuscenes/ --save_dir /root/workspace/nuscenes/ --mode mini_val成功执行后会生成两个.pkl文件ls /root/workspace/nuscenes/petr_nuscenes_annotation_*.pkl4. 模型训练与监控4.1 启动训练任务使用以下命令开始训练python tools/train.py \ --config configs/petr/petrv2_vovnet_gridmask_p4_800x320_nuscene.yml \ --model /root/workspace/model.pdparams \ --dataset_root /root/workspace/nuscenes/ \ --epochs 100 \ --batch_size 2 \ --log_interval 10 \ --learning_rate 1e-4 \ --save_interval 5 \ --do_eval关键参数说明--epochs 100训练100轮--batch_size 2每批处理2组数据6视角×212张图--do_eval每轮训练后进行验证集评估4.2 监控训练过程启动VisualDL可视化工具visualdl --logdir ./output/ --host 0.0.0.0然后通过SSH端口转发查看训练曲线ssh -p 31264 -L 0.0.0.0:8888:localhost:8040 rootgpu-09rxs0pcu2.ssh.gpu.csdn.net在浏览器访问http://localhost:8888可以查看训练损失曲线验证集mAP变化学习率调整情况5. 模型导出与效果验证5.1 导出推理模型训练完成后导出最佳模型rm -rf /root/workspace/nuscenes_release_model mkdir -p /root/workspace/nuscenes_release_model python tools/export.py \ --config configs/petr/petrv2_vovnet_gridmask_p4_800x320_nuscene.yml \ --model output/best_model/model.pdparams \ --save_dir /root/workspace/nuscenes_release_model导出的模型包含三个文件inference.pdmodelinference.pdiparamsinference.pdiparams.info5.2 运行DEMO测试使用导出的模型进行可视化测试python tools/demo.py /root/workspace/nuscenes/ /root/workspace/nuscenes_release_model nuscenes生成的检测结果保存在output/demo/目录下包含原始多视角图像拼接BEV视角下的3D检测框各类别检测置信度6. 进阶Xtreme1数据集训练6.1 数据准备对于Xtreme1数据集使用专用预处理脚本cd /usr/local/Paddle3D rm /root/workspace/xtreme1_nuscenes_data/petr_nuscenes_annotation_* -f python3 tools/create_petr_nus_infos_from_xtreme1.py /root/workspace/xtreme1_nuscenes_data/6.2 训练与评估启动Xtreme1专用训练python tools/train.py \ --config configs/petr/petrv2_vovnet_gridmask_p4_800x320.yml \ --model /root/workspace/model.pdparams \ --dataset_root /root/workspace/xtreme1_nuscenes_data/ \ --epochs 100 \ --batch_size 2 \ --log_interval 10 \ --learning_rate 1e-4 \ --save_interval 5 \ --do_eval7. 常见问题排查7.1 数据路径错误症状报错FileNotFoundError或KeyError解决方法确认/root/workspace/nuscenes/目录存在且包含数据检查.pkl文件是否生成验证config文件中路径配置7.2 训练loss不下降可能原因学习率设置不当尝试调整--learning_rate数据预处理有问题重新生成.pkl文件模型权重加载失败检查model.pdparams路径7.3 显存不足解决方案减小batch_size最低可设为1使用gradient_accumulation参数关闭不必要的可视化功能8. 总结与下一步通过本教程你已经掌握了在星图AI平台快速搭建PETRV2训练环境nuScenes数据集的预处理方法PETRV2模型的训练、评估与导出全流程训练过程监控与问题排查技巧建议下一步尝试调整模型参数如BEV网格大小、特征维度等在自己的数据集上微调模型比较PETRV2与其他BEV模型的性能差异获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2413410.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!