『飞桨』多平台高性能深度学习预测引擎 Paddle Lite

未知
C/C++
嵌入式
百度
2019-08-23
红薯

Paddle Lite为Paddle-Mobile的升级版,定位支持包括手机移动端在内更多场景的轻量化高效预测,支持更广泛的硬件和平台,是一个高性能、轻量级的深度学习预测引擎。在保持和PaddlePaddle无缝对接外,也兼容支持其他训练框架产出的模型。

特性

轻量级

执行阶段和计算优化阶段实现良好解耦拆分,移动端可以直接部署执行阶段,无任何第三方依赖。 包含完整的80个 Op+85个 Kernel 的动态库,对于ARMV7只有800K,ARMV8下为1.3M,并可以裁剪到更低。 在应用部署时,载入模型即可直接预测,无需额外分析优化。

高性能

极致的 ARM CPU 性能优化,针对不同微架构特点实现kernel的定制,最大发挥计算性能,在主流模型上展现出领先的速度优势。 支持INT8量化计算,结合 PaddleSlim 模型压缩工具 中 INT8量化训练功能,可以提供高精度高性能的预测能力。 在Huawei NPU, FPGA上也具有有很好的性能表现。

最新 Benchmark 位于 benchmark

通用性

硬件方面,Paddle Lite 的架构设计为多硬件兼容支持做了良好设计。除了支持ARM CPU、Mali GPU、Adreno GPU,还特别支持了华为 NPU,以及 FPGA 等边缘设备广泛使用的硬件。即将支持支持包括寒武纪、比特大陆等AI芯片,未来会增加对更多硬件的支持。

模型支持方面,Paddle Lite和PaddlePaddle训练框架的Op对齐,提供更广泛的模型支持能力。目前已严格验证18个模型85个OP的精度和性能,对视觉类模型做到了较为充分的支持,覆盖分类、检测和定位,包含了特色的OCR模型的支持。未来会持续增加更多模型的支持验证。

框架兼容方面:除了PaddlePaddle外,对其他训练框架也提供兼容支持。当前,支持Caffe 和 TensorFlow 训练出来的模型,通过X2Paddle 转换工具实现。接下来将会对ONNX等格式模型提供兼容支持。

架构

PaddleLite 的架构设计着重考虑了对多硬件和平台的支持,并且强化了多个硬件在一个模型中混合执行的能力,多个层面的性能优化处理,以及对端侧应用的轻量化设计。

其中,Analysis Phase 包括了 MIR(Machine IR) 相关模块,能够对原有的模型的计算图针对具体的硬件列表进行算子融合、计算裁剪 在内的多种优化。Execution Phase 只涉及到Kernel 的执行,且可以单独部署,以支持极致的轻量级部署。

Paddle-Mobile升级为Paddle Lite的说明

原Paddle-Mobile作为一个致力于嵌入式平台的PaddlePaddle预测引擎,已支持多种硬件平台,包括ARM CPU、 Mali GPU、Adreno GPU,以及支持苹果设备的GPU Metal实现、ZU5、ZU9等FPGA开发板、树莓派等arm-linux开发板。在百度内已经过广泛业务场景应用验证。对应设计文档可参考: mobile/README

Paddle-Mobile 整体升级重构并更名为Paddle Lite后,原paddle-mobile 的底层能力大部分已集成到新架构 下。作为过渡,暂时保留原Paddle-mobile代码。 主体代码位于 mobile/ 目录中,后续一段时间会继续维护,并完成全部迁移。新功能会统一到新架构 下开发。

metal, web的模块相对独立,会继续在 ./metal 和 ./web 目录下开发和维护。对苹果设备的GPU Metal实现的需求及web前端预测需求,可以直接进入这两个目录。

的码云指数为
超过 的项目
加载中

评论(0)

暂无评论

暂无资讯

暂无问答

简单搜索--Paddle Mobile的技术实现和业务落地

Paddle Mobile是PaddlePaddle组织下的致力于嵌入式平台的深度学习框架,集成了百度移动端预测的实践经验,提供多平台支持,在工程实现支持及底层算法模型压缩的基础上,通过CPU、mall GPU等硬...

2018/10/01 16:54
16
0
用阿里云安装深度学习平台PaddlePaddle

**准备工作:** - 服务器: 阿里云ECS最低配 - 系 统: Ubuntu 14.04.4 LTS - 软 件:PaddlePaddle安装文件 [paddle-cpu-0.8.0b1-Linux.deb](https://github.com/PaddlePaddle/Paddle/releases...

2016/10/13 14:44
171
0
SmallBasic打砖块游戏的源码

GraphicsWindow.BackgroundColor="DarkBlue" paddle=Shapes.AddRectangle(120,12) ball=Shapes.AddEllipse(16,16) GraphicsWindow.MouseMove = OnMouseMove x = 0 y = 0 deltaX = 1 deltaY =...

2013/02/13 00:18
2.4K
0
Mini-project #4 - "Pong"

In this project, we will build a version of Pong, one of the first arcade video games (1972). While Pong is not particularly exciting compared to today's video games, Pong is re...

2014/10/27 20:16
26
0
PaddlePaddle踩坑指北系列——Linux安装(一)

本周我们精选出社区问答进行整理汇总,开发者在使用PaddlePaddle过程中遇到任何技术难题,都可以到PaddlePaddle公众号FAQ专栏上寻求解决方案,希望能帮助新用户在Linux安装过程中解答疑惑。 ...

2018/12/10 19:44
146
0
PaddlePaddle-GitHub的正确打开姿势

GitHub是一个面向开源及私有软件项目的托管平台、也是项目版本管理工具,会使用它是程序员入门的必备技能。PaddlePaddle也不例外,所有的源码及项目进展都在GitHub上开源公布。但对于刚入门写...

01/17 12:02
29
0
分布式机器学习框架-百度的PADDLE(计划开源)

PADDLE是百度开发的一个分布式的机器学习框架,是基于Spark的。

2016/03/09 14:06
3.8K
2
技术分享:RxJS实战练习-经典游戏Breakout

演示地址:http://tiny.pubuzhixing.com/ github:https://github.com/pubuzhixing8/tiny-game 出处:《深入浅出RxJS》十四章实例,使用TS+Angular重新包装,修改了一个小缺陷,据说这个游戏...

01/11 15:24
31
0
百度嵌入式深度学习框架Paddle-Mobile介绍

本篇内容介绍嵌入式深度学习的应用场景、Paddle-Mobile的特性优势以及使用开发方法,预计阅读时间4分钟 嵌入式深度学习有哪些应用 深度学习技术已经在互联网的诸多方向产生影响,关于深度学习...

2018/12/18 15:28
51
0
AnyQ_智能问答的一个非官方帮助手册

AnyQ_智能问答的一个非官方帮助手册 本手册由一个俗人(wechat:dotzcv)整理,数据来源为百度Google搜索,官方issues,以及本人的实验所得进行记录扩充 前提的准备条件 硬件环境:4核8G 上面测...

07/13 20:14
337
1

没有更多内容

加载失败,请刷新页面

返回顶部
顶部