Improved AutoBatch DDP error message (#6568)
* Improved AutoBatch DDP error message * Cleanup
This commit is contained in:
1 parent
b57abb17f2
commit
006eb40ab7
1 file changed
+5
-3
@@ -522,10 +522,12 @@ def main(opt, callbacks=Callbacks()):
|
|||||||
# DDP mode
|
# DDP mode
|
||||||
device = select_device(opt.device, batch_size=opt.batch_size)
|
device = select_device(opt.device, batch_size=opt.batch_size)
|
||||||
if LOCAL_RANK != -1:
|
if LOCAL_RANK != -1:
|
||||||
|
msg = 'is not compatible with YOLOv5 Multi-GPU DDP training'
|
||||||
|
assert not opt.image_weights, f'--image-weights {msg}'
|
||||||
|
assert not opt.evolve, f'--evolve {msg}'
|
||||||
|
assert opt.batch_size != -1, f'AutoBatch with --batch-size -1 {msg}, please pass a valid --batch-size'
|
||||||
|
assert opt.batch_size % WORLD_SIZE == 0, f'--batch-size {opt.batch_size} must be multiple of WORLD_SIZE'
|
||||||
assert torch.cuda.device_count() > LOCAL_RANK, 'insufficient CUDA devices for DDP command'
|
assert torch.cuda.device_count() > LOCAL_RANK, 'insufficient CUDA devices for DDP command'
|
||||||
assert opt.batch_size % WORLD_SIZE == 0, '--batch-size must be multiple of CUDA device count'
|
|
||||||
assert not opt.image_weights, '--image-weights argument is not compatible with DDP training'
|
|
||||||
assert not opt.evolve, '--evolve argument is not compatible with DDP training'
|
|
||||||
torch.cuda.set_device(LOCAL_RANK)
|
torch.cuda.set_device(LOCAL_RANK)
|
||||||
device = torch.device('cuda', LOCAL_RANK)
|
device = torch.device('cuda', LOCAL_RANK)
|
||||||
dist.init_process_group(backend="nccl" if dist.is_nccl_available() else "gloo")
|
dist.init_process_group(backend="nccl" if dist.is_nccl_available() else "gloo")
|
||||||
|
|||||||
Reference in new issue
Block a user