
人工智能深度学习计算机视觉NLP语音【免费下载链接】modelsOfficially maintained, supported by PaddlePaddle, including CV, NLP, Speech, Rec, TS, big models and so on.项目地址https://gitcode.com/gh_mirrors/mo/models点击查看免费下载PP-YOLOE 是 PP-YOLOE 的升级版本在本文所依据的 Benchmark 文档 中完整给出了 s/m/l/x 四个尺度模型在 COCO 数据集上的精度、参数量、计算量以及 V100 上的推理速度指标。本文以该 Benchmark 文档为核心骨架逐项解读表格指标、训练与测试条件、学习率缩放规则并结合当前仓库中 PP-YOLOE 的应用配置与推理源码如 APP 配置、推理实现展开说明帮助读者理解指标背后的含义并据此进行模型选型、训练复现与部署实践。一、模型定位从 PP-YOLOE 到 PP-YOLOE根据仓库内 info.yaml 的说明PP-YOLOE 是 PP-YOLOE 的升级版PP-YOLOE是PP-YOLOE的升级版源自 PaddleDetection所属任务为计算机视觉Computer Vision下的目标检测Object Detection使用的数据集包括 COCO train2017、COCO val2017、COCO test-dev2017 以及 Pascal VOC许可证为 Apache 2.0论文为《PP-YOLOE: An evolved version of YOLO》。结合 introduction_cn.ipynb 中的模型原理说明PP-YOLOE 相对于 PP-YOLOE 的核心改进点可以归纳为三条使用大规模数据集 obj365 预训练模型从大规模目标检测预训练模型入手在大幅提升收敛速度的同时提升了模型在 COCO 数据集上的精度在 backbone 的 block 分支中增加 alpha 参数对网络结构进行微调以获取更强的特征表达能力优化端到端推理速度、提升训练收敛速度包括大幅提升包括数据预处理在内的端到端预测速度。这些改进直接反映在 Benchmark 表格所展示的精度更高、速度更快的组合上也是理解本文各项指标的前提。二、Benchmark 总览四档模型的完整指标表Benchmark 文档的核心内容是一张覆盖 s/m/l/x 四个尺度模型的指标总表。为保持与原文档一致并便于查阅以下完整继承该表原文中 m 模型 val 精度排版为 49. 8按数据一致性整理为 49.8模型EpochGPU个数每GPU图片个数骨干网络输入尺寸Box APval0.5:0.95Box APtest0.5:0.95Params(M)FLOPs(G)V100 FP32(FPS)V100 TensorRT FP16(FPS)PP-YOLOE-s300832cspresnet-s64043.743.97.9317.36208.3333.3PP-YOLOE-m300828cspresnet-m64049.850.023.4349.91123.4208.3PP-YOLOE-l300820cspresnet-l64052.953.352.20110.0778.1149.2PP-YOLOE-x300816cspresnet-x64054.754.998.42206.5945.095.2对表格各列的含义说明如下Epoch训练轮数四档模型统一为 300 epochGPU个数 / 每GPU图片个数训练时的并行配置8 张 GPU每张 GPU 的 mini-batch 图片数分别为 32/28/20/16随模型增大而减小以适配显存骨干网络四档模型分别使用 cspresnet-s / cspresnet-m / cspresnet-l / cspresnet-x输入尺寸统一为 640×640Box APval0.5:0.95在 COCO val2017 上的目标检测 APIoU 阈值从 0.5 到 0.95 取平均即 COCO 标准 AP 指标Box APtest0.5:0.95在 COCO test-dev2017 上的检测 APParams(M) / FLOPs(G)模型参数量百万与浮点计算量十亿次V100 FP32(FPS) / V100 TensorRT FP16(FPS)单卡 Tesla V100 上、batch size1 时的推理帧率前者为 FP32 精度后者为 TensorRT FP16 精度。三、指标背后的权衡精度、复杂度与速度的梯度关系从表格中可以读出 PP-YOLOE 四个尺度模型呈现出一条清晰的精度—速度梯度曲线精度维度Box APval0.5:0.95从 s 的 43.7 依次提升到 m 的 49.8、l 的 52.9、x 的 54.7test-dev2017 上对应为 43.9 / 50.0 / 53.3 / 54.9。其中 l 模型在 COCO test-dev2017 上达到 53.3 的 mAP是精度与速度权衡中非常均衡的一档。复杂度维度参数量从 7.93Ms增长到 98.42Mx计算量从 17.36G FLOPs 增长到 206.59G FLOPs两者均随尺度近似线性放大x 相比 s 参数量约 12.4 倍、计算量约 11.9 倍而精度提升约 11 个 AP 点。速度维度V100 FP32 推理帧率从 208.3 FPSs到 45.0 FPSxTensorRT FP16 下从 333.3 FPS 到 95.2 FPS。TensorRT FP16 相比 FP32 在各尺度上都有 1.6~2.1 倍左右的加速。选型建议基于表格数据的客观推导对实时性要求极高、算力受限的边缘场景s/m 档更合适追求精度与速度兼顾的通用业务场景l 档53.3 AP、149.2 FPSTRT-FP16性价比突出对精度要求最高、对延迟容忍度较高的场景可以选择 x 档。四、训练设置与学习率缩放规则4.1 数据集与训练配置Benchmark 文档明确规定了训练与评测的数据划分PP-YOLOE 模型使用COCO train2017作为训练集使用COCO val2017和COCO test-dev2017作为测试集训练过程中使用8 GPUs 进行混合精度AMP训练共 300 epoch。4.2 学习率缩放公式关键复现规则文档强调如果训练时的GPU 卡数或batch size与基准配置不同学习率必须按如下线性缩放公式调整lrnew lrdefault× (batch_sizenew× GPU_numbernew) / (batch_sizedefault× GPU_numberdefault)举例说明基准配置为 8 卡 × 每卡 32 张对应 s 档即全局 batch size 为 256若改为 4 卡 × 每卡 32 张全局 128则新学习率应为默认学习率的 128/256 0.5 倍。这一规则保证了不同并行规模下梯度更新幅度的一致性是复现表格中精度的前提条件之一。4.3 仓库内的训练命令示例introduction_cn.ipynb 提供了基于 PaddleDetection 的实际训练命令原 notebook 中命令以!前缀运行于 Jupyter在终端执行时去掉!# 单卡训练l 档为例 python tools/train.py -c configs/ppyoloe/ppyoloe_plus_crn_l_80e_coco.yml --eval --amp # 多卡训练8 卡与 Benchmark 中的训练配置一致 python -m paddle.distributed.launch --gpus 0,1,2,3,4,5,6,7 tools/train.py -c configs/ppyoloe/ppyoloe_plus_crn_l_80e_coco.yml --eval --amp注意要点来自原 notebook需要边训练边评估时添加--evalPP-YOLOE 支持混合精度训练添加--amp。五、推理速度测试条件与复现5.1 测试环境Benchmark 中的推理速度数据不是在任意机器上都能直接复现的文档明确给出了测试环境这决定了 FPS 数值的可比性测试硬件单卡 Tesla V100batch size 1软件栈CUDA 10.2、CUDNN 7.6.5TensorRT 推理使用 TensorRT 6.0.1.8FP16 精度。因此表格中的 333.3/208.3/149.2/95.2 FPSTensorRT FP16只有在上述软硬件组合下才具备直接可比性更换 GPU 型号、CUDA/CUDNN/TensorRT 版本后测得的速度会有差异。5.2 使用--run_benchmarkTrue复现速度测试文档特别指出如果设置--run_benchmarkTrue进行基准速度测试需要先安装以下依赖pip install pynvml psutil GPUtil这三个库分别用于读取 GPU 状态pynvml、进程与系统资源监控psutil以及 GPU 利用率统计GPUtil是速度测试脚本统计吞吐与资源占用所必需的运行环境依赖。5.3 TensorRT 部署的附加说明结合 introduction_cn.ipynb 中关于 Paddle-TRT 推理部署的说明补充两点工程细节TensorRT 会根据网络定义针对当前硬件平台执行优化并生成推理引擎、序列化为文件该引擎仅适用于当前软硬件平台。若软硬件平台未变化可将enable_tensorrt_engine的use_staticTrue使序列化文件保存在output_inference目录下下次推理直接加载避免重复序列化耗时首次 TensorRT 推理有明显耗时属于正常现象PaddleDetection release/2.4 及之后版本支持 NMS 调用 TensorRT需要依赖 PaddlePaddle release/2.3 及之后的版本。六、从 Benchmark 到工程落地仓库内的部署资源佐证Benchmark 文档本身聚焦于指标与复现条件而当前仓库为 PP-YOLOE 提供了完整的应用级部署实现可作为从指标走向实际推理的落地参考。6.1 推理配置文件 PP-YOLOE.yml该配置声明了模型推理的关键参数mode: paddle使用 Paddle Inference 推理引擎draw_threshold: 0.5检测框绘制的置信度阈值低于该阈值的框被过滤metric: COCO、arch: YOLO指标类型与网络架构模型权重路径paddlecv://models/ppyoloe_plus_crn_s_80e_coco/model.pdiparams与model.pdmodelpdmodel 为推理模型结构pdiparams 为参数Preprocess预处理流水线共三步Resizetarget_size: [640, 640]keep_ratio: false直接拉伸到 640×640与 Benchmark 表格中的输入尺寸一致插值方式interp: 2对应cv2.INTER_LINEARNormalizeImageis_scale: true像素值除以 255mean与std均为 0 和 1等效于仅做 0-1 归一化Permute将图像由 HWC 布局转换为 CHW 布局以匹配 Paddle 推理输入label_list完整列出了 COCO 数据集的 80 个类别person、bicycle、car…… 直至 toothbrush共 80 类目标检测标签。上述预处理流程与 preprocess.py 中Resize、NormalizeImage、Permute等算子的实现一一对应例如Resize.generate_scale在keep_ratiofalse时直接按resize_w / origin_w与resize_h / origin_h计算缩放比例。6.2 推理实现 detection.pyDetector类的初始化与推理流程展示了 Paddle Inference 的典型用法通过paddle.inference.Config加载 pdmodel/pdiparamsCPU 模式下设置线程数默认 1GPU 模式下enable_use_gpu(200, 0)并开启 IR 优化支持trt_int8/trt_fp32/trt_fp16三种 TensorRT 精度模式通过enable_tensorrt_engine配置use_dynamic_shape: false时使用静态 shape推理时按输入名im_shape、scale_factor、image将预处理后的数据拷贝到输入 tensorpredictor.run()后从输出句柄取检测框后处理按draw_threshold过滤低置信度框np_boxes[:, 1] draw_threshold并返回{bboxes: ...}的 JSON 结构。模型权重由 download.py 自动管理paddlecv://前缀的路径会被解析为下载地址模型缓存于~/.cache/paddlecv/models目录下载过程带 md5 校验与最多 3 次重试首次运行推理时会自动完成模型下载。6.3 其他部署方式仓库中 fastdeploy_cn.md 提供了基于 FastDeploy 的高性能部署路径支持 CPU / GPU / TensorRT 一键切换其示例覆盖 PP-YOLOEppyoloe_plus_crn_m_80e_coco可作为 Benchmark 之外、面向生产环境的补充参考。七、总结与注意事项围绕 Benchmark 文档本文完成了以下核心内容的完整梳理与扩充完整指标表PP-YOLOE-s/m/l/x 在 300 epoch、8 卡混合精度训练下的 COCO 精度val/test、参数量、FLOPs 与 V100 推理速度全部保留并逐列解释含义学习率缩放规则变更 GPU 卡数或 batch size 时必须按lr_new lr_default × (batch_new × gpu_new) / (batch_default × gpu_default)线性缩放否则难以复现表中精度速度测试条件单卡 V100、batch size1、CUDA 10.2、CUDNN 7.6.5、TensorRT 6.0.1.8 是 FPS 数据可复现的前提--run_benchmarkTrue需预先pip install pynvml psutil GPUtil仓库落地佐证从 APP 配置 的 640×640 预处理流水线、推理实现 的 Paddle Inference / TensorRT 调用链到训练命令与 FastDeploy 部署文档均可与 Benchmark 的指标设定相互印证。最后提醒两点其一Benchmark 文档中的精度对应 300 epoch 训练而 download_cn.md 列出的模型下载链接名为ppyoloe_plus_crn_*_80e_coco属于 80 epoch 训练计划的权重文件使用前请注意区分训练计划与对应的配置文件其二所有涉及模型下载、推理执行的环节请按照当前仓库内文档如 introduction_cn.ipynb中的安装与运行说明操作。赞分享人工智能深度学习计算机视觉NLP语音【免费下载链接】modelsOfficially maintained, supported by PaddlePaddle, including CV, NLP, Speech, Rec, TS, big models and so on.项目地址https://gitcode.com/gh_mirrors/mo/models点击查看免费下载相关推荐PaddleSeg 训练性能 Benchmark 指南用 tests/benchmark 监控模型训练速度PaddleSeg 训练性能 Benchmark 指南用 tests/benchmark 监控模型训练速度 PaddleSeg/tests/benchmark人工智能计算机视觉预训练PaddleSeg QualityInspector 中的 PP-YOLOE 2022.03 Legacy 模型库全解析指标、训练配置与消融实验PaddleSeg QualityInspector 中的 PP YOLOE 2022.03 Legacy 模型库全解析指标、训练配置与消融实验 PP YOL人工智能计算机视觉预训练PaddleSeg 训练 Benchmark 指南使用 tests/benchmark 监控分割模型训练速度PaddleSeg 训练 Benchmark 指南使用 tests/benchmark 监控分割模型训练速度 PaddleSeg/tests/benchmar人工智能计算机视觉预训练上一篇pinyin-pro终极指南5分钟掌握中文拼音转换的完整解决方案下一篇Path of Building PoE2终极指南轻松掌握流放之路2角色构建的艺术创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考