即使通过Pytorch论坛,我仍然不确定这一个。假设我正在使用Pytorch DDP在同一台机器上的4
gpu上训练模型.
假设我选择批大小为8
。模型是否在理论上每一步都反向传播2
示例,并且我们看到的最终结果是针对使用2
批大小训练的模型,或者模型是否在每一步将梯度收集在一起以从每个GPU获得结果并反向传播8
批大小?
实际的批大小是您提供给每个worker的输入的大小,在您的示例中是8。换句话说,BP每8个例子运行一次。
具体代码示例:https://gist.github.com/sgraaf/5b0caa3a320f28c27c12b5efeb35aa4c#file-ddp_example-py-L63。这是批处理大小。