开源最前线(ID:OpenSourceTop) 猿妹编译
编译自:https://developers.googleblog.com/2017/11/announcing-tensorflow-lite.html
谷歌近日发布了 TensorFlow lite,让应用开发者可以在移动设备上部署人工智能。这个移动版谷歌开源人工智能项目最早是在 I/O 开发者大会上宣布,可供 Android 和 iOS 开发者使用。
TensorFlow lite 特性
TensorFlow 可以在多个平台上运行,从机架式服务器到小型 IoT 设备。但是随着近年来机器学习模型的广泛使用,出现了在移动和嵌入式设备上部署它们的需求。而 TensorFlow Lite 允许设备端的机器学习模型的低延迟推断。
它有以下三点重要特性:
● 轻量级:支持小 binary size 和快速初始化/启动的设备上机器学习模型的推断
● 跨平台:支持运行在许多不同平台上,目前支持Android 和iOS
● 快速:针对移动设备进行了优化,包括显著提高模型的加载时间,并支持硬件加速
目前,越来越多的移动设备内置了专用的定制硬件来更有效地处理机器学习的负载。TensorFlow Lite 支持 Android 神经网络API(https://developer.android.com/ndk/guides/neuralnetworks/index.html),以充分利用这些新的加速器。
当加速器硬件不可用时,TensorFlow Lite 会返回到优化的 CPU 执行操作,以模型仍然可以在绝大部分设备上快速运行。
TensorFlow Lite 架构
下图为 TensorFlow Lite 的架构图:
各个组件分别为:
● TensorFlow 模型:保存在磁盘上,训练过的TensorFlow模型。
● TensorFlow Lite 转换器:将模型转换为TensorFlow Lite文件格式的程序。
● TensorFlow Lite 模型文件:基于FlatBuffers的模型文件格式,已针对最大速度和最小规模进行了优化。
TensorFlow Lite 模型的移动端部署包括:
● Java API:Android 上 C ++ API 的轻便封装
● C ++ API:加载 TensorFlow Lite 模型文件并调用解释器。Android 和 iOS 均有相同的库
● 编译器:使用运算符来执行模型。编译器支持选择性加载运算符;没有运算符时,大小只有 70KB,加载了所有运算符后为 300KB。这是 TensorFlow Mobile(与一般运营商)所需的 1.5M 要缩小很多。
在选定的 Android 设备上,编译器将使用 Android 神经网络 API 进行硬件加速,在可用 API 的情况下,则默认为 CPU 执行。
TensorFlow Lite 模型
TensorFlow Lite 已经支持许多面向移动端训练和优化的模型:
● MobileNet:一种视觉模型,能够识别 1000 多种不同的对象类别,专门为高效执行移动和嵌入式设备而设计的
● Inception v3:图像识别模型,功能与 MobileNet 类似,但它具备更高的准确性,尺寸也更大
● 智能回复:一种设备上的对话模型,可即时对聊天消息进行一键式回复。第一方和第三方通讯 App 可在 Android Wear 上使用此功能。
Inception v3 和 MobileNets 已经在 ImageNet 数据集上进行了训练。你可以通过迁移学习轻松地将这些在自己的图像数据集上重新训练。
关于 TensorFlow Mobile
如你所知,TensorFlow 已经通过 TensorFlow Mobile API 在移动端和嵌入式端部署。TensorFlow Lite 可视为 TensorFlow Mobile 的发展,待它成熟,它将成为在移动设备和嵌入式设备上部署模型的最优解决方案。此次公开的TensorFlow Lite是开发者预览版,而 TensorFlow Mobile 仍然支持 App 开发
自 TensorFlow Lite 今年 5 月公布以来,已经出现了多个在移动设备上与之竞争的产品,包括苹果的 CoreML、移动设备上的 Clarifai 人工智能云端训练服务,以及华为 Mate 10 使用的麒麟 970 这样的人工智能处理器。
●本文编号460,以后想阅读这篇文章直接输入460即可
●输入m获取文章目录
↓↓↓ 点击"阅读原文" 进入详情页