异类框架BigDLTensorFlow的潜在杀器!.docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《异类框架BigDLTensorFlow的潜在杀器!.docx》由会员分享,可在线阅读,更多相关《异类框架BigDLTensorFlow的潜在杀器!.docx(11页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、异类框架BigDL,TensorFlow的潜在杀器!11月30日,2021亚马逊云科技re:Invent全球大会,即将浩大开启!2021re:Invent十周年度十分活动,内容的饕餮盛宴,涵盖产品、行业、社区等专题!立即预约|NanditaDwivedi译者|风车云马责编|Jane出品|AI科技大本营idrgznai100【导读】你能利用现有的Spark集群构建深度学习模型吗怎样分析存储在HDFS、Hive以及HBase中tb级的数据吗企业想用深度学习模型可是要考虑的问题又很多怎么破这篇文章中我们将给大众说说大数据深度学习下BigDL框架的利弊与应用教程为什么有了TF、PyTorch还是会考虑
2、用BigDL为什么要讲BigDL这几年度曾被称为“3S因其简单、快速并支持深度学习的ApacheSpark非常流行。许多公司利用Hadoop以及Spark环境来构建强大的数据处理pipeline对分布式集群上的大量数据进展预处理并从中挖掘出业务提升的新观点。如今许多公司都祈望能利用深度学习的模型帮助自己进一步改善业务。固然深度学习模型的性能在不断进步但是想要在现有的平台上部署新技术也还有很多问题需要权衡比方1假如用深度学习的方法还可以利用原有的pipeline吗2当深度学习遇到大规模数据集时“大规模深度学习怎样能保证其有效性3基于现有的Spark/Hadoop集群是否可以用为什么要权衡这些问题
3、其实不难理解我们需要保持一致的环境防止大型数据集跨不同集群之间的传递。此外从现有的根底设施中挪动专有数据集也有平安风险与隐患。早期时解决这些问题的方法是在Spark上直接参加深度学习框架但并不能保证保持它们之间的一致性因此后来产生了基于Spark的BigDL平台其继承了3S的主要特点简单、快速、支持深度学学习。提到BigDL框架也许大众对他的熟悉度不高下面我们就先为大众简单的介绍一下什么是BigDL框架。BigDL是一个分布式的深度学习框架在大数据分析领域开展迅速并且也是一个开源的框架。BigDL有很多特点比方与Spark以及Hadoop生态系统进展了完好集成具有可拓展性等很多重要的功能。可根
4、据数据大小在任意集群中训练模型、支持构建端到端的大数据分析与深度学习等pipeline、可执行数据并行分布式训练实现高可扩展性。BigDL用户可在Spark以及大数据平台上构建了大量数据分析与深度学习的应用如视觉相似性、参数同步、比例缩放等。深度学习应用程序可以编写为标准的spark库。这些Spark框架中统一的库可以读取大量数据。此外它还支持Numpy、Scipy、NLTK、Pandas等Python库与TensorBoard集成用于可视化分析支持加载现有的Torch模型。企业客户使用BigDL以及Spark还有一个重要的原因相比TensorFlowBigDL不仅更快通过并行计算它可以更快地
5、重新训练模型。共享一位网友对BigDL的总结BigDL相对于其他主流的深度学习框架(TensorFlow/Caffe/PyTorch)算是一个异类。其异有二1CPU、2纯分布式(Spark)固然业界普遍不看好CPU跑深度学习但实际上还是有需求的。比方现有Hadoop集群的公司复用现有集群来跑深度学习是最经济的方案。并且充分优化后的CPU集群的性能还是挺可观的。拿BigDL来讲MKL多线程Spark充分发挥了分布式集群的优势。尤其是在Inference方面堆CPU的方案在性价比上很可能是优于GPU的毕竟Nivdia的计算卡是很昂贵的。另外数据挖掘和InformationRetrieval等领域中
6、常用的神经网络构造一般都比拟浅多为稀疏网络也很少用到卷积层。GPU并不特别擅长处理这样的网络构造。考虑到实际的消费环境跑在Spark上的BigDL背后有整个Spark/Hadoop大生态的支持。配合近期很火的SMACK技术栈可以很轻松愉快的构建端到端的消费级别的分布式机器学习流水线。由于没有异构集群数据传输的开销从端到端这个层面来看CPU方案的性能反而可能占优。最后谈谈可用性BigDL工程正在快速的迭代中。语言层面支持Scala/Python。API方面有torch.nn风格的SequenialAPI也有TensorFlow风格的GraphAPI和正在开发的kerasAPI。Layer库也很齐
7、全自定义Layer也很方便。兼容性方面BigDL兼容了Caffe/Torch/Keras和局部TensorFlow模型。换言之你可以把用TF/Caffe训练的模型导入BigDL做Inference。反之亦可。这是一个非常有用的Feature。综上BigDL固然并不主流但在很多场景下是有成为大杀器潜质的包括但不限于已有大规模分布式集群的(如:Hadoop集群)需要大规模Inference的比方推荐系统、搜索系统、广告系统 (上下游)依赖Spark/Hadoop生态的轻度深度学习使用者如数据研发工程师/数据挖掘工程师Scala/JVM爱好者AlfredXXfiTTss:/zhihu/questio
8、n/54604301/answer/338630738AnalyticsZoo分析库以及Python生态系统中庞大的标准或者三方库相比Spark明显还处于起步阶段。Keras、TensorFlow以及PyTorch等大多数库都还不能与Spark兼容因为它们不支持Spark分布式计算的底层核心框架。那要怎样弥补这一缺乏呢这里为大众介绍一个英特尔开发的分析工具AnalyticsZoo它提供了一组丰富的高级API可以将BigDL、Keras以及TensorFlow程序无缝集成到Spark的pipeline中还有几个内置的深度学习模型可用于对象检测、图像分类、文本分类等。该库还提供端到端的参考用例如异
9、常检测、欺诈检测以及图像增强以将机器学习应用于实际问题。为了帮助大众能更详细、实际的理解这个工具的一些功能与用法下面共享一个关于BigDL以及AnalyticsZoo的简短教程向大众展示怎样使用预先训练好的模型实现迁移学习并在Spark集群上进展训练。教程理论数据集ResNet-50包含蚂蚁以及蜜蜂图像的小数据集来实现迁移学习。预训练模型可以将给定的图像在1000个标签中进展分类模型训练与预测特定用例通过迁移学习重新训练模型对包含蚂蚁以及蜜蜂的训练集进展预测。BigDL以及AnalyticsZoo支持在Spark的分布式框架上进展训练。注意最初的ResNet-50标签中没有“蚂蚁以及“蜜蜂。使
10、用pip即可安装BigDL以及AnalyticsZoo如下所示#forPython3pip3installBigDLpip3installanalytics-zoo安装之后在开场之前先下载ResNet50的预训练模型、训练与测试数据集。数据包需要解压缩。使用AnalyticsZoo中的init_nncontext函数导入并初始化Spark然后定义预训练模型、训练与测试数据集的途径。importosfrombigdl.nn.criterionimport*frombigdl.nn.layerimport*frombigdl.optim.optimizerimportAdamfrompyspark
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 异类 框架 BigDL TensorFlow 潜在
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内