首页 > 解决方案 > 使用显式嵌套专门化 Hydra 配置

问题描述

我想拥有:

conf/
├── config.yaml
├── data
│   └── data.yaml
├── render
│   └── renderer.yaml
├── storage
│   └── local.yaml
└── text
    ├── font.yaml
    └── regions.yaml

在 中config.yamltext/font.yaml分配给fonttext/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某种方式在该级别达到预期的结果?

标签: fb-hydrahydra-python

解决方案


您正在寻找的称为更改构造配置的包,请参阅:

在您的情况下,您的fontandregions位于 text下,但您希望将其移动到相应的 fontandregions中。您可以通过指定将任何配置选项移动到您想要的任何包命名空间<group>@<package>,即:

defaults:
  - text@font: font
  - text@regions: regions
  - render: renderer
  - data: data
  - storage: local

推荐阅读