程序员

注册

 

发新话题 回复该主题

有助于你掌握机器学习的十三个框架CSD [复制链接]

1#
白癜风发病原因有哪些 http://m.39.net/pf/a_4302816.html

作者

SerdarYegulalp

编译

夜风轻扬

在过去的一年里,机器学习炙手可热。机器学习的“突然”降临,并不单纯因为廉价的云环境和更强有力的GPU硬件。也因为开放源码框架的爆炸式增长,这些框架将机器学习中最难的部分抽象出来,并将这项技术提供给更广大范围的开发者。

这里有新鲜出炉的机器学习框架,既有初次露面的,也有重新修改过的。这些工具被大众所注意,或是因为其出处,或是因为以新颖的简单方法处理问题,或是解决了机器学习中的某个特定难题,或者是上述的所有原因。

ApacheSparkMLlib

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

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

H2O

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

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

ApacheSinga

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

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

Caffe2

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

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

TensorFlow

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

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

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

亚马逊的机器学习

亚马逊对云服务的方法遵循一种模式:提供基本的内容,让核心受众

分享 转发
TOP
发新话题 回复该主题