点击我爱计算机视觉标星,更快获取CVML新技术


本文转载自机器之心。

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

Paddle Lite 的 Github 链接:

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

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

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

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

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

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

图 2 . Paddle Lite 功能定位

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

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

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

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

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

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

多框架支持

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

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

-transformer

-facebox

-blazeface

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

-shufflenetv2

-mobilenet-ssd

-vgg16

-googlenet

-mobilenetv1

-mobilenetv2

-Resnet50

多硬件支持

在 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 类模型具有普适性。

更好的性能

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

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

图3

图4

测试条件:batchsize=1,单线程

更加完备的功能

  • 支持 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;此外,还发布了根据单个模型做定制裁剪的功能,即生成一个只包含该模型必需算子的预测库,效果如下图所示:

图5

更加完善的文档和 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 (https://github.com/PaddlePaddle/Paddle-Lite-Demo)GitHub 官方 DEMO 库,目前包含

-Android ARM CPU

-Android Huawei NPU

-iOS ARM CPU

-ARM Linux 树莓派

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

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

图 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

5.如果使用过程中遇到任何问题,大家可通过Paddle Lite官方QQ群与开发人员进行技术交流及问题反馈,飞桨Paddle Lite官方QQ群(群号696965088)。


模型压缩与应用部署群

关注最新最前沿的模型压缩、剪枝、轻量级网络设计、应用部署技术,扫码添加CV君拉你入群,(如已为CV君其他账号好友请直接私信)

(请务必注明:部署)

喜欢在QQ交流的童鞋,可以加52CV官方QQ群:805388940。

(不会时时在线,如果没能及时通过验证还请见谅)


长按关注我爱计算机视觉

20+移动端硬件,Int8极速推理,端侧推理引擎Paddle Lite 2.0 正式发布相关推荐

  1. 模型压缩高达75%,推理速度提升超20%,百度Paddle Lite v2.3正式发布

    如今,诸如计算机视觉.智能语音交互等基于深度学习的AI技术,在满足日常应用层面上已经非常成熟.比如,人脸识别闸机在机场.地铁.办公楼.学校等地方随处可见.什么都不用带,只要刷个脸就行,方便快捷又省事! ...

  2. Paddle Lite端侧部署

    Paddle Lite端侧部署 端侧推理引擎的由来 随着深度学习的快速发展.特别是小型网络模型的不断成熟,原本应用到云端的深度学习推理,就可以放到终端上来做,比如手机.手表.摄像头.传感器.音响,也就 ...

  3. 国产AI框架再进化!百度Paddle Lite发布:率先支持华为NPU在线编译,全新架构更多硬件支持...

    乾明 边策 发自 凹非寺  量子位 报道 | 公众号 QbitAI 国产AI框架飞桨刚刚带来新进化:Paddle Lite正式发布! 高扩展.高性能.轻量化,还是首个支持华为NPU在线编译的深度学习端 ...

  4. caffe不支持relu6_国产AI框架再进化!百度Paddle Lite发布:率先支持华为NPU在线编译,全新架构更多硬件支持...

    乾明 边策 发自 凹非寺  量子位 报道 | 公众号 QbitAI 国产AI框架飞桨刚刚带来新进化:Paddle Lite正式发布! 高扩展.高性能.轻量化,还是首个支持华为NPU在线编译的深度学习端 ...

  5. 阿里开源!轻量级深度学习端侧推理引擎 MNN

    AI科学家贾扬清如此评价道:"与 Tensorflow.Caffe2 等同时覆盖训练和推理的通用框架相比,MNN 更注重在推理时的加速和优化,解决在模型部署的阶段的效率问题,从而在移动端更高 ...

  6. 淘宝开源深度学习端侧推理引擎 MNN

    本文由淘宝技术授权,转载请联系原作者 与 Tensorflow.Caffe2 等同时覆盖训练和推理的通用框架相比,MNN 更注重在推理时的加速和优化,解决在模型部署的阶段的效率问题,从而在移动端更高效 ...

  7. 使用OpenVINO™在“端—边—云”快速实现高性能人工智能推理

    简介: 目前,数字化浪潮席卷全球,人类社会已经进入智能时代.万物互联的数字化浪潮下,端-边-云协同是实现数字化智能化的重要架构之一.本文我们将简要分析边云协同的必要性,并介绍如何使用英特尔开源的Ope ...

  8. 六大案例、多维数据告诉你,为什么C端硬件创业领域会尸横遍野?

    来源 | CB Insights 编译 | Rik .张震 2017 年 7 月,设备制造商 Jawbone 成为了创业史上最引人注目的失败案例之一. 该公司的资产出售宣言姗姗来迟:尽管 10 年间总 ...

  9. 开源背后 | 面对端侧推理引擎的挑战,阿里工程师如何应对?

    阿里妹导读:MNN(Mobile Neural Network)已于今年5月7日在 Github 上正式开源.淘宝无线开发专家--陈以鎏(离青)在 GMTC 全球大前端技术大会为大家分享了 MNN 开 ...

最新文章

  1. 从2D到3D的目标检测综述
  2. 设计模式 -- 策略模式
  3. Java中的回调函数学习-深入浅出
  4. 删除取消 excel 2007 自动生成的超链接
  5. django-celery
  6. AT3611-Tree MST【点分治,最小生成树】
  7. 开发中遇到的Cause: java.sql.SQLException: connection holder is null的异常
  8. CountDownLatch使用解说
  9. 教你React Native使用fetch实现图片上传
  10. webpack遇见的坑:Please install 'webpack-cli' in addition to webpack itself to use the CLI.
  11. oracle数据库注册服务,oracle 共享服务联接静态注册服务
  12. 算法设计与分析基础知识总结——dayOne
  13. Java基础:第5-6章(重点)
  14. 餐饮公关无小事,从防微杜渐到危机处理都需要重视
  15. 4.12 使用格式刷实现单元格样式的快速复制 [原创Excel教程]
  16. 使用注解开发(重点)
  17. 鹊华秋色(2009-06-10)
  18. 网络安全现状与未来蓝图||建立高效的网络安全体系
  19. JavaWeb解决form表单刷新提示确认重新提交表单
  20. 跳一跳作弊器上榜!GitHub 2018年十大新开源项目揭晓

热门文章

  1. Personal Rank——个性化推荐召回算法python
  2. STM32 - 定时器的设定 - 基础- 07 - 6-step PWM generation - 6步长PWM的产生 - COM Event的解释
  3. 16 分频 32 分频是啥意思_CD4017是什么?十进制计数器分频器CD4017的逻辑功能呢?...
  4. 华科计算机学院三好学生,他是华科“三好学生标兵”,被保研到北大、复旦、交大等3所名校!...
  5. windows2016+sqlserver2017集群搭建alwayson之搭建配置篇
  6. java五子棋_Java初级项目——从零开始制作一个简易五子棋游戏
  7. oracle 讲师费用,20080929--ORACLE培训笔记未整理版(讲师:ORA-600)
  8. linux cat时间段,linux – cat / dev / urandom的输出是多么临时
  9. matlab改变矩阵的元素,Matlab中元素不变情况下改变矩阵形态——reshape()
  10. 手环升级鸿蒙设备名单,定档6月2日!鸿蒙“首批”升级名单公布,共计11款华为机型!...