AI学习移动端深度学习框架盘点

Posted 人工智能学习

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AI学习移动端深度学习框架盘点相关的知识,希望对你有一定的参考价值。

简书作者 dangbo 在《移动端深度学习展望》一文中发表观点认为,现阶段的移动端 APP 主要通过以下两种模式来使用深度学习:

online 方式:移动端做初步预处理,把数据传到服务器执行深度学习模型,优点是这个方式部署相对简单,将现成的框架(Caffe,Theano,MXNet,Torch) 做下封装就可以直接拿来用,服务器性能大, 能够处理比较大的模型,缺点是必须联网。

offline 方式:在服务器上进行训练的过程,在手机上进行预测的过程。

当前移动端的三大框架(Caffe2、TensorFlow Lite、Core ML)均使用 offline 方式,该方式可在无需网络连接的情况下确保用户数据的私密性。

但小编认为,以后的趋势肯定是online的方式。

今天我们盘点下目前已有的移动端深度学习框架。


2017 年 3 月,XMART LABS 在 GitHub 上开源 Bender

Bender是一个基于 Metal 的机器学习框架,它允许你在 ios APP 上轻松地定义和运行神经网络,该框架在底层使用了苹果的 Metal Performance Shaders。

Bender 能解决 MetalPerformanceShaders(iOS 中可使用的框架)中对开发者不太友好导致需要大量重复代码的问题

TensorFlow 虽然可为 iOS 进行编译,但它并不支持在 GPU 上运行,而 Bender 的适配器则可以将 TF graph 解析并翻译成 Bender layer 


Bender 页面网址:https://xmartlabs.github.io/Bender/


2017 年 4 月 19 日,Facebook 在 F8 开发者大会上推出 Caffe2

按照 Caffe2 官网介绍,它最大的特点就是轻量、模块化和可扩展性,即一次编码,到处运行(和 Java 的宣传语类似)。说得更直白一点,就是 Caffe2 可以方便地为手机等移动终端设备带来 AI 加持,让 AI 从云端走向终端。


Caffe2 在此前流行的开源框架 Caffe 基础上进行了重构和升级,一方面集成了诸多新出现的算法和模型,另一方面在保证运算性能和可扩展性的基础上,重点加强了框架在轻量级硬件平台的部署能力。


除了框架自身,Caffe2 还获得了一系列的云平台支持,例如亚马逊 AWS 旗下的 Deep Learning AMI和微软 Azure 旗下 Data Science Virtual Machine (DSVM),另外也获得了英伟达和高通的硬件平台支持。目前,Caffe2 框架已经被 Facebook 内部采用,开发者和研究人员们正在使用该框架提供的各种工具训练大型的机器学习模型,并为 Facebook 旗下的移动应用提供 AI 智能体验。


现在 Caffe2 代码也已正式并入 PyTorch,来使 Facebook 能在大规模服务器和移动端部署时更流畅地进行 AI 研究、训练和推理。


Caffe2 官网:http://Caffe2.ai/ 


2017 年 5 月 17 日,在 Google I/O 2017 大会上,移动端深度学习框架 TensorFlow Lite 诞生

相较于 TensorFlow,TensorFlow Lite 是一个轻量化版本。这个开发框架专门为机器学习模型的低延迟推理做了优化,专注于更少的内存占用以及更快的运行速度。


TensorFlow Lite 具备以下三个重要功能:

轻量级(Lightweight):支持机器学习模型的推理在较小二进制数下进行,能快速初始化/启动

跨平台(Cross-platform):可以在许多不同的平台上运行,现在支持 android 和 iOS

快速(Fast):针对移动设备进行了优化,包括大大减少了模型加载时间、支持硬件加速


TensorFlow Lite 目前支持很多针对移动端训练和优化好的模型。


MobileNet:能够识别 1000 种不同对象类的视觉模型,为实现移动和嵌入式设备的高效执行而设计。

Inception v3:图像识别模型,功能与 MobileNet 相似,它提供更高的精度,但相对来说更大。

Smart Reply: 设备对话模型,可以即时回复聊天消息,在 Android Wear 上有使用这一功能。


TensorFlow Lite 发布一个月后,谷歌即宣布与苹果达成合作——TensorFlow Lite 将支持 Core ML。TensorFlow Lite 为 Core ML 提供支持后,iOS 开发者就可以利用 Core ML 的优势来部署模型。


TensorFlow Lite 文档页面:http://Tensorflow.org/mobile/tflite

Core ML 转化器页面:https://github.com/tf-coreml/tf-coreml


2017 年 6 月 6 日,苹果在 WWDC 大会上推出 Core ML

Core ML能让本地数据处理愈加方便快捷,Core ML 提供支持人脸追踪、人脸检测、地标、文本检测、条码识别、物体追踪、图像匹配等任务的 API。


Core ML 是一个基础机器学习框架,能用于众多苹果的产品,包括 Siri、相机和 QuickType。据官方介绍,Core ML 带来了极速的性能提升和机器学习模型的轻松整合,能将众多机器学习模型集成到 APP 中。它不但有 30 多种层来支持广泛的深度学习,而且还支持诸如树集成、SVM 和广义线性模型等标准模型。


可以在 iPhone 内置应用中利用 Core ML 的优势,提升或实现如 Siri 语音识别、相机应用中识别人脸、QuickType 打字联想等新特性。Core ML+Vision 应用场景如下所示:

  • 在相机或给定图像中检测人脸

  • 检测眼睛和嘴巴的位置、头部形状等人脸面部详细特征

  • 录制视频过程中追踪移动的对象和确定地平线的角度

  • 转换两个图像,使其内容对齐,识别图像中的文本

  • 检测和识别条形码



2017 年 9 月 25 日,百度开源移动端深度学习框架 mobile-deep-learning(MDL)

百度移动端深度学习框架 mobile-deep-learning(MDL)旨在让卷积神经网络(CNNC)能更简单和高速的部署在移动端,支持 iOS GPU,目前已经在百度 APP 上有所使用。


MDL 具有体积小和速度快的特点。

大小:340k+(在 arm v7 上)

速度:对于 iOS Metal GPU Mobilenet,速度是 40ms,对于 Squeezenet,速度是 30ms


特征:

  • 一键部署,可以通过修改参数在 iOS 和 Android 端之间转换 

  • iOS GPU 上支持运行 MobileNet 和 Squeezenet 模型

  • 在 MobileNet、GoogLeNet v1 和 Squeezenet 模型下都很稳定

  • 占用空间极小(4M),不需要依赖第三方的库

  • 支持从 32 比特 float 到 8 比特 unit 转化

  • 接下来会与与 ARM 相关的算法团队进行线上线下沟通,优化 ARM 平台

  • NEON 使用涵盖了所有的卷积、归一化、池化等

  • 利用循环展开,可以让性能更加优化,防止不必要的 CPU 损失

  • 对于 overhead 进程,可以转发大量繁重的计算任务



以上是关于AI学习移动端深度学习框架盘点的主要内容,如果未能解决你的问题,请参考以下文章

小米AI移动端深度学习框架MACE开源了!

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

最新|百度发布移动端深度学习框架MDL,支持iOS和Android系统!

中美摩擦之下,如何选择适合中国开发者的移动端深度学习框架?

迎来 PyTorch,告别 Theano,2017 深度学习框架发展大盘点

腾讯开源深度学习框架ncnn,主打移动端