众所周知,TensorFlow分布式运行时使我们能够轻松地在ps和worker之间共享变量。 但我想知道这种情况:
我们在ps:0中声明了变量,但是使用assign_add在worker:0上更新了变量,该op(assign_add)将在其中运行?
我认为TensorFlow中有两种候选方式。
候选人1::由于counter
变量位于ps
节点中,因此工作进程将1
发送给ps,并执行{{1 }}中的 ps 。
候选者2:由于assign_add(1)
是在工作进程中执行的,因此,工作进程从ps中提取了变量assign_add(1)
,并通过运行op {{1}来进行更新},并将其发送回ps。
(另一个问题:候选2中将其发送回ps的最后一步是否是可选的?)
counter
欢迎您的建议,以帮助我更详细地了解分布式Tensorflow:)