雅虎宣布开源一个名为TensorFlowOnSpark的项目,支持对Apache Spark集群进行分布式TensorFlow训练和推断。TensorFlowOnSpark的开源代码已经在GitHub上发布。
Apache Spark是一个用于处理大数据的开源框架,旨在提高并行计算的效率。Netflix就是用它来处理大量的用户数据,以提供个性化推荐。Spark它和机器学习密不可分,目前流行的深度学习算法更是特别依赖于庞大的数据量。
雅虎可以说是Spark社区的模范成员,去年,他们开源了CaffeOnSpark,刚刚开源的TensorFlowOnSpark原理几乎和它完全相同,只是换了个更流行的深度学习框架。
在开发TensorFlowOnSpark之前,雅虎的工程师们为了吧TensorFlow和Spark结合起来,尝试了SparkNet、TensorFrame等现有的工具,但最终还是决定自己做一个。
这个开源项目的介绍中为它列出了如下优点:
▪ 很容易将现有的TensorFlow项目迁移过来,只需要不到10行的代码;
▪ 支持所有TensorFlow功能:同步/异步训练,模型/数据并行,推理和TensorBoard;;
▪ 在能实现服务器到服务器的直接通信是,可以更快的学习;
▪ 允许由Spark推送或由TensorFlow拉取分布式文件系统(HDFS)和其他源上的数据集;
▪ 轻松和你现有的数据处理通道和机器学习算法(如MLlib,CaffeOnSpark)整合在一起;
▪ 轻松在云上或内部部署:支持CPU和GPU,以太网和Infiniband。