在装饰方法中访问 hydra 配置

问题描述

我想从装饰函数访问 hydra 配置,例如,sweeper

@hydra.main(config_name="config")
def my_app(cfg: Config) -> None:
    OmegaConf.to_yaml(cfg.hydra.sweeper)

是否有任何参数可以传递给 @hydra.main() 以不删除该配置,或者是否可以在其他地方找到它?谢谢。

解决方法

from hydra.core.hydra_config import HydraConfig

@hydra.main()
def my_app(cfg: DictConfig) -> None:
    print(HydraConfig.get().sweeper)

您也可以通过带有插值的配置访问它:

config.yaml:

hydra_sweeper: ${hydra:sweeper}

this