问题描述
我的配置文件结构:
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_dataset
和 train_dataset
的字段,其值是从其自己的配置组中选择的。我该怎么做才能使从同一组中选择的两个字段的值?
解决方法
您可以使用默认列表插值来实现这一点。 Default List 页面高级信息,您可以找到更实际的示例 here 以了解详细信息。
defaults:
- train_dataset: adobe5k
- valid_dataset: ${train_dataset}
这样,你覆盖 train_dataset 就足够了,验证数据集会自动匹配它(除非你也覆盖它)。