hydra 在创建输出目录时如何管理时区?

how does hydra manages timezone when it creates output directories?

我有一个 .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 是如何获取当前时间的?是否可以更改时区?

Hydra 正在注册一个简单的 OmegaConf 自定义解析器 here,其行如下:

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

您可以在 @hydra.main() 运行之前用不同的名称注册您自己的自定义解析器,这将执行您想要的操作。

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