作者导读:
随着大数据和AI业务的不断融合,大数据分析和处理过程中,通过深度学习技术对非结构化数据(如图片、音频、文本)的进行大数据处理的业务场景越来越多。本文会介绍Spark如何与深度学习框架进行协同工作,在大数据的处理过程利用深度学习框架对非结构化数据进行处理。
更多优质内容请关注微信公众号“智能数据湖”
01
Spark介绍
Spark是大规模数据处理的事实标准,包括机器学习的操作,希望把大数据处理和机器学习管道整合。
Spark使用函数式编程范式扩展了MapReduce模型以支持更多计算类型,可以涵盖广泛的工作流。Spark使用内存缓存来提升性能,因此进行交互式分析也足够快速(就如同使用Python解释器,与集群进行交互一样)。缓存同时提升了迭代算法的性能,这使得Spark非常适合机器学习。
由于Spark库提供了Python、Scale、Java编写的API,以及内建的机器学习、流数据、图算法、类SQL查询等模块;Spark迅速成为当今最重要的分布式计算框架之一。与YARN结合,Spark提供了增量,而不是替代已存在的Hadoop集群。在最近的Spark版本中,Spark加入了对于K8s的支持,为Spark与AI能力的融合提供了更好的支持。
02
深度学习框架介绍
TensorFlow
TensorFlow 最初是由 Google 机器智能研究部门的 Google Brain 团队开发,基于Google 2011年开发的深度学习基础架构DistBelief构建起来的。由于Google在深度学习领域的巨大影响力和强大的推广能力,TensorFlow一经推出就获得了极大的关注,并迅速成为如今用户最多的深度学习框架。
TensorFlow是一个非常基础的系统,因此也可以应用于众多领域。但由于过于复杂的系统设计,对读者来说,学习TensorFlow底层运行机制更是一个极其痛苦的过程。Tensor