Paddle Lite 是飞桨的端侧推理引擎,具有高性能、多硬件、轻量级的特点,它支持飞桨/TensorFlow/Caffe/ONNX等模型在ARM CPU, Mali GPU, Adreno GPU, Huawei NPU 等多种硬件上的推理部署,性能达到业内领先。
目前Paddle Lite保持快速的迭代优化升级,距离正式版2.0.0发布仅一个月,Paddle Lite又一次发布了2.1.0版本。
Paddle Lite的Github链接:
https://github.com/PaddlePaddle/Paddle-Lite
01
Paddle Lite v2.1.0的重点功能
1.新增ARM端图像预处理库,用于图像预处理,它可以
支持多种颜色空间转换,如NV12_To_RGB、GRAR_To_RGB等
支持多种图像预处理操作,如图像旋转、翻转等
支持图像数据到Tensor的转换,如RGB_To_NCHW(Tensor)等
相关功能性能优于OpenCV。对1920x 1080的BGR图像,做如下操作:
o Resize:1920x 1080 --540x960
o Rotate:1920x 1080 旋转90度
o Flip:沿xy轴对角线翻转
与OpenCV在ARM v7 4线程下的性能对比数据如下图所示:
2.新增按模型集合裁剪预测库的功能。开发者可以通过该功能只保留给定多个模型线上预测所需要的op和kernel,从而压缩预测库体积。
3.优化报错信息,在Android中支持原生系统报错。
02
Paddle Lite v2.1.0更多新特性一览
1.基础功能升级
a.新增op
b.op升级,与飞桨 v1.6对齐
reshape支持输入用std::vector>描述shape信息
slice支持starts、ends用Tensor、TensorList描述
lookup_table 去除最后一维必须为1的限制,保留原op,新增op为lookup_table_v2
resize_bilinear和resize_nearest,增加用TensorList和Tensor描述resize的shape信息
c.新增模型
d.API对齐
Python、Java、C++三种 API核心接口对齐:
e.升级量化模型支持
f.预测库整理
重新整理核心库包含的(basic) op&kernel,使基础预测库(build_extra=OFF
)支持CV类9个经典模型(包括飞桨原生模型和对应的 X2Paddle第三方转化模型)和3个量化模型,且tiny_publish
下预测动态库体积不变。支持模型如下:
2.性能优化
主流模型的性能优化持续迭代。以MobileNetV1为例,性能保持领先,如下图所示:
改进ARM CPU conv3x3实现方式,ResNet、SqueezeNet等模型性能提升。ResNet50性能如下图所示:
3.编译
4.文档
新增Pass介绍与注册方法文档:
https://paddlepaddle.github.io/Paddle-Lite/v2.1.0/add_new_pass/
补齐了 Cxx API文档:
https://paddlepaddle.github.io/Paddle-Lite/v2.1.0/cxx_api_doc/
新增CV图像预处理库API接口介绍文档:
https://paddlepaddle.github.io/Paddle-Lite/v2.1.0/cv/
新增部署训练后量化模型的使用示例文档:
https://paddlepaddle.github.io/Paddle-Lite/v2.1.0/model_quantization/#%E8%AE%AD%E7%BB%83%E5%90%8E%E9%87%8F%E5%8C%96
5.Bug修复
修补了一些上个版本中存在的Bug。
如果您想了解更多关于Paddle Lite的相关内容,请参阅以下文档:
Paddle Lite的Github链接:
https://github.com/PaddlePaddle/Paddle-Lite
Paddle Lite的文档链接:
https://paddlepaddle.github.io/Paddle-Lite/
Paddle Lite Demo的链接:
https://github.com/PaddlePaddle/Paddle-Lite-Demo
飞桨的Github链接:
https://github.com/paddlepaddle
如果使用过程中遇到任何问题,大家可通过Paddle Lite官方QQ群与开发人员进行技术交流及问题反馈,群号:696965088。