在阿里云EMR上使用Intel Analytics Zoo进行深度学习

简介: Analytics Zoo是由Intel开源,基于Apache Spark和Inte BigDL的大数据分析和AI平台,方便用户开发基于大数据、端到端的深度学习应用。本文简单介绍了如何在Aliyun EMR使用Analytics Zoo来进行深度学习。

简介

Analytics Zoo是由Intel开源,基于Apache Spark和Inte BigDL的大数据分析和AI平台,方便用户开发基于大数据、端到端的深度学习应用。

系统要求

  • JDK 8
  • Spark 集群(推荐使用EMR支持的Spark 2.x)
  • python-2.7(python 3.5,3.6也支持), pip

安装Analytics Zoo

Analytics Zoo 最新的release版本是0.2.0

Scala安装

下载pre-build版本

可以从github,analytics主页下载到pre-build版本

通过script build

安装Apache Maven,设置Maven环境

export MAVEN_OPTS="-Xmx2g -XX:ReservedCodeCacheSize=512m"

如果使用ECS机器进行编译,推荐修改Maven仓库mirror

<mirror>
    <id>nexus-aliyun</id>
    <mirrorOf>central</mirrorOf>
    <name>Nexus aliyun</name>
    <url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>

下载Analytics Zoo release版本,解压后在目录下运行

bash make-dist.sh

build结束后,在dist目录中包含了所有的运行环境。将dist目录放到EMR软件栈运行时统一目录。

cp -r dist/ /usr/lib/analytics_zoo

python 安装

Analytics Zoo支持pip安装和非pip安装,pip安装会安装pyspark,bigdl等,由于EMR集群已经安装了pyspark,通过pip安装有可能引起冲突,所以采用非pip安装。

非Pip安装

首先要运行

bash make-dist.sh

进入pyzoo目录,安装analytcis zoo

python setup.py install

设置环境变量

在scala安装结束后将dist目录放到了EMR软件栈统一目录,然后设置环境变量。编辑/etc/profile.d/analytics_zoo.sh,加入

export ANALYTICS_ZOO_HOME=/usr/lib/analytics_zoo
export PATH=$ANALYTICS_ZOO_HOME/bin:$PATH

EMR已经设置了SPARK_HOME,所以无需再次设置。

使用Analytics Zoo

使用Spark来训练和测试深度学习模型

使用Analytics Zoo来做文本分类,代码和说明在github。根据说明下载必须的数据。提交命令:

spark-submit --master yarn \
--deploy-mode cluster --driver-memory 8g \
--executor-memory 20g --class com.intel.analytics.zoo.examples.textclassification.TextClassification \
/usr/lib/analytics_zoo/lib/analytics-zoo-bigdl_0.6.0-spark_2.1.0-0.2.0-jar-with-dependencies.jar --baseDir /news

通过ssh proxy来查看spark运行详情页面。
1
同时查看日志,能够看到每个epoch的accuracy信息等。

INFO optim.DistriOptimizer$: [Epoch 2 9600/15107][Iteration 194][Wall Clock 193.266637037s] Trained 128 records in 0.958591653 seconds. Throughput is 133.52922 records/second. Loss is 0.74216986.
INFO optim.DistriOptimizer$: [Epoch 2 9728/15107][Iteration 195][Wall Clock 194.224064816s] Trained 128 records in 0.957427779 seconds. Throughput is 133.69154 records/second. Loss is 0.51025534.
INFO optim.DistriOptimizer$: [Epoch 2 9856/15107][Iteration 196][Wall Clock 195.189488678s] Trained 128 records in 0.965423862 seconds. Throughput is 132.58424 records/second. Loss is 0.553785.
INFO optim.DistriOptimizer$: [Epoch 2 9984/15107][Iteration 197][Wall Clock 196.164318688s] Trained 128 records in 0.97483001 seconds. Throughput is 131.30495 records/second. Loss is 0.5517549.

在Analytics Zoo中使用pyspark和Jupyter来进行深度学习训练

安装jupyter

pip install jupyter

使用下面命令启动。

jupyter-with-zoo.sh

使用Analytics Zoo,采用内置的Wide And Deep 模型来进行推荐,相关内容可参考github
首先导入数据
2
然后定义模型和优化器
3
进行训练
4
查看训练结果
5
6

相关文章
|
28天前
|
分布式计算 大数据 MaxCompute
EMR Remote Shuffle Service实践问题之阿里云RSS的开源计划内容如何解决
EMR Remote Shuffle Service实践问题之阿里云RSS的开源计划内容如何解决
|
28天前
|
分布式计算 测试技术 调度
EMR Remote Shuffle Service实践问题之集群中落地阿里云RSS如何解决
EMR Remote Shuffle Service实践问题之集群中落地阿里云RSS如何解决
|
18天前
|
SQL 存储 NoSQL
阿里云 EMR StarRocks 在七猫的应用和实践
本文整理自七猫资深大数据架构师蒋乾老师在 《阿里云 x StarRocks:极速湖仓第二季—上海站》的分享。
125 2
|
26天前
|
存储 分布式计算 大数据
大数据革新在即,阿里云EMR如何布局DeltaLake引领行业潮流?
【8月更文挑战第26天】大数据时代,实时处理与分析能力对企业至关重要。Delta Lake 作为高性能、可靠且支持 ACID 事务的开源存储层,已成为业界焦点。阿里云 EMR 深度布局 Delta Lake,计划深化集成、强化数据安全、优化实时性能,并加强生态建设与社区贡献。通过与 Spark 的无缝对接及持续的技术创新,阿里云 EMR 致力于提供更高效、安全的数据湖解决方案,引领大数据处理领域的发展新方向。
29 3
|
26天前
|
存储 分布式计算 监控
揭秘阿里云EMR:如何巧妙降低你的数据湖成本,让大数据不再昂贵?
【8月更文挑战第26天】阿里云EMR是一种高效的大数据处理服务,助力企业优化数据湖的成本效益。它提供弹性计算资源,支持根据需求调整规模;兼容并优化了Hadoop、Spark等开源工具,提升性能同时降低资源消耗。借助DataWorks及Data Lake Formation等工具,EMR简化了数据湖构建与管理流程,实现了数据的统一化治理。此外,EMR还支持OSS、Table Store等多种存储选项,并配备监控优化工具,确保数据处理流程高效稳定。通过这些措施,EMR帮助企业显著降低了数据处理和存储成本。
32 3
|
26天前
|
安全 数据管理 大数据
数据湖的未来已来:EMR DeltaLake携手阿里云DLF,重塑企业级数据处理格局
【8月更文挑战第26天】在大数据处理领域,阿里云EMR与DeltaLake的集成增强了数据处理能力。进一步结合阿里云DLF服务,实现了数据湖的一站式管理,自动化处理元数据及权限控制,简化管理流程。集成后的方案提升了数据安全性、可靠性和性能优化水平,让用户更专注业务价值。这一集成标志着数据湖技术向着自动化、安全和高效的未来迈出重要一步。
43 2
|
26天前
|
存储 分布式计算 大数据
阿里云 EMR 强势助力,与阿里云大数据体系共创辉煌,把握时代热点,开启生态建设之旅
【8月更文挑战第26天】阿里云EMR(Elastic MapReduce)是一种大数据处理服务,与阿里云的多个服务紧密结合,共同构建了完善的大数据生态系统。EMR与对象存储服务(OSS)集成,利用OSS提供可靠、低成本且可扩展的数据存储;与MaxCompute集成,实现深度数据分析和挖掘;还支持数据湖构建服务,加速数据湖的搭建并简化数据管理与分析过程。EMR提供多种编程接口及工具,如Hive、Spark和Flink等,帮助用户高效完成大数据处理任务。
28 2
|
1月前
|
存储 机器学习/深度学习 弹性计算
阿里云EMR数据湖文件系统问题之OSS-HDFS全托管服务的问题如何解决
阿里云EMR数据湖文件系统问题之OSS-HDFS全托管服务的问题如何解决
|
1月前
|
机器学习/深度学习 人工智能 调度
显著提升深度学习 GPU 利用率,阿里云拿下国际网络顶会优胜奖!
显著提升深度学习 GPU 利用率,阿里云拿下国际网络顶会优胜奖!
153 0
|
1月前
|
存储 缓存 数据管理
阿里云EMR数据湖文件系统问题之JindoFS数据孤岛的问题如何解决
阿里云EMR数据湖文件系统问题之JindoFS数据孤岛的问题如何解决