MMLSpark為Apache Spark提供了大量深度學習和數(shù)據(jù)科學工具,包括將Spark Machine Learning管道與Microsoft CogniTIve Toolkit(CNTK)和OpenCV進行無縫集成,使您能夠快速創(chuàng)建功能強大,高度可擴展的大型圖像和文本數(shù)據(jù)集分析預測模型。
微軟開源了MMLSpark,用于Apache Spark的的深度學習庫。MMLSpark可以與微軟認知工具包和OpenCV完美整合。
微軟發(fā)現(xiàn),雖然SparkML可以建立可擴展的機器學習平臺,絕大多數(shù)開發(fā)者的精力都耗在了調(diào)用底層API上。MMLSpark旨在簡化PySpark中的重復性工作。
以UCI的成人收入普查數(shù)據(jù)集舉例,使用其他項目預測收入:
如果直接使用SparkML,每一列都需要單獨處理,整理為正確的數(shù)據(jù)類型;在MMLSpark中只需要兩行代碼:
深度神經(jīng)網(wǎng)絡(luò)(DNN)在圖像識別和語音識別等領(lǐng)域不遜于人類,但是DNN模型的訓練需要專業(yè)人員方可進行,與SparkML的整合也十分不易。MMLSpark提供了方便的Python API,可以方便地訓練DNN算法。MMLSpark可以方便地使用現(xiàn)有模型進行分類任務(wù)、在分布式GPU節(jié)點上進行訓練、以及使用OpenCV建立可擴展的圖像處理管線。
以下3行代碼可以從微軟認知工具集中初始化一個DNN模型,從圖像中抽取特征:
MMLSpark已經(jīng)發(fā)布到Docker Hub上,使用下面的命令即可在單機部署:
MMLSpark使用MIT協(xié)議授權(quán)。