【发布时间】:2020-08-23 07:04:57
【问题描述】:
对于 tensorflow keras,如果我使用 batch_size=8,并且有 4 个 GPU 的 tf.distribute.MirroredStrategy(),那么对于训练中的每一步,它是否有 (1) 8个batch,其中每个GPU有2个batch 或 (2) 4x8 batch,其中每个 GPU 有 8 个 batch
我以为是第二种情况。如果我错了,请纠正我。如果是第二种情况,那么如何跨 GPU 计算梯度?通过简单的平均?这是否意味着4个batch_size = 8的GPU的算法和准确性等于一个batch_size = 32的GPU?当然,训练时间会有所不同。
感谢您的帮助。
【问题讨论】: