首页 > 解决方案 > 如何在 hydra-python 中从同一组创建两个字段?

问题描述

我的配置文件结构:

config
├── train_dataset
│   ├── adobe5k.yaml
│   ├── my_train_data1.yaml
│   └── cifar10.yaml
├── valid_dataset
│   ├── adobe5k.yaml
│   └── cifar10.yaml
└── config.yaml

config.yaml的是:

# other configs
...

defaults:
  - train_dataset: adobe5k
  - valid_dataset: adobe5k

如您所见,我的配置中有两个名为valid_datasetandtrain_dataset的字段,其值是从其自己的配置组中选择的。我应该怎么做才能使从同一组中选择的两个字段的值?

标签: hydra-python

解决方案


您可以使用默认列表插值来实现这一点。默认列表页面高级信息,您可以在此处找到更实用的示例以获取一些详细信息。

defaults:
  - train_dataset: adobe5k
  - valid_dataset: ${train_dataset}

这样,覆盖 train_dataset 就足够了,验证数据集会自动匹配它(除非你也覆盖它)。


推荐阅读