机器/深度学习DMTK、TensorFlow、Apache SystemML/MADlib介绍

以下为你介绍的机器学习/深度学习软件都可用在Linux系统上:DMTK(微软分布式机器学习工具包)、TensorFlow(机器学习系统)、Apache SystemML(机器学习语言)、Apache MADlib(大数据机器学习工具)。

1、DMTK(微软分布式机器学习工具包)

机器/深度学习DMTK、TensorFlow、Apache SystemML/MADlib介绍

DMTK 是微软分布式机器学习工具包。

DMTK 包括以下几个项目:

DMTK framework(Multiverso): 参数服务器架构的机器学习。

LightLDA: 用于大规模主题模型的可扩展、快速、轻量级系统。

Distributed word embedding:文字嵌入分布式算法。

Distributed skipgram mixture: 多义文字嵌入分布式算法。

DMTK (Dstributed Machine Learning Toolkit) 当前包括以下组件:

DMTK分布式机器学习框架:它由参数服务器和客户端软件开发包(SDK)两部分构成。参数服务器在原有基础上从性能和功能上都得到了进一步提升——支持存储混合数据结构模型、接受并聚合工作节点服务器的数据模型更新、控制模型同步逻辑等。客户端软件开发包(SDK)支持维护节点模型缓存(与全局 模型服务器同步)、节点模型训练和模型通讯的流水线控制、以及片状调度大模型训练等。

LightLDA:LightLDA是一种全新的用于训练主题模型,计算复杂度与主题数目无关的高效算法。在其分布式实现中,我们做了大量的系统 优化使得 LightLDA能够在一个普通计算机集群上处理超大规模的数据和模型。例如,在一个由8台计算机组成的集群上,可以在具有2千亿训练样本(token) 的数据集上训练具有1百万词汇表和1百万个话题(topic)的LDA模型(约1万亿个参数),这种规模的实验以往要在数千台计算机的集群上才能运行。

分布式词向量:词向量技术近来被普遍地应用于计算词汇的语义表示,它可以用作很多自然语言处理任务的词特征。微软为两种计算词向量的算法提供了高效的分步式实现:一种是标准的word2vec算法,另一种是可以对多义词计算多个词向量的新算法。

下载地址:https://github.com/microsoft/DMTK

2、TensorFlow(机器学习系统)

机器/深度学习DMTK、TensorFlow、Apache SystemML/MADlib介绍

TensorFlow 是谷歌的第二代机器学习系统,按照谷歌所说,在某些基准测试中,TensorFlow的表现比第一代的DistBelief快了2倍。

TensorFlow 内建深度学习的扩展支持,任何能够用计算流图形来表达的计算,都可以使用TensorFlow。任何基于梯度的机器学习算法都能够受益于TensorFlow的自动分化(auto-differentiation)。通过灵活的Python接口,要在TensorFlow中表达想法也会很容易。

TensorFlow 对于实际的产品也是很有意义的。将思路从桌面GPU训练无缝搬迁到手机中运行。

示例代码:

import tensorflow as tf

import numpy as np

# Create 100 phony x, y data points in NumPy, y = x * 0.1 + 0.3

x_data = np.random.rand(100).astype(np.float32)

y_data = x_data * 0.1 + 0.3

# Try to find values for W and b that compute y_data = W * x_data + b

# (We know that W should be 0.1 and b 0.3, but TensorFlow will

# figure that out for us.)

W = tf.Variable(tf.random_uniform([1], -1.0, 1.0))

b = tf.Variable(tf.zeros([1]))

y = W * x_data + b

# Minimize the mean squared errors.

loss = tf.reduce_mean(tf.square(y - y_data))

optimizer = tf.train.GradientDescentOptimizer(0.5)

train = optimizer.minimize(loss)

# Before starting, initialize the variables.  We will 'run' this first.

init = tf.global_variables_initializer()

# Launch the graph.

sess = tf.Session()

sess.run(init)

# Fit the line.

for step in range(201):

sess.run(train)

if step % 20 == 0:

print(step, sess.run(W), sess.run(b))

# Learns best fit is W: [0.1], b: [0.3]

安装命令:

$ pip install tensorflow

尝试您的第一个TensorFlow程序:

$ python

>>> import tensorflow as tf

>>> tf.add(1, 2).numpy()

3

>>> hello = tf.constant('Hello, TensorFlow!')

>>> hello.numpy()

'Hello, TensorFlow!'

下载地址:https://github.com/tensorflow/tensorflow

3、Apache SystemML(机器学习语言)

机器/深度学习DMTK、TensorFlow、Apache SystemML/MADlib介绍

机器/深度学习DMTK、TensorFlow、Apache SystemML/MADlib介绍

SystemML 是灵活的,可伸缩机器学习 (ML) 语言,使用 Java 编写。机器学习 (ML) 是指无需显式的编程即可让计算机学习的能力。

SystemML 与众不同的是:

(1)、可定制算法。

(2)、多个执行模式,包括单个,Hadoop 批量和 Spark 批量。

(3)、自动优化。

SystemML 先进的机器学习主要基于两方面:

SystemML 语言,声明式机器学习 (DML)。SystemML 包含线性代数原语,统计功能和 ML 指定结构,可以更容易也更原生的表达 ML 算法。算法通过 R 类型或者 Python 类型的语法进行表达。DML 通过提供灵活的定制分析表达和独立于底层输入格式和物理数据表示的数据显著提升数据科学的生产力。

其次,SystemML 提供自动优化功能,通过数据和集群特性保证高效和可伸缩。SystemML 可以在 MapReduce 或者 Spark 环境运行。

下载地址:http://systemml.apache.org/

4、Apache MADlib(大数据机器学习工具)

机器/深度学习DMTK、TensorFlow、Apache SystemML/MADlib介绍

Apache MADlib 是为数据科学提供的 SQL 大数据机器学习工具。Apache MADlib 拥有强大的大数据分析能力。Apache MADlib 支持 Postgres、Pivotal Greenplum 数据库和 Apache HAWQ (incubating)。

Apache MADlib (incubating) 现在是 Apache 基金会的孵化项目。

下载地址:https://gitee.com/mirrors/apache-madlib

注明

以上就是机器/深度学习DMTK、TensorFlow、Apache SystemML/MADlib的介绍内容,这些机器学习/深度学习软件都能使用在Linux操作系统中。

栏目相关文章