|
- # Copyright (c) OpenMMLab. All rights reserved.
- import argparse
- import warnings
-
- from mmcv import Config, DictAction
-
- from mmseg.apis import init_segmentor
-
-
- def parse_args():
- parser = argparse.ArgumentParser(description='Print the whole config')
- parser.add_argument('config', help='config file path')
- parser.add_argument(
- '--graph', action='store_true', help='print the models graph')
- parser.add_argument(
- '--options',
- nargs='+',
- action=DictAction,
- help="--options is deprecated in favor of --cfg_options' and it will "
- 'not be supported in version v0.22.0. 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.')
- 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. '
- '--options will not be supported in version v0.22.0.')
- if args.options:
- warnings.warn('--options is deprecated in favor of --cfg-options, '
- '--options will not be supported in version v0.22.0.')
- 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)
- print(f'Config:\n{cfg.pretty_text}')
- # dump config
- cfg.dump('example.py')
- # dump models graph
- if args.graph:
- model = init_segmentor(args.config, device='cpu')
- print(f'Model graph:\n{str(model)}')
- with open('example-graph.txt', 'w') as f:
- f.writelines(str(model))
-
-
- if __name__ == '__main__':
- main()
|