TensorFlowOnSpark

TensorFlowOnSpark

5501600-01d99c24333b2721.png

TensorFlowOnSpark 支持所有类型的 TensorFlow 程序,可以实现异步和同步的训练和推理。它支持模型并行性和数据的并行处理,以及 TensorFlow 工具(如 Spark 集群上的 TensorBoard)。

任何 TensorFlow 程序都可以轻松地修改为在 TensorFlowOnSpark 上运行。通常情况下,需要改变的 Python 代码少于 10 行。许多 Yahoo 平台使用 TensorFlow 的开发人员很容易迁移 TensorFlow 程序,以便在 TensorFlowOnSpark 上执行。

TensorFlowOnSpark 支持 TensorFlow 进程(计算节点和参数服务节点)之间的直接张量通信。过程到过程的直接通信机制使 TensorFlowOnSpark 程序能够在增加的机器上很轻松的进行扩展。如图 3 所示,TensorFlowOnSpark 不涉及张量通信中的 Spark 驱动程序,因此实现了与独立 TensorFlow 集群类似的可扩展性。

5501600-55baf9c91535760d.png

TensorFlowOnSpark 提供两种不同的模式来提取训练和推理数据:

  1. TensorFlow QueueRunners:TensorFlowOnSpark 利用 TensorFlow 的file readersQueueRunners直接从 HDFS 文件中读取数据。Spark 不涉及访问数据。
  2. Spark Feeding :Spark RDD 数据被传输到每个 Spark 执行器里,随后的数据将通过feed_dict传入 TensorFlow 图。

猜你喜欢

转载自blog.csdn.net/weixin_34234829/article/details/87002774