TensorFlow Lite是可帮助开发人员在移动端(mobile)、嵌入式(embeded)和物联网(IoT)设备上运行TensorFlow机器学习模型的一组工具。它使设备机器学习具有低延迟和更小的二进制体积。本文是TensorFlow Lite入门指导。

TensorFlow Lite

TensorFlow Lite由两个主要组件组成:

  • interpreter(解释器):可在许多不同的硬件类型(包括手机,嵌入式Linux设备和微控制器)上运行经过特别优化的模型。
  • converter(转换器):将TensorFlow模型转换为供解释器使用的有效形式,并且可以引入优化以改善二进制大小和性能。

下图显示了 TensorFlow Lite 的架构设计:

在设备端使用模型的过程:

  • 训练并保存模型(开发机器)
  • 转换模型(开发机器)
  • 将转换后的模型复制到设备上
  • 使用TF Lite解释器运行推理

converter与量化

converter使用TF模型生成FlatBuffer文件(.tflite),然后将FlatBuffer文件部署到客户端设备(例如移动设备,嵌入式设备)并使用TensorFlow Lite解释器在本地运行。下图显示了此转换过程:

converter代码实现如下:

为什么要使用FlatBuffer? 主要原因有:

  • 无需解析/拆包即可访问序列化数据
  • 内存效率和速度-访问数据所需的唯一内存是缓冲区的内存
  • 没有依赖项的跨平台代码

使用converter转换模型的主要原因:

  • 使模型更小(内存占用更小)
  • 提高推理效率
  • 需要较少的内存访问
  • 推理中使用更少的能量

注:推理(Inference) 是通过模型(model)运行数据(data)以获得预测(predictions)的过程。这个过程需要模型(model)、解释器(interpreter)和输入数据(input data)。

为了实现这些目标,主要组成部分是所谓的量化(Quantization)如下图:

成为VIP会员查看完整内容
70

相关内容

【电子书】C++ Primer Plus 第6版,附PDF
专知会员服务
88+阅读 · 2019年11月25日
TF Boys必看!一文搞懂TensorFlow 2.0新架构!
引力空间站
19+阅读 · 2019年1月16日
Arxiv
5+阅读 · 2018年6月12日
VIP会员
相关主题
相关VIP内容
微信扫码咨询专知VIP会员