
人工智能深度学习计算机视觉NLP语音【免费下载链接】modelsOfficially maintained, supported by PaddlePaddle, including CV, NLP, Speech, Rec, TS, big models and so on.项目地址https://gitcode.com/gh_mirrors/mo/models点击查看免费下载本篇技术指南围绕 PaddlePaddle 官方维护的 PP-HGNet面向 NVIDIA GPU 平台的高性能卷积骨干网络图像分类模型完整讲解如何借助 FastDeploy 推理部署工具包在 X86 CPU、NVIDIA GPU、ARM CPU、XPU、NPU、IPU 等云边端硬件上完成端到端部署。读者按照本文步骤操作可在 3 步之内完成 FastDeploy SDK 安装、部署示例下载、CPU/GPU/TensorRT/IPU 四种推理方式运行并理解模型下载、预处理、TopK 后处理等底层实现细节掌握一套可复制的 AI 模型高性能部署实战方案。一、PP-HGNet 模型与 FastDeploy 部署方案概览1.1 PP-HGNet 模型简介PP-HGNetHigh Performance GPU Net是百度飞桨视觉团队自研的、面向 NVIDIA GPU 平台的高性能骨干网络来源于 PaddleClas 仓库属于计算机视觉Computer Vision/ 图像分类Image Classification任务在 ImageNet1k 数据集上训练详见 info.yaml。从模型介绍文档introduction_cn.ipynb可以看到该网络在 VOVNet 基础上引入了可学习的下采样层LDS Layer融合了 ResNet_vd、PPHGNet 等模型的优点在 GPU 平台上同等速度下精度更高同等速度下高于 ResNet34-D 3.8 个百分点、高于 ResNet50-D 2.4 个百分点使用百度自研 SSLD 蒸馏策略后超越 ResNet50-D 4.7 个百分点在相同精度下其推理速度也远超主流 Vision Transformer。其设计核心是尽可能多地使用 3×3 标准卷积GPU 上计算密度最高并将多个 HG-Block 堆叠构成骨干网络。1.2 FastDeploy云边端统一的 AI 推理部署工具FastDeploy 是一款全场景、易用灵活、极致高效的 AI 推理部署工具提供开箱即用的云边端部署体验支持超过 150 的 Text、Vision、Speech 和跨模态模型实现 AI 模型端到端的优化加速。目前支持的硬件包括X86 CPU、NVIDIA GPU、ARM CPU、XPU、NPU、IPU等 10 类云边端硬件通过一行代码即可切换不同推理后端和硬件。使用 FastDeploy 三步即可完成 AI 模型部署安装 FastDeploy 预编译包SDK调用 FastDeploy 的 API 实现部署代码推理部署。注意本文档下载 FastDeploy 示例来完成高性能部署体验仅展示 X86 CPU、NVIDIA GPU 的推理且默认已准备好 GPU 环境如 CUDA 11.2 等。如需部署到其他硬件或完整了解 FastDeploy 部署能力请参考 FastDeploy 项目官方仓库FastDeploy GitHub即PaddlePaddle/FastDeploy。二、第一步安装 FastDeploy SDK安装 FastDeploy 的 GPU 版 Python 预编译包使用 nightly 构建源pip install fastdeploy-gpu-python0.0.0 -f https://www.paddlepaddle.org.cn/whl/fastdeploy_nightly_build.html说明与适用前提该命令安装的是 FastDeploy 的 nightly 预编译版本版本号占位为0.0.0实际内容以 nightly 构建为准适合需要最新能力、快速体验部署流程的场景若目标设备为纯 CPU 环境或需要 ARM CPU、XPU、NPU、IPU 等其他硬件可前往 FastDeploy 官方仓库选择对应的安装包与安装方式GPU 部署的前提是环境中已具备可用的 NVIDIA GPU 与 CUDA 运行时文档示例要求 CUDA 11.2 等。三、第二步下载部署示例、模型文件与测试图片3.1 获取 FastDeploy 部署示例代码git clone https://github.com/PaddlePaddle/FastDeploy.git cd FastDeploy/examples/vision/classification/paddleclas/python该目录下的infer.py是图像分类推理示例脚本支持通过命令行参数切换模型、图片、推理设备、是否启用 TensorRT 以及 TopK 取值。3.2 下载 PP-HGNet 推理模型与测试图片# 下载 HGNet 模型文件和测试图片 wget https://bj.bcebos.com/paddlehub/fastdeploy/PPHGNet_tiny_ssld_infer.tgz tar xvfz PPHGNet_tiny_ssld_infer.tgz wget https://gitee.com/paddlepaddle/PaddleClas/raw/release/2.4/deploy/images/ImageNet/ILSVRC2012_val_00000010.jpegPPHGNet_tiny_ssld_infer.tgz为 PP-HGNet tiny 的 SSLD 蒸馏版推理模型压缩包解压后得到 Paddle 推理模型文件inference.pdmodelinference.pdiparams等可直接被 FastDeploy 加载ILSVRC2012_val_00000010.jpeg为 ImageNet 验证集测试图片用于验证分类效果。3.3 PP-HGNet 系列模型与配套资源PP-HGNet 系列包含多个规格本仓库 download_cn.md 中列出了完整模型列表输入尺寸均为 224模型名称模型简介输入尺寸PPHGNet_tiny图像分类224PPHGNet_tiny_ssld图像分类224PPHGNet_small图像分类224PPHGNet_small_ssld图像分类224PPHGNet_base_ssld图像分类224其中带_ssld后缀的为使用 SSLD 知识蒸馏策略训练得到的模型精度更高。模型推理文件Inference与预训练权重Pretrained均可从该下载文档中获取链接。此外本仓库的 PaddleCV 单算子配置 PP-HGNet.yml 中使用的就是PPHGNet_small_infer推理模型通过paddlecv://models/PPHGNet_small_infer/协议路径引用说明同一系列模型既能走 FastDeploy 部署链路也能接入 PaddleCV 的 pipeline 推理框架。四、第三步运行推理部署示例CPU / GPU / TensorRT / IPU模型、图片、示例代码就绪后即可通过一条命令在不同设备上完成推理# CPU 推理 python infer.py --model PPHGNet_tiny_ssld_infer --image ILSVRC2012_val_00000010.jpeg --device cpu --topk 1 # GPU 推理 python infer.py --model PPHGNet_tiny_ssld_infer --image ILSVRC2012_val_00000010.jpeg --device gpu --topk 1 # GPU 上使用 TensorRT 推理 # 注意TensorRT 推理第一次运行有序列化模型的操作有一定耗时需要耐心等待 python infer.py --model PPHGNet_tiny_ssld_infer --image ILSVRC2012_val_00000010.jpeg --device gpu --use_trt True --topk 1 # IPU 推理 # 注意IPU 推理首次运行会有序列化模型的操作有一定耗时需要耐心等待 python infer.py --model PPHGNet_tiny_ssld_infer --image ILSVRC2012_val_00000010.jpeg --device ipu --topk 14.1 命令行参数说明参数取值示例含义--modelPPHGNet_tiny_ssld_infer指定推理模型目录解压后的 Paddle 推理模型--imageILSVRC2012_val_00000010.jpeg指定待分类的输入图片路径--devicecpu/gpu/ipu指定推理设备切换不同推理后端和硬件--use_trtTrue是否在 GPU 上启用 TensorRT 推理引擎--topk1返回置信度最高的前 K 个分类结果4.2 运行结果示例运行完成后返回的结果如下PPHGNet_tiny_ssld cpu_label: 153, cpu_score: 0.536040 ipu_label: 153, ipu_score: 0.536039 PPHGNet_tiny_ssld从输出可以看到CPU 与 IPU 两种设备推理得到一致的结果图片被分类为标签 153ImageNet 类别编号置信度约 0.536。cpu_score与ipu_score的细微数值差异0.536040 vs 0.536039属于不同推理后端在浮点计算精度上的正常差异不影响分类结论。五、源码级原理预处理与 TopK 后处理的底层实现FastDeploy 示例中的--topk参数对应图像分类推理的标准后处理流程。在本仓库的 PaddleCV 实现中可以找到同系列模型完整的预处理与后处理配置作为理解部署细节的补充佐证。5.1 标准预处理流程以 PP-HGNet 为例PP-HGNet.yml 中定义了 PPHGNet_small 推理模型batch_size 8的标准预处理流水线预处理算子关键参数作用ResizeImageresize_short: 256将图片短边缩放至 256CropImagesize: 224中心裁剪至 224×224与模型输入尺寸一致NormalizeImagescale: 0.00392157mean: [0.485, 0.456, 0.406]std: [0.229, 0.224, 0.225]channel_num: 3归一化到 [0,1] 并减去 ImageNet 均值、除以标准差ToCHWImage—将 HWC 布局转换为 CHW 布局ExpandDimaxis: 0增加 batch 维度5.2 TopK 后处理实现分类后处理算子Topk的实现位于 postprocess.pyTopk.__init__(topk1, class_id_map_fileNone)默认topk1可通过配置项指定 K 值并加载class_id_map_file类别映射文件PP-HGNet 配置中指向imagenet1k_label_list.txt推理输出置信度后通过probs.argsort(axis0)[-self.topk:][::-1]取置信度最高的前 K 个类别编号再结合类别映射得到对应的标签名如文档示例输出中的label: 153。这解释了 FastDeploy 示例中--topk 1返回单条分类结果的行为以及cpu_label / cpu_score输出字段的来源。六、PP-HGNet 系列模型性能参考PP-HGNet 系列模型在 ImageNet1k 数据集上的评测指标详见 introduction_cn.ipynb如下ModelTop-1 Acc(%)Top-5 Acc(%)Latency(ms)PPHGNet_tiny79.8395.041.77PPHGNet_tiny_ssld81.9596.121.77PPHGNet_small81.5195.822.52PPHGNet_small_ssld83.8296.812.52PPHGNet_base_ssld85.0097.355.97注意事项以上推理延时评测基于 NVIDIA® Tesla® V100 硬件平台并开启 TensorRT 引擎精度类型为 FP32。测试环境与精度类型不同实测延迟会有差异。七、部署注意事项与常见问题TensorRT 首次推理耗时较长第一次在 GPU 上运行--use_trt True时FastDeploy 会对模型进行 TensorRT 引擎序列化耗时明显属于正常现象耐心等待即可后续运行会复用序列化结果。IPU 首次推理同样存在序列化耗时首次运行--device ipu会有序列化模型的操作需要耐心等待。环境前提本文示例默认已具备 GPU 环境CUDA 11.2 等纯 CPU 环境可直接使用--device cpu运行无需 GPU 依赖。多硬件切换成本低FastDeploy 通过一行代码即可切换 CPU / GPU / IPU 等不同推理后端与硬件同一份部署代码即可完成云边端适配。模型选择追求极致速度可选 PPHGNet_tiny需要更高精度可选带_ssld的蒸馏版模型精度优先场景可选 PPHGNet_base_ssld各规格模型的推理模型与预训练权重均可从 download_cn.md 获取。八、总结本文以 PP-HGNet 图像分类模型为主线完整走通了 FastDeploy 的三步部署流程安装fastdeploy-gpu-python预编译包、下载 FastDeploy 分类示例与 PPHGNet_tiny_ssld 推理模型、分别在 CPU、GPU、TensorRT、IPU 四种方式下运行推理并解析输出结果。同时结合本仓库的 PP-HGNet.yml 与 postprocess.py 源码揭示了 Resize/Crop/Normalize 预处理与 TopK 后处理的底层实现。这套下载示例 切换设备 单行命令推理的部署模式同样适用于 FastDeploy 支持的其他 150 视觉、文本、语音与跨模态模型可作为云边端统一部署的通用参考模板。赞分享人工智能深度学习计算机视觉NLP语音【免费下载链接】modelsOfficially maintained, supported by PaddlePaddle, including CV, NLP, Speech, Rec, TS, big models and so on.项目地址https://gitcode.com/gh_mirrors/mo/models点击查看免费下载相关推荐PaddleClas 图像分类模型在 Graphcore IPU 上的 FastDeploy 部署实践指南PaddleClas 图像分类模型在 Graphcore IPU 上的 FastDeploy 部署实践指南 本篇技术指南以 PaddleClas 官方仓库中 G人工智能深度学习计算机视觉PaddleSeg 语义分割模型 C 部署实战FastDeploy 在 CPU/GPU/Paddle-TensorRT 上的全流程指南PaddleSeg 语义分割模型 C 部署实战FastDeploy 在 CPU/GPU/Paddle TensorRT 上的全流程指南 本文基于 Padd人工智能计算机视觉预训练PaddleClas 模型 CPU/GPU 部署实战基于 FastDeploy C API 的图像分类推理指南PaddleClas 模型 CPU/GPU 部署实战基于 FastDeploy C API 的图像分类推理指南 本篇技术指南聚焦 PaddleClas 仓库中人工智能深度学习计算机视觉上一篇3个简单步骤用免费Chrome扩展轻松下载网络视频下一篇ESLyric-LyricsSource让Foobar2000拥有专业级逐字歌词的终极方案创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考