TensorFlow Lite 指南

TensorFlow Lite 是一组工具,可帮助开发者在移动设备、嵌入式设备和 IoT 设备上运行 TensorFlow 模型。它支持设备端机器学习推断,延迟较低,并且二进制文件很小。

TensorFlow Lite 包括两个主要组件:

  • TensorFlow Lite 解释器,它可在手机、嵌入式 Linux 设备和微控制器等很多不同类型的硬件上运行经过专门优化的模型。
  • TensorFlow Lite 转换器,它可将 TensorFlow 模型转换为高效形式以供解释器使用,并可引入优化以减小二进制文件的大小和提高性能。

边缘机器学习

TensorFlow Lite 旨在让您轻松地在网络“边缘”的设备上执行机器学习,而无需在设备与服务器之间来回发送数据。对开发者来说,在设备端执行机器学习有助于:

  • 缩短延迟:数据无需往返服务器
  • 保护隐私:任何数据都不会离开设备
  • 减少连接:不需要互联网连接
  • 降低功耗:网络连接非常耗电

TensorFlow Lite 支持各种设备,从超小的微控制器到功能强大的手机,不一而足。

使用入门

如需开始在移动设备上使用 TensorFlow Lite,请访问使用入门。如果您要将 TensorFlow Lite 模型部署到微控制器,请访问微控制器

主要特性

  • 针对设备端机器学习进行了调整的解释器,支持一组针对设备端应用进行了优化的核心运算符,并且二进制文件较小。
  • 支持多种平台(涵盖 AndroidiOS 设备、嵌入式 Linux 和微控制器),并利用平台 API 执行加速推断。
  • 支持多种语言(包括 Java、Swift、Objective-C、C++ 和 Python)的 API。
  • 高性能,可在支持的设备上执行硬件加速,并提供针对设备进行优化的内核以及预融合激活函数和偏差
  • 模型优化工具(包括量化),可在不影响准确率的情况下减小模型的大小和提高其性能。
  • 高效的模型格式,使用针对小尺寸设备和可移植性进行了优化的 FlatBuffer
  • 预训练模型,适用于可根据您的应用自定义的常见机器学习任务。
  • 示例和教程,介绍了如何在支持的平台上部署机器学习模型。

开发工作流程

使用 TensorFlow Lite 的工作流包括如下步骤:

  1. 选择模型

    您可以使用自己的 TensorFlow 模型,在线查找模型,或者从我们的预训练模型中选择一个模型直接使用或重新训练。

  2. 转换模型

    如果您使用的是自定义模型,请使用 TensorFlow Lite 转换器将模型转换为 TensorFlow Lite 格式,只需几行 Python 代码就能搞定。

  3. 部署到您的设备

    使用 TensorFlow Lite 解释器(具有支持多种语言的 API)在设备端运行您的模型。

  4. 优化您的模型

    使用我们的模型优化工具包缩减模型的大小并提高其效率,同时最大限度地降低对准确率的影响。

如需详细了解如何在项目中使用 TensorFlow Lite,请参阅使用入门

技术限制

TensorFlow Lite 计划为任何 TensorFlow 模型提供高性能设备端推断。但是,TensorFlow Lite 解释器目前仅支持有限数量的 TensorFlow 运算符,这些运算符已针对设备端用例进行了优化。也就是说,部分模型需要执行额外的步骤才能使用 TensorFlow Lite。

如需了解可用的运算符,请参阅运算符兼容性

如果 TensorFlow Lite 解释器尚不支持您的模型使用的运算符,您可以在 TensorFlow Lite build 中使用 TensorFlow Select 添加 TensorFlow 操作。不过,这会增加二进制文件的大小。

TensorFlow Lite 目前不支持设备端训练,但这已纳入我们的路线图以及其他已计划的改进中。

后续步骤

想继续了解 TensorFlow Lite 吗?下面是一些后续步骤: