Intel开源了基于Apache Spark的分布式深度学习框架BigDL

简介:

Intel开源了基于Apache Spark的分布式深度学习框架BigDL。BigDL借助现有的Spark集群来运行深度学习计算,并简化存储在Hadoop中的大数据集的数据加载。

在Xeon服务器上运行的测试结果表明,BigDL比其他开源框架Caffe、Torch和TensorFlow有显著的性能提升。BigDL速度可与主流GPU匹敌,而且能够扩展到数十个Xeon服务器。

BigDL库支持Spark 1.5、1.6和2.0版本,并容许将深度学习嵌入在现有的Spark程序中。BigDL库中有把Spark RDDs转换为BigDL DataSet的方法,并且可以直接与Spark ML Pipelines一起使用。

对于模型训练,BigDL使用了在多个执行器中执行单个Spark任务的同步小批量SGD(Stochastic Gradient Descent)。每个执行器运行一个多线程引擎并处理一部分微批次数据。在当前版本中,所有的训练和验证数据都存储到存储器中。

BigDL使用Scala开发,并参考了Torch的模型。像Torch一样,它有一个使用Intel MKL库进行计算的Tensor类。Intel MKL(Math Kernel Library)是由一系列为计算优化过的小程序所组成的库,这些小程序从FFT(快速傅立叶变换)到矩阵乘法均有涉及,常用于深度学习模型训练。Module是另一个从Torch借鉴而来的概念,它的灵感来自Torch的nn package。Module代表单独的神经网络层、Table和Criterion。

BigDL提供了一个AWS EC2镜像和一些示例,比如使用卷积神经网络进行文本分类,还有图像分类以及如何将在Torch或Caffe中预训练过的模型加载到Spark中进行预测计算。来自社区的请求主要包括提供对Python的支持和MKL-DNN(MKL的深度学习扩展)。

本文转自d1net(转载)

相关文章
|
7月前
|
分布式计算 大数据 数据处理
Apache Spark:提升大规模数据处理效率的秘籍
【4月更文挑战第7天】本文介绍了Apache Spark的大数据处理优势和核心特性,包括内存计算、RDD、一站式解决方案。分享了Spark实战技巧,如选择部署模式、优化作业执行流程、管理内存与磁盘、Spark SQL优化及监控调优工具的使用。通过这些秘籍,可以提升大规模数据处理效率,发挥Spark在实际项目中的潜力。
544 0
|
7月前
|
分布式计算 Hadoop 大数据
大数据技术与Python:结合Spark和Hadoop进行分布式计算
【4月更文挑战第12天】本文介绍了大数据技术及其4V特性,阐述了Hadoop和Spark在大数据处理中的作用。Hadoop提供分布式文件系统和MapReduce,Spark则为内存计算提供快速处理能力。通过Python结合Spark和Hadoop,可在分布式环境中进行数据处理和分析。文章详细讲解了如何配置Python环境、安装Spark和Hadoop,以及使用Python编写和提交代码到集群进行计算。掌握这些技能有助于应对大数据挑战。
740 1
|
1月前
|
分布式计算 Java 开发工具
阿里云MaxCompute-XGBoost on Spark 极限梯度提升算法的分布式训练与模型持久化oss的实现与代码浅析
本文介绍了XGBoost在MaxCompute+OSS架构下模型持久化遇到的问题及其解决方案。首先简要介绍了XGBoost的特点和应用场景,随后详细描述了客户在将XGBoost on Spark任务从HDFS迁移到OSS时遇到的异常情况。通过分析异常堆栈和源代码,发现使用的`nativeBooster.saveModel`方法不支持OSS路径,而使用`write.overwrite().save`方法则能成功保存模型。最后提供了完整的Scala代码示例、Maven配置和提交命令,帮助用户顺利迁移模型存储路径。
|
2月前
|
分布式计算 大数据 Apache
利用.NET进行大数据处理:Apache Spark与.NET for Apache Spark
【10月更文挑战第15天】随着大数据成为企业决策和技术创新的关键驱动力,Apache Spark作为高效的大数据处理引擎,广受青睐。然而,.NET开发者面临使用Spark的门槛。本文介绍.NET for Apache Spark,展示如何通过C#和F#等.NET语言,结合Spark的强大功能进行大数据处理,简化开发流程并提升效率。示例代码演示了读取CSV文件及统计分析的基本操作,突显了.NET for Apache Spark的易用性和强大功能。
50 1
|
4月前
|
分布式计算 资源调度 Shell
如何开始使用Spark框架?
【8月更文挑战第31天】如何开始使用Spark框架?
74 2
|
4月前
|
SQL 机器学习/深度学习 分布式计算
Spark框架
【8月更文挑战第31天】Spark框架
42 2
|
5月前
|
分布式计算 大数据 Spark
Spark大数据处理:技术、应用与性能优化(全)PDF书籍推荐分享
《Spark大数据处理:技术、应用与性能优化》深入浅出介绍Spark核心,涵盖部署、实战与性能调优,适合初学者。作者基于微软和IBM经验,解析Spark工作机制,探讨BDAS生态,提供实践案例,助力快速掌握。书中亦讨论性能优化策略。[PDF下载链接](https://zhangfeidezhu.com/?p=347)。![Spark Web UI](https://img-blog.csdnimg.cn/direct/16aaadbb4e13410f8cb2727c3786cc9e.png#pic_center)
155 1
Spark大数据处理:技术、应用与性能优化(全)PDF书籍推荐分享
|
4月前
|
分布式计算 Hadoop 大数据
大数据处理框架在零售业的应用:Apache Hadoop与Apache Spark
【8月更文挑战第20天】Apache Hadoop和Apache Spark为处理海量零售户数据提供了强大的支持
66 0
|
4月前
|
分布式计算 Serverless 数据处理
EMR Serverless Spark 实践教程 | 通过 Apache Airflow 使用 Livy Operator 提交任务
Apache Airflow 是一个强大的工作流程自动化和调度工具,它允许开发者编排、计划和监控数据管道的执行。EMR Serverless Spark 为处理大规模数据处理任务提供了一个无服务器计算环境。本文为您介绍如何通过 Apache Airflow 的 Livy Operator 实现自动化地向 EMR Serverless Spark 提交任务,以实现任务调度和执行的自动化,帮助您更有效地管理数据处理任务。
218 0
|
5月前
|
分布式计算 Apache Spark

推荐镜像

更多