def parse_args()

in src/retrieval_utils.py [0:0]


def parse_args():
    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)

    import argparse
    parser = argparse.ArgumentParser(description='Video Retrieval')
    parser.register('type', 'bool', str2bool)

    ### Retrieval params
    parser.add_argument('--use_cache_feats', default='False', type='bool', 
                        help='use cache features')
    parser.add_argument('--save_pkl', default='False', type='bool', 
                        help='save pickled feats')
    parser.add_argument('--avg_feats', default='True', type='bool', 
                        help='Average features of video')
    parser.add_argument('--norm_feats', default='True', type='bool', 
                        help='L2 normalize features of video')
    parser.add_argument('--pool_op', default='max', type=str, 
                        choices=['max', 'avg'],
                        help='Type of pooling operation: [max, avg]')
    parser.add_argument('--get_audio', default='False', type='bool', 
                        help='Get audio features')

    ### Dataset params
    parser.add_argument('--dataset', default='hmdb51', type=str,
                        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('--batch_size', default=96, type=int,
                        help='Size of batch')
    parser.add_argument('--fold', default='1', type=str,
                        help='name of dataset')
    parser.add_argument('--clip_len', default=32, type=int, 
                        help='number of frames per clip')
    parser.add_argument('--augtype', default=1, type=int, 
                        help='augmentation type (default: 1)')
    parser.add_argument('--steps_bet_clips', default=1, type=int, 
                        help='number of steps between clips in video')
    parser.add_argument('--train_clips_per_video', default=10, type=int, 
                        help='maximum number of clips per video for training')
    parser.add_argument('--val_clips_per_video', default=10, type=int, 
                        help='maximum number of clips per video for testing')
    parser.add_argument('--workers', default=0, type=int, 
                        help='number of data loading workers (default: 16)')

    ### MODEL
    parser.add_argument('--weights_path', default='', type=str,
                        help='Path to weights file')
    parser.add_argument('--vid_base_arch', default='r2plus1d_18', type=str,
                        help='Video Base Arch for A-V model')
    parser.add_argument('--aud_base_arch', default='resnet9', 
                        help='Audio Base Arch for A-V model')
    parser.add_argument('--pretrained', type='bool', default='False',
                        help="Use pre-trained models from the modelzoo")
    parser.add_argument('--use_mlp', default='True', type='bool', 
                        help='Use MLP projection head')
    parser.add_argument('--headcount', default=10, type=int, 
                        help='how many heads each modality has')
    parser.add_argument('--num_clusters', default=309, type=int,
                        help="number of clusters")

    # distributed training parameters
    parser.add_argument('--output_dir', default='./retrieval_results', 
                        help='path where to save')

    args = parser.parse_args()
    return args