<gh_stars>1-10
import argparse


def get_args():
    parser = argparse.ArgumentParser()
    parser.add_argument('--epochs', type=int, default=220, help='Number of epoch')
    parser.add_argument('--train_bs', type=int, default=16, help='Batch size')
    parser.add_argument('--test_bs', type=int, default=1, help='Batch size')
    parser.add_argument('--gpus', type=str, default='0', help='gpus')
    parser.add_argument('--backbone', type=str, default='', help='resnet20')
    parser.add_argument('--num_target', type=int, default=0, help='')
    parser.add_argument('--resume', action='store_true', default=False)
    parser.add_argument('--hard_sample', action='store_true', default=False)
    parser.add_argument('--finetune', action='store_true', default=False)
    parser.add_argument('--pretrain', action='store_true', default=False)
    parser.add_argument('--model_path', type=str, default=None)
    parser.add_argument('--freeze_gate', action='store_true', default=False)
    parser.add_argument('--gate_type', type=str, default=None)
    parser.add_argument('--block_type', type=str, default=None)
    parser.add_argument('--loss_w', type=float, default=0.0)
    parser.add_argument('--loss_d', type=float, default=0.0)
    parser.add_argument('--loss_g', type=float, default=0.0)
    parser.add_argument('--loss_lda', type=float, default=0.0)
    parser.add_argument('--resume_path', type=str, default='', help='')
    parser.add_argument('--log_path', type=str, default='', help='')
    parser.add_argument('--note', type=str, default='', help='note of the experiment')
    parser.add_argument('--optimizer', type=str, default='Adam')
    parser.add_argument('--scheduler', type=str, default='multi')
    parser.add_argument('--DEBUG', action='store_true')
    parser.add_argument('--dataset', type=str, default='cifar10')
    parser.add_argument('--weight', type=float, default=1.0)
    parser.add_argument('--step_ratio', default=0.1, type=float, help='ratio for learning rate deduction')
    parser.add_argument('--warm_up', action='store_true',
                        help='for n = 18, the model needs to warm up for 400 iterations')
    parser.add_argument('--lr', default=0.1, type=float, help='initial learning rate')
    parser.add_argument('--momentum', default=0.9, type=float, help='momentum')
    parser.add_argument('--weight_decay', default=1e-4, type=float, help='weight decay (default: 1e-4)')
    parser.add_argument('--beta', default=25, type=float, help='beta of argmax approximate')
    parser.add_argument('--data_root', type=str,default = '/home/huanyu/dataset')
    parser.add_argument('--local_rank',type=int, default=0)
    parser.add_argument('--min_blocks',type=int, default=0)
    parser.add_argument('--aug_repeat',type=int, default=0)
    parser.add_argument('--lda_inter_margin',type=float, default=0)
    parser.add_argument('--lda_intra_margin',type=float, default=0)
    return parser
