手机上的轻量版 AI 运算,TensorFlow Lite

手机上的轻量版 AI 运算,TensorFlow Lite

日前,谷歌正式发布 TensorFlow Lite 开发者预览版,这是针对移动和嵌入式设备的轻量级解决方案。TensorFlow Lite 是一种全新的设计,具有三个重要功能——轻量级(Lightweight)、跨平台(Cross-platform)、快速(Fast)。

下面是来自 Google Developers Blog 的详细信息,雷锋网 AI 科技评论编译如下。

今天,我们正式发布 TensorFlow Lite 开发者预览版,这是针对移动和嵌入式设备的轻量级解决方案。TensorFlow 可以在许多平台上运行,从机架上大量的服务器到小型的物联网设备,但近几年,随着大家使用的机器学习模型呈指数级增长,因此需要将训练模型的平台扩展到移动和嵌入式设备上。TensorFlow Lite 支持设备上机器学习模型的低时延推理。

TensorFlow Lite 是一种全新的设计,它支持以下功能:

如今,越来越多的移动设备中含有专用的定制硬件来更高效地进行机器学习。TensorFlow Lite 支持 Android 神经网络 API(Android Neural Networks API),大家在使用 TensorFlow Lite 时可以利用这些有用的加速器。

当加速器(硬件设备)不可用时,TensorFlow Lite 会返回到 CPU 来执行,这将保证模型仍然可以在一大批设备上快速运行。

结构

下图是 TensorFlow Lite 的结构设计:

手机上的轻量版 AI 运算,TensorFlow Lite

模块如下:

1. TensorFlow Model:存储在硬盘上已经训练好的 TensorFlow 模型
2. TensorFlow Lite Converter: 将模型转换为 TensorFlow Lite 文件格式的程序。
3. TensorFlow Lite Model File: 基于 FlatBuffers 的模型文件格式,针对速度和大小进行了优化。

可以将 TensorFlow Lite Model File 部署到 Mobile App ,如上图中所示:

1. Java API: 处于 Android App 中 C++ App 上,方便封装。
2. C++ API: 加载 TensorFlow Lite Model File,调用解释器(Interpreter)。

上面的这两个库在 Android 和 iOS 端都可用。

1. Interpreter:使用一组运算符来执行模型。运算符可以选择,如果不含运算符,只有 70KB,加载所有的运算符之后为 300KB。比起需要 1.5 M(使用一组正规的操作符) 的 TensorFlow Mobile,能使容量大大减小。

2. 在 Android 设备上,Interpreter 支持 Android 神经网络 API,可以用它进行硬件加速。如果没有可用的加速器,则默认使用 CPU。

开发人员还可以使用 C++ API 来自定义 kernel。

模型

TensorFlow Lite 目前支持很多针对移动端训练和优化好的模型。

Inception v3 和 MobileNets 已经在 ImageNet 数据集上训练了。大家可以利用迁移学习来轻鬆地对自己的图像数据集进行再训练。

关于 TensorFlow Mobile

正如大家知道的那样,TensorFlow 可以通过 TensorFlow Mobile API 对模型进行移动和嵌入式部署。展望未来,TensorFlow Lite 应该被看作是 TensorFlow Mobile 的升级。随着一步步的成熟,它将成为在移动和嵌入式设备上部署模型的推荐解决方案。

TensorFlow Lite 目前是预览版,大家仍然可以使用 TensorFlow Mobile。

TensorFlow Lite 的功能有很多,目前仍处于紧锣密鼓的开发阶段。这次的发布中,我们特意使用受限平台,来保证一些最重要的常见模型的性能不受到影响。

我们计划根据用户的需要来考虑未来优先扩展的功能。我们的开发目标是简化开发人员的体验,并让模型能部署到一系列移动和嵌入式设备上。

很高兴开发者也在帮助 TensorFlow Lite 项目的顺利进行。我们将会以与 TensorFlow 项目相同的热情来支持和启动 TensorFlow Lite 社群。欢迎大家来使用 TensorFlow Lite。

更多讯息请点击: TensorFlow Lite 文件页面 ,接下来会有持续更新。

延伸阅读

中国 AI 战场开打!Google 强力推广 TensorFlow,要用 AI 和百度决一死战
挑战 TensorFlow 霸主地位!Facebook 联手微软整合三大 AI 运算框架,让 AI 协同工作再也不难
Google 工程师手把手教学!用 Arduino 和 TensorFlow 自组图像识别小汽车
连 Google 做 5000 个 AI 专案也只成功 10 个!程世嘉:跟风做 AI 前,先问自己「想解决什幺」