首页 » 网站建设 » php实现bigmap技巧_开源深度进修库BigDL在阿里云EMapReduce上实践

php实现bigmap技巧_开源深度进修库BigDL在阿里云EMapReduce上实践

duote123 2024-12-11 0

扫一扫用手机浏览

文章目录 [+]

近些年来机器学习中的子领域深度学习成为一个热门的话题,特殊是在围棋领域,谷歌的AlphaGo也利用了深度学习的技能。

在大数据领域,Spark MLlib是一个很盛行的机器学习算法库,如果你想用Spark来做深度学习演习,MLlib还无法很好的支持。
本文要先容Intel开源的深度学习框架BigDL,他也是在Spark上的一个算法库,供应了全面的深度学习算法支持,包括数值打算(Tensor)和高阶神经网络等。

php实现bigmap技巧_开源深度进修库BigDL在阿里云EMapReduce上实践

由于BigDL是在Spark上运行的,借助Spark平台的分布式扩展性,可以方便的扩展到上百或上千个节点。
同时BigDL利用了Intel MKL等前辈的数学打算库,基于Intel CPU打算能力可能取得媲美GPU的性能。

php实现bigmap技巧_开源深度进修库BigDL在阿里云EMapReduce上实践
(图片来自网络侵删)

BigDL的利用场景

BigDL可能利用不才列场景中:

直接在Hadoop或Spark平台上利用深度学习进行大数据剖析,同时数据是存储在HDFS、HBase、Hive等文件系统或数据库上;

希望在Spark程序或事情流中加入深度学习功能;

利用现有的 Hadoop/Spark 集群来运行深度学习程序,然后将代码与其他的Spark运用处景进行动态共享,例如ETL、数据仓库(Spark SQL)、功能引擎、经典机器学习(MLlib)、图剖析(GraphX)等。

E-MapReduce

阿里云的EMR做事供应了全面的开源大数据组件的支持,比如Hadoop、Spark、HBase等。
EMR供应了一个完全的Spark运行环境,以是BigDL也可以很方便的在EMR集群内运行。

BigDL安装

当前EMR还未直接支持BigDL,以是须要我们自己在EMR节点上编译和安装BigDL组件。
在不久的未来,EMR上可能会直接安装BigDL,这样EMR用户就可以和Spark MLlib一样直策应用BigDL了。

通过SSH登录EMR Master节点,参考EMR文档

环境准备(我们假设EMR环境上的Spark是2.0.x)

下载并安装Maven

由于BigDL所在的Maven库须要用HTTPS连接,为了让OpenJDK支持,须要额外安装包:sudo yum install nss

参考BigDL build文档编译:

git clone https://github.com/intel-analytics/BigDL.git

cd BigDL

bash make-dist.sh -P spark_2.0

如果上述过程实行成功,Build得到的BigDL/dist目录里有我们须要的运行环境,包括作业提交脚本和jar包等。

运行一个BigDL的样例

在BigDL在EMR的Master节点上安装好之后,我们可以来运行一个大略的深度学习算法(详情请参考BigDL官方文档)。
这是一个在MNIST数据集上的LeNet-5模型演习算法,模型可以用来识别手写的数字。

数据准备,从http://yann.lecun.com/exdb/mnist/下载演习模型数据和测试数据特色文件以及label文件,并且解压缩放到本地的./data/mnist目录

创建模型的checkpoint目录./model/lenet_model

演习:

./dist/bin/bigdl.sh -- \

(更多的参数请参考BigDL文档)

这是在Spark上的作业,可以通过WebUI看到作业运行进度:

末了,测试演习结果:

./dist/bin/bigdl.sh -- \

traing.log和test.log文件分别包含了演习的过程和测试的结果。
我们可以用剖析工具(比如Linux Shell工具或微软的Excel)来剖析结果数据,来更好的理解演习模型。

这是某次利用Lenet-5演习MNIST的结果:

总结

本文是深度学习框架BigDL的入门先容,目的是在EMR上运行一个真实的深度学习算法。
当然,你看可以基于BigDL框架实现自己的深度学习算法,或者利用EMR notebook(Apache Zeppelin或交互式事情台)直策应用剖析和演习模型。
你可以关注E-MapReduce产品博客获取更多的Spark和BigDL实践文章。

标签:

相关文章

php中output技巧_PHP输出缓冲及其应用

如上图,是一个大略单纯的缓冲区仿照图,左端入口的数据具有单个输入体积小,速率快,数量多,但右端输出数据具有体历年夜,速率慢的特点。...

网站建设 2024-12-13 阅读0 评论0

php比较java薪资技巧_为何PHP薪资比java低

上午写了篇文紧张阐述了新版php其精良的改进和其生动的生态环境,文中我指出的PHP的几点不敷,后续评论中有些人指出了我的阐述的\公...

网站建设 2024-12-13 阅读0 评论0