如何引用hydra conf文件夹中的其他.yaml文件?



我的conf目录如下:

conf
- hydra
- run
- dir
- job_timestamp.yaml
main.yaml

在主要。我试图用自定义结构覆盖hydra输出目录,如job_timestamp.yaml:

中定义的那样
dir: ./outputs/${status}/${now:%Y-%m-%d}/${now:%H-%M-%S}

然而,写作:

hydra:
run:
dir: job_timestamp

在主要。Yaml不引用hydra/run/dir/job_timestamp。我有一个yaml文件-它实际上只是使输出文件夹名为"job_timestamp">

我想知道如何引用我的job_timestamp。主要的Yaml文件。Yaml覆盖hydra的输出目录config.

编辑:我最初在默认的main下设置hydra/run/dir: job_timestamp。但是,它会返回默认列表中没有找到的hydra/run/dir。我计划有不同版本的主要。Yaml(例如main2)。yaml、评估。这些都需要用相同的格式覆盖输出目录,是否有一种方法可以做到这一点,以便它是DRY?

您似乎混淆了Hydra中的基本概念,如配置值和配置组。你不要"引用"。从配置值中获取配置文件,只能从默认列表中获取。

回到基础教程,确保你理解了配置组。Hydra特定的配置组在Hydra包中定义(在这里)。你可能想通过配置组来覆盖Hydra的配置——但我建议你在更好地理解了配置组之后再尝试。同时,您可以通过直接在main中重写它来实现。yaml文件:

main.yaml:

hydra:
run:
dir: outputs/${status}/${now:%Y-%m-%d}/${now:%H-%M-%S}

最新更新