You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在不切换工作目录时获取Hydra的当前输出目录?

获取Hydra输出目录的正确方式(禁用工作目录切换时)

核心解决方案

不管是常规单运行还是多运行场景,都可以通过hydra.core.hydra_config.HydraConfig.get().runtime.output_dir获取任务的专属输出目录,这个方式在阻止Hydra切换工作目录时依然有效。

代码示例

from hydra.core.hydra_config import HydraConfig
import hydra
from omegaconf import DictConfig

@hydra.main(config_path="conf", config_name="config", version_base=None)
def main(cfg: DictConfig) -> None:
    # 获取当前任务的输出目录
    output_dir = HydraConfig.get().runtime.output_dir
    print(f"任务输出目录: {output_dir}")
    
    # 示例:在输出目录中写入结果文件
    with open(f"{output_dir}/task_result.txt", "w") as f:
        f.write("任务执行完成")

if __name__ == "__main__":
    main()

关键说明

  • 适配性:该方法同时支持单运行和多运行(如使用--multirun参数),多运行时每个子任务会返回各自对应的输出文件夹路径。
  • 兼容性:即使通过hydra.run.dir自定义输出路径,或者设置hydra.job.chdir=False禁用工作目录切换,output_dir始终指向Hydra为当前任务创建的结果存储文件夹。

内容的提问来源于stack exchange,提问作者Trisoloriansunscreen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 22:19:21