当我们的批量大小为1或2,并且我们有8个GPU时,torch.distributed.launch
如何将数据分配给每个GPU?我将我的模型转换为torch.nn.parallel.DistributedDataParallel
,
model = DistributedDataParallel(model,
device_ids=[args.local_rank],
output_device=args.local_rank,
find_unused_parameters=True,
)
但它在文档中指出DistributedDataParallel:
通过通过在批次维度。
我的问题是,当批量大小小于GPU数量时,它如何处理?
它们没有。与Dataparallel
不同,您设置的批处理大小是按GPU设置的。当您有8个批大小为1的GPU时,您的有效批大小为8。