欢迎关注大数据技术架构与案例微信公众号:过往记忆大数据
过往记忆博客公众号iteblog_hadoop
欢迎关注微信公众号:
过往记忆大数据

MMLSpark:微软开源的用于Spark的深度学习库

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

mmlspark_iteblog
如果想及时了解Spark、Hadoop或者Hbase相关的文章,欢迎关注微信公共帐号:iteblog_hadoop

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)
喜欢 (9)
分享 (0)
发表我的评论
取消评论

表情
本博客评论系统带有自动识别垃圾评论功能,请写一些有意义的评论,谢谢!