Paddle Lite 是飛槳的端側推理引擎,具備高性能、多硬件、輕量級的特色,它支持飛槳/TensorFlow/Caffe/ONNX等模型在ARM CPU, Mali GPU, Adreno GPU, Huawei NPU 等多種硬件上的推理部署,性能達到業內領先。git
目前Paddle Lite保持快速的迭代優化升級,距離正式版2.0.0發佈僅一個月,Paddle Lite又一次發佈了2.1.0版本。github
Paddle Lite的Github連接:api
https://github.com/PaddlePaddle/Paddle-Lite性能優化
01性能
1.新增ARM端圖像預處理庫,用於圖像預處理,它能夠優化
支持多種顏色空間轉換,如NV12_To_RGB、GRAR_To_RGB等ui
支持多種圖像預處理操做,如圖像旋轉、翻轉等spa
支持圖像數據到Tensor的轉換,如RGB_To_NCHW(Tensor)等.net
相關功能性能優於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
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
resize_bilinear和resize_nearest,增長用TensorList和Tensor描述resize的shape信息
c.新增模型
x86增長MobileNetV1, MobileNetV2支持
d.API對齊
Python、Java、C++三種 API核心接口對齊:
MobileCo
nfig模式下,Python , Java,C++接口完整對齊,適用於移動端的輕量級部署場景
CxxConfig 模式下,Python,C++接口完整對齊,適用於非輕量級部署場景
e.升級量化模型支持
支持飛槳訓練後量化方法產出的量化模型,好比MobileNetV一、 MobileNetV二、ReseNt50
支持飛槳量化訓練方法產出權重量化方式爲channel_wise_abs_max的量化模型
f.預測庫整理
從新整理核心庫包含的(basic) op&kernel,使基礎預測庫(build_extra=OFF
)支持CV類9個經典模型(包括飛槳原生模型和對應的 X2Paddle第三方轉化模型)和3個量化模型,且tiny_publish
下預測動態庫體積不變。支持模型以下:
9個經典模型及其飛槳轉化模型:MobileNetV一、MobileNetV二、MnasNet、ResNet50、YOLOv三、SSD_MobileNetV一、 U-Net、SqueezeNet_v1.一、ShuffleNet_v2
3個int8量化模型:MobileNetV一、MobileNetV二、ResNet50
2.性能優化
主流模型的性能優化持續迭代。以MobileNetV1爲例,性能保持領先,以下圖所示:
改進ARM CPU conv3x3實現方式,ResNet、SqueezeNet等模型性能提高。ResNet50性能以下圖所示:
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
若是使用過程當中遇到任何問題,你們可經過Paddle Lite官方QQ羣與開發人員進行技術交流及問題反饋,羣號:696965088。
>> 訪問 PaddlePaddle 官網,瞭解更多相關內容。