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

如何获取Hydra生成输出目录时使用的运行日期与时间?

最佳解决方案

你定义的now_dir配置字段在Hydra完成配置插值后,已经是和输出目录完全一致的时间字符串,直接从传入的DictConfig对象读取即可,这是最便利也最准确的方案:

import hydra
from omegaconf import DictConfig
from datetime import datetime

@hydra.main(version_base=None, config_path="你的配置目录", config_name="你的配置文件名")
def main(cfg: DictConfig):
    # 直接获取已经插值完成的时间字符串,和Hydra创建输出目录用的时间完全一致
    now_dir_str = cfg.now_dir
    print(now_dir_str) # 输出格式示例:2024-06-15/16-25-08

    # 如果需要转成Datetime对象,自行解析即可
    date_part, time_part = now_dir_str.split("/")
    now_datetime = datetime.strptime(f"{date_part} {time_part}", "%Y-%m-%d %H-%M-%S")
    print(now_datetime)
其他备选方案

如果没有提前定义now_dir字段,也可以通过Hydra内置的运行时配置获取输出目录,再拆分出时间部分:

import hydra
from omegaconf import DictConfig

@hydra.main(version_base=None, config_path="你的配置目录", config_name="你的配置文件名")
def main(cfg: DictConfig):
    # 获取Hydra生成的运行目录完整路径
    run_dir = hydra.core.hydra_config.HydraConfig.get().run.dir
    # 拆分出时间部分即可
    now_dir_str = "/".join(run_dir.split("/")[-2:])

注:Hydra同一次运行过程中所有${now}插值使用的都是程序启动时的同一个时间戳,不存在多个${now}取值不一致的问题,直接读取配置字段的方案完全可以保证和输出目录的时间一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 03:36:03