Quantcast
Channel: Sam的技术Blog
Viewing all articles
Browse latest Browse all 158

TensorFlowLiteNDK编译

$
0
0
作者: 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 模式:






 

Viewing all articles
Browse latest Browse all 158

Trending Articles