From ad3e471be568e59e2eb1c038f75c1a5e25cc4aa9 Mon Sep 17 00:00:00 2001 From: Yonghye Kwon Date: Tue, 13 Dec 2022 16:53:37 +0900 Subject: [PATCH 1/4] set seed with parameter Signed-off-by: Yonghye Kwon --- utils/dataloaders.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/utils/dataloaders.py b/utils/dataloaders.py index 6d2b27ea5e60..be8f3a0ade00 100644 --- a/utils/dataloaders.py +++ b/utils/dataloaders.py @@ -115,7 +115,8 @@ def create_dataloader(path, image_weights=False, quad=False, prefix='', - shuffle=False): + shuffle=False, + seed=0): if rect and shuffle: LOGGER.warning('WARNING ⚠️ --rect is incompatible with DataLoader shuffle, setting shuffle=False') shuffle = False @@ -140,7 +141,7 @@ def create_dataloader(path, sampler = None if rank == -1 else distributed.DistributedSampler(dataset, shuffle=shuffle) loader = DataLoader if image_weights else InfiniteDataLoader # only DataLoader allows for attribute updates generator = torch.Generator() - generator.manual_seed(6148914691236517205 + RANK) + generator.manual_seed(seed + RANK) return loader(dataset, batch_size=batch_size, shuffle=shuffle and sampler is None, From d6237ece4b6e0d62559b2670565f05d17f316a63 Mon Sep 17 00:00:00 2001 From: Yonghye Kwon Date: Tue, 13 Dec 2022 17:00:53 +0900 Subject: [PATCH 2/4] make seed to be a large number --- utils/dataloaders.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/utils/dataloaders.py b/utils/dataloaders.py index be8f3a0ade00..302cc3300d35 100644 --- a/utils/dataloaders.py +++ b/utils/dataloaders.py @@ -141,7 +141,7 @@ def create_dataloader(path, sampler = None if rank == -1 else distributed.DistributedSampler(dataset, shuffle=shuffle) loader = DataLoader if image_weights else InfiniteDataLoader # only DataLoader allows for attribute updates generator = torch.Generator() - generator.manual_seed(seed + RANK) + generator.manual_seed(6148914691236517205 + seed + RANK) return loader(dataset, batch_size=batch_size, shuffle=shuffle and sampler is None, From 1ab3fbb0f69f447000783aab59d3bc32c57d14b3 Mon Sep 17 00:00:00 2001 From: Yonghye Kwon Date: Tue, 13 Dec 2022 17:01:39 +0900 Subject: [PATCH 3/4] set seed with a parameter --- utils/segment/dataloaders.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/utils/segment/dataloaders.py b/utils/segment/dataloaders.py index 9de6f0fbf903..d66b36115e3f 100644 --- a/utils/segment/dataloaders.py +++ b/utils/segment/dataloaders.py @@ -37,7 +37,8 @@ def create_dataloader(path, prefix='', shuffle=False, mask_downsample_ratio=1, - overlap_mask=False): + overlap_mask=False, + seed=0): if rect and shuffle: LOGGER.warning('WARNING ⚠️ --rect is incompatible with DataLoader shuffle, setting shuffle=False') shuffle = False @@ -64,7 +65,7 @@ def create_dataloader(path, sampler = None if rank == -1 else distributed.DistributedSampler(dataset, shuffle=shuffle) loader = DataLoader if image_weights else InfiniteDataLoader # only DataLoader allows for attribute updates generator = torch.Generator() - generator.manual_seed(6148914691236517205 + RANK) + generator.manual_seed(6148914691236517205 + seed + RANK) return loader( dataset, batch_size=batch_size, From ac5a82e74ac4a796756f2cf22cb08cc594532c9e Mon Sep 17 00:00:00 2001 From: Yonghye Kwon Date: Tue, 13 Dec 2022 17:02:54 +0900 Subject: [PATCH 4/4] set a seed of dataloader with opt for more randomness --- train.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/train.py b/train.py index 8b5446e58f2d..5d75f22b6335 100644 --- a/train.py +++ b/train.py @@ -198,7 +198,8 @@ def train(hyp, opt, device, callbacks): # hyp is path/to/hyp.yaml or hyp dictio image_weights=opt.image_weights, quad=opt.quad, prefix=colorstr('train: '), - shuffle=True) + shuffle=True, + seed=opt.seed) labels = np.concatenate(dataset.labels, 0) mlc = int(labels[:, 0].max()) # max label class assert mlc < nc, f'Label class {mlc} exceeds nc={nc} in {data}. Possible class labels are 0-{nc - 1}'