From 5f941a84efdd45c986cd1c3764ced99e7c8e8294 Mon Sep 17 00:00:00 2001 From: Glenn Jocher Date: Thu, 7 Apr 2022 16:44:08 +0200 Subject: [PATCH] Print dataset scan only `if RANK in (-1, 0)` (#7337) * Print dataset scan only `if RANK in (-1, 0)` * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- train.py | 10 +++++----- utils/datasets.py | 3 ++- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/train.py b/train.py index b7f70ab5bea4..d6764116b27c 100644 --- a/train.py +++ b/train.py @@ -316,7 +316,7 @@ def train(hyp, opt, device, callbacks): # hyp is path/to/hyp.yaml or hyp dictio train_loader.sampler.set_epoch(epoch) pbar = enumerate(train_loader) LOGGER.info(('\n' + '%10s' * 7) % ('Epoch', 'gpu_mem', 'box', 'obj', 'cls', 'labels', 'img_size')) - if RANK in [-1, 0]: + if RANK in (-1, 0): pbar = tqdm(pbar, total=nb, bar_format='{l_bar}{bar:10}{r_bar}{bar:-10b}') # progress bar optimizer.zero_grad() for i, (imgs, targets, paths, _) in pbar: # batch ------------------------------------------------------------- @@ -365,7 +365,7 @@ def train(hyp, opt, device, callbacks): # hyp is path/to/hyp.yaml or hyp dictio last_opt_step = ni # Log - if RANK in [-1, 0]: + if RANK in (-1, 0): mloss = (mloss * i + loss_items) / (i + 1) # update mean losses mem = f'{torch.cuda.memory_reserved() / 1E9 if torch.cuda.is_available() else 0:.3g}G' # (GB) pbar.set_description(('%10s' * 2 + '%10.4g' * 5) % @@ -379,7 +379,7 @@ def train(hyp, opt, device, callbacks): # hyp is path/to/hyp.yaml or hyp dictio lr = [x['lr'] for x in optimizer.param_groups] # for loggers scheduler.step() - if RANK in [-1, 0]: + if RANK in (-1, 0): # mAP callbacks.run('on_train_epoch_end', epoch=epoch) ema.update_attr(model, include=['yaml', 'nc', 'hyp', 'names', 'stride', 'class_weights']) @@ -440,7 +440,7 @@ def train(hyp, opt, device, callbacks): # hyp is path/to/hyp.yaml or hyp dictio # end epoch ---------------------------------------------------------------------------------------------------- # end training ----------------------------------------------------------------------------------------------------- - if RANK in [-1, 0]: + if RANK in (-1, 0): LOGGER.info(f'\n{epoch - start_epoch + 1} epochs completed in {(time.time() - t0) / 3600:.3f} hours.') for f in last, best: if f.exists(): @@ -518,7 +518,7 @@ def parse_opt(known=False): def main(opt, callbacks=Callbacks()): # Checks - if RANK in [-1, 0]: + if RANK in (-1, 0): print_args(vars(opt)) check_git_status() check_requirements(exclude=['thop']) diff --git a/utils/datasets.py b/utils/datasets.py index 578e5b829dc0..3fa9aa4c6ca1 100755 --- a/utils/datasets.py +++ b/utils/datasets.py @@ -36,6 +36,7 @@ IMG_FORMATS = 'bmp', 'dng', 'jpeg', 'jpg', 'mpo', 'png', 'tif', 'tiff', 'webp' # include image suffixes VID_FORMATS = 'asf', 'avi', 'gif', 'm4v', 'mkv', 'mov', 'mp4', 'mpeg', 'mpg', 'ts', 'wmv' # include video suffixes BAR_FORMAT = '{l_bar}{bar:10}{r_bar}{bar:-10b}' # tqdm bar format +LOCAL_RANK = int(os.getenv('LOCAL_RANK', -1)) # https://pytorch.org/docs/stable/elastic/run.html # Get orientation exif tag for orientation in ExifTags.TAGS.keys(): @@ -454,7 +455,7 @@ def __init__(self, # Display cache nf, nm, ne, nc, n = cache.pop('results') # found, missing, empty, corrupt, total - if exists: + if exists and LOCAL_RANK in (-1, 0): d = f"Scanning '{cache_path}' images and labels... {nf} found, {nm} missing, {ne} empty, {nc} corrupt" tqdm(None, desc=prefix + d, total=n, initial=n, bar_format=BAR_FORMAT) # display cache results if cache['msgs']: