在阿里云EMR上使用Intel 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运行详情页面。
同时查看日志,能够看到每个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。
首先导入数据
然后定义模型和优化器
进行训练
查看训练结果
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
开源大数据周刊-第99期
资讯 谷歌重磅开源强化学习框架Dopamine谷歌推出了一款全新的开源强化学习框架 Dopamine,该框架基于 TensorFlow,主打灵活性、稳定性、复现性,能够提供快速的基准测试。 整合AI和数据科学新利器:基于Apache Spark的Hydrogen项目以往数据集的准备以及模型的训练工作是分开的,这两部分工作相当于存在两套系统中。这种方式对于开发、测试都极其麻烦。是否存在于一套方案,同时解决这两类问题呢?Apache Spark 无法做到。原因是模型的训练在 Spark 的 DAGScheduler 中支持的并不好。后来 Spark 提出了 Hydrogen 项目,从而使得 Spark 能够更好地整合深度学习框架。 Redis杀死许可证,闭源的有:RediSearch、Redis Graph、ReJSON、ReBloom、R
- 下一篇
2018年技术直播PPT干货分享
随着互联网技术的飞速发展,知识更新换代的频率也随之加快。为了实现知识共享,将最新的知识应用到实践领域。阿里专家汇集这里,给大家带来各类技术直播分享,涵盖人工智能、大数据、Java、数据库等技术领域。下面是我们为大家整理好的直播PPT内容,方便大家随时学习! 人工智能PPT下载地址 阿里云技术总负责人蒋江伟《IPv6推动互联网新动能》 CNGI专家委员会主任、中国工程院院士邬贺铨《IPv6时代的中国机遇》 阿里集团基础架构事业群网络研发事业部副总裁蔡依群《阿里IPv6网络演进之路》 阿里云网络高级专家谭礼铨《IPv6引领云网络持续创新》创客学院老师刘正道《从端到云-全面讲解物联网全栈开发之道》 阿里机器智能技术实验室技术专家于恒《从RNN到LSTM,性能良好的神经网络到底是如何工作的?》 NVIDIA资深高级系统架构师David《AI大牛教你如何秒速部署GPU深度学习的应用》 阿里云高级技术专家陶云峰《函数对象的四种写法,哪种更适合你?》 阿里云高级技术专家陶云峰《为什么要学习函数式编程?因为如果你手里只有锤子,看什么都像钉子》 阿里云高级开发工程师付哲《消灭“脑细胞杀手”,阿里专家带你...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- MySQL8.0.19开启GTID主从同步CentOS8
- Mario游戏-低调大师作品
- CentOS关闭SELinux安全模块
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Red5直播服务器,属于Java语言的直播服务器
- CentOS8编译安装MySQL8.0.19
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池