MMLSpark为Apache Spark提供了大量深度学习和数据科学工具,包括将Spark Machine Learning管道与Microsoft Cognitive Toolkit(CNTK)和OpenCV进行无缝集成,使您能够快速创建功能强大,高度可扩展的大型图像和文本数据集分析预测模型。
MMLSpark需要Scala 2.11,Spark 2.1+,以及Python 2.7或Python 3.5+。
MMLSpark 开源地址:https://github.com/Azure/mmlspark
显着特点
- 从 HDFS 轻松摄取图像到Spark DataFrame(示例:301)
- 使用 OpenCV 进行转换的预处理图像数据(示例:302)
- 使用 CNTK 进行预训练的深层神经网络(示例:301)
- 使用来自 Keras 预先训练的双向LSTM进行医疗实体提取(示例:304)
- 在 Azure 上的N系列GPU虚拟机上训练基于DNN的图像分类模型
- 通过单个变换器在SparkML中的基元上方使用方便的API实现自由格式的文本数据(示例:201)
- 列车分类和回归模型容易通过数据的隐式特征化(示例:101)
- 计算一组丰富的评估指标,包括每个实例的指标(示例:102)
所有的示例可以参见:这里
一个简单的示例
以下是使用预先训练的 CNN 在 CIFAR-10 数据集中分类图像的简单示例的摘录。完整的代码参见:这里
... import mmlspark # Initialize CNTKModel and define input and output columns cntkModel = mmlspark.CNTKModel() \ .setInputCol("images").setOutputCol("output") \ .setModelLocation(modelFile) # Train on dataset with internal spark pipeline scoredImages = cntkModel.transform(imagesWithLabels) ...
安装
Docker
使用MMLSpark 的最简单方法是通过预先编译好的Docker container,为了使用它,你先要运行下面的命令:
docker run -it -p 8888:8888 -e ACCEPT_EULA=yes microsoft/mmlspark
然后通过浏览器访问 http://localhost:8888,这里我们可以运行简单的示例代码,更详细的使用请参见官方文档:这里
Spark package
当然,除了在 Docker container 里面使用 MMLSpark 之外,我们还可以直接通过 --packages
选项直接在现有的Spark集群中使用 MMLSpark,具体如下:
spark-shell --packages Azure:mmlspark:0.9 pyspark --packages Azure:mmlspark:0.9 spark-submit Azure:mmlspark:0.9 MyApp.jar
更多关于 MMLSpark 的使用和介绍,请参见官方文档。
本博客文章除特别声明,全部都是原创!原创文章版权归过往记忆大数据(过往记忆)所有,未经许可不得转载。
本文链接: 【MMLSpark:微软开源的用于Spark的深度学习库】(https://www.iteblog.com/archives/1899.html)