MMLSpark为Apache Spark提供了大量深度学习和数据科学工具,包括将Spark Machine Learning管道与Microsoft Cognitive Toolkit(CNTK)和OpenCV进行无缝集成,使您能够快速创建功能强大,高度可扩展的大型图像和文本数据集分析预测模型。

MMLSpark需要Scala 2.11,Spark 2.1+,以及Python 2.7或Python 3.5+。

显着特点

  1. 从 HDFS 轻松摄取图像到Spark DataFrame(示例:301)
  2. 使用 OpenCV 进行转换的预处理图像数据(示例:302)
  3. 使用 CNTK 进行预训练的深层神经网络(示例:301)
  4. 使用来自 Keras 预先训练的双向LSTM进行医疗实体提取(示例:304)
  5. 在Azure上的N系列GPU虚拟机上训练基于DNN的图像分类模型
  6. 通过单个变换器在SparkML中的基元上方使用方便的API实现自由格式的文本数据(示例:201)
  7. 列车分类和回归模型容易通过数据的隐式特征化(示例:101)
  8. 计算一组丰富的评估指标,包括每个实例的指标(示例:102)


所有的示例可以参见:https://github.com/Azure/mmlspark/tree/master/notebooks/samples

一个简单的示例

以下是使用预先训练的CNN在CIFAR-10数据集中分类图像的简单示例的摘录。完整的代码参见:https://github.com/Azure/mmlspark/blob/master/notebooks/samples/301%20-%20CIFAR10%20CNTK%20CNN%20Evaluation.ipynb

mmlspark mmlspark spark3_spark

安装

Docker

使用MMLSpark 的最简单方法是通过预先编译好的Docker container,为了使用它,你先要运行下面的命令:




docker run -it -p 8888:8888 -e ACCEPT_EULA=yes microsoft/mmlspark




然后通过浏览器访问http://localhost:8888,这里我们可以运行简单的示例代码,更详细的使用请参见官方文档:https://github.com/Azure/mmlspark/blob/master/docs/docker.md

Spark package

当然,除了在Docker container里面使用MMLSpark 之外,我们还可以直接通过--packages 选项直接在现有的Spark集群中使用MMLSpark,具体如下:


mmlspark mmlspark spark3_Azure_02

更多关于MMLSpark的使用和介绍,请参见官方文档。