我正在編寫代碼以在具有16個GPU的32個主機的集羣中運行分佈式同步訓練。在發送給參數服務器之前對主機進行參數平均
我閱讀本教程:https://www.tensorflow.org/versions/r0.8/how_tos/distributed/index.html與此示例代碼:https://github.com/tensorflow/models/tree/master/inception
似乎都建議運行GPU每一個工人,並使用SyncReplicaOptimizer運行同步訓練。
如果我這樣做了,在每一步之後,每個PS將接收來自32 * 16個工作人員的參數子集的梯度,對嗎?
在將平均梯度發送到參數服務器之前,是否可以平均每臺主機中16個GPU的梯度?這樣每個PS只需要接收32組漸變而不是32 * 16。
如果可以做到這一點,是否有示例代碼的地方如何做到這一點?