def parse_arguments()

in opt.py [0:0]


def parse_arguments():
    def str2bool(v):
        v = v.lower()
        if v in ('yes', 'true', 't', '1'):
            return True
        elif v in ('no', 'false', 'f', '0'):
            return False
        raise ValueError('Boolean argument needs to be true or false. '
                         'Instead, it is %s.' % v)

    parser = argparse.ArgumentParser(description="Implementation of SwAV")
    parser.register('type', 'bool', str2bool)

    #########################
    #### data parameters ####
    #########################
    parser.add_argument("--ds_name", type=str, default="kinetics",
                        choices=['kinetics', 'vggsound', 'kinetics_sound', 'ave', 'ucf101', 'hmdb51'],
                        help="name of dataset")
    parser.add_argument("--root_dir", type=str, default="/path/to/dataset",
                        help="root dir of dataset")
    parser.add_argument("--data_path", type=str, default="datasets/data",
                        help="path to store dataset pkl files")
    parser.add_argument("--num_data_samples", type=int, default=None,
                        help="number of dataset samples")
    parser.add_argument("--num_frames", type=int, default=30,
                        help="number of frames to sample per clip")
    parser.add_argument("--target_fps", type=int, default=30,
                        help="video fps")
    parser.add_argument("--sample_rate", type=int, default=1,
                        help="rate to sample frames")
    parser.add_argument("--num_train_clips", type=int, default=1,
                        help="number of clips to sample per videos")
    parser.add_argument("--train_crop_size", type=int, default=112,
                        help="train crop size")
    parser.add_argument("--test_crop_size", type=int, default=112,
                        help="test crop size")
    parser.add_argument('--colorjitter', type='bool', default='False',
                        help='use color jitter')
    parser.add_argument('--use_grayscale', type='bool', default='False',
                        help='use grayscale augmentation')
    parser.add_argument('--use_gaussian', type='bool', default='False',
                        help='use gaussian augmentation')
    parser.add_argument("--num_sec_aud", type=int, default=1,
                        help="number of seconds of audio")
    parser.add_argument("--aud_sample_rate", type=int, default=48000,
                        help="audio sample rate")
    parser.add_argument("--aud_spec_type", type=int, default=2,
                        help="audio spec type")
    parser.add_argument('--use_volume_jittering', type='bool', default='False',
                        help='use volume jittering')
    parser.add_argument('--use_audio_temp_jittering', type='bool', default='False',
                        help='use audio temporal jittering')
    parser.add_argument('--z_normalize', type='bool', default='False',
                        help='z-normalize the audio')
    parser.add_argument('--dual_data', type='bool', default='False',
                        help='sample two clips per video')

    #########################
    #### optim parameters ###
    #########################
    parser.add_argument("--epochs", default=100, type=int,
                        help="number of total epochs to run")
    parser.add_argument("--batch_size", default=16, type=int,
                        help="batch size per gpu, i.e. how many unique instances per gpu")
    parser.add_argument("--base_lr", default=4.8, type=float, help="base learning rate")
    parser.add_argument("--wd", default=1e-6, type=float, help="weight decay")
    parser.add_argument("--warmup_epochs", default=10, type=int, help="number of warmup epochs")
    parser.add_argument("--use_warmup_scheduler" , default='True', type='bool',
                        help="use warmup scheduler")
    parser.add_argument("--use_lr_scheduler" , default='False', type='bool',
                        help="use cosine LR scheduler")

    #########################
    #### SK parameters ###
    #########################
    parser.add_argument('--schedulepower', default=1.5, type=float,
                        help='SK schedule power compared to linear (default: 1.5)')
    parser.add_argument('--nopts', default=100, type=int,
                        help='number of pseudo-opts (default: 100)')
    parser.add_argument('--lamb', default=20, type=int,
                        help='for pseudoopt: lambda (default:25) ')
    parser.add_argument('--dist', default=None, type=int,
                        help='use for distribution')
    parser.add_argument('--diff_dist_every', default='False', type='bool',
                        help='use a different Gaussian at every SK-iter?')
    parser.add_argument('--diff_dist_per_head', default='True', type='bool',
                        help='use a different Gaussian for every head?')

    #########################
    #### Selavi parameters ###
    #########################
    parser.add_argument('--ind_groups', default=1, type=int,
                        help='number of independent groups (default: 100)')
    parser.add_argument('--gauss_sd', default=0.1, type=float,
                        help='sd')
    parser.add_argument('--match', default='True', type='bool',
                        help='match distributions at beginning of training')
    parser.add_argument('--distribution', default='default', type=str,
                        help='distribution of SK-clustering', choices=['gauss', 'default', 'zipf'])

    #########################
    #### dist parameters ###
    #########################
    parser.add_argument("--dist_url", default="env://", type=str, help="""url used to set up distributed