Release Note

功能

  • MobileConfig 增加 set_power_modeset_threads 两个设置方法,简化相关设置;详情参考 C++ demo

  • memory_optimize_tool 中的 int8_mode flag 更名为prefer_int8_kernel ,以避免与量化工具的功能混淆;Paddle-Lite 目前的 ARM CPU INT8 量化基于 PaddleSlim 工具,本身并不具备也没有计划增加量化模型转换的能力

  • ARM CPU 新增以下Op支持,支持更多相关模型:

    • flatten
    • flatten2
    • assign
    • fake_quantize_range_abs_max
    • fusion_eltwise_activate_dropout
    • fill_constant_batch_size_like

编译

  • 改善第三方依赖代码下载方式,以加速编译过程
    • 在编译 memory_optimize_tool 类似的离线工具时,需要依赖 protobuf 相关第三方代码库
    • 移动端特定第三方依赖代码从之前的 cmake ExternalProject_Add 编译时下载改为 git submodule 方式,让下载过程更直观
    • 对于国内网络下载 protobuf 等大尺寸repo,增加离线压缩包,可以自动下载解压,极大地加速编译下载过程
  • 清除 tiny_publish 模式下无关的第三方代码下载,编译移动端部署库时可以不依赖任何第三方进行编译
  • 增加分层编译的能力,以压缩核心库的大小;目前会将常规的Op和Kernel划分为 basic mode,编译核心部署库以驱动绝大多数 CV 和 DNN 模型;将控制流相关的细碎Op和Kernel单独拆成 extra mode,以按需驱动 OCR 及未来的 NLP 模型;以及未来在增加更多Op的情况下控制核心库尺寸;使用方法参考 编译开关

文档

  • 完善了 源码编译指南,增加了 Linux 环境裸机编译的内容;增加了 Mac 编译 tiny_publish 的说明;增加了加速第三方库下载的内容
  • 完善 benchmark测试方法 的文档,上传了所有相关模型及转化工具,以降低复现门槛
  • 增加了 Roadmap 文档 ,以同步最近的开源版本发布计划

bugfix

  • NaiveBuffer:解决 memory_optimize_tool 在 32/64 位系统模型 save/load 不兼容的问题

Assets 附件说明

Android ARM CPU 核心部署库

model_optimize_tool 离线模型转化工具

项目简介

Multi-platform high performance deep learning inference engine (『飞桨』多平台高性能深度学习预测引擎)

发行版本 20

v2.7-beta

全部发行版

贡献者 87

全部贡献者

开发语言

  • C++ 82.3 %
  • Swift 4.1 %
  • CMake 3.0 %
  • Metal 2.6 %
  • C 2.3 %