我正在尝试使用 Hydra 的compose API以编程方式而不是通过 CLI 启动运行。这在大多数情况下都有效。但是,在使用 compose API 时,覆盖hydra.run.dir
更改基本目录似乎没有效果。IE:
with hydra.experimental.initialize_config_module(config_module=config_module):
cfg = hydra.experimental.compose(
config_name=config_name,
overrides=["hydra.run.dir=/tmp/workdir", ...],
return_hydra_config=True
)
hydra.core.hydra_config.HydraConfig.instance().set_config(cfg)
with omegaconf.open_dict(cfg):
del cfg["hydra"]
生成DictConfig
带有 的适当条目的a hydra.run.dir
,但工作目录未更改。
compose API 文档指出,不使用@hydra.main
意味着放弃 Hydra 的工作目录管理。有解决方法吗?