def parse_option(): parser = argparse.ArgumentParser('argument for training') # exp name parser.add_argument('--exp-name', type=str, default='exp', help='experiment name, used to determine checkpoint/tensorboard dir') # optimization parser.add_argument('--learning-rate', '--lr', type=float, default=0.003, help='learning rate') parser.add_argument('--weight-decay', type=float, default=5e-4, help='weight decay') parser.add_argument('--momentum', type=float, default=0.9, help='momentum for SGD') # root folders parser.add_argument('--output-root', type=str, default='./output', help='root directory for output') # dataset parser.add_argument('--dataset', type=str, default='cifar10') # resume parser.add_argument('--resume', default='', type=str, metavar='PATH', help='path to latest checkpoint (default: none)') # model definition parser.add_argument('--model-width', type=int, default=1, help='width of resnet, eg, 1, 2, 4') parser.add_argument('--alpha', type=float, default=0.999, help='exponential moving average weight') # loss function parser.add_argument('--nce-k', type=int, default=4096) parser.add_argument('--nce-t', type=float, default=0.3) # misc parser.add_argument('--print-freq', type=int, default=100, help='print frequency') parser.add_argument('--tb-freq', type=int, default=500, help='tb frequency') parser.add_argument('--save-freq', type=int, default=10, help='save frequency') parser.add_argument('--batch-size', type=int, default=32, help='batch_size') parser.add_argument('--num-workers', type=int, default=8, help='num of workers to use') parser.add_argument('--epochs', type=int, default=200, help='number of training epochs') parser.add_argument('--start-epoch', type=int, default=1, help='used for resume') parser.add_argument("--local_rank", type=int) args = parser.parse_args() # set the path according to the environment output_dir = check_dir(os.path.join(args.output_root, args.dataset, args.exp_name)) args.model_folder = check_dir(os.path.join(output_dir, 'models')) args.tb_folder = check_dir(os.path.join(output_dir, 'tensorboard')) return args
def parse_option(): parser = argparse.ArgumentParser('argument for training') parser.add_argument('--print-freq', type=int, default=10, help='print frequency') parser.add_argument('--tb-freq', type=int, default=500, help='tb frequency') parser.add_argument('--save-freq', type=int, default=5, help='save frequency') parser.add_argument('--batch-size', type=int, default=256, help='train batch size') parser.add_argument('--val-batch-size', type=int, default=256, help='valiate batch size') parser.add_argument('--num-workers', type=int, default=8, help='num of workers to use') parser.add_argument('--epochs', type=int, default=100, help='number of training epochs') # optimization parser.add_argument('--learning-rate', type=float, default=3, help='learning rate') parser.add_argument('--lr-decay-epochs', type=int, default=[30, 60, 90], nargs='+', help='where to decay lr, can be a list') parser.add_argument('--lr-decay-rate', type=float, default=0.1, help='decay rate for learning rate') parser.add_argument('--momentum', type=float, default=0.9, help='momentum') parser.add_argument('--weight-decay', type=float, default=0, help='weight decay') parser.add_argument('--adam', action='store_true', help='use adam optimizer') parser.add_argument('--beta1', type=float, default=0.5, help='beta1 for Adam') parser.add_argument('--beta2', type=float, default=0.999, help='beta2 for Adam') # model definition parser.add_argument('--model-width', type=int, default=1, help='width of resnet, eg, 1, 2, 4') parser.add_argument('--layer', type=int, default=6, help='which layer to evaluate') # crop parser.add_argument('--crop', type=float, default=0.08, help='minimum crop') # dataset parser.add_argument('--dataset', type=str, default='cifar10', choices=['imagenet100', 'imagenet', 'cifar10']) # specify folder parser.add_argument('--model-path', type=str, help="model path") parser.add_argument('--output-root', type=str, default='./output', help='root directory for output') parser.add_argument('--data-root', type=str, default='./data', help='root directory of dataset') # experiment name parser.add_argument('--exp-name', type=str, default='exp', help='experiment name') # resume parser.add_argument('--resume', default='', type=str, metavar='PATH', help='path to latest checkpoint (default: none)') # others parser.add_argument('--aug', type=str, default='CJ', choices=['NULL', 'CJ']) parser.add_argument('--bn', action='store_true', help='use parameter-free BN') parser.add_argument('--cosine', action='store_true', help='use cosine annealing') parser.add_argument('-e', '--eval', action='store_true', help='only evaluate') # for DistributedDataParallel parser.add_argument("--local_rank", type=int) args = parser.parse_args() output_dir = check_dir( os.path.join(args.output_root, args.dataset, args.exp_name)) args.model_folder = check_dir(os.path.join(output_dir, 'linear_models')) args.tb_folder = check_dir(os.path.join(output_dir, 'linear_tensorboard')) if args.dataset == 'imagenet100': args.n_label = 100 if args.dataset == 'imagenet': args.n_label = 1000 if args.dataset == 'cifar10': args.n_label = 10 return args
def parse_option(): parser = argparse.ArgumentParser('argument for training') # exp name parser.add_argument( '--exp-name', type=str, default='exp', help='experiment name, used to determine checkpoint/tensorboard dir') # optimization parser.add_argument('--learning-rate', '--lr', type=float, default=0.03, help='learning rate') parser.add_argument('--lr-decay-epochs', type=int, default=[120, 160, 200], nargs='+', help='where to decay lr, can be a list') parser.add_argument('--lr-decay-rate', type=float, default=0.1, help='decay rate for learning rate') parser.add_argument('--weight-decay', type=float, default=1e-4, help='weight decay') parser.add_argument('--momentum', type=float, default=0.9, help='momentum for SGD') # root folders parser.add_argument( '--data-root', type=str, default='/misc/lmbssd/marrakch/ILSVRC2015/Data/CLS-LOC/', help='root directory of dataset') parser.add_argument('--output-root', type=str, default='./output', help='root directory for output') # dataset parser.add_argument('--dataset', type=str, default='imagenet', choices=['imagenet100', 'imagenet']) parser.add_argument('--crop', type=float, default=0.2, help='minimum crop') parser.add_argument('--aug', type=str, default='CJ', choices=['NULL', 'CJ']) # resume parser.add_argument('--resume', default='', type=str, metavar='PATH', help='path to latest checkpoint (default: none)') # model definition parser.add_argument('--model', type=str, default='resnet50', choices=['resnet50']) parser.add_argument('--model-width', type=int, default=1, help='width of resnet, eg, 1, 2, 4') parser.add_argument('--alpha', type=float, default=0.999, help='exponential moving average weight') # loss function parser.add_argument('--nce-k', type=int, default=16384) parser.add_argument('--nce-t', type=float, default=0.07) # misc parser.add_argument('--print-freq', type=int, default=10, help='print frequency') parser.add_argument('--tb-freq', type=int, default=500, help='tb frequency') parser.add_argument('--save-freq', type=int, default=10, help='save frequency') parser.add_argument('--batch-size', type=int, default=32, help='batch_size') parser.add_argument('--num-workers', type=int, default=4, help='num of workers to use') parser.add_argument('--epochs', type=int, default=200, help='number of training epochs') parser.add_argument('--start-epoch', type=int, default=1, help='used for resume') parser.add_argument("--local_rank", type=int) args = parser.parse_args() # set the path according to the environment output_dir = check_dir( os.path.join(args.output_root, args.dataset, args.exp_name)) args.model_folder = check_dir(os.path.join(output_dir, 'models')) args.tb_folder = check_dir(os.path.join(output_dir, 'tensorboard')) return args