
人工智能深度学习计算机视觉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-LCNet 展开完整讲解如何使用全场景推理部署工具 FastDeploy 完成从预编译包安装、部署示例下载到多硬件推理的端到端流程并对照仓库内的模型下载表与推理 Benchmark 数据帮助读者在 X86 CPU、NVIDIA GPU 等环境下快速获得可复现、可扩展的高性能部署方案。读完本文你将掌握 PP-LCNet 推理模型的获取方式、FastDeploy 的安装与调用套路以及通过--device、--use_trt等参数在不同推理后端之间自由切换的实战技能。1. 背景PP-LCNet 与 FastDeploy 的契合点1.1 PP-LCNet面向 CPU 场景的轻量级骨干网络根据本仓库模型元数据info.yamlPP-LCNet 是一类面向 Intel CPU 端优化的轻量级卷积神经网络出自 PaddleClas 仓库属于计算机视觉Computer Vision/ 图像分类Image Classification子任务在 ImageNet1k 数据集上评测遵循 Apache 2.0 许可。其论文为PP-LCNet: A Lightweight CPU Convolutional Neural NetworkarXiv 2109.15099。从 introduction_cn.ipynb 可以进一步了解PP-LCNet 系列模型由 PaddleCV 团队提出针对 Intel CPU 硬件平台特别优化同时兼顾多种平台在推理速度与精度之间取得平衡并可作为骨干网络提升目标检测、语义分割等下游任务效果。模型在设计上融合了四个几乎不增加延迟但能提升精度的策略——更好的激活函数H-Swish、在合适位置添加 SE 模块、在合适位置使用更大的卷积核、以及在 GAP 后使用更大的 1×1 卷积层。正是因为 PP-LCNet 的轻量化与多平台适配特性它特别适合借助 FastDeploy 这类支持云边端多硬件的推理工具进行统一部署。1.2 FastDeploy全场景、多后端的推理部署工具FastDeploy 是一款全场景、易用灵活、极致高效的 AI 推理部署工具提供开箱即用的云边端部署体验支持 150 Text、Vision、Speech 和跨模态模型实现 AI 模型端到端的优化加速。其支持的硬件包括X86 CPU、NVIDIA GPU、ARM CPU、XPU、NPU、IPU等 10 类云边端硬件通过一行代码即可切换不同推理后端和硬件。使用 FastDeploy 三步即可完成 AI 模型部署安装 FastDeploy 预编译包调用 FastDeploy 的 API 实现部署代码运行推理部署。本文档对应的部署场景为下载 FastDeploy 官方部署示例完成 PP-LCNet 推理模型在 X86 CPU、NVIDIA GPU 上的高性能推理体验GPU 环境需默认就绪如 CUDA 11.2 等。2. 前置准备安装 FastDeploy 预编译包部署 PP-LCNet 的第一步是安装 FastDeploy 的 Python 预编译包。本文档使用 GPU 版本并指定从 PaddlePaddle 官方 nightly 构建索引安装pip install fastdeploy-gpu-python0.0.0 -f https://www.paddlepaddle.org.cn/whl/fastdeploy_nightly_build.html其中-f--find-links指定了预编译 wheel 包所在的索引页面fastdeploy-gpu-python为 GPU 版本包名。安装完成后即可在 Python 中导入 FastDeploy 并调用其推理 API。适用前提与限制该安装命令面向 GPU 推理场景文档默认已准备好 GPU 环境CUDA 11.2 等。如需部署到 ARM CPU、XPU、NPU、IPU 等其他硬件或希望完整了解 FastDeploy 的全部部署能力需要查阅 FastDeploy 官方仓库的对应文档。3. 运行部署示例完整实操流程3.1 获取部署示例、模型与测试图片首先克隆 FastDeploy 仓库并进入 PP-LCNet 对应的图像分类部署示例目录paddleclas 分类示例的 python 版# 下载部署示例代码 git clone https://github.com/PaddlePaddle/FastDeploy.git cd FastDeploy/examples/vision/classification/paddleclas/python # 下载 LCNet 模型文件和测试图片 wget https://bj.bcebos.com/paddlehub/fastdeploy/PPLCNet_x1_0_infer.tgz tar -xvf PPLCNet_x1_0_infer.tgz wget https://gitee.com/paddlepaddle/PaddleClas/raw/release/2.4/deploy/images/ImageNet/ILSVRC2012_val_00000010.jpeg这里下载的PPLCNet_x1_0_infer.tgz是 PP-LCNet x1.0 规格的推理模型压缩包解压后得到 FastDeploy 可直接加载的推理模型目录测试图片ILSVRC2012_val_00000010.jpeg是 ImageNet 验证集样例用于检验分类效果。3.2 四种推理方式CPU / GPU / TensorRT / IPU进入示例目录后通过infer.py传入模型路径、图片路径以及设备参数即可完成推理# CPU 推理 python infer.py --model PPLCNet_x1_0_infer --image ILSVRC2012_val_00000010.jpeg --device cpu --topk 1 # GPU 推理 python infer.py --model PPLCNet_x1_0_infer --image ILSVRC2012_val_00000010.jpeg --device gpu --topk 1 # GPU 上使用 TensorRT 推理 # 注意TensorRT 推理第一次运行时有序列化模型的操作有一定耗时需要耐心等待 python infer.py --model PPLCNet_x1_0_infer --image ILSVRC2012_val_00000010.jpeg --device gpu --use_trt True --topk 1 # IPU 推理 # 注意IPU 推理首次运行会有序列化模型的操作有一定耗时需要耐心等待 python infer.py --model PPLCNet_x1_0_infer --image ILSVRC2012_val_00000010.jpeg --device ipu --topk 1命令行参数含义如下参数作用取值说明--model指定推理模型目录指向解压后的PPLCNet_x1_0_infer目录--image指定测试图片路径指向下载的ILSVRC2012_val_00000010.jpeg--device指定推理设备/后端cpu、gpu、ipu等一行代码切换硬件--use_trt是否在 GPU 上启用 TensorRT 加速True/False--topk返回得分最高的前 K 个类别示例中--topk 1表示只取 Top-1 结果这组命令直观体现了 FastDeploy一行代码切换不同推理后端和硬件的设计理念模型文件、图片路径完全一致仅需调整--device与--use_trt参数即可在 CPU 普通推理、GPU 原生推理、GPU TensorRT 加速推理、IPU 推理之间切换无需改写任何业务代码。3.3 运行结果解读运行完成后示例程序输出的结果如下PPLCNet_x1_0 cpu_label: 153, cpu_score: 0.612086 ipu_label: 153, ipu_score: 0.612087 PPLCNet_x1_0其中cpu_label/ipu_label为对应设备推理得到的 ImageNet1k 类别编号153cpu_score/ipu_score为该类别对应的置信度得分。可以看到 CPU 与 IPU 两种后端得到完全一致的类别编号置信度也几乎相同0.612086 vs 0.612087说明跨后端推理结果一致性良好。4. 模型族谱与文件清单PP-LCNet 系列推理模型怎么选FastDeploy 示例中使用的是PPLCNet_x1_0_infer而 PP-LCNet 实际上是一个拥有多种宽高比规格x0_25~x2_5的模型系列。仓库中的 download_cn.md 给出了完整的推理模型与预训练模型下载清单输入尺寸统一为 224模型名称模型简介输入尺寸PPLCNet_x0_25图像分类224PPLCNet_x0_35图像分类224PPLCNet_x0_5图像分类224PPLCNet_x0_75图像分类224PPLCNet_x1_0图像分类224PPLCNet_x1_5图像分类224PPLCNet_x2_0图像分类224PPLCNet_x2_5图像分类224PPLCNet_x0_5_ssld图像分类SSLD 蒸馏224PPLCNet_x1_0_ssld图像分类SSLD 蒸馏224PPLCNet_x2_5_ssld图像分类SSLD 蒸馏224其中_ssld后缀表示使用 SSLD 知识蒸馏训练得到的模型通常精度更高。规格数字x0_25~x2_5越大模型容量与精度越高、推理耗时越长实际部署时可按精度/速度需求选择对应规格FastDeploy 示例默认选用的是容量与精度较为均衡的x1_0规格。5. 性能预期Benchmark 参考数据为了让读者对 PP-LCNet 部署后的性能有量化预期仓库中的 benchmark_cn.md 给出了基于多种硬件平台的推理速度评测结果可作为部署验收与调优的参照。评测说明原文要点评测覆盖 Intel CPU、V100 GPU、SD855 等多种硬件平台所有测试基于 FP32 精度完成Intel CPU 平台开启 MKLDNN 加速V100 GPU 平台开启 TensorRT 加速数据集使用 ImageNet1k validation。Intel Xeon Gold 6148 上的预测速度bs1, thread10ModelLatency(ms)PPLCNet_x0_251.74PPLCNet_x0_351.92PPLCNet_x0_52.05PPLCNet_x0_752.29PPLCNet_x1_02.46PPLCNet_x1_53.19PPLCNet_x2_04.27PPLCNet_x2_55.39V100 GPU 上的预测速度ModelsLatency(ms) bs1Latency(ms) bs4Latency(ms) bs8PPLCNet_x0_250.721.171.71PPLCNet_x0_350.691.211.82PPLCNet_x0_50.701.321.94PPLCNet_x0_750.711.492.19PPLCNet_x1_00.731.642.53PPLCNet_x1_50.822.063.12PPLCNet_x2_00.942.584.08SD855 上的预测速度ModelsLatency(ms) bs1, thread1Latency(ms) bs1, thread2Latency(ms) bs1, thread4PPLCNet_x0_252.301.621.32PPLCNet_x0_353.152.111.64PPLCNet_x0_54.272.731.92PPLCNet_x0_757.384.512.91PPLCNet_x1_010.786.493.98PPLCNet_x1_520.5512.267.54PPLCNet_x2_033.7920.1712.10PPLCNet_x2_549.8929.6017.82需要说明的是这些数据是特定软硬件环境下的实测结果不同 CPU 型号、线程数、TensorRT 版本、batch size 都会影响实际延迟应将其作为选型参考而非绝对承诺。6. 仓库内的配套资源快速体验与更多部署入口除了 FastDeploy 部署路径本仓库还提供了 PP-LCNet 的其他使用方式可作为部署与验证的补充快速体验PaddleClas 命令行在 introduction_cn.ipynb 中安装paddlepaddleGPU 环境安装paddlepaddle-gpu与paddleclas后可直接执行paddleclas --model_namePPLCNet_x1_0 --infer_imgs./whl_demo.jpg完成分类体验输出包含 class_ids、scores、label_names 与文件名。这与 FastDeploy 部署形成两条互补路径PaddleClas 命令行适合快速验证模型效果FastDeploy 适合生产级多硬件高性能部署。在线 DemoGradio App仓库提供了基于 Gradio 的 APP/app.py 交互式图像分类 Demo其核心调用为PaddleClas(model_namePPLCNet_x0_25)与clas.predict(image)运行环境声明见 APP/app.ymlgradio 3.4.1、CPU 设备依赖见 APP/requirements.txtgradio、paddlepaddle、paddleclas。注意该 Demo 与 FastDeploy 示例属于两条独立链路前者走 PaddleClas 推理后者走 FastDeploy 推理后端。推理模型下载表见 download_cn.md可按需选择不同规格与是否 SSLD 蒸馏的推理模型/预训练模型。7. 注意事项与最佳实践小结基于本文档及仓库内容整理部署 PP-LCNet 时的要点环境匹配GPU 推理需提前就绪 CUDA 11.2等环境CPU 推理无需额外 GPU 环境可直接运行。首次运行耗时TensorRT 与 IPU 推理首次运行都会执行模型序列化/编译操作耗时较长属正常现象请耐心等待后续运行会明显加速。模型规格选择FastDeploy 示例默认使用PPLCNet_x1_0若追求更低延迟可选择x0_25~x0_75若追求更高精度可选择x1_5~x2_5或_ssld蒸馏版本。后端切换通过--device与--use_trt参数即可切换推理后端这是 FastDeploy 的核心设计也是云边端统一部署的关键能力。性能参考以 benchmark_cn.md 的实测数据为基线结合自身硬件、线程数与 batch size 进行针对性验证。综上PP-LCNet 与 FastDeploy 的组合提供了一条轻量模型 全场景部署工具的典型实践路径模型侧以 Intel CPU 场景为优化重点、兼顾多平台部署侧以一行代码切换后端的能力覆盖 CPU、GPU、TensorRT、IPU 等硬件。按照本文的安装、下载、推理三步流程即可在本地快速复现 PP-LCNet 的多后端部署效果并基于仓库中的模型清单与 Benchmark 数据完成规格选型与性能验收。赞分享人工智能深度学习计算机视觉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-HGNet 图像分类模型 FastDeploy 高性能部署实战CPU、GPU、TensorRT 与 IPU 全流程指南PP HGNet 图像分类模型 FastDeploy 高性能部署实战CPU、GPU、TensorRT 与 IPU 全流程指南 本篇技术指南围绕 PaddleP人工智能深度学习计算机视觉NLP语音3条命令从零部署NanoClaw个人AI助手快速入门教程含首次通道配对全流程3条命令从零部署NanoClaw个人AI助手快速入门教程含首次通道配对全流程 NanoClaw 是一个运行在容器中的轻量级个人 AI 助手它把智能体隔离人工智能深度学习计算机视觉NLP语音lnav HTTP API 与 Markdown Magic构建交互式 lnav 应用页面的完整指南lnav HTTP API 与 Markdown Magic构建交互式 lnav 应用页面的完整指南 导读 lnav 在较新版本中内置了一个本地 HTTP 服人工智能深度学习计算机视觉NLP语音上一篇ncmdump拖入NCM文件3步转出MP3下一篇QtScrcpy 免费开源安卓投屏控制软件手机秒上电脑的完整指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考