A facility for config and config files.
It supports common file formats as configs: python/json/yaml. Config.fromfile
can parse a dictionary from a config file, then build a Config
instance with the dictionary. The interface is the same as a dict object and also allows access config values as attributes.
cfg_dict (dict, optional) – A config dictionary. Defaults to None.
cfg_text (str, optional) – Text of config. Defaults to None.
filename (str or Path, optional) – Name of config file. Defaults to None.
format_python_code (bool) – Whether to format Python code by yapf. Defaults to True.
env_variables (dict | None) –
Here is a simple example:
Examples
>>> cfg = Config(dict(a=1, b=dict(b1=[0, 1]))) >>> cfg.a 1 >>> cfg.b {'b1': [0, 1]} >>> cfg.b.b1 [0, 1] >>> cfg = Config.fromfile('tests/data/config/a.py') >>> cfg.filename "/home/username/projects/mmengine/tests/data/config/a.py" >>> cfg.item4 'test' >>> cfg "Config [path: /home/username/projects/mmengine/tests/data/config/a.py] :" "{'item1': [1, 2], 'item2': {'a': 0}, 'item3': True, 'item4': 'test'}"
You can find more advance usage in the config tutorial.
Generate argparser from config file automatically (experimental)
Dump config to file or return config text.
Get used environment variables.
Get file name of config.
Build a Config instance from config file.
filename (str or Path) – Name of config file.
use_predefined_variables (bool, optional) – Whether to use predefined variables. Defaults to True.
import_custom_modules (bool, optional) – Whether to support importing custom modules in config. Defaults to None.
use_environment_variables (bool, optional) – Whether to use environment variables. Defaults to True.
lazy_import (bool) – Whether to load config in lazy_import mode. If it is None, it will be deduced by the content of the config file. Defaults to None.
format_python_code (bool) – Whether to format Python code by yapf. Defaults to True.
Config instance built from config file.
Build a Config instance from config text.
Merge list into cfg_dict.
Merge the dict parsed by MultipleKVAction into this cfg.
None
Examples
>>> from mmengine import Config >>> # Merge dictionary element >>> options = {'model.backbone.depth': 50, 'model.backbone.with_cp': True} >>> cfg = Config(dict(model=dict(backbone=dict(type='ResNet')))) >>> cfg.merge_from_dict(options) >>> cfg._cfg_dict {'model': {'backbone': {'type': 'ResNet', 'depth': 50, 'with_cp': True}}} >>> # Merge list element >>> cfg = Config( >>> dict(pipeline=[dict(type='LoadImage'), >>> dict(type='LoadAnnotations')])) >>> options = dict(pipeline={'0': dict(type='SelfLoadImage')}) >>> cfg.merge_from_dict(options, allow_list_keys=True) >>> cfg._cfg_dict {'pipeline': [{'type': 'SelfLoadImage'}, {'type': 'LoadAnnotations'}]}
Get formatted python config text.
Get config text.
Convert all data in the config to a builtin dict
.
keep_imported (bool) – Whether to keep the imported field. Defaults to False
If you import third-party objects in the config file, all imported objects will be converted to a string like torch.optim.SGD
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4