简短版本:我们不能将变量存储在其中一个worker中而不能使用参数服务器吗?
长版: 我想在tensorflow中实现神经网络的同步分布式学习.我希望每个工人在培训期间都能获得完整的模型副本.
我已经阅读了分布式tensorflow教程和分布式培训imagenet的代码,但我们不知道为什么我们需要参数服务器.
我看到它们用于存储变量的值,replica_device_setter注意变量在参数服务器之间均匀分布(可能它做了更多的事情,我无法完全理解代码).
问题是:为什么我们不使用其中一个工人来存储变量?如果我使用,我会实现吗?
with tf.device('/job:worker/task:0/cpu:0'):
Run Code Online (Sandbox Code Playgroud)
代替
with tf.device(tf.train.replica_device_setter(cluster=cluster_spec)):
Run Code Online (Sandbox Code Playgroud)
对于变量?如果与使用参数服务器的解决方案相比,这有效吗?