Release Note
功能
-
MobileConfig
增加set_power_mode
和set_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 核心部署库
- inference_lite_lib.android.armv7.shared.tar.gz
- inference_lite_lib.android.armv7.static.tar.gz
- inference_lite_lib.android.armv8.shared.tar.gz
- inference_lite_lib.android.armv8.static.tar.gz