@移动开发者,谷歌发布移动端深度学习框架TensorFlow Lite

565 阅读4分钟

翻译 | 刘畅Troy


谷歌今天终于发布了TensorFlow Lite 的开发者预览!该项目是在5月份的I/O开发者大会上宣布的,据Google网站描述,对移动和嵌入式设备来说,TensorFlow是一种轻量级的解决方案,支持多平台运行,从机架式服务器到微小的物联网设备。近几年来,由于其作为机器学习模型的使用已成倍增长,所以移动设备和嵌入式设备也出现了部署需求。Tensorflow Lite使机器学习模型设备能够实现低延迟的推理。

在本文中,Google展示了TensorFlow Lite的框架构成以及一些功能特性。


TensorFlow Lite设计初衷

  • 轻量级:允许在具有很小的二进制大小和快速初始化/启动的机器学习模型设备上进行推理。

  • 跨平台:能够运行在许多不同的平台上,首先支持Android和iOS平台

  • 快速:针对移动设备进行了优化,包括显著提高模型加载时间和支持硬件加速

现在越来越多的移动设备集成了定制硬件来更有效地处理机器学习带来的工作负载。TensorFlow Lite支持Android神经网络API(Android Neural Networks API)利用这些新的加速器硬件。当加速器硬件不可用的时候,TensorFlow Lite会执行优化CPU,这可以确保你的模型仍然可以很快的运行在一个大的设备上。


TensorFlow Lite架构设计

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

组件包括:

  • TensorFlow模型:一个保存在磁盘上训练好的TensorFlow模型。

  • TensorFlow Lite转换器:一个将模型转换为Tensorflow Lite文件格式的程序。

  • TensorFlow模型文件:基于FlatBuffers格式的模型文件,已针对最大速度和最小尺寸进行了优化。

Tensorflow Lite模型文件将被部署在一个移动应用程序,其中:

  • Java API:在Android上对C++API的一个封装。

  • C++ API:加载Tensorflow Lite模型文件和调用解释器。在Android和iOS上共用同一个库文件。

  • 解释器:采用一组运算符来执行模型。解释器支持选择性的运算负荷;没有运算符大小只有70kb,当所有的运算符加载时,大小是300kb。正常的移动端的Tensorflow(包含一个规范的运算符操作集)需要1.5M的大小,可以看到解释器显著减少了内存。

关于选择Android设备,解释器会采用Android Neural Networks API来进行硬件加速,或者如果没有可用的,默认为CPU执行。

开发人员还可以使用C++ API实现可由解释器使用的定制的内核。

模型

Tensorflow Lite已经有一些训练和优化好的支持移动端的模型:

  • MobileNet: 一种能够识别1000类不同目标的视觉模型,它是为在移动设备和嵌入式设备上高效执行而独特设计的。

  • Inception v3: 一个图像识别的模型,在功能上类似MobileNet,提供更高的精度同时也有较大的尺寸

  • Smart Reply: 一种设备级的会话模型,针对即将到来的会话聊天消息,它提供一种触摸响应。在Android Wear上,第一方和第三方的消息应用程序均使用了此功能。

Inception v3和MobileNet均是在ImageNet数据集上预训练好的。通过迁移学习,你可以轻松的在你自己的数据集上再训练这个模型。


什么是TensorFlow Mobile?

正如你可能知道的,通过Tensorflow Mobile API,Tensorflow已经支持了在移动端和嵌入式上部署模型。未来TensorFlow Lite应该被视为Tensorflow Mobile的演化,并随着它的成熟将成为模型部署在移动端和嵌入式设备上的推荐方案。目前TensorFlow Lite是开发者预览版,同时Tensorflow Mobile仍然支持APP的开发。

Tensorflow Lite的应用范围大,目前处于积极开发中。通过这个开发者预览版,我们有意地启动了一个带约束的平台来确保一些最重要的常用模型的性能。我们计划根据用户的需求对未来的功能扩展进行优先级排序。我们持续开发的目标是为了降低对开发人员经验的要求,并能为一系列移动和嵌入式设备部署模型。

我们非常兴奋开发者能够上手使用Tensorflow Lite。对于其余的Tensorflow项目,我们计划使用同一强度来支持和解决外部社区问题。期待你能用TensorFlow Lite做些非常酷的事情。

更多关于Tensorflow Lite的功能和信息,请点击TensorFlow Lite文档:http://tensorflow.org/mobile/tflite

祝大家Tensorflow Lite编程快乐。