Tensorflow的图间复制是数据并行性的一个例子吗?

时间:2018-06-20 20:17:42

标签: python tensorflow distributed

我已阅读distributed tensorflow documentationthis answer

根据this,采用数据并行性方法:

  
      
  • 该算法在各个内核之间分配数据。
  •   
  • 每个核心独立地尝试估计相同的参数
  •   
  • 然后,核心之间互相交换其估算,以得出该步骤的正确估算。
  •   

在模型并行性方法中:

  
      
  • 该算法将相同的数据发送到所有内核。
  •   
  • 每个核心负责估计不同的参数
  •   
  • 然后,核心之间相互交换其估计,以得出所有参数的正确估计。
  •   

In-graph replicationBetween-graph replication与这些方法有何关系?

This article说:

  

例如,可以并行训练网络中的不同层   在不同的GPU上。这种训练程序通常称为“模型   TensorFlow中的“并行性”(或“图形复制”)   文档)。

并且:

  

在“数据并行性”(或“图之间复制”)中,   TensorFlow文档),您为每个设备使用相同的模型,   但要使用不同的训练样本在每个设备中训练模型。

那么准确吗?

从tensorflow文档页面中的Tensorflow DevSummit video链接中: enter image description here 看起来数据已拆分并分发给每个工作人员。那么In-graph replication是否遵循数据并行性方法?

1 个答案:

答案 0 :(得分:2)

图形内复制和图形间复制与数据并行性和模型并行性没有直接关系。数据并行性和模型并行性是将并行化算法分为两类的术语,如链接的定额答案中所述。但是图内复制和图间复制是在张量流中实现并行性的两种方法。例如,数据并行性可以同时在图形内复制和图形间复制中实现。

就像视频中所示,通过将单个图形的不同部分分配给不同的设备来实现图形内复制。在图间复制中,有多个图并行运行,这是通过使用分布式张量流实现的。