我正在编写代码以在具有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。
如果可以做到这一点,是否有示例代码的地方如何做到这一点?