Fix missing model.stride in DP and DDP mode (#683)
Browse files
train.py
CHANGED
@@ -123,6 +123,10 @@ def train(hyp, opt, device, tb_writer=None):
|
|
123 |
epochs += ckpt['epoch'] # finetune additional epochs
|
124 |
|
125 |
del ckpt, state_dict
|
|
|
|
|
|
|
|
|
126 |
|
127 |
# DP mode
|
128 |
if cuda and rank == -1 and torch.cuda.device_count() > 1:
|
@@ -140,10 +144,6 @@ def train(hyp, opt, device, tb_writer=None):
|
|
140 |
if cuda and rank != -1:
|
141 |
model = DDP(model, device_ids=[opt.local_rank], output_device=(opt.local_rank))
|
142 |
|
143 |
-
# Image sizes
|
144 |
-
gs = int(max(model.stride)) # grid size (max stride)
|
145 |
-
imgsz, imgsz_test = [check_img_size(x, gs) for x in opt.img_size] # verify imgsz are gs-multiples
|
146 |
-
|
147 |
# Trainloader
|
148 |
dataloader, dataset = create_dataloader(train_path, imgsz, batch_size, gs, opt, hyp=hyp, augment=True,
|
149 |
cache=opt.cache_images, rect=opt.rect, local_rank=rank,
|
|
|
123 |
epochs += ckpt['epoch'] # finetune additional epochs
|
124 |
|
125 |
del ckpt, state_dict
|
126 |
+
|
127 |
+
# Image sizes
|
128 |
+
gs = int(max(model.stride)) # grid size (max stride)
|
129 |
+
imgsz, imgsz_test = [check_img_size(x, gs) for x in opt.img_size] # verify imgsz are gs-multiples
|
130 |
|
131 |
# DP mode
|
132 |
if cuda and rank == -1 and torch.cuda.device_count() > 1:
|
|
|
144 |
if cuda and rank != -1:
|
145 |
model = DDP(model, device_ids=[opt.local_rank], output_device=(opt.local_rank))
|
146 |
|
|
|
|
|
|
|
|
|
147 |
# Trainloader
|
148 |
dataloader, dataset = create_dataloader(train_path, imgsz, batch_size, gs, opt, hyp=hyp, augment=True,
|
149 |
cache=opt.cache_images, rect=opt.rect, local_rank=rank,
|