多GPU tensorflow上的批量大小
对于tensorflow keras,如果我使用batch_size=8,并使用tf.distribute.MirroredStrategy()和4个GPU,那么对于培训中的每个步骤,它是否有 (1) 8批,其中每个GPU有2批 或(2)4x8批次,其中每个GPU有8个批次 我以为这是第二个病例。如果我错了,请纠正我。如果是第二种情况,如何跨GPU计算梯度?简单地说是平均数?这是否意味着批量大小为8的4个GPU的算法和精度等于批量大小为32的单个GPU?当然,训练时间会有所不同多GPU tensorflow上的批量大小,tensorflow,tensorflow2.0,Tensorflow,Tensorflow2.0,对于tensorflow keras,如果我使用batch_size=8,并使用tf.distribute.MirroredStrategy()和4个GPU,那么对于培训中的每个步骤,它是否有 (1) 8批,其中每个GPU有2批 或(2)4x8批次,其中每个GPU有8个批次 我以为这是第二个病例。如果我错了,请纠正我。如果是第二种情况,如何跨GPU计算梯度?简单地说是平均数?这是否意味着批量大小为8的4个GPU的算法和精度等于批量大小为32的单个GPU?当然,训练时间会有所不同 谢谢您的帮助。第
谢谢您的帮助。第一个解释是正确的。因此,如果将batch_size设置为8。每个GPU的批大小为2,并根据批大小2执行向前和向后传递。最后,通过平均值合并来自4个GPU的梯度,这相当于在单个GPU上处理batch_size=8 在这里可以找到很好的解释。
第一种解释是正确的。因此,如果将batch_size设置为8。每个GPU的批大小为2,并根据批大小2执行向前和向后传递。最后,通过平均值合并来自4个GPU的梯度,这相当于在单个GPU上处理batch_size=8 在这里可以找到很好的解释。