簡短版本:我們不能將變量存儲在其中一個工作者中而不使用參數服務器嗎?在分佈式張量流學習中使用參數服務器的原因是什麼?
長版本: 我想在張量流中實現神經網絡的同步分佈式學習。我希望每位工作人員在培訓期間都有完整的模型副本。
我讀過distributed tensorflow tutorial和code of distributed training imagenet並沒有得到爲什麼我們需要參數服務器。
我看到它們用於存儲變量的值,而replica_device_setter注意變量在參數服務器之間均勻分佈(可能它做了更多的事情,我無法完全理解代碼)。
問題是:爲什麼我們不使用其中一個工人來存儲變量?我會做到這一點,如果我使用的
with tf.device('/job:worker/task:0/cpu:0'):
代替
with tf.device(tf.train.replica_device_setter(cluster=cluster_spec)):
爲Variaibles? 與參數服務器解決方案相比,如果這樣做有缺點嗎?