专栏首页机器之心资源 | 一文盘点10大移动端机器学习框架

资源 | 一文盘点10大移动端机器学习框架

选自hopinfirst.com

作者:James Tredwell

机器之心编译

参与:路雪、黄小天

本文介绍了适用于移动端的 10 个机器学习框架,包括针对计算机的机器学习框架和针对手机端的优化性能的框架。

当今,机器学习及其相关框架和工具包已经成为业务概念,消除了对人工及劳动密集型任务的需求,并且相较于人类而言可以极快地从海量数据中提取出有价值信息。

尽管我们已经可以在台式计算机和性能优良的笔记本上运行神经网络,但是智能手机和平板电脑的原始处理能力太低,无法本地运行算法。因此,智能手机中的 AI 应用通常是借助于向一个更强大的处理服务器发送 API 请求,由其运行实际的计算,并把数据输出给手机来执行。

这就是为什么本文列表分为两部分:针对计算机的更强大的机器学习框架和针对移动端的优化性能的框架。

计算机机器学习框架

该列表包含运行在适当硬件上的一般框架,可以处理海量的数据集。

谷歌 TensorFlow

GitHub 中有超过一半的机器学习项目使用了 TensorFlow,其完整版本是当下最为流行的 ML 工具集。借助来自第三方开发者的数百个附件、插件和模块,TensorFlow 几乎可以完成所有的 ML 任务,诸如产品推荐、语音识别、人脸识别和物体识别等。

亚马逊机器学习(AML)

亚马逊机器学习来自亚马逊社区,通过教程、指南等资源帮助开发者构建复杂而高级的 AI。AML 不仅具备训练神经网络的一系列常用功能,还可以在 AWS cloud 上实现部署,并具备连接 Alexa 或其他亚马逊服务的完整 API。该社区同样在实例和附件方面做出了大量贡献。

微软 CNTK

CNTK 是由微软开发的强大工具包,它在企业级应用上尤其常用,所有最常用的神经网络(如前馈神经网络、循环神经网络、并行神经网络)都可以使用同样的代码开发。大量内置功能简便了验证、API 和服务器本地化设置。

MXNet

MXNet 是该列表中的第一个 Apache 项目;它是一个有前景、活跃的框架,可应用于移动端,即你可以在任何安卓或 iOS 设备上训练数据、运行计算集(computed set),该框架也可在 Linux 和 Windows 计算机上运行。MXNet 在 GitHub 上有 12000 多个 star,是 GitHub 最流行的框架之一,部分原因在于它可以使用不同的语言来写,如 Python、Rust、Scala、Go 和 JavaScript,还有一部分原因是它具备大量的社区内容。

MLlib

Apache 在 AI 和 ML 很活跃。该框架具备大量工具和包,允许程序员构建智能应用。MLlib 可以在 Hadoop 或 Apache Spark 上轻松设置,它能做的内容不仅仅是与 API 进行通信,可用于图像分类、线性回归、决策树等等。

移动端机器学习框架

谷歌 TensorFlow Lite

目前最完整的免费移动端解决方案就是 TensorFlow Lite,它最初适用于安卓机,不过一些人也在 iOS 设备上实现了该框架。其关键特征是低延迟进行实时图像处理、可用于安卓机的硬件加速,以及使计算速度快于 TensorFlow 完整版的量化内核(quantized kernel)。

Caffe2

Caffe2 从 Caffe 发展而来,使用模块化方法进行机器学习。该精简版允许选择任意给定项目所需的模型和工具,无需添加额外的 bloat。其主要特征是移动端部署,允许开发者在手机上实时运行不同的神经网络计算。

Bender

该框架很有前景,使用了不同的方法和苹果自己的 Core ML。该框架使用 iPhone 的移动 GPU 着色器工具包 Metal Performance Shaders,允许 iPhone 用户利用 GPU 运行机器学习算法,尽管它主要还是用于运行预训练数据,像 Core ML 一样。

Quantized-CNN

如名称所示,该框架适合运行并行神经网络。对于为计算机构建的大型框架,Quantized-CNN 只在准确率上稍有降低,为在移动设备上完全运行图像分类提供了轻量级的解决方案。

苹果 Core ML

随着机器学习和移动应用的流行,苹果发布了 Core ML 库,允许移动应用开发者在强大的计算机上训练模型,然后将其保存在手机上,并运行模型的优化版本。

结论

看起来大多数企业仍然使用 API 调用来与强大的服务器进行通信,这种方法仅将最少量的信息发送回手机进行计算。

因此,尽管我们了解了很多专门适用于手机和平板的精简版框架,但是距离能够本地运行所有计算的强大处理器似乎还有一段距离。

原文链接:http://hopinfirst.com/top-10-machine-learning-frameworks-mobile-apps/?utm_campaign=Submission&utm_medium=Community&utm_source=GrowthHackers.com

本文为机器之心编译,转载请联系本公众号获得授权。

本文分享自微信公众号 - 机器之心(almosthuman2014)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-12-11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 谷歌2019学术影响力新榜:CVPR跃升总榜前10,工程与计算机第2

    榜单地址:https://scholar.google.com/citations?view_op=top_venues&hl=en

    机器之心
  • 麻省理工解读神经网络历史,三篇论文剖析基础理论

    选自MIT News 作者:Larry Hardesty 机器之心编译 参与:吴攀、李亚洲、晏奇 最近几年来,深度神经网络已经成为了人工智能技术发展的主要推动力...

    机器之心
  • 清明节加班最多,近三成码农用两种及以上语言编程,这是15000名中国码农的日常

    这份白皮书由国内智能编程机器人公司 aiXcoder (www.aixcoder.com)联合机器之心发布。aiXcoder 是利用智能化技术进行「程序代码的自...

    机器之心
  • Python下划线的详解

    本文将讨论Python中下划线(_)字符的使用方法。我们将会看到,正如Python中的很多事情,下划线的不同用法大多数(并非所有)只是常用惯例而已。

    sunsky
  • 从Youtube的视频ID和频道ID中发现漏洞

    大家好,今天分享这篇Writeup是关于Youtube的两个漏洞,确切来说,是Youtube Studio平台(https://studio.youtube.c...

    FB客服
  • 整合activiti工作流引擎的图形化流程设计器

    所谓工作流引擎是指workflow作为应用系统的一部分,并为之提供对各应用系统有决定作用的根据角色、分工和条件的不同决定信息传递路由、内容等级等核心解决方案。工...

    moer12
  • Latex 表格过大(或过小)的调整方法

    目标: 调整表格宽度, 效果为”按页面宽度调整表格”. 命令: \setlength{\tabcolsep}{7mm}{XXXX} 实现代码:

    于小勇
  • 就喜欢看综述论文:情感分析中的深度学习

    机器之心
  • 【速查表】Python下划线的含义,熟悉又陌生的东西!

    当涉及到变量和方法名称时,单个下划线前缀有一个约定俗成的含义。 它是对程序员的一个提示 - 意味着Python社区一致认为它应该是什么意思,但程序的行为不受影响...

    昱良
  • 想提升自己却找不到方法?那可别错过这篇文章!

    一、JAVA基础 要想进阶成为java高级工程师,java的学习是必不可少的。高级工程师需要对java做较深入的研究,什么是IO包,什么是线程,什么是JMS等等...

    Java架构

扫码关注云+社区

领取腾讯云代金券