Unverified Commit c2ab0c59 authored by Vasilis Vryniotis's avatar Vasilis Vryniotis Committed by GitHub
Browse files

Make reference scripts compatible with submitit (#3785)

* Add submitit script, partition param and parser on its own method.

* Fix method names, handle add_help correctly and refactoring.

* Delete run_with_submitit.py file
parent 90a6206c
...@@ -224,9 +224,9 @@ def main(args): ...@@ -224,9 +224,9 @@ def main(args):
print('Training time {}'.format(total_time_str)) print('Training time {}'.format(total_time_str))
def parse_args(): def get_args_parser(add_help=True):
import argparse import argparse
parser = argparse.ArgumentParser(description='PyTorch Classification Training') 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('--data-path', default='/datasets01/imagenet_full_size/061417/', help='dataset')
parser.add_argument('--model', default='resnet18', help='model') parser.add_argument('--model', default='resnet18', help='model')
...@@ -291,11 +291,9 @@ def parse_args(): ...@@ -291,11 +291,9 @@ def parse_args():
help='number of distributed processes') 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://', help='url used to set up distributed training')
args = parser.parse_args() return parser
return args
if __name__ == "__main__": if __name__ == "__main__":
args = parse_args() args = get_args_parser().parse_args()
main(args) main(args)
...@@ -13,7 +13,6 @@ from train import train_one_epoch, evaluate, load_data ...@@ -13,7 +13,6 @@ from train import train_one_epoch, evaluate, load_data
def main(args): def main(args):
if args.output_dir: if args.output_dir:
utils.mkdir(args.output_dir) utils.mkdir(args.output_dir)
...@@ -162,9 +161,9 @@ def main(args): ...@@ -162,9 +161,9 @@ def main(args):
print('Training time {}'.format(total_time_str)) print('Training time {}'.format(total_time_str))
def parse_args(): def get_args_parser(add_help=True):
import argparse import argparse
parser = argparse.ArgumentParser(description='PyTorch Classification Training') parser = argparse.ArgumentParser(description='PyTorch Quantized Classification Training', add_help=add_help)
parser.add_argument('--data-path', parser.add_argument('--data-path',
default='/datasets01/imagenet_full_size/061417/', default='/datasets01/imagenet_full_size/061417/',
...@@ -250,11 +249,9 @@ def parse_args(): ...@@ -250,11 +249,9 @@ def parse_args():
default='env://', default='env://',
help='url used to set up distributed training') help='url used to set up distributed training')
args = parser.parse_args() return parser
return args
if __name__ == "__main__": if __name__ == "__main__":
args = parse_args() args = get_args_parser().parse_args()
main(args) main(args)
...@@ -51,7 +51,65 @@ def get_transform(train, data_augmentation): ...@@ -51,7 +51,65 @@ def get_transform(train, data_augmentation):
return presets.DetectionPresetTrain(data_augmentation) if train else presets.DetectionPresetEval() return presets.DetectionPresetTrain(data_augmentation) if train else presets.DetectionPresetEval()
def get_args_parser(add_help=True):
import argparse
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('-b', '--batch-size', default=2, type=int,
help='images per gpu, the total batch size is $NGPU x batch_size')
parser.add_argument('--epochs', default=26, 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 (default: 4)')
parser.add_argument('--lr', default=0.02, type=float,
help='initial learning rate, 0.02 is the default value for training '
'on 8 gpus and 2 images_per_gpu')
parser.add_argument('--momentum', default=0.9, type=float, metavar='M',
help='momentum')
parser.add_argument('--wd', '--weight-decay', default=1e-4, type=float,
metavar='W', help='weight decay (default: 1e-4)',
dest='weight_decay')
parser.add_argument('--lr-step-size', default=8, type=int, help='decrease lr every step-size epochs')
parser.add_argument('--lr-steps', default=[16, 22], nargs='+', 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=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('--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(
"--test-only",
dest="test_only",
help="Only test the model",
action="store_true",
)
parser.add_argument(
"--pretrained",
dest="pretrained",
help="Use pre-trained models from the modelzoo",
action="store_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')
return parser
def main(args): def main(args):
if args.output_dir:
utils.mkdir(args.output_dir)
utils.init_distributed_mode(args) utils.init_distributed_mode(args)
print(args) print(args)
...@@ -147,61 +205,5 @@ def main(args): ...@@ -147,61 +205,5 @@ def main(args):
if __name__ == "__main__": if __name__ == "__main__":
import argparse args = get_args_parser().parse_args()
parser = argparse.ArgumentParser(
description=__doc__)
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('-b', '--batch-size', default=2, type=int,
help='images per gpu, the total batch size is $NGPU x batch_size')
parser.add_argument('--epochs', default=26, 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 (default: 4)')
parser.add_argument('--lr', default=0.02, type=float,
help='initial learning rate, 0.02 is the default value for training '
'on 8 gpus and 2 images_per_gpu')
parser.add_argument('--momentum', default=0.9, type=float, metavar='M',
help='momentum')
parser.add_argument('--wd', '--weight-decay', default=1e-4, type=float,
metavar='W', help='weight decay (default: 1e-4)',
dest='weight_decay')
parser.add_argument('--lr-step-size', default=8, type=int, help='decrease lr every step-size epochs')
parser.add_argument('--lr-steps', default=[16, 22], nargs='+', 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=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('--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(
"--test-only",
dest="test_only",
help="Only test the model",
action="store_true",
)
parser.add_argument(
"--pretrained",
dest="pretrained",
help="Use pre-trained models from the modelzoo",
action="store_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')
args = parser.parse_args()
if args.output_dir:
utils.mkdir(args.output_dir)
main(args) main(args)
...@@ -172,9 +172,9 @@ def main(args): ...@@ -172,9 +172,9 @@ def main(args):
print('Training time {}'.format(total_time_str)) print('Training time {}'.format(total_time_str))
def parse_args(): def get_args_parser(add_help=True):
import argparse import argparse
parser = argparse.ArgumentParser(description='PyTorch Segmentation Training') 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('--data-path', default='/datasets01/COCO/022719/', help='dataset path')
parser.add_argument('--dataset', default='coco', help='dataset name') parser.add_argument('--dataset', default='coco', help='dataset name')
...@@ -215,10 +215,9 @@ def parse_args(): ...@@ -215,10 +215,9 @@ def parse_args():
help='number of distributed processes') 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://', help='url used to set up distributed training')
args = parser.parse_args() return parser
return args
if __name__ == "__main__": if __name__ == "__main__":
args = parse_args() args = get_args_parser().parse_args()
main(args) main(args)
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment