|
- # Copyright (c) OpenMMLab. All rights reserved.
- import argparse
- import warnings
-
- from mmcv import Config, DictAction
-
-
- def parse_args():
- parser = argparse.ArgumentParser(description='Print the whole config')
- parser.add_argument('config', help='config file path')
- parser.add_argument(
- '--options',
- nargs='+',
- action=DictAction,
- help='override some settings in the used config, the key-value pair '
- 'in xxx=yyy format will be merged into config file (deprecate), '
- 'change to --cfg-options instead.')
- parser.add_argument(
- '--cfg-options',
- nargs='+',
- action=DictAction,
- help='override some settings in the used config, the key-value pair '
- 'in xxx=yyy format will be merged into config file. If the value to '
- 'be overwritten is a list, it should be like key="[a,b]" or key=a,b '
- 'It also allows nested list/tuple values, e.g. key="[(a,b),(c,d)]" '
- 'Note that the quotation marks are necessary and that no white space '
- 'is allowed.')
- args = parser.parse_args()
-
- if args.options and args.cfg_options:
- raise ValueError(
- '--options and --cfg-options cannot be both '
- 'specified, --options is deprecated in favor of --cfg-options')
- if args.options:
- warnings.warn('--options is deprecated in favor of --cfg-options')
- args.cfg_options = args.options
-
- return args
-
-
- def main():
- args = parse_args()
-
- cfg = Config.fromfile(args.config)
- if args.cfg_options is not None:
- cfg.merge_from_dict(args.cfg_options)
- # import modules from string list.
- if cfg.get('custom_imports', None):
- from mmcv.utils import import_modules_from_strings
- import_modules_from_strings(**cfg['custom_imports'])
- print(f'Config:\n{cfg.pretty_text}')
-
-
- if __name__ == '__main__':
- main()
|