资源行业动态Paddle Lite新增ARM端图像预处理库

Paddle Lite新增ARM端图像预处理库

2019-12-25 | |  67 |   0

原标题:Paddle Lite新增ARM端图像预处理库

来源:机器之心        链接:https://www.jiqizhixin.com/articles/2019-12-24-15


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线程下的性能对比数据如下图所示:

1577260893750214.png


2.新增按模型集合裁剪预测库的功能。开发者可以通过该功能只保留给定多个模型线上预测所需要的op和kernel,从而压缩预测库体积。

3.优化报错信息,在Android中支持原生系统报错。


02 Paddle Lite v2.1.0更多新特性一览

1.基础功能升级


a.新增op

● x86 tanh, gelu

● x86 stack


b.op升级,与飞桨 v1.6对齐

● reshape支持输入用std::vector<Tensor<int32>>描述shape信息

● slice支持starts、ends用Tensor、TensorList描述

● lookup_table 去除最后一维必须为1的限制,保留原op,新增op为lookup_table_v2

● esize_bilinear和resize_nearest,增加用TensorList和Tensor描述resize的shape信息


c.新增模型

● x86增加MobileNetV1, MobileNetV2支持


d.API对齐

Python、Java、C++三种 API核心接口对齐:

● MobileConfig模式下,Python , Java,C++接口完整对齐,适用于移动端的轻量级部署场景 

● CxxConfig 模式下,Python,C++接口完整对齐,适用于非轻量级部署场景


e.升级量化模型支持

● 支持飞桨训练后量化方法产出的量化模型,比如MobileNetV1、 MobileNetV2、ReseNt50

● 支持飞桨量化训练方法产出权重量化方式为channel_wise_abs_max的量化模型


f.预测库整理

重新整理核心库包含的(basic) op&kernel,使基础预测库(build_extra=OFF)支持CV类9个经典模型(包括飞桨原生模型和对应的 X2Paddle第三方转化模型)和3个量化模型,且tiny_publish下预测动态库体积不变。支持模型如下:

● 9个经典模型及其飞桨转化模型:MobileNetV1、MobileNetV2、MnasNet、ResNet50、YOLOv3、SSD_MobileNetV1、 U-Net、SqueezeNet_v1.1、ShuffleNet_v2

● 3个int8量化模型:MobileNetV1、MobileNetV2、ResNet50


2.性能优化

主流模型的性能优化持续迭代。以MobileNetV1为例,性能保持领先,如下图所示:

1577261022883458.png


改进ARM CPU conv3x3实现方式,ResNet、SqueezeNet等模型性能提升。ResNet50性能如下图所示:

image.png


3.编译

● X86与CUDA编译时第三方库下载加速 (X86编译相关的第三方库Eigen、MKLML、xxHash改为从百度云地址下载,加速编译过程)

● NPU的编译支持华为官方最新版HiAI DDK 310


 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

THE END

免责声明:本文来自互联网新闻客户端自媒体,不代表本网的观点和立场。

合作及投稿邮箱:E-mail:editor@tusaishared.com


上一篇:深化AI+行业场景落地,创新奇智完成近4亿人民币B轮融资

下一篇:+AI场景,3步懂图像识别产品

用户评价
全部评价

热门资源

  • 国内人才报告:机...

    近日,BOSS 直聘职业科学实验室 &BOSS 直聘研究院...

  • AI使物联网更智能...

    看到微软对物联网和人工智能的结合感兴趣是一个明...

  • 推荐一批学习自然...

    这里推荐一批学习自然语言处理相关的书籍,当然,...

  • 机器学习中的线性...

    机器学习中的线性回归是一种来源于经典统计学的有...

  • 安防智能化大势下...

    大部分传统安防设备不仅拍摄视野有限,而且无法事...