From 2765c990f785df94f0b4b1c8058c68db90061999 Mon Sep 17 00:00:00 2001 From: puhuk Date: Fri, 22 Oct 2021 21:22:02 +0900 Subject: [PATCH 1/5] Add type to default argument To resolve issue #4694 --- references/classification/train.py | 4 ++-- references/detection/train.py | 2 +- references/segmentation/train.py | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/references/classification/train.py b/references/classification/train.py index bae6adea63a..521f98ffcb0 100644 --- a/references/classification/train.py +++ b/references/classification/train.py @@ -386,8 +386,8 @@ def get_args_parser(add_help=True): parser.add_argument("--lr-step-size", default=30, type=int, help="decrease lr every step-size epochs") parser.add_argument("--lr-gamma", default=0.1, type=float, help="decrease lr by a factor of lr-gamma") parser.add_argument("--print-freq", default=10, type=int, help="print frequency") - parser.add_argument("--output-dir", default=".", help="path where to save") - parser.add_argument("--resume", default="", help="resume from checkpoint") + parser.add_argument("--output-dir", default=".", type=str, help="path to save outputs") + parser.add_argument("--resume", default="", type=str, help="path for resume checkpoint from") parser.add_argument("--start-epoch", default=0, type=int, metavar="N", help="start epoch") parser.add_argument( "--cache-dataset", diff --git a/references/detection/train.py b/references/detection/train.py index e86762342cc..c884fcc61cb 100644 --- a/references/detection/train.py +++ b/references/detection/train.py @@ -77,7 +77,7 @@ def get_args_parser(add_help=True): help="weight decay (default: 1e-4)", dest="weight_decay", ) - parser.add_argument("--lr-scheduler", default="multisteplr", help="the lr scheduler (default: multisteplr)") + parser.add_argument("--lr-scheduler", default="multisteplr", type=str, help="name of lr scheduler (default: multisteplr)") parser.add_argument( "--lr-step-size", default=8, type=int, help="decrease lr every step-size epochs (multisteplr scheduler only)" ) diff --git a/references/segmentation/train.py b/references/segmentation/train.py index 73c49b6c543..8b264ac25dd 100644 --- a/references/segmentation/train.py +++ b/references/segmentation/train.py @@ -244,11 +244,11 @@ def get_args_parser(add_help=True): ) # distributed training parameters parser.add_argument("--world-size", default=1, type=int, help="number of distributed processes") - parser.add_argument("--dist-url", default="env://", help="url used to set up distributed training") + parser.add_argument("--dist-url", default="env://", type=str, help="url used to set up distributed training") return parser if __name__ == "__main__": args = get_args_parser().parse_args() - main(args) + main(args) \ No newline at end of file From 345f528ae02dd4fad2fbb4a9699d8b1dc6795d98 Mon Sep 17 00:00:00 2001 From: puhuk Date: Sat, 23 Oct 2021 00:27:27 +0900 Subject: [PATCH 2/5] Resolve issue #4694 Add missing types on argument parser --- references/classification/train.py | 12 ++++++------ references/detection/train.py | 16 ++++++++-------- references/segmentation/train.py | 14 +++++++------- 3 files changed, 21 insertions(+), 21 deletions(-) diff --git a/references/classification/train.py b/references/classification/train.py index 521f98ffcb0..46b3b257380 100644 --- a/references/classification/train.py +++ b/references/classification/train.py @@ -346,9 +346,9 @@ def get_args_parser(add_help=True): parser = argparse.ArgumentParser(description="PyTorch Classification Training", add_help=add_help) - parser.add_argument("--data-path", default="/datasets01/imagenet_full_size/061417/", help="dataset") - parser.add_argument("--model", default="resnet18", help="model") - parser.add_argument("--device", default="cuda", help="device") + parser.add_argument("--data-path", default="/datasets01/imagenet_full_size/061417/", type=str, help="dataset path") + parser.add_argument("--model", default="resnet18", type=str, help="model name") + parser.add_argument("--device", default="cuda", type=str, help="device (cuda for GPU use, cpu for not using GPU") parser.add_argument("-b", "--batch-size", default=32, type=int) parser.add_argument("--epochs", default=90, type=int, metavar="N", help="number of total epochs to run") parser.add_argument( @@ -377,7 +377,7 @@ def get_args_parser(add_help=True): ) parser.add_argument("--mixup-alpha", default=0.0, type=float, help="mixup alpha (default: 0.0)") parser.add_argument("--cutmix-alpha", default=0.0, type=float, help="cutmix alpha (default: 0.0)") - parser.add_argument("--lr-scheduler", default="steplr", help="the lr scheduler (default: steplr)") + parser.add_argument("--lr-scheduler", default="steplr", type=str, help="the lr scheduler (default: steplr)") parser.add_argument("--lr-warmup-epochs", default=0, type=int, help="the number of epochs to warmup (default: 0)") parser.add_argument( "--lr-warmup-method", default="constant", type=str, help="the warmup method (default: constant)" @@ -413,7 +413,7 @@ def get_args_parser(add_help=True): help="Use pre-trained models from the modelzoo", action="store_true", ) - parser.add_argument("--auto-augment", default=None, help="auto augment policy (default: None)") + parser.add_argument("--auto-augment", default=None, type=str, help="auto augment policy (default: None)") parser.add_argument("--random-erase", default=0.0, type=float, help="random erasing probability (default: 0.0)") # Mixed precision training parameters @@ -421,7 +421,7 @@ def get_args_parser(add_help=True): # distributed training parameters parser.add_argument("--world-size", default=1, type=int, help="number of distributed processes") - parser.add_argument("--dist-url", default="env://", help="url used to set up distributed training") + parser.add_argument("--dist-url", default="env://", type=str, help="url used to set up distributed training") parser.add_argument( "--model-ema", action="store_true", help="enable tracking Exponential Moving Average of model parameters" ) diff --git a/references/detection/train.py b/references/detection/train.py index c884fcc61cb..d47bae5032a 100644 --- a/references/detection/train.py +++ b/references/detection/train.py @@ -50,10 +50,10 @@ def get_args_parser(add_help=True): parser = argparse.ArgumentParser(description="PyTorch Detection Training", add_help=add_help) - parser.add_argument("--data-path", default="/datasets01/COCO/022719/", help="dataset") - parser.add_argument("--dataset", default="coco", help="dataset") - parser.add_argument("--model", default="maskrcnn_resnet50_fpn", help="model") - parser.add_argument("--device", default="cuda", help="device") + parser.add_argument("--data-path", default="/datasets01/COCO/022719/", type=str, help="dataset path") + parser.add_argument("--dataset", default="coco", type=str, help="dataset name") + parser.add_argument("--model", default="maskrcnn_resnet50_fpn", type=str, help="model name") + parser.add_argument("--device", default="cuda", type=str, help="device (cuda for GPU use, cpu for not using GPU") parser.add_argument( "-b", "--batch-size", default=2, type=int, help="images per gpu, the total batch size is $NGPU x batch_size" ) @@ -92,15 +92,15 @@ def get_args_parser(add_help=True): "--lr-gamma", default=0.1, type=float, help="decrease lr by a factor of lr-gamma (multisteplr scheduler only)" ) parser.add_argument("--print-freq", default=20, type=int, help="print frequency") - parser.add_argument("--output-dir", default=".", help="path where to save") - parser.add_argument("--resume", default="", help="resume from checkpoint") + parser.add_argument("--output-dir", default=".", type=str, help="path where to save") + parser.add_argument("--resume", default="", type=str, help="path for resume checkpoint from") parser.add_argument("--start_epoch", default=0, type=int, help="start epoch") parser.add_argument("--aspect-ratio-group-factor", default=3, type=int) parser.add_argument("--rpn-score-thresh", default=None, type=float, help="rpn score threshold for faster-rcnn") parser.add_argument( "--trainable-backbone-layers", default=None, type=int, help="number of trainable layers of backbone" ) - parser.add_argument("--data-augmentation", default="hflip", help="data augmentation policy (default: hflip)") + parser.add_argument("--data-augmentation", default="hflip", type=str, help="data augmentation policy (default: hflip)") parser.add_argument( "--sync-bn", dest="sync_bn", @@ -122,7 +122,7 @@ def get_args_parser(add_help=True): # distributed training parameters parser.add_argument("--world-size", default=1, type=int, help="number of distributed processes") - parser.add_argument("--dist-url", default="env://", help="url used to set up distributed training") + parser.add_argument("--dist-url", default="env://", type=str, help="url used to set up distributed training") return parser diff --git a/references/segmentation/train.py b/references/segmentation/train.py index 8b264ac25dd..06709eb67ad 100644 --- a/references/segmentation/train.py +++ b/references/segmentation/train.py @@ -201,12 +201,12 @@ def get_args_parser(add_help=True): parser = argparse.ArgumentParser(description="PyTorch Segmentation Training", add_help=add_help) - parser.add_argument("--data-path", default="/datasets01/COCO/022719/", help="dataset path") - parser.add_argument("--dataset", default="coco", help="dataset name") - parser.add_argument("--model", default="fcn_resnet101", help="model") + parser.add_argument("--data-path", default="/datasets01/COCO/022719/", type=str, help="dataset path") + parser.add_argument("--dataset", default="coco", type=str, help="dataset name") + parser.add_argument("--model", default="fcn_resnet101", type=str, help="model name") parser.add_argument("--aux-loss", action="store_true", help="auxiliar loss") - parser.add_argument("--device", default="cuda", help="device") - parser.add_argument("-b", "--batch-size", default=8, type=int) + parser.add_argument("--device", default="cuda", type=str, help="device (cuda for GPU use, cpu for not using GPU") + parser.add_argument("-b", "--batch-size", default=8, type=int, help="size of batch") parser.add_argument("--epochs", default=30, type=int, metavar="N", help="number of total epochs to run") parser.add_argument( @@ -227,8 +227,8 @@ def get_args_parser(add_help=True): parser.add_argument("--lr-warmup-method", default="linear", type=str, help="the warmup method (default: linear)") parser.add_argument("--lr-warmup-decay", default=0.01, type=float, help="the decay for lr") parser.add_argument("--print-freq", default=10, type=int, help="print frequency") - parser.add_argument("--output-dir", default=".", help="path where to save") - parser.add_argument("--resume", default="", help="resume from checkpoint") + parser.add_argument("--output-dir", default=".", type=str, help="path where to save") + parser.add_argument("--resume", default="", type=str, help="path for resume checkpoint from") parser.add_argument("--start-epoch", default=0, type=int, metavar="N", help="start epoch") parser.add_argument( "--test-only", From 8f73e4fca4c93b2859420094c4c546ed11e7d578 Mon Sep 17 00:00:00 2001 From: puhuk Date: Sat, 23 Oct 2021 01:32:08 +0900 Subject: [PATCH 3/5] Update with ufmt formatted with ufmt --- references/detection/train.py | 8 ++++++-- references/segmentation/train.py | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/references/detection/train.py b/references/detection/train.py index d47bae5032a..ccab9532310 100644 --- a/references/detection/train.py +++ b/references/detection/train.py @@ -77,7 +77,9 @@ def get_args_parser(add_help=True): help="weight decay (default: 1e-4)", dest="weight_decay", ) - parser.add_argument("--lr-scheduler", default="multisteplr", type=str, help="name of lr scheduler (default: multisteplr)") + parser.add_argument( + "--lr-scheduler", default="multisteplr", type=str, help="name of lr scheduler (default: multisteplr)" + ) parser.add_argument( "--lr-step-size", default=8, type=int, help="decrease lr every step-size epochs (multisteplr scheduler only)" ) @@ -100,7 +102,9 @@ def get_args_parser(add_help=True): parser.add_argument( "--trainable-backbone-layers", default=None, type=int, help="number of trainable layers of backbone" ) - parser.add_argument("--data-augmentation", default="hflip", type=str, help="data augmentation policy (default: hflip)") + parser.add_argument( + "--data-augmentation", default="hflip", type=str, help="data augmentation policy (default: hflip)" + ) parser.add_argument( "--sync-bn", dest="sync_bn", diff --git a/references/segmentation/train.py b/references/segmentation/train.py index 06709eb67ad..7dec1e34027 100644 --- a/references/segmentation/train.py +++ b/references/segmentation/train.py @@ -251,4 +251,4 @@ def get_args_parser(add_help=True): if __name__ == "__main__": args = get_args_parser().parse_args() - main(args) \ No newline at end of file + main(args) From 0b50f308ae5a9fcd76de0e7bee53b45b85c089ce Mon Sep 17 00:00:00 2001 From: puhuk Date: Sat, 23 Oct 2021 02:01:57 +0900 Subject: [PATCH 4/5] Updated with review Updated with review --- references/classification/train.py | 8 +++++--- references/detection/train.py | 6 +++--- references/segmentation/train.py | 10 ++++++---- 3 files changed, 14 insertions(+), 10 deletions(-) diff --git a/references/classification/train.py b/references/classification/train.py index 46b3b257380..16a68bbcb47 100644 --- a/references/classification/train.py +++ b/references/classification/train.py @@ -348,8 +348,10 @@ def get_args_parser(add_help=True): parser.add_argument("--data-path", default="/datasets01/imagenet_full_size/061417/", type=str, help="dataset path") parser.add_argument("--model", default="resnet18", type=str, help="model name") - parser.add_argument("--device", default="cuda", type=str, help="device (cuda for GPU use, cpu for not using GPU") - parser.add_argument("-b", "--batch-size", default=32, type=int) + parser.add_argument("--device", default="cuda", type=str, help="device (Use cuda or cpu Default: cuda)") + parser.add_argument( + "-b", "--batch-size", default=32, type=int, help="images per gpu, the total batch size is $NGPU x batch_size" + ) parser.add_argument("--epochs", default=90, type=int, metavar="N", help="number of total epochs to run") parser.add_argument( "-j", "--workers", default=16, type=int, metavar="N", help="number of data loading workers (default: 16)" @@ -387,7 +389,7 @@ def get_args_parser(add_help=True): parser.add_argument("--lr-gamma", default=0.1, type=float, help="decrease lr by a factor of lr-gamma") parser.add_argument("--print-freq", default=10, type=int, help="print frequency") parser.add_argument("--output-dir", default=".", type=str, help="path to save outputs") - parser.add_argument("--resume", default="", type=str, help="path for resume checkpoint from") + parser.add_argument("--resume", default="", type=str, help="path of checkpoint") parser.add_argument("--start-epoch", default=0, type=int, metavar="N", help="start epoch") parser.add_argument( "--cache-dataset", diff --git a/references/detection/train.py b/references/detection/train.py index ccab9532310..4d1d9a30ab5 100644 --- a/references/detection/train.py +++ b/references/detection/train.py @@ -53,7 +53,7 @@ def get_args_parser(add_help=True): parser.add_argument("--data-path", default="/datasets01/COCO/022719/", type=str, help="dataset path") parser.add_argument("--dataset", default="coco", type=str, help="dataset name") parser.add_argument("--model", default="maskrcnn_resnet50_fpn", type=str, help="model name") - parser.add_argument("--device", default="cuda", type=str, help="device (cuda for GPU use, cpu for not using GPU") + parser.add_argument("--device", default="cuda", type=str, help="device (Use cuda or cpu Default: cuda)") parser.add_argument( "-b", "--batch-size", default=2, type=int, help="images per gpu, the total batch size is $NGPU x batch_size" ) @@ -94,8 +94,8 @@ def get_args_parser(add_help=True): "--lr-gamma", default=0.1, type=float, help="decrease lr by a factor of lr-gamma (multisteplr scheduler only)" ) parser.add_argument("--print-freq", default=20, type=int, help="print frequency") - parser.add_argument("--output-dir", default=".", type=str, help="path where to save") - parser.add_argument("--resume", default="", type=str, help="path for resume checkpoint from") + parser.add_argument("--output-dir", default=".", type=str, help="path to save outputs") + parser.add_argument("--resume", default="", type=str, help="path of checkpoint") parser.add_argument("--start_epoch", default=0, type=int, help="start epoch") parser.add_argument("--aspect-ratio-group-factor", default=3, type=int) parser.add_argument("--rpn-score-thresh", default=None, type=float, help="rpn score threshold for faster-rcnn") diff --git a/references/segmentation/train.py b/references/segmentation/train.py index 7dec1e34027..4f44b5b5c1e 100644 --- a/references/segmentation/train.py +++ b/references/segmentation/train.py @@ -205,8 +205,10 @@ def get_args_parser(add_help=True): parser.add_argument("--dataset", default="coco", type=str, help="dataset name") parser.add_argument("--model", default="fcn_resnet101", type=str, help="model name") parser.add_argument("--aux-loss", action="store_true", help="auxiliar loss") - parser.add_argument("--device", default="cuda", type=str, help="device (cuda for GPU use, cpu for not using GPU") - parser.add_argument("-b", "--batch-size", default=8, type=int, help="size of batch") + parser.add_argument("--device", default="cuda", type=str, help="device (Use cuda or cpu Default: cuda)") + parser.add_argument( + "-b", "--batch-size", default=8, type=int, help="images per gpu, the total batch size is $NGPU x batch_size" + ) parser.add_argument("--epochs", default=30, type=int, metavar="N", help="number of total epochs to run") parser.add_argument( @@ -227,8 +229,8 @@ def get_args_parser(add_help=True): parser.add_argument("--lr-warmup-method", default="linear", type=str, help="the warmup method (default: linear)") parser.add_argument("--lr-warmup-decay", default=0.01, type=float, help="the decay for lr") parser.add_argument("--print-freq", default=10, type=int, help="print frequency") - parser.add_argument("--output-dir", default=".", type=str, help="path where to save") - parser.add_argument("--resume", default="", type=str, help="path for resume checkpoint from") + parser.add_argument("--output-dir", default=".", type=str, help="path to save outputs") + parser.add_argument("--resume", default="", type=str, help="path of checkpoint") parser.add_argument("--start-epoch", default=0, type=int, metavar="N", help="start epoch") parser.add_argument( "--test-only", From cea89ebaa41f7b6f35be722b824b0ad70836e8a4 Mon Sep 17 00:00:00 2001 From: puhuk Date: Sat, 23 Oct 2021 20:17:02 +0900 Subject: [PATCH 5/5] Update type of arguments Add train.py from video_classification, similarity and train_quantization.py --- .../classification/train_quantization.py | 18 +++++++++-------- references/similarity/train.py | 16 +++++++-------- references/video_classification/train.py | 20 ++++++++++--------- 3 files changed, 29 insertions(+), 25 deletions(-) diff --git a/references/classification/train_quantization.py b/references/classification/train_quantization.py index f384be76a62..6e18557fe78 100644 --- a/references/classification/train_quantization.py +++ b/references/classification/train_quantization.py @@ -155,12 +155,14 @@ def get_args_parser(add_help=True): parser = argparse.ArgumentParser(description="PyTorch Quantized Classification Training", add_help=add_help) - parser.add_argument("--data-path", default="/datasets01/imagenet_full_size/061417/", help="dataset") - parser.add_argument("--model", default="mobilenet_v2", help="model") - parser.add_argument("--backend", default="qnnpack", help="fbgemm or qnnpack") - parser.add_argument("--device", default="cuda", help="device") + parser.add_argument("--data-path", default="/datasets01/imagenet_full_size/061417/", type=str, help="dataset path") + parser.add_argument("--model", default="mobilenet_v2", type=str, help="model name") + parser.add_argument("--backend", default="qnnpack", type=str, help="fbgemm or qnnpack") + parser.add_argument("--device", default="cuda", type=str, help="device (Use cuda or cpu Default: cuda)") - parser.add_argument("-b", "--batch-size", default=32, type=int, help="batch size for calibration/training") + parser.add_argument( + "-b", "--batch-size", default=32, type=int, help="images per gpu, the total batch size is $NGPU x batch_size" + ) parser.add_argument("--eval-batch-size", default=128, type=int, help="batch size for evaluation") parser.add_argument("--epochs", default=90, type=int, metavar="N", help="number of total epochs to run") parser.add_argument( @@ -203,8 +205,8 @@ def get_args_parser(add_help=True): parser.add_argument("--lr-step-size", default=30, type=int, help="decrease lr every step-size epochs") parser.add_argument("--lr-gamma", default=0.1, type=float, help="decrease lr by a factor of lr-gamma") parser.add_argument("--print-freq", default=10, type=int, help="print frequency") - parser.add_argument("--output-dir", default=".", help="path where to save") - parser.add_argument("--resume", default="", help="resume from checkpoint") + parser.add_argument("--output-dir", default=".", type=str, help="path to save outputs") + parser.add_argument("--resume", default="", type=str, help="path of checkpoint") parser.add_argument("--start-epoch", default=0, type=int, metavar="N", help="start epoch") parser.add_argument( "--cache-dataset", @@ -234,7 +236,7 @@ def get_args_parser(add_help=True): # distributed training parameters parser.add_argument("--world-size", default=1, type=int, help="number of distributed processes") - parser.add_argument("--dist-url", default="env://", help="url used to set up distributed training") + parser.add_argument("--dist-url", default="env://", type=str, help="url used to set up distributed training") parser.add_argument( "--interpolation", default="bilinear", type=str, help="the interpolation method (default: bilinear)" diff --git a/references/similarity/train.py b/references/similarity/train.py index 4eab5e27188..f2793f551fe 100644 --- a/references/similarity/train.py +++ b/references/similarity/train.py @@ -137,19 +137,19 @@ def parse_args(): parser = argparse.ArgumentParser(description="PyTorch Embedding Learning") - parser.add_argument("--dataset-dir", default="/tmp/fmnist/", help="FashionMNIST dataset directory path") + parser.add_argument("--dataset-dir", default="/tmp/fmnist/", type=str, help="FashionMNIST dataset directory path") parser.add_argument( "-p", "--labels-per-batch", default=8, type=int, help="Number of unique labels/classes per batch" ) parser.add_argument("-k", "--samples-per-label", default=8, type=int, help="Number of samples per label in a batch") - parser.add_argument("--eval-batch-size", default=512, type=int) - parser.add_argument("--epochs", default=10, type=int, metavar="N", help="Number of training epochs to run") - parser.add_argument("-j", "--workers", default=4, type=int, metavar="N", help="Number of data loading workers") - parser.add_argument("--lr", default=0.0001, type=float, help="Learning rate") + parser.add_argument("--eval-batch-size", default=512, type=int, help="batch size for evaluation") + parser.add_argument("--epochs", default=10, type=int, metavar="N", help="number of total epochs to run") + parser.add_argument("-j", "--workers", default=4, type=int, metavar="N", help="number of data loading workers") + parser.add_argument("--lr", default=0.0001, type=float, help="initial learning rate") parser.add_argument("--margin", default=0.2, type=float, help="Triplet loss margin") - parser.add_argument("--print-freq", default=20, type=int, help="Print frequency") - parser.add_argument("--save-dir", default=".", help="Model save directory") - parser.add_argument("--resume", default="", help="Resume from checkpoint") + parser.add_argument("--print-freq", default=20, type=int, help="print frequency") + parser.add_argument("--save-dir", default=".", type=str, help="Model save directory") + parser.add_argument("--resume", default="", type=str, help="path of checkpoint") return parser.parse_args() diff --git a/references/video_classification/train.py b/references/video_classification/train.py index 86c0daf738f..05077754f9a 100644 --- a/references/video_classification/train.py +++ b/references/video_classification/train.py @@ -288,16 +288,18 @@ def parse_args(): parser = argparse.ArgumentParser(description="PyTorch Video Classification Training") - parser.add_argument("--data-path", default="/datasets01_101/kinetics/070618/", help="dataset") - parser.add_argument("--train-dir", default="train_avi-480p", help="name of train dir") - parser.add_argument("--val-dir", default="val_avi-480p", help="name of val dir") - parser.add_argument("--model", default="r2plus1d_18", help="model") - parser.add_argument("--device", default="cuda", help="device") + parser.add_argument("--data-path", default="/datasets01_101/kinetics/070618/", type=str, help="dataset path") + parser.add_argument("--train-dir", default="train_avi-480p", type=str, help="name of train dir") + parser.add_argument("--val-dir", default="val_avi-480p", type=str, help="name of val dir") + parser.add_argument("--model", default="r2plus1d_18", type=str, help="model name") + parser.add_argument("--device", default="cuda", type=str, help="device (Use cuda or cpu Default: cuda)") parser.add_argument("--clip-len", default=16, type=int, metavar="N", help="number of frames per clip") parser.add_argument( "--clips-per-video", default=5, type=int, metavar="N", help="maximum number of clips per video to consider" ) - parser.add_argument("-b", "--batch-size", default=24, type=int) + parser.add_argument( + "-b", "--batch-size", default=24, type=int, help="images per gpu, the total batch size is $NGPU x batch_size" + ) parser.add_argument("--epochs", default=45, type=int, metavar="N", help="number of total epochs to run") parser.add_argument( "-j", "--workers", default=10, type=int, metavar="N", help="number of data loading workers (default: 10)" @@ -319,8 +321,8 @@ def parse_args(): parser.add_argument("--lr-warmup-method", default="linear", type=str, help="the warmup method (default: linear)") parser.add_argument("--lr-warmup-decay", default=0.001, type=float, help="the decay for lr") parser.add_argument("--print-freq", default=10, type=int, help="print frequency") - parser.add_argument("--output-dir", default=".", help="path where to save") - parser.add_argument("--resume", default="", help="resume from checkpoint") + parser.add_argument("--output-dir", default=".", type=str, help="path to save outputs") + parser.add_argument("--resume", default="", type=str, help="path of checkpoint") parser.add_argument("--start-epoch", default=0, type=int, metavar="N", help="start epoch") parser.add_argument( "--cache-dataset", @@ -360,7 +362,7 @@ def parse_args(): # distributed training parameters parser.add_argument("--world-size", default=1, type=int, help="number of distributed processes") - parser.add_argument("--dist-url", default="env://", help="url used to set up distributed training") + parser.add_argument("--dist-url", default="env://", type=str, help="url used to set up distributed training") args = parser.parse_args()