def create_cfg_from_cli_args(args, default_cfg):
    "\n    Instead of loading from defaults.py, this binary only includes necessary\n    configs building from scratch, and overrides them from args. There're two\n    levels of config:\n        _C: the config system used by this binary, which is a sub-set of training\n            config, override by configurable_cfg. It can also be override by\n            args.opts for convinience.\n        configurable_cfg: common configs that user should explicitly specify\n            in the args.\n    "
    _C = CN()
    _C.INPUT = default_cfg.INPUT
    _C.DATASETS = default_cfg.DATASETS
    _C.DATALOADER = default_cfg.DATALOADER
    _C.TEST = default_cfg.TEST
    if hasattr(default_cfg, 'D2GO_DATA'):
        _C.D2GO_DATA = default_cfg.D2GO_DATA
    if hasattr(default_cfg, 'TENSORBOARD'):
        _C.TENSORBOARD = default_cfg.TENSORBOARD
    _C.MODEL = CN()
    _C.MODEL.META_ARCHITECTURE = default_cfg.MODEL.META_ARCHITECTURE
    _C.MODEL.MASK_ON = default_cfg.MODEL.MASK_ON
    _C.MODEL.KEYPOINT_ON = default_cfg.MODEL.KEYPOINT_ON
    _C.MODEL.LOAD_PROPOSALS = default_cfg.MODEL.LOAD_PROPOSALS
    assert (_C.MODEL.LOAD_PROPOSALS is False), "caffe2 model doesn't support"
    _C.OUTPUT_DIR = args.output_dir
    configurable_cfg = ['DATASETS.TEST', args.datasets, 'INPUT.MIN_SIZE_TEST', args.min_size, 'INPUT.MAX_SIZE_TEST', args.max_size]
    cfg = _C.clone()
    cfg.merge_from_list(configurable_cfg)
    cfg.merge_from_list(args.opts)
    return cfg
Instead of loading from defaults.py, this binary only includes necessary
configs building from scratch, and overrides them from args. There're two
levels of config:
    _C: the config system used by this binary, which is a sub-set of training
        config, override by configurable_cfg. It can also be override by
        args.opts for convinience.
    configurable_cfg: common configs that user should explicitly specify
        in the args.
def create_cfg_from_cli_args(args, default_cfg):
    "\n    Instead of loading from defaults.py, this binary only includes necessary\n    configs building from scratch, and overrides them from args. There're two\n    levels of config:\n        _C: the config system used by this binary, which is a sub-set of training\n            config, override by configurable_cfg. It can also be override by\n            args.opts for convinience.\n        configurable_cfg: common configs that user should explicitly specify\n            in the args.\n    "
    _C = CN()
    _C.INPUT = default_cfg.INPUT
    _C.DATASETS = default_cfg.DATASETS
    _C.DATALOADER = default_cfg.DATALOADER
    _C.TEST = default_cfg.TEST
    if hasattr(default_cfg, 'D2GO_DATA'):
        _C.D2GO_DATA = default_cfg.D2GO_DATA
    if hasattr(default_cfg, 'TENSORBOARD'):
        _C.TENSORBOARD = default_cfg.TENSORBOARD
    _C.MODEL = CN()
    _C.MODEL.META_ARCHITECTURE = default_cfg.MODEL.META_ARCHITECTURE
    _C.MODEL.MASK_ON = default_cfg.MODEL.MASK_ON
    _C.MODEL.KEYPOINT_ON = default_cfg.MODEL.KEYPOINT_ON
    _C.MODEL.LOAD_PROPOSALS = default_cfg.MODEL.LOAD_PROPOSALS
    assert (_C.MODEL.LOAD_PROPOSALS is False), "caffe2 model doesn't support"
    _C.OUTPUT_DIR = args.output_dir
    configurable_cfg = ['DATASETS.TEST', args.datasets, 'INPUT.MIN_SIZE_TEST', args.min_size, 'INPUT.MAX_SIZE_TEST', args.max_size]
    cfg = _C.clone()
    cfg.merge_from_list(configurable_cfg)
    cfg.merge_from_list(args.opts)
    return cfg