作者: Sam
(甄峰)
sam_code@hotmail.com
0. Tensorflow Lite 简介:
Tensorflow Lite是一组工具,用来帮助开发者在Mobile, Embedded
Linux和IoT设备中运行Tensorflow models. 它支持在设备中执行机器学习Inference(推理)。
具有低延迟和二进制文件小等优点。
Tensorflow Lite包含两个主要组件:
A. Tensorflow Lite interpreter(解释器):
它在mobile, embedded Linux, microcontroller上运行指定的TF
Lite格式的模型。
B. Tensorflow Lite Converter(转换器):
它将Tensorflow model转换到高效的TF Lite高效模型形式,准备给interpreter使用。
机器学习的边缘计算:
Tensorflow
Lite旨在简化机器学习应用于终端设备的过程。(终端设备处于网络边缘,所以叫边缘计算),在终端设备而非服务器上计算。有以下优点:
- 低延迟
- 隐私性更好
- 不需要连接网路
- 功耗低
工作流程:
1. 选定一个Tensorflow model.
2. 使用Tensorflow Lite converter 转换Tensorflow Model 到TF
Lite格式。
3. 使用Tensorflow Lite interpreter运行TF Lite Model. (支持多语言)
4. 优化模型
技术限制:
- TF Lite计划提供让移动设备高效inference(推理)任意TF Model的能力。 但当前TF Lite interpreter(解释器)只支持Tensorflow Op 的子集。
- Tensorflow Lite目前不支持设备上训练。
Android App中使用TF Lite:
方法1: 使用JCenter托管的Tensorflow Lite AAR.
dependencies {
implementation 'org.tensorflow:tensorflow-lite:0.0.0-nightly'
}
方法2: 使用本地的TensorFlow Lite AAR.
把AAR放到工程的libs目录内。
方法3: 使用本地的 Tensorflow lite 动态库。
把库放到工程的libs里面。
1. 编译Tensorflow Lite:
1.1:编译ARM64 TensorFlow Lite:
1.2:编译NDK 模式: