1

我的配置文件结构:

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的字段,其值是从其自己的配置组中选择的。我应该怎么做才能使从同一组中选择的两个字段的值?

4

2 回答 2

0

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

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

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

于 2021-07-16T08:20:38.343 回答
0

您可以多次使用配置组。假设您将数据集配置移动到单个datasets目录中。然后您可以按如下方式重新使用它们。

- defaults:
  - datasets@train_dataset: adobe5k
  - datasets@valid_dataset: adobe5k
于 2021-08-27T13:31:09.727 回答