Graph 分布式tensorflow:图内复制与图内复制的区别
当我阅读tensorflow的官方《如何操作》时,我对这两个概念感到困惑:Graph 分布式tensorflow:图内复制与图内复制的区别,graph,tensorflow,distributed,Graph,Tensorflow,Distributed,当我阅读tensorflow的官方《如何操作》时,我对这两个概念感到困惑:在图形复制中和在图形复制之间 上面的链接说 在图形复制中。在这种方法中,客户端构建一个 包含一组参数的图(在tf.Variable节点中 固定到/作业:ps) 这是否意味着在图形之间的中有多个
在图形复制中
和在图形复制之间
中有多个
s
复制
方法?如果是,中的相应代码在哪里
提供的示例是什么图间复制
示例,但有人能提供一个图间复制
实现(伪代码很好)并突出显示其主要功能
图形复制之间的差异
提前谢谢
工人内部共享以下图形构造代码:
#构建模型…
loss=…
global\u step=tf.变量(0)
(B) 它不应该是计算机密集型部分的多个副本吗
模型,因为我们有多个工作者
来支持多个方面的培训
每台机器上的GPU和图形复制之间的
用于
跨机器训练?我问这个问题是因为
@mrry指出,图形复制中的与方法基本相同
用于
首先,对于某些历史背景,“图内复制”是我们在TensorFlow中尝试的第一种方法,它没有达到许多用户所需的性能,因此更复杂的“图间复制”方法是当前推荐的执行分布式培训的方法。高级库,如
tf.learn
使用“图间”方法进行分布式培训
要回答您的具体问题:
这是否意味着在中间图中有多个
tf.Graph
s
复制方法?如果是,所提供示例中的相应代码在哪里
对。典型的图间复制设置将为每个工作副本使用单独的TensorFlow过程,并且每个过程都将为模型构建单独的tf.graph
。通常每个进程都使用全局默认图(可通过访问),并且它不是显式创建的
(原则上,只要为每个会话配置不同的tf.ConfigProto.device\u过滤器
选项,就可以使用一个TensorFlow进程来处理相同的tf.Graph
和多个共享相同基础图的tf.Session
对象,但这是一种不常见的设置。)tf.learn
和tf Slim,隐藏了这一点(我知道这些问题,并希望我们将来能够提供更好的复制方案。)
“/job:worker/task:0”
,“/job:worker/task:1”
,等等)。首席工作人员可能会创建未在上创建的其他操作(或由)非首席员工使用。然而,在大多数情况下,图形在逻辑上(即模设备分配)是相同的
它不应该是模型计算密集型部分的多个副本吗?因为我们有多个工人
# Build model...
loss = ...