将 Hydra/omegaconf 配置转换为 python 嵌套字典/列表?

Ryl*_*fer 16 python fb-hydra omegaconf

我想将 OmegaConf/Hydra 配置转换为嵌套字典/列表。我怎样才能做到这一点?

Omr*_*dan 24

请参阅OmegaConf.to_container()

用法片段:

>>> conf = OmegaConf.create({"foo": "bar", "foo2": "${foo}"})
>>> assert type(conf) == DictConfig
>>> primitive = OmegaConf.to_container(conf)
>>> show(primitive)
type: dict, value: {'foo': 'bar', 'foo2': '${foo}'}
>>> resolved = OmegaConf.to_container(conf, resolve=True)
>>> show(resolved)
type: dict, value: {'foo': 'bar', 'foo2': 'bar'}
Run Code Online (Sandbox Code Playgroud)


Gau*_*iya 5

我们可以简单地通过dict()从 omegaconf 转换为 python 字典。请按照下面给出的示例进行操作:

>>> type(config)
<class 'omegaconf.dictconfig.DictConfig'>
>>> config
{'host': '0.0.0.0', 'port': 8000, 'app': 'main:app', 'reload': False, 'debug': False}
>>> dict(config)
{'host': '0.0.0.0', 'port': 8000, 'app': 'main:app', 'reload': False, 'debug': False}
>>> type(dict(config))
<class 'dict'>
Run Code Online (Sandbox Code Playgroud)