使用显式嵌套专门化 Hydra 配置
Specializing a Hydra configuration with Explicit Nesting
我想要:
conf/
├── config.yaml
├── data
│ └── data.yaml
├── render
│ └── renderer.yaml
├── storage
│ └── local.yaml
└── text
├── font.yaml
└── regions.yaml
其中,在 config.yaml
中,text/font.yaml
分配给 font
,text/regions.yaml
分配给 regions
,例如:
defaults:
- font: text.font
- regions: text.regions
- render: renderer
- data: data
- storage: local
或
defaults:
- font:
- text/font
- regions:
- text/regions
- render: renderer
- data: data
- storage: local
以上都不行!
是否有可能以某种方式达到 yaml
级别的预期结果?
您正在寻找的是更改您构建的配置的 包 ,请参阅:
- https://hydra.cc/docs/advanced/overriding_packages#default-list-package-keywords
- https://hydra.cc/docs/advanced/terminology
在您的情况下,您的 font
和 regions
位于 组 text
下,但您想将其移动到各自的软件包 font
和 regions
。
您可以通过指定 <group>@<package>
将任何配置选项移动到您想要的任何包命名空间,即:
defaults:
- text@font: font
- text@regions: regions
- render: renderer
- data: data
- storage: local
我想要:
conf/
├── config.yaml
├── data
│ └── data.yaml
├── render
│ └── renderer.yaml
├── storage
│ └── local.yaml
└── text
├── font.yaml
└── regions.yaml
其中,在 config.yaml
中,text/font.yaml
分配给 font
,text/regions.yaml
分配给 regions
,例如:
defaults:
- font: text.font
- regions: text.regions
- render: renderer
- data: data
- storage: local
或
defaults:
- font:
- text/font
- regions:
- text/regions
- render: renderer
- data: data
- storage: local
以上都不行!
是否有可能以某种方式达到 yaml
级别的预期结果?
您正在寻找的是更改您构建的配置的 包 ,请参阅:
- https://hydra.cc/docs/advanced/overriding_packages#default-list-package-keywords
- https://hydra.cc/docs/advanced/terminology
在您的情况下,您的 font
和 regions
位于 组 text
下,但您想将其移动到各自的软件包 font
和 regions
。
您可以通过指定 <group>@<package>
将任何配置选项移动到您想要的任何包命名空间,即:
defaults:
- text@font: font
- text@regions: regions
- render: renderer
- data: data
- storage: local