当使用Pytorch在同一台机器上的多个GPU上训练模型时,批处理大小如何划分?

bpzcxfmw  于 2023-01-26  发布在  其他
关注(0)|答案(1)|浏览(147)

即使浏览了Pytorch论坛,我仍然不确定这一个。让我们假设我正在使用Pytorch DDP在同一台机器上的4 GPU上训练一个模型。
假设我选择8的批处理大小,那么模型理论上是每一步都在2示例上反向传播,并且我们看到的最终结果是针对使用2的批处理大小训练的模型,还是模型在每一步都将梯度聚集在一起,以从每个GPU获得结果,然后使用8的批处理大小反向传播?

m1m5dgzv

m1m5dgzv1#

实际批大小是提供给每个工作进程的输入大小,在您的示例中为8。换句话说,BP每运行8个示例。
具体代码示例:https://gist.github.com/sgraaf/5b0caa3a320f28c27c12b5efeb35aa4c#file-ddp_example-py-L63。这是批量大小。

相关问题