开源深度学习库BigDL在阿里云E-MapReduce上的实践

E-MapReduce 1. 产品介绍 E-MapReduce 是构建于阿里云 ECS 弹性虚拟机之上,利用开源大数据生态系统,包括 Hadoop、Spark、Kafka、Storm,为用户提供集群、作业、数据等管理的一站式大数据处理分析服务。 2. 产品优势3. 产品功能4. 应用场景4.1 离线数据处理4.2 Ad hoc数据分析4.3 海量数据在线服务4.4 流式数据处理 阅读详情

摘要: 近些年来机器学习中的子领域深度学习成为一个热门的话题。本文要介绍Intel开源的深度学习框架BigDL,它也是在Spark上的一个算法库,提供了全面的深度学习算法支持,包括数值计算(Tensor)和高阶神经网络等。

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

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

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

BigDL的使用场景

BigDL可能使用在下列场景中:

  1. 直接在Hadoop或Spark平台上使用深度学习进行大数据分析,同时数据是存储在HDFS、HBase、Hive等文件系统或数据库上;
  2. 希望在Spark程序或工作流中加入深度学习功能;
  3. 利用现有的 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了。

  1. 通过SSH登录EMR Master节点,参考EMR文档
  2. 环境准备(我们假设EMR环境上的Spark是2.0.x)
    1. 下载并安装Maven
    2. 因为BigDL所在的Maven库需要用HTTPS连接,为了让OpenJDK支持,需要额外安装包:sudo yum install nss
  3. 参考BigDL build文档编译:
    1. git clone https://github.com/intel-analytics/BigDL.git
    2. cd BigDL
    3. bash make-dist.sh -P spark_2.0

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

运行一个BigDL的样例

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

  1. 数据准备,从http://yann.lecun.com/exdb/mnist/下载训练模型数据和测试数据特征文件以及label文件,并且解压缩放到本地的./data/mnist目录
  2. 创建模型的checkpoint目录./model/lenet_model
  3. 训练:
./dist/bin/bigdl.sh -- \
spark-submit \
--master yarn \
--executor-cores 2 \
--total-executor-cores 16 \
--driver-class-path dist/lib/bigdl-0.2.0-SNAPSHOT-jar-with-dependencies.jar \
--class com.intel.analytics.bigdl.models.lenet.Train \
dist/lib/bigdl-0.2.0-SNAPSHOT-jar-with-dependencies.jar \
-f ./data/mnist \
-b 128 \
--checkpoint ./model/lenet_model > traing.log

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

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

最后,测试训练结果:

./dist/bin/bigdl.sh -- \
spark-submit \
--master yarn \
--executor-cores 2 \
--total-executor-cores 16 \
--class com.intel.analytics.bigdl.models.lenet.Test \
dist/lib/bigdl-0.2.0-SNAPSHOT-jar-with-dependencies.jar \
-f ./data/mnist \
--model ./model/lenet_model \
-b 128 > test.log

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

这是某次使用Lenet-5训练MNIST的结果:
_2017_04_05_18_02_18

_2017_04_05_18_02_26

总结

本文是深度学习框架BigDL的入门介绍,目的是在EMR上运行一个真实的深度学习算法。当然,你看可以基于BigDL框架实现自己的深度学习算法,或者使用EMR notebook(Apache Zeppelin或交互式工作台)直接使用分析和训练模型。你可以关注E-MapReduce产品博客获取更多的Spark和BigDL实践文章。

产业园区运营负责人如何实现创新资源的系统化配置?.docx 产业园区运营负责人如何实现创新资源的系统化配置? 立即下载

相关推荐

状态估计【扩展卡尔曼滤波算法的神经网络训练】BP神经网络、扩展卡尔曼滤波EKF+BP、粒子滤波PF轨迹估计研究(Matlab代码实现)

【状态估计】【扩展卡尔曼滤波算法的神经网络训练】BP神经网络、扩展卡尔曼滤波EKF+BP、粒子滤波PF轨迹估计研究(Matlab代码实现)内容概要:本文主要介绍了基于变频控制的多相交错LLC谐振变换器闭环仿真研究,重点探讨了多相交错并联技术在降低输出电流纹波和提升功率容量方面的优势,分析了交错角对纹波抵消的影响以及均流问题的成因。针对变频控制带来的非线性特性,文章采用扩展描述函数(EDF)建立小信号模型,用于指导PID控制器的设计,并验证其在稳态和动态工况下的控制性能。通过Simulink仿真平台对闭环系统进行建模与测试,考察了启动过程、负载阶跃响应及频率调节的平滑性,结果表明所设计的控制系统具有良好的稳态精度和动态响应能力。; 适合人群:电力电子、电气工程及其自动化等相关专业的高校师生及从事电源系统研发的工程技术人员。; 使用场景及目标:①掌握多相交错LLC谐振变换器的工作原理与建模方法;②学习变频控制下非线性系统的建模与PID环路设计技巧;③应用于高效率、低纹波开关电源的仿真设计与优化。; 阅读建议:建议结合文中提供的仿真模型与参数设置进行实践操作,重点关注EDF建模过程与控制器参数整定方法,通过对比不同交错角下的仿真结果加深对纹波抑制机理的理解。

阿里云E-MapReduce数据源扩展库指南

阿里云E-MapReduce数据源扩展库指南 1. 项目介绍 阿里云E-MapReduce数据源扩展库(aliyun-emapreduce-datasources)是为了在Spark和Hadoop运行时环境下支持与阿里云基础服务的交互而设计的。该项目提供了对OSS、ODPS、LogService、ONS等服务的数据读写功能,增强了大数据处理的灵活性。通过这个库,开发者可以轻松地将阿里云的服务集成到...

gitblog_00183的博客 358

ST-CNN实战:用Python实现交通流量预测(附完整代码)

本文详细介绍了如何利用时空卷积神经网络(ST-CNN)进行交通流量预测的实战过程。通过Python和PyTorch,从数据预处理、构建邻接矩阵,到ST-CNN核心模块的代码实现与模型训练,提供了完整的解决方案,帮助开发者掌握处理时空序列数据的核心算法。

rust6ferris的博客 928

阿里云计算能力实现多项突破 BigBench规模全球首次被拓展至100TB

10月12日,阿里巴巴集团副总裁周靖人在云栖大会上发布了阿里云在大数据计算能力上的新突破:将BigBench数据规模扩展到100T;流计算2.0每秒峰值达千万QPS,整体链路延时亚秒级;E-MapReduce对比同类产品平均性能提升3倍。 周靖人说,数据是机器智能创新的基础,拥有充沛的计算能力才能全面释放数据的价值。我们希望通过不断的释放阿里云的计算红利,帮助开发者抓住更多市

程序猿 570

IEEE802.11bf: WLAN Sensing Standard

下表为IEEE802.11bf 定义的使用情境 (Use Cases)

qinsd19的博客 1058

LightRAG实战:5分钟快速搭建一个轻量级法律问答系统(附完整代码)

本文通过实战指南,详细介绍了如何使用LightRAG技术快速搭建一个轻量级法律问答系统。该方案通过构建扁平化实体关系网络和混合检索策略,在5分钟内即可完成从环境准备到智能问答的完整流程,并附有完整代码,为中小团队和个人开发者提供了高效、低成本的AI应用解决方案。

time3的博客 279

深度解析BigDL深度学习框架

作者:本文来源于Intel官网 编译:孙浩峰 责任编辑:孙浩峰 技术之路,一起进步,云计算、大数据、人工智能、运维、安全等方面的干货文章,欢迎投稿。 投稿信箱:sunhf@youkuaiyun.com BigDL是一种基于Apache Spark的分布式深度学习框架。通过BigDL,开发者可以使用Scala或Python语言编写深度学习应用程序,并可以充分发挥Spark群集在可扩展方面的强大能力。这篇文章主...

科技峰行者的博客 6494

LTspice仿真报错Timestep too small?5种实测有效的解决方法(附详细参数配置)

本文针对LTspice仿真中常见的“Timestep too small”报错,提供了5种经过实测有效的解决方案。从理解错误根源入手,详细介绍了调整求解器、仿真参数、优化精度容差、设置初始条件、为理想元件添加寄生参数以及使用高级指令等具体方法,并附有详细的参数配置步骤,帮助工程师快速定位并解决仿真收敛问题,提升电路设计效率。

weixin_29213655的博客 281

BigDL 介绍

BigDL是基于Apache Spark的分布式深度学习框架,借助现有的Spark集群来运行深度学习计算,并简化存储在Hadoop中的大数据集的数据加载。1.1丰富的深度学习支持。模拟Torch之后,BigDL为深入学习提供全面支持,包括数字计算(通过Tensor)和高级神经网络 ; 此外,用户可以使用BigDL将预先训练好的Caffe或Torch模型加载到Spark程序中。1.2极高的性能。为了实

sinat_34233802的博客 4827

FDTD脚本教程——结构的创建

文章目录结构的搭建创建长方体创建柱体多边形柱体(椭)圆柱体圆环柱自定义形状创建surface波导球棱锥 在lumerical中,可以使用脚本进行操作,可在右侧脚本编辑器运行,或者直接在下方shell输入。 结构的搭建 创建长方体 um = 1e-6; nm = 1e-7; addrect; set("name","myRect"); set("material","SiO2 (Glass) - Palik"); set("render type","wireframe"); # 默认是细节渲染,也就是det

战斗果冻的训练中心 2万+

AGV路径规划实战:如何用Python+ROS实现激光SLAM导航(附避障代码)

本文提供了一份基于Python和ROS实现AGV激光SLAM导航的实战指南。内容涵盖从Docker环境搭建、激光雷达数据处理、Gmapping建图,到Move_Base全局/局部路径规划与TEB局部规划器配置的全流程。重点解析了如何通过参数调优实现稳定导航,并附带了紧急避障代码,帮助开发者快速构建具备自主路径规划与实时避障能力的AGV系统。

pepsi的博客 1235

深度学习开源项目

1.掌握深度学习图像处理(基于keras、tensorflow、opencv) 2.掌握web前后端设计(基 于flask框架) 3.开发基于web端的深度学习图像,把web端应用与人工智能相结合 各位同学,代码开源了,欢迎star,https://github.com/gdit-ai/deep-learning-of-web 欢迎加入人工智能算法应用开发,群号码:971601256 视频教程: https://edu.youkuaiyun.com/course/detail/28400/391614?pre_view

风口上的传奇 1127

基于Simulink进行微电网中DC-DC变换器的仿真建模

微电网:包括可再生能源发电设备、储能系统和负载,可以独立于大电网运行,也可以并网运行。重要性提高能源可靠性:通过本地化供电减少对外部电网的依赖。促进可再生能源利用:支持高效整合多种可再生能源。挑战多源管理:不同类型的能源产生方式各异,需设计灵活的电源管理系统。能量转换效率:需要高效的能量转换装置来确保能源的有效利用。首先明确要模拟的任务内容。设计一个能够在不同输入条件下为微电网提供稳定输出电压的DC-DC变换器。根据微电网的工作状态调整控制策略以维持最佳性能。

amy_mhd的博客 156

Apache Spark + Intel Analytics Zoo 进行深度学习

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

weixin_33913377的博客 732

MATLAB - ROS 2 工具箱入门教程

ROS 工具箱提供了一个连接 MATLAB® 和 Simulink® 与机器人操作系统(ROS 和 ROS 2)的接口。利用该工具箱,您可以设计 ROS 节点网络,并将 MATLAB 或 Simulink 生成的 ROS 节点与现有的 ROS 网络相结合。工具箱包括 MATLAB 函数和 Simulink 块,可通过记录、导入和回放 rosbag 文件来可视化和分析 ROS 数据。您还可以连接到实时 ROS 网络,访问 ROS 消息。

机器人控制与仿真应用 3068

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

开源大数据周刊-第45期

摘要: 阿里云E-MapReduce实践 云HBase助力物联网建设 物联网最大的特点写入量大,要求延迟低,且数据存量巨大。云HBase非常满足物联网存储需求,存储数P甚至百P的空间存储需求,延迟稳定在数毫秒之内,跟Hadoop分析体系有较为深入的结合,满足分析类的需求。阿里云E-MapReduce实践云HBase助力物联网建设物联网最大的特点写入量大,要求延迟低,且数据存量巨大。云HBase非常...

weixin_33937778的博客 83

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

开源大数据周刊-第38期

摘要: 本期关注:梨视频基于阿里云E-MapReduce搭建视频推荐系统的实践,Apache Eagle成为新的顶级项目,英特尔开源的分布式深度学习库BigDL,Hadoop 3.0新功能测评 阿里云E-Mapreduce动态 E-MapReduce 2.3.1镜像版本(已发布) 基础镜像CentOS 6.5内核版本升级到2.6.32-642支持Hadoop YARN J

云栖技术精粹 221

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

GitHub源码|hadoop文件上传下载&MapReduce

hadoop使用前言上传列出目录文件下载单词统计 前言 源码配合上一篇文章的bug填坑效果更佳 GitHub源码链接 上传 上传接口: localhost:7000/upload 上传结果: 列出目录文件 列出文件接口 localhost:7000/list 下载 下载接口,这里没有html,直接PostMan模拟 localhost:7000/download 单词统计 单词统计接口 localhost:7000/count ...

legendaryhaha的博客 390

Spark上的深度学习框架BigDL 介绍

网址:https://github.com/intel-analytics/BigDL BigDL: Distributed Deep Learning Library for Apache Spark https://bigdl-project.github.io/ BigDL是基于Apache Spark的分布式深度学习框架,借助现有的Spark集群来运行深度学习计

图特摩斯科技-博客 3733

Intel BIGDL 探索

为什么80%的码农都做不了架构师?>>> ...

weixin_34416754的博客 202

基于深度学习方法的语音识别研究(二)

  前一篇博客讲了关于如何利用DNN的方法进行语音声学模型的研究,今天这篇博客讲解关于如何利用LSTM的方法进行语音声学模型的研究,不多说,直接上代码,欢迎小伙伴留言,由于实验室的保密的原因,只提供关键部分的代码,欢迎各位大神批评指正。首先是单层LSTM:# -*- coding : utf-8 -*- #author : zhangwei import tensorflow as tf imp...

Xwei1226的博客 1946

用IDEA开发BigDL——Scala

综述BigDL 是一种面向 Apache Spark* 的分布式深度学习库。用户可以通过 BigDL 将深度学习应用编写为标准的 Spark 程序,可以直接在现有的 Spark 或 Hadoop* 集群上运行。

小博天蝎的博客 1370

BigDL安装和使用指导

 0BigDL Building Guide0.1 Create Ubuntu VMFlavor:4vCPU 8GBMem 40GBDisk0.2 Install AnacondaDownload latest version of Anaconda from:https://www.anaconda.com/download/#linuxNote: choose latest version U...

luckyhaobin的博客 2572

采访|对话英特尔戴金权:BigDL开源一年后 AI飞入寻常百姓家

抢票|本周五早期最惠价格即将结束,敬请关注由O'Reilly和Intel共同举办的AI Conference 2018北京站。编者注:戴金权是英特尔高级首席工程师兼大数据技术全球CTO,并担AI Conference Beijing的联席主席。不知道大家有没有这样的感觉,人工智能、深度学习等领域好像每个星期都能取得某项突破性的学术进展,人工智能时代似乎下一秒就能降临全球,然而回过头来看自己的工作生

OReillyData 1087

MLSQL拥抱BigDL,轻轻松松无编码玩深度学习

前言 原谅我,前半句是真的,后半句是噱头,但是真的很简化了。 MLSQL已经有一个相对来比较完善的Python Runtime,细节可以参看这篇文章,所以玩深度学习是很容易的,不过需要你提供一段tensorflow代码或者项目。 但是我一直认为这应该是高阶用户的使用场景,因为你必须要写一个完整的tf/keras之类的代码,这对使用者的要求还是颇高的(当然,...

allwefantasy的专栏 1042
上一篇: 什么是“对用户友好”---转自王垠http://www.yinwang.org/blog-cn/2012/05/18/user-friendliness
下一篇: 给Java说句公道话---转自王垠http://www.yinwang.org/blog-cn/2016/01/18/java
github_zwl
博客等级 码龄11年 300粉丝 171原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值