spark是优秀的分布式计算框架,自己包含了机器学习模块;Keras是抽象的深度学习框架,底层支持对tensorflow或theono等的封装。Spark和Keras在各自的领域都是很是有发展前景的优秀开源框架。python
如何结合二者的优势是一个很是有意思的事情,你们知道在深度学习领域经常使用的开发语言是python,Keras也是基于python开发的,而Spark自己是支持python的,因此显而易见最适合的开发语言就是python。git
这里介绍一款很是优秀的集合keras和spark的开发框架Elephas,它的核心思想是将数据集用RDD来表示,将数据集分红多个分区分别训练,每一个分区的训练做为一个Spark任务在不一样的节点(Worker)运行,对RDD的每一个分区的数据设计Keras模型,并经过Spark的Driver收集各个分区的训练权重参数来更新Keras模型的参数。github
项目地址:http://maxpumperla.com/elephas/框架
Github地址:https://github.com/maxpumperla/elephas机器学习