import argparse

def parse_args():


    parser = argparse.ArgumentParser(description='')
    # general
    parser.add_argument('--per-batch', type=int, default=10, help='per card batch')
    parser.add_argument('--csv-path', default='/data1/ijb/IJB/IJB-C/protocols/ijbc_metadata.csv', help='')
    parser.add_argument('--fr-path', default='/home/wuyuxiang/quan/insightface/model_params/theBest,0', help='fr model path')
    parser.add_argument('--epoch', type=int, default=2, help='')
    # parser.add_argument('--loss-type', type=int, default=5, help='loss type')
    # parser.add_argument('--verbose', type=int, default=2000,
    #                     help='do verification testing and model saving every verbose batches')
    # parser.add_argument('--max-steps', type=int, default=0, help='max training batches')
    # parser.add_argument('--end-epoch', type=int, default=100000, help='training epoch size.')
    # parser.add_argument('--network', default='r50', help='specify network')
    # parser.add_argument('--version-se', type=int, default=0, help='whether to use se in network')
    # parser.add_argument('--version-input', type=int, default=1, help='network input config')
    # parser.add_argument('--version-output', type=str, default='E', help='network embedding output config')
    # parser.add_argument('--version-unit', type=int, default=3, help='resnet unit config')
    # parser.add_argument('--version-act', type=str, default='prelu', help='network activation config')
    # parser.add_argument('--use-deformable', type=int, default=0, help='use deformable cnn in network')
    # parser.add_argument('--lr', type=float, default=0.1, help='start learning rate')
    # parser.add_argument('--lr-steps', type=str, default='', help='steps of lr changing')
    # parser.add_argument('--wd', type=float, default=0.0005, help='weight decay')
    # parser.add_argument('--fc7-wd-mult', type=float, default=1.0, help='weight decay mult for fc7')
    # parser.add_argument('--bn-mom', type=float, default=0.9, help='bn mom')
    # parser.add_argument('--mom', type=float, default=0.9, help='momentum')
    # parser.add_argument('--emb-size', type=int, default=512, help='embedding length')
    # parser.add_argument('--per-batch-size', type=int, default=128, help='batch size in each context')
    # parser.add_argument('--margin-m', type=float, default=0.0, help='margin for loss')
    # parser.add_argument('--margin-s', type=float, default=64.0, help='scale for feature')
    # parser.add_argument('--margin-a', type=float, default=1.2, help='')
    # parser.add_argument('--margin-b', type=float, default=0.2, help='')
    # parser.add_argument('--easy-margin', type=int, default=0, help='')
    # parser.add_argument('--margin', type=int, default=4, help='margin for sphere')
    # parser.add_argument('--beta', type=float, default=1000., help='param for sphere')
    # parser.add_argument('--beta-min', type=float, default=5., help='param for sphere')
    # parser.add_argument('--beta-freeze', type=int, default=0, help='param for sphere')
    # parser.add_argument('--gamma', type=float, default=0.12, help='param for sphere')
    # parser.add_argument('--power', type=float, default=1.0, help='param for sphere')
    # parser.add_argument('--scale', type=float, default=0.9993, help='param for sphere')
    # parser.add_argument('--rand-mirror', type=int, default=1, help='if do random mirror in training')
    # parser.add_argument('--cutoff', type=int, default=0, help='cut off aug')
    # parser.add_argument('--target', type=str, default='lfw,cfp_fp,agedb_30', help='verification targets')
    # parser.add_argument('--width-mult', type=float, default=1.0, help='')
    # parser.add_argument('--expansion-rate', type=int, default=6, help='')
    # parser.add_argument('--group-size', type=int, default=8, help='')
    # parser.add_argument('--fix-gamma', type=bool, default=False, help='')
    # parser.add_argument('--fix-params', type=int, default=0, help='')
    args = parser.parse_args()
    return args
