littlebot
Published on 2025-04-14 / 1 Visits
0

【源码】基于C++的Paddle Mobile轻量级推理引擎

项目简介

Paddle Mobile是为移动设备优化的PaddlePaddle轻量级推理引擎,能将PaddlePaddle训练的模型快速部署到移动设备,实现高效的模型预测。

项目的主要特性和功能

支持平台

  • 主要支持ARM CPU,在arm a73上单核运行一次mobilenet 1.0目前为160+ms,性能持续优化。
  • 支持Mali GPU,已支持squeezenet、googlenet、resnet等网络模型。
  • 苹果设备的GPU Metal实现正在开发,近期将有可运行版本。
  • 基于Xilinx的ZU5目标开发板的FPGA实现也在进行中。

灵活性

  • cpu版无需依赖第三方库,可快速集成。
  • 用泛型特化切换平台,灵活切换cpu、gpu和其他协处理器。
  • 可针对特定常见网络编译特定op,减少编译时间和包大小。
  • 采用docker编译,提供统一编译环境。
  • 扩展性高,便于拓展其他协处理器,有高性能arm算子实现,方便开发者集成开发。
  • 直接兼容paddle-fluid模型,无需额外转换。

其他特性

  • 体积优化:从设计起考虑移动端包体积,cpu实现无外部依赖,编译按需打入op,代码体积小。
  • 功能方面:提供PaddlePaddle模型在移动设备上的加载、执行和预测功能,支持卷积、池化等多种深度学习操作,还有操作符融合、常量折叠等优化工具,提升模型运行效率。

安装使用步骤

  1. 若已下载项目源码文件,按需修改配置文件,指定模型文件路径、计算平台等。
  2. 编译项目,生成可执行文件。
  3. 运行可执行文件,加载并执行模型。

注意事项

  • 使用前确保安装必要的依赖库和工具。
  • 根据实际情况调整配置文件和模型文件路径。
  • 复杂模型可能需额外优化以提高运行效率。

模型获得

  • 推荐直接使用Paddle Fluid训练。
  • 部分测试模型可从下载链接下载。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】