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



即使通过Pytorch论坛,我仍然不确定这一个。假设我正在使用Pytorch DDP在同一台机器上的4gpu上训练模型.

假设我选择批大小为8。模型是否在理论上每一步都反向传播2示例,并且我们看到的最终结果是针对使用2批大小训练的模型,或者模型是否在每一步将梯度收集在一起以从每个GPU获得结果并反向传播8批大小?

实际的批大小是您提供给每个worker的输入的大小,在您的示例中是8。换句话说,BP每8个例子运行一次。

具体代码示例:https://gist.github.com/sgraaf/5b0caa3a320f28c27c12b5efeb35aa4c#file-ddp_example-py-L63。这是批处理大小。

最新更新