def get_parser()

in training/image_classification.py [0:0]


def get_parser():
    """
    Generate a parameters parser.
    """
    parser = argparse.ArgumentParser(description='Train/evaluate image classification models')

    # config parameters
    parser.add_argument("--dump_path", type=str, default=None)
    parser.add_argument('--print_freq', type=int, default=5)
    parser.add_argument("--save_periodic", type=int, default=0)

    # Data parameters
    parser.add_argument("--data_root", type=str, default="data")
    parser.add_argument("--dataset", type=str, choices=["cifar10", "cifar100","imagenet", "gaussian","credit", "hep", "adult", "mnist", "lfw"], default="cifar10")
    parser.add_argument("--mask_path", type=str, required=True)
    parser.add_argument('--n_data', type=int, default=500)
    parser.add_argument('--num_classes', type=int, default=10)
    parser.add_argument('--data_num_dimensions', type=int, default=75)
    parser.add_argument('--random_seed', type=int, default=10)
    parser.add_argument("--scale", type=float, default=1.0)

    # Model parameters
    parser.add_argument("--architecture", choices=["lenet", "smallnet", "alexnet", "kllenet", "linear", "mlp", "resnet18", "leaks"], default="lenet")

    # training parameters
    parser.add_argument("--batch_size", type=int, default=32)
    parser.add_argument("--epochs", type=int, default=2)
    parser.add_argument("--optimizer", default="sgd,lr=0.001,momentum=0.9")
    parser.add_argument("--num_workers", type=int, default=2)
    parser.add_argument("--aug", type=bool_flag, default=False)
    parser.add_argument("--in_channels", type=int, default=3)
    parser.add_argument("--private_train_split", type=float, default=0.25)
    parser.add_argument("--private_heldout_split", type=float, default=0.25)

    # privacy parameters
    parser.add_argument("--private", type=bool_flag, default=False)
    parser.add_argument("--noise_multiplier", type=float, default=None)
    parser.add_argument("--privacy_epsilon", type=float, default=None)
    parser.add_argument("--privacy_delta", type=float, default=None)
    parser.add_argument("--log_gradients", type=bool_flag, default=False)
    parser.add_argument("--log_batch_models", type=bool_flag, default=False)
    parser.add_argument("--log_epoch_models", type=bool_flag, default=False)
    parser.add_argument("--max_grad_norm", type=float, default=1.0)

    #multi gpu paramaeters
    parser.add_argument("--local_rank", type=int, default=-1)
    parser.add_argument("--master_port", type=int, default=-1)
    parser.add_argument("--debug_slurm", type=bool_flag, default=False)
    

    return parser