1. Apache Spark MLlib

Apache Spark 最为人所知的是它是Hadoop家族的一员,但是这个内存数据处理框架却是脱胎于Hadoop之外,也正在Hadoop生态系统以外为自己获得了名声。Hadoop 已经成为可供使用的机器学习工具,这得益于其不断增长的算法库,这些算法可以高速度应用于内存中的数据。

早期版本的Spark 增强了对MLib的支持,MLib是主要面向数学和统计用户的平台,它允许 通过持久化管道特性将Spark机器学习工作挂起和恢复。2016年发布的Spark2.0,对Tungsten高速内存管理系统和新的DataFrames流媒体API 进行了改进,这两点都会提升机器学习应用的性能。

2. H2O

H2O,现在已经发展到第三版,可以提供通过普通开发环境(Python, Java, Scala, R)、大数据系统(Hadoop, Spark)以及数据源(HDFS, S3, SQL, NoSQL)访问机器学习算法的途径。H2O是用于数据收集、模型构建以及服务预测的端对端解决方案。例如,可以将模型导出为Java代码,这样就可以在很多平台和环境中进行预测。

H2O可以作为原生Python库,或者是通过Jupyter Notebook, 或者是 R Studio中的R 语言来工作。这个平台也包含一个开源的、基于web的、在H2O中称为Flow的环境,它支持在训练过程中与数据集进行交互,而不只是在训练前或者训练后。

H2O是开源的,分布式的,基于内存的,可扩展的机器学习和预测分析框架,适合在企业环境中构建大规模机器学习模型。 H2O核心代码使用Java编写,数据和模型通过分布式 Key/Value 存储在各个集群节点的内存中。H2O的算法使用Map/Reduce框架实现,并使用了Java Fork/Join框架来实现多线程。

H2O目前支持的机器学习算法有DRF,GBM,GLM,GLRM,Kmeans,NB,PCA,Deep Learning,所以目前来看支持的模型还不是很多。

3. Apache Singa

“深度学习”框架增强了重任务类型机器学习的功能,如自然语言处理和图像识别。Singa是一个Apache的孵化器项目,也是一个开源框架,作用是使在大规模数据集上训练深度学习模型变得更简单。

Singa提供了一个简单的编程模型,用于在机器群集上训练深度学习网络,它支持很多普通类型的训练工作:卷积神经网络,受限玻尔兹曼机 以及循环神经网络。 模型可以同步训练(一个接一个)或者也异步(一起)训练,也可以允许在在CPU和GPU群集上,很快也会支持FPGA。Singa也通过Apache Zookeeper简化了群集的设置。

4. Caffe2

深度学习框架Caffe开发时秉承的理念是“表达、速度和模块化”,最初是源于2013年的机器视觉项目,此后,Caffe还得到扩展吸收了其他的应用,如语音和多媒体。 因为速度放在优先位置 ,所以Caffe完全用C+ +实现,并且支持CUDA加速,而且根据需要可以在CPU和GPU处理间进行切换。分发内容包括免费的用于普通分类任务的开源参考模型,以及其他由Caffe用户社区创造和分享的模型。

一个新的由Facebook 支持的Caffe迭代版本称为Caffe2,现在正在开发过程中,即将进行1.0发布。其目标是为了简化分布式训练和移动部署,提供对于诸如FPGA等新类型硬件的支持,并且利用先进的如16位浮点数训练的特性。

5. Google的TensorFlow

与微软的DMTK很类似,Google TensorFlow 是一个机器学习框架,旨在跨多个节点进行扩展。 就像Google的 Kubernetes一样,它是是为了解决google内部的问题而设计的,google最终还是把它作为开源产品发布出来。

TensorFlow实现了所谓的数据流图,其中的批量数据(“tensors”)可以通过图描述的一系列算法进行处理。系统中数据的移动称为“流”-其名也因此得来。这些图可以通过C++或者Python实现并且可以在CPU和GPU上进行处理。

TensorFlow近来的升级提高了与Python的兼容性,改进了GPU操作,也为TensorFlow能够运行在更多种类的硬件上打开了方便之门,并且扩展了内置的分类和回归工具库。

6. 亚马逊的机器学习

亚马逊对云服务的方法遵循一种模式:提供基本的内容,让核心受众关注,让他们在上面构建应用,找出他们真正需要的内容,然后交付给他们。

亚马逊在提供机器学习即服务-亚马逊机器学习方面也是如此。该服务可以连接到存储在亚马逊 S3、Redshift或RDS上的数据,并且在这些数据上运行二进制分类、多级分类或者回归以构建一个模型。但是,值得注意的是生成的模型不能导入或导出,而训练模型的数据集不能超过100GB。

但是,亚马逊机器学习展现了机器学习的实用性,而不只是奢侈品。对于那些想要更进一步,或者与亚马逊云保持不那么紧密联系的人来说,亚马逊的深度学习机器图景包含了许多主要的深度学习框架,包括 Caffe2、CNTK、MXNet和TensorFlow。

7. 微软的Azure ML Studio

考虑到执行机器学习所需的大量数据和计算能力,对于机器学习应用云是一种理想环境。微软已经为Azure配备了自己的即付即用的机器学习服务-Azure ML Studio,提供了按月、按小时和免费的版本。(该公司的HowOldRobot项目就是利用这个系统创立的。)你甚至不需要一个账户来就可以试用这项服务;你可以匿名登录,免费使用Azure ML Studio最多8小时。

Azure ML Studio允许用户创立和训练模型,然后把这些模型转成被其他服务所使用的API。免费用户的每个账号可以试用多达10GB的模型数据,你也可以连接自己的Azure存储以获得更大的模型。有大范围的算法可供使用,这要感谢微软和第三方。 近来的改进包括通过Azure批处理服务、更好的部署管理控制和详细的web服务使用统计,对训练任务进行了批量管理。

8. 微软的分布式机器学习工具集

在机器学习问题中投入更多的机器,会取得更好的效果-但是开发在大量计算机都能运行良好的机器学习应用却是挺伤脑筋的事。

微软的DMTK(分布式机器学习工具集)框架解决了在系统集群中分布多种机器学习任务的问题。

DMTK被认为是一个框架而不是一个完全成熟、随去随用的解决方案,因此包含算法的数量是很小的。然而,你还是会找到一些关键的机器学习库,例如梯度增强框架(LightGBM),以及对于一些像Torch和Theano这样深度学习框架的支持。 DMTK的设计使用户可以利用有限的资源构建最大的群集。例如,群集中的每个节点都会有本地缓存,从而减少了与中央服务器节点的通信流量,该节点为任务提供参数。

9. 微软的计算网络工具集

在发布DMTK之后,微软又推出了另一款机器学习工具集,即计算网络工具包,简称CNTK。

CNTK与Google TensorFlow类似,它允许用户通过一个有向图来创建神经网络。微软也认为CNTK可以与诸如Caffe、Theano和 Torch这样的项目相媲美,-此外CNTK还能通过利用多CPU和GPU进行并行处理而获得更快的速度。微软声称在Azure上的GPU群集上运行CNTK,可以将为Cortana的语音识别训练速度提高一个数量级。

最新版的CNTK 2.0通过提高精确性提高了TensorFlow的热度,添加了一个Java API,用于Spark兼容性,并支持kera框架(通常用于TensorFlow)的代码。

10. Apache Mahout

在Spark占据主流地位之前很久,Mahout就已经开发出来,用于在Hadoop上进行可扩展机器学习。但经过一段长时间的相对沉默之后,Mahout又重新焕发了活力,例如一个用于数学的新环境,称为Samsara,允许多种算法可以跨越分布式Spark群集上运行。并且支持CPU和GPU运行。

Mahout框架长期以来一直与Hadoop绑定,但它的许多算法也可以在Hadoop之外运行。这对于那些最终迁移到Hadoop的独立应用或者是从Hadoop中剥离出来成为单独的应用都很有用。

主流机器学习框架介绍相关推荐

  1. “黑”掉神经网络:腾讯披露新型AI攻击手法,主流机器学习框架受影响

    来源:AI前线 本文约3000字,建议阅读6分钟. 本文为你介绍一种新兴的针对机器学习模型的攻击方式"后门攻击". "后门攻击"是一种新兴的针对机器学习模型的攻 ...

  2. 主流webgis框架介绍与对比

    概述 想写本文,主要是源于前两天有个老师找到我说让我录一个大概半个小时的视频,跟大家分享一下各webgis框架之间的区别以及在应用的过程中应该如何选择.其实之前也有学员问过类似的问题,当时只是针对他们 ...

  3. Python机器学习框架介绍

    目录 1 为什么选择用Python 2 机器学习和深度学习框架 2.1 Pandas 2.2 Num Py 2.3 Matplotlib 2.4 Seaborn 2.5 Scikit-learn 2. ...

  4. Android主流HOOK框架介绍与应用--游戏破解游戏外挂的必杀技

    概述 使用HOOK方案主要是在分析的时候会经常用到,虽然二次打包重新修改代码也可以做到,但是一方面效率低,另一方面如果APP有校验的逻辑就需要进一步绕过,总体还是比较费时费力.所以,通过动态HOOK的 ...

  5. 深度学习主流框架介绍(PyTorch、TensorFlow、Keras、Caffe、Theano、MXNET)

    深度学习主流框架介绍(PyTorch.TensorFlow.Keras.Caffe.Theano.MXNET) 1.Theano Theano是最早的深度学习框架之一,由 Yoshua Bengio ...

  6. 量化交易主流框架介绍

    量化交易主流框架介绍 talib talib的简称是Technical Analysis Library,主要功能是计算行情数据的技术分析指标 numpy 介绍:一个用python实现的科学计算包.包 ...

  7. java目前主流框架_java的三大主流框架介绍

    <java的三大主流框架介绍>由会员分享,可在线阅读,更多相关<java的三大主流框架介绍(2页珍藏版)>请在装配图网上搜索. 1.java的三大主流框架介绍java的三大主流 ...

  8. 13种主流机器学习的框架

    1. Apache Spark MLlib Apache Spark 最为人所知的是它是Hadoop家族的一员,但是这个内存数据处理框架却是脱胎于Hadoop之外,也正在Hadoop生态系统以外为自己 ...

  9. 手写 30 个主流机器学习算法,代码超 3 万行,全都开源了!

    点击上方"视学算法",选择"星标"公众号 第一时间获取价值内容 本文经机器之心(ID:almosthuman2014)授权转载,禁二次转载 参与:思源.一鸣.张 ...

最新文章

  1. 软件:向工业互联网产业成功转型的关键
  2. 文科生如何入门机器学习:先看看这篇零基础教程,再多算几遍吧
  3. 美观实用的标签切换菜单
  4. 迭代器 java_百战程序员:Java设计模式之迭代器模式
  5. 如何准确估计机器人的状态,增强机器人控制的精度及稳定性
  6. android系统换动画,Android Activity动画跳转修改
  7. 斯坦福 CS228 概率图模型中文讲义 一、引言
  8. SpringBoot创建第一个Web项目——Hello SpringBoot
  9. liunx的百度输入法如何卸载_测试面试题集锦liunx与网络
  10. Docker开启和关闭容器自启动
  11. ubuntu 14.04 root破解
  12. 190316每日一句
  13. ELman神经网络matlab实现
  14. 列举1990年到2000年间的闰年
  15. 贪心算法求解:王者荣耀购买点券最优策略
  16. Boss爬虫prd文档
  17. pandas中的窗口对象(窗口函数)
  18. JSONPath库:使用类似Xpath的语法解析JSON数据
  19. 方舟编译器的下载与安装配置及小组分工
  20. 为保用户安全 Facebook居然要从黑客手上回购密码?

热门文章

  1. 域名该怎样选_给项目选择域名时我们常犯的几个错误 我们应该如何正确选择域名...
  2. 自动弹窗加QQ群代码
  3. pt100专用芯片_有没有PT100测温芯片推荐
  4. ssh与scp 连接机器与传输文件
  5. 【C语言】assert() 断言的作用
  6. 云计算介绍 tcp/ip协议介绍及配置
  7. 提高QPS方法基本思路
  8. html怎样导入ps,【Photoshop软件新手向】如何导入/自制笔刷?
  9. 第19节 三个败家子 19 ——史上最牛太守孙坚
  10. GreenPlum企业应用实践--第五章SQL执行计划