更强大易用的端侧推理引擎来啦!Paddle Lite 2.0正式发布

Posted 读芯术

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了更强大易用的端侧推理引擎来啦!Paddle Lite 2.0正式发布相关的知识,希望对你有一定的参考价值。



今年8月,飞桨(PaddlePaddle)对外发布面向终端和边缘设备的端侧推理引擎Paddle Lite Beta版。经过近两个多月的迭代和发展,“WAVE Summit+ ”2019深度学习开发者峰会上Paddle Lite 2.0 正式版发布。


Paddle Lite的Github链接:

https://github.com/PaddlePaddle/Paddle-Lite


Paddle Lite致力于提供一套功能完整、易用、高性能的端侧推理引擎,方便广大开发者将应用部署到任何端侧设备之上。对比最初的 beta 版本,正式版在编译、文档、性能、硬件支持、平台支持等方面都有了较大的改进提升。


而飞桨团队也透露,将在今年内继续推进若干小版本的升级,并期待和欢迎开发者加入社区并给出反馈。


在AI技术落地中,推理阶段与实际应用相关联,直接关系到用户的体验,是非常具有挑战性的一环。


更强大易用的端侧推理引擎来啦!Paddle Lite 2.0正式发布

图1 典型端侧AI应用部署场景


Paddle Lite是飞桨产品栈中用于端侧高性能轻量化AI应用部署的推理引擎,核心用途是将训练出的模型在不同硬件平台场景下快速部署,根据输入数据,执行预测推理得到计算结果,支持实际的业务应用。


更强大易用的端侧推理引擎来啦!Paddle Lite 2.0正式发布

图2 Paddle Lite功能定位


Paddle Lite自Beta版发布以来,在如下核心功能上进行升级:


· 多框架支持:原生支持飞桨的模型,同时通过X2Paddle工具,提供对TensorFlow,PyTorch和ONNX模型格式的更充分的支持;


· 多硬件支持:除了ARM CPU、移动端GPU、华为NPU,新增支持Nvidia GPU和X86 CPU;


· 更好的性能:更新benchmark,提升了在ARM CPU上尤其是int8的性能;


· 更加完备的功能:支持python API,优化编译流程,新增预测库极致裁剪等功能;


· 更加完善的文档和demo:提供完善的文档和多平台的demo,包括安卓、ios和树莓派等。


更强大易用的端侧推理引擎来啦!Paddle Lite 2.0正式发布

多框架支持


Paddle Lite 不仅可以支持飞桨格式模型,也支持 Caffe,TensorFlow,ONNX 等第三方格式的模型,详情可以参考X2Paddle。 官方已经验证如下主流模型的适配情况:

更强大易用的端侧推理引擎来啦!Paddle Lite 2.0正式发布

除了上述主流模型以外,ARM CPU FP32 新增如下3个模型支持:

· transformer
·  facebox
·  blazeface

ARM CPU INT8 量化预测支持如下模型:

· s hufflenetv2
·  mobilenet-ssd
·  vgg16
·  googlenet
·   mobilenetv1
·  mobilenetv2
·  Resnet5


更强大易用的端侧推理引擎来啦!Paddle Lite 2.0正式发布

多硬件支持


在v2.0版本中,Paddle Lite新增 Nvidia GPU 和 X86 CPU 两大类硬件支持。


Nvidia GPU 方面,为了充分利用 GPU 的高性能,Paddle Lite用 CUDA 相关软件栈开发了对应的 Kernel,支持 Nvidia 多类GPU硬件,比如服务器端的 P4、T4,以及嵌入式端的 Jetson TX2、TX1、Nano 等。


目前CUDA GPU 支持如下三种模型:


· Yolov3

· Alexnet

· Unet


在 X86 CPU方面,Paddle Lite增加了 MKL 相关 Kernel,目前能够驱动 inception v4,googlenet,resnet50 等3个模型的高效执行,相应算子对其他多数CV类模型具有普适性。


更强大易用的端侧推理引擎来啦!Paddle Lite 2.0正式发布

更好的性能


ARM CPU (v7,v8) 上float32 和 int8 两种计算模式的预测性能均得到提升(见图3,图4),详情可以参考最新的Benchmark:


https://paddlepaddle.github.io/Paddle-Lite/v2.0.0/benchmark/


更强大易用的端侧推理引擎来啦!Paddle Lite 2.0正式发布

图3


更强大易用的端侧推理引擎来啦!Paddle Lite 2.0正式发布

图4 测试条件:batch_size=1,单线程


更强大易用的端侧推理引擎来啦!Paddle Lite 2.0正式发布

更加完备的功能


· 支持python API


为了简化ARM Linux 相关硬件上的预测部署,Paddle Lite增加了Python API的预测接口,目前在树莓派和 Jetson TX2 等卡上做了应用验证。


· 优化编译流程


Paddle Lite支持两种模式的编译:


1. tiny_publish:用于对部署体积有严格要求的平台,对应MobileConfig 预测接口。


2. full_publish:用于对部署体积无要求的平台,使用简便,对应 CxxConfig 预测接口。


编译方面,除了 docker 以外,新增了 Linux(推荐 Ubuntu)、Mac 等编译平台的支持,并且修复了编译(full_publish)时下载git submodule缓慢的问题。


在统一的编译脚本下,目前支持:


· android ARM CPU, GPU

· iOS

· X86

· NV GPU/CUDA

· Huawei NPU

· ARM Linux


等硬件平台的预测库编译。


· 预测库极致裁剪


Paddle Lite对现有移动端预测库进行了进一步压缩,ARM V8 so 从 1.4M 降到 1.3M;此外,还发布了根据单个模型做定制裁剪的功能,即生成一个只包含该模型必需算子的预测库,效果如下图所示:


更强大易用的端侧推理引擎来啦!Paddle Lite 2.0正式发布

图5


更强大易用的端侧推理引擎来啦!Paddle Lite 2.0正式发布

更加完善的文档和Demo


完善文档内容,主要包括:


· 增加支持硬件的列表:

https://paddlepaddle.github.io/Paddle-Lite/v2.0.0/support_hardware/


· 增加根据模型裁剪算子的方法:

https://paddlepaddle.github.io/Paddle-Lite/v2.0.0/library_tailoring/


· 更新最新 Benchmark:

https://paddlepaddle.github.io/Paddle-Lite/v2.0.0/benchmark/


为了实际地展示 Paddle Lite 的部署能力,Paddle Lite增加了Paddle-Lite-Demo GitHub 官方DEMO库:

https://github.com/PaddlePaddle/Paddle-Lite-Demo


目前包含


· Android ARM CPU

· Android Huawei NPU

· iOS ARM CPU

· ARM Linux 树莓派


等多种平台,包括分类、检测等模型的功能演示。


以ARM Linux树莓派为例,Paddle Lite 驱动树莓派3B 调用摄像头进行识别任务,整体效果如图6所示:


更强大易用的端侧推理引擎来啦!Paddle Lite 2.0正式发布

图6


详情请参考树莓派摄像头的购买、安装、配置与验证(以树莓派3B为例):


https://github.com/PaddlePaddle/Paddle-Lite-Demo/blob/master/PaddleLite-armlinux-demo/enable-camera-on-raspberry-pi.md


如果您想了解更多关于Paddle Lite的相关内容,请参阅以下文档。


1. Paddle Lite的Github链接:

https://github.com/PaddlePaddle/Paddle-Lite


2. Paddle Lite的文档链接:

https://paddlepaddle.github.io/Paddle-Lite/


3. Paddle Lite Demo的链接:

https://github.com/PaddlePaddle/Paddle-Lite-Demo


4. PaddlePaddle的Github链接:

https://github.com/paddlepaddle



更强大易用的端侧推理引擎来啦!Paddle Lite 2.0正式发布


更强大易用的端侧推理引擎来啦!Paddle Lite 2.0正式发布


更强大易用的端侧推理引擎来啦!Paddle Lite 2.0正式发布
推荐阅读专题



留言 点赞 发个朋友圈
我们一起分享AI学习与发展的干货


如需转载,请后台留言,遵守转载规范


推荐文章阅读



长按识别二维码可添加关注
读芯君爱你


以上是关于更强大易用的端侧推理引擎来啦!Paddle Lite 2.0正式发布的主要内容,如果未能解决你的问题,请参考以下文章

飞桨端侧推理引擎重磅升级为Paddle Lite,更高扩展性更极致性能!

百度推出端侧推理引擎 Paddle Lite,支持华为 NPU 在线编译

百度飞桨重磅推出端侧推理引擎Paddle Lite 支持更多硬件平台

如何基于Flutter和Paddle Lite实现实时目标检测

Paddle Lite 深度解读落地实战-百度技术分享会报名(北京)

坐标北京,Paddle Lite​ 线下交流会,助力算法落地