终于!谷歌移动端深度学习框架 TensorFlow Lite 正式发布

Posted OSC开源社区

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了终于!谷歌移动端深度学习框架 TensorFlow Lite 正式发布相关的知识,希望对你有一定的参考价值。


TensorFlow Lite 是一款 TensorFlow 用于移动设备和嵌入式设备的轻量级解决方案。


TensorFlow 可以在多个平台上运行,从机架式服务器到小型 IoT 设备。但是随着近年来机器学习模型的广泛使用,出现了在移动和嵌入式设备上部署它们的需求。而 TensorFlow Lite 允许设备端的机器学习模型的低延迟推断。


设计初衷


  • 轻量级:允许小 binary size 和快速初始化/启动的设备端机器学习模型进行推断。

  • 跨平台:运行时的设计使其可以在不同的平台上运行,最先允许的平台是安卓和 ios

  • 快速:专为移动设备进行优化,包括大幅提升模型加载时间,支持硬件加速。


现在,越来越多移动设备内置了专门的自定义硬件以高效处理机器学习工作负载。TensorFlow Lite 支持安卓神经网络 API,以充分利用新的可用加速器。


当加速器硬件不可用时,TensorFlow Lite 返回至经优化的 CPU 执行操作,确保模型仍然可在大量设备上快速运行。


架构


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


终于!谷歌移动端深度学习框架 TensorFlow Lite 正式发布


组件


  • TensorFlow 模型(TensorFlow Model):训练后的 TensorFlow 模型,保存在磁盘中。

  • TensorFlow Lite 转换器(TensorFlow Lite Converter):该程序将模型转换成 TensorFlow Lite 文件格式。

  • TensorFlow Lite 模型文件(TensorFlow Lite Model File):该格式基于 FlatBuffers,经过优化以适应最大速度和最小规模。


然后将 TensorFlow Lite 模型文件部署到移动 App 中:


  • Java API:安卓设备上适用于 C++ API 的便利封装。

  • C++ API:加载 TensorFlow Lite 模型文件,启动编译器。安卓和 iOS 设备上均有同样的库。

  • 编译器(Interpreter):使用运算符执行模型。解释器支持选择性加载运算符;没有运算符时,编译器只有 70KB,加载所有运算符后,编译器为 300KB。这比 TensorFlow Mobile(具备一整套运算符)的 1.5M 要小得多。

  • 在选择的安卓设备上,编译器将使用安卓神经网络 API 进行硬件加速,或者在无可用 API 的情况下默认执行 CPU。


开发者还使用 C++ API 实现自定义 kernel,它可被解释器使用。


模型


TensorFlow Lite 已经支持多个面向移动端训练和优化的模型:


  • MobileNet:一种能够识别超过 1000 种不同物体的视觉模型,专为移动端和嵌入式设备设计;

  • Inception V3:一种图像识别模型,功能上类似于 MobileNet,但能提供更高的准确率(当然模型也更大);

  • Smart Reply:一种设备端对话模型,能对接收到的会话聊天信息提供触发性应答。第一方和第三方通信 App 可在 android Wear 上使用该特性。


Inception v3 和 MobileNet 都在 ImageNet 数据集上训练过,你可以通过迁移学习轻松地在自己的图像数据集上重新训练这些模型。


终于!谷歌移动端深度学习框架 TensorFlow Lite 正式发布


推荐阅读

点击“阅读原文”查看更多精彩内容

以上是关于终于!谷歌移动端深度学习框架 TensorFlow Lite 正式发布的主要内容,如果未能解决你的问题,请参考以下文章

谷歌移动端深度学习框架 TensorFlow Lite 正式发布

从云到端智能进展:谷歌移动端深度学习框架TensorFlow Lite正式发布

震惊!谷歌正式发布移动端深度学习框架TensorFlow Lite

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

重磅变化!谷歌正式发布移动端深度学习框架TensorFlow Lite,移动开发迎来重大变革

资源 | 小米开源移动端深度学习框架MACE:可转换TensorFlow模型