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

本年 8 月,飞桨(PaddlePaddle)对外发布面向终端和边沿配备的端侧推理引擎 Paddle Lite Beta 版。颠末近两个众月的迭代和开展,2019 Wave Summit+ 深度进修开辟者峰会上 Paddle Lite 2.0 正式版发布。

Paddle Lite 努力于供应一套功用完备、易用、高功用的端侧推理引擎,便当宽广开辟者将运用安排到任何端侧配备之上。比照最初的 beta 版本,正式版编译、文档、功用、硬件支撑、平台支撑等方面都有了较大的改良晋升。

Paddle Lite 的 Github 链接:

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

而飞桨团队也走漏,将本年内继续促进若干小版本的升级,并等候和接待开辟者到场社区并给出反应。

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)。

初学推理引擎Paddle Lite百度飞桨
1
相关数据
推理引擎技能

推理机是施行题目求解的中心施行机构,常睹于专家系统。它是对常识举行标明的顺序,依据常识的语义,对按必定计谋找到的常识举行标明施行,并把结果记载到动态库的恰当空间中去。

引荐作品
暂无评论
暂无评论~