我正在尝试在分层配置结构中覆盖默认列表中的包。作为一个简化的例子:
我有conf/base.yaml
defaults:
- _self_
- env@_here_: env1
a: 1
b: 2
conf/env/env1.yaml
c: 5
d: 6
和conf/env/env2.yaml
c: 7
d: 8
跑步时my_app.py
import hydra
import omegaconf
@hydra.main(config_path="conf", config_name="base")
def my_app(cfg: omegaconf.DictConf) -> None:
print(omegaconf.OmegaConf.to_yaml(cfg))
my_app()
我想env@_here_
从env1
使用env2
CLI 或任何其他方法覆盖。我已经浏览了 Hydra 文档几次,但找不到如何做到这一点。