其他

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

2017-11-15 专注报道AI 量子位
安妮 编译整理
量子位 出品 | 公众号 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

活动报名

点击图片阅读原文
即可报名参赛和获取更多详情


联想全国高校AI精英挑战赛,面向全国征集优秀AI相关领域技术与应用。此次将在全国8大赛区、260所高校开启项目收集和沟通评判,最终入围总决赛的8支参赛队伍,将获得联想创投投资。

加入社群

量子位AI社群11群开始招募啦,欢迎对AI感兴趣的同学,加小助手微信qbitbot4入群;


此外,量子位专业细分群(自动驾驶、CV、NLP、机器学习等)正在招募,面向正在从事相关领域的工程师及研究人员。


进群请加小助手微信号qbitbot4,并务必备注相应群的关键词~通过审核后我们将邀请进群。(专业群审核较严,敬请谅解)

诚挚招聘

量子位正在招募编辑/记者,工作地点在北京中关村。期待有才气、有热情的同学加入我们!相关细节,请在量子位公众号(QbitAI)对话界面,回复“招聘”两个字。

量子位 QbitAI · 头条号签约作者

վ'ᴗ' ի 追踪AI技术和产品新动态


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存