前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >谷歌终于推出TensorFlow Lite,实现在移动设备端部署AI

谷歌终于推出TensorFlow Lite,实现在移动设备端部署AI

作者头像
量子位
发布2018-03-23 15:17:19
1.1K0
发布2018-03-23 15:17:19
举报
文章被收录于专栏:量子位
安妮 编译整理 量子位 出品 | 公众号 QbitAI

还得从半年前说起。

今年5月的谷歌I/O大会上,安卓工程副总裁Dave Burke宣布将推出一个专门为移动设备优化的TensorFlow,称为TensorFlow Lite。

安卓工程副总裁Dave Burke

自谷歌公布这个计划以来,已经涌现出了很多移动端部署AI的产品,包括苹果的CoreML、Clarifai移动端训练AI的云服务、还有像华为Mate 10上的硬件麒麟970 AI处理器。

今天,谷歌终于宣布推出TensorFlow Lite,它是TensorFlow在移动和嵌入式设备中的轻量解决方案,为开发者提供在移动和嵌入设备上部署AI的能力。

特性

从机架式服务器到小型物联网设备,TensorFlow已经能在很多平台上运行。

有一个问题是,随着使用的机器学习模型数量在近几年呈指数型增长,所以有必要在移动和嵌入设备中部署它们。TensorFlow Lite支持设备内(on-device)的机器学习模型的低延迟推理。

它有以下三点重要特性:

轻量:支持小型binary size和快速初始化/启动的设备内机器学习模型的推理。

跨平台:为可在多个不同平台上运行而设计运行时,首先允许安卓和iOS平台使用。

快速:对移动设备进行优化,包括有显著改善的模型加载时间,并且支持硬件加速。

今天,越来越多的移动设备中加入了为特定用途的定制硬件,使之更有效地处理机器学习的负载。TensorFlow Lite用安卓的神经网络API,以利用新的加速器。

当加速器硬件不可用时,TensorFlow Lite返回优化的CPU执行操作,保证模型仍让在很多设备上快速运行。

架构

先来看张TensorFlow Lite的架构图:

单个组件包括:

TensorFlow模型:一个存储在磁盘中的TensorFlow模型。

TensorFlow Lite转换器:将模型转化为TensorFlow Lite文件格式的程序。

TensorFlow Lite模型文件:基于FlatBuffers的模型文件格式,已经对最大速度和最小规模进行过优化。

TensorFlow Lite模型之后会被部署到手机APP中,包括:

Java API:安卓上C++ API的轻便封装

C++ API:加载TensorFlow Lite模型文件并调用编译器,在安卓和iOS系统中都有体现。

编译器:用一系列运算符执行模型。编译器支持加载可选择的操作符;如果没有运算符,编译器只有70KB,当所有运算符加载完时为300KB,比TensorFlow Mobile需要的1.5M小很多。

在选中的安卓设备上,编译器将用安卓神经网络API实现硬件加速,如果无API可用,将默认用CPU执行。

开发人员也可以使用C++ API实现自定义的内核,也可以被编译器使用。

模型

目前,TensorFlow Lite已经开始支持一系列在手机上训练和优化过的模型:

MobileNet:一种能识别1000多种不同物体类别的视觉模型,专为高效执行移动和嵌入式设备而设计。

Inception v3:功能类似MobileNet的图像识别模型,它的准确性更高,尺寸也更大。

智能回复:一种设备内部的对话模型,支持即时回复对话聊天信息。第一方和第三方的讯息App在Android Wear上使用这个特征。

Inception v3和MobileNet已经在ImageNet数据集上进行了训练。你可以通过迁移学习在你的图像数据集上重新训练这些数据。

未来

目前,TensorFlow已经可以通过TensorFlow Mobile API支持移动嵌入设备中的模型部署。未来,TensorFlow Lite应该被当做TensorFlow Mobile的进化版,随着不断优化将成为移动和嵌入设备上部署模型的推荐解决方案。

今天推出的TensorFlow Lite还是开发者预览版本,目前TensorFlow Mobile已久支持应用程序的开发。

最后,附一系列资料——

代码地址:

https://github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/lite

文档页面:

https://www.tensorflow.org/mobile/tflite/

博客介绍:

https://developers.googleblog.com/2017/11/announcing-tensorflow-lite.html

模型示例:

https://research.googleblog.com/2017/11/on-device-conversational-modeling-with.html

安卓神经网络API:

https://developer.android.com/ndk/guides/neuralnetworks/index.html

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-11-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 量子位 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 特性
  • 架构
  • 模型
  • 未来
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档