def get_args_parser(): parser = ArgumentParser(prog='benchmark dataset evaluation') parser.add_argument('--tracker_path', '-p', type=str, default='results', help='tracker result path') parser.add_argument('--dataset', '-d', type=str, default='VOT2018', choices=('VOT2018', 'VOT2019', 'VOT2020', 'OTB', 'UAV', 'NFS', 'TrackingNet', 'LaSOT', 'GOT-10k'), help='the name of benchmark') parser.add_argument('--num', '-n', default=1, type=int, help='number of thread to eval') parser.add_argument('--tracker_prefix', '-t', default='', type=str, help='tracker name') parser.add_argument('--draw_plot', action='store_true') parser.add_argument('--bold_trackers', default=[], nargs='+') parser.add_argument('--show_video_level', '-s', dest='show_video_level', action='store_true') parser.set_defaults(show_video_level=False) return parser
def test_subcommand_with_subclass_default_override_lightning_issue_10859( self): class Arch: def __init__(self, a: int = 1): pass class ArchB(Arch): def __init__(self, a: int = 2, b: int = 3): pass class ArchC(Arch): def __init__(self, a: int = 4, c: int = 5): pass parser = ArgumentParser(error_handler=None) parser_subcommands = parser.add_subcommands() subparser = ArgumentParser() subparser.add_argument('--arch', type=Arch) with mock_module(Arch, ArchB, ArchC) as module: default = {'class_path': f'{module}.ArchB'} value = { 'class_path': f'{module}.ArchC', 'init_args': { 'a': 10, 'c': 11 } } subparser.set_defaults(arch=default) parser_subcommands.add_subcommand('fit', subparser) cfg = parser.parse_args(['fit', f'--arch={json.dumps(value)}']) self.assertEqual(cfg.fit.arch.as_dict(), value)