1

我有一个 .yaml 配置文件,如下所示:

key: value

hydra:
  run:
    dir: ./data_fetcher/hydra_outputs/${now:%Y-%m-%d}/${now:%H-%M-%S}

使用 python 文件main.py

import hydra

@hydra.main(config_path="data_fetcher/config", config_name="config")
def main(cfg: DictConfig):
    pass

if __name__ == "__main__":
    main()

运行时main.py根据当前日期和时间创建输出目录。

Hydra 如何获取当前时间?是否可以更改时区?

4

1 回答 1

2

Hydra 在这里注册了一个简单的 OmegaConf 自定义解析器,如下所示:

register("now", lambda pattern: strftime(pattern, localtime()))

您可以在运行之前使用不同的名称注册自己的自定义解析器,@hydra.main()这将满足您的需求。

${now:...}您还可以提交功能请求以向Hydra 中的自定义解析添加对时区的支持。公关将不胜感激。例如,${now:...}可以支持可选的第二个时区参数。

于 2020-12-02T17:16:57.433 回答