写点什么

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

  • 2017-10-23
  • 本文字数:857 字

    阅读完需:约 3 分钟

微软开源了 MMLSpark ,用于 Apache Spark 的的深度学习库。MMLSpark 可以与微软认知工具包 OpenCV 完美整合。

微软发现,虽然 SparkML 可以建立可扩展的机器学习平台,绝大多数开发者的精力都耗在了调用底层 API 上。MMLSpark 旨在简化 PySpark 中的重复性工作。

以 UCI 的成人收入普查数据集举例,使用其他项目预测收入:

如果直接使用 SparkML,每一列都需要单独处理,整理为正确的数据类型;在 MMLSpark 中只需要两行代码:

复制代码
model = mmlspark.TrainClassifier(model=LogisticRegression(), labelCol=” income”).fit(trainData)
predictions = model.transform(testData)

深度神经网络(DNN)在图像识别和语音识别等领域不逊于人类,但是 DNN 模型的训练需要专业人员方可进行,与 SparkML 的整合也十分不易。MMLSpark 提供了方便的 Python API,可以方便地训练 DNN 算法。MMLSpark 可以方便地使用现有模型进行分类任务、在分布式 GPU 节点上进行训练、以及使用 OpenCV 建立可扩展的图像处理管线。

以下 3 行代码可以从微软认知工具集中初始化一个 DNN 模型,从图像中抽取特征:

复制代码
cntkModel = CNTKModel().setInputCol(“images”).setOutputCol(“features”).setModelLocation(resnetModel).setOutputNode(“z.x”)
featurizedImages = cntkModel.transform(imagesWithLabels).select([‘labels’,’features’])
model = TrainClassifier(model=LogisticRegression(),labelCol=”labels”).fit(featurizedImages)

MMLSpark 已经发布到 Docker Hub 上,使用下面的命令即可在单机部署:

复制代码
docker run -it -p 8888:8888 -e ACCEPT_EULA=yes microsoft/mmlspark

MMLSpark 使用 MIT 协议授权。

查看英文原文

https://github.com/Azure/mmlspark

https://blogs.technet.microsoft.com/machinelearning/2017/06/07/announcing-microsoft-machine-learning-library-for-apache-spark/


感谢蔡芳芳对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2017-10-23 19:003796

评论

发布
暂无评论
发现更多内容

Wireshark数据包分析学习笔记Day18

穿过生命散发芬芳

Wireshark 数据包分析 3月日更

javax.imageio.IIOException: Unsupported Image Type

wjchenge

翻译:《实用的Python编程》07_02_Anonymous_function

codists

Python

MongoDB中的正则表达式

Kylin

mongodb 3月日更 21天挑战

登陆用户身份获取

程序员架构进阶

架构设计 认证授权 28天写作 3月日更

寻找被遗忘的勇气(二十一)

Changing Lin

3月日更

与前端训练营的日子 -- Week20

SamGo

学习

字符编码,原来是SQL不走索引的元凶之一!

Java小咖秀

MySQL 程序员 开发 bug 细节

线上问题的一点反思

风翱

复盘 3月日更 线上问题

树集合总结

我是程序员小贱

3月日更

产品经理面试常见问题总结2

lenka

3月日更

《Redis 核心技术与实战》学习笔记 06

escray

redis 学习 28天写作 3月日更 Redis 核心技术与实战

宣传

Ashley.

Swagger增强神器:Knife4j!用它轻松实现接口搜索、Word下载、接口过滤...

王磊

Java swagger Knife4j

找到适合自己的睡眠方案

石云升

生活方式 28天写作 睡眠 3月日更

在你所在的公司(行业、领域),正在用大数据处理哪些业务?可以用大数据实现哪些价值?

跳蚤

思呓(2)

型火🔥

学习 架构 分布式 解耦

uni-app跨端开发H5、小程序、IOS、Android(五):uni-app数据绑定

程序员潘Sir

html5 微信小程序 uni-app iOS Developer 3月日更

主流分布式文件系统总结

跳蚤

JVM - GC 问题分析常用两大指标

insight

3月日更

翻译:《实用的Python编程》07_03_Returning_functions

codists

Python

mybatis 添加日志功能

xiezhr

mybatis 日志

Gradle无法访问Nexus私服仓库-offline

wjchenge

How to Connect 2 Cisco Switches Together

心在飞

基于数组或链表实现Map

Silently9527

数据结构和算法

在深圳,看见大鲸跃起的浪潮

工业互联网

开源与商业产品

ES_her0

3月日更

第11周课后练习-安全稳定

潘涛

架构师训练营 4 期

深入剖析 | Java16语法特性

九叔(高翔龙)

Java 架构

ES6中的新特性:Iterables和iterators

程序那些事

nodejs ES6 程序那些事

Ubuntu 日常使用问题及解决

依旧廖凯

28天写作 3月日更

微软开源用于Spark的深度学习库MMLSpark_语言 & 开发_Beining_InfoQ精选文章