Let's say I have two config files in the "base" directory, "base/v1.yaml" and "base/v2.yaml". Let's say each of these are structured something like:
model:
embedding_size: 20
num_layers: 4
...
dataset:
name: ...
If I have a new yaml and am trying to set defaults, is there a way I can choose to only take e.g. "model" from v1, and then "dataset" from v2? Ideally, something like:
defaults:
- base/v1.model
- base/v2.dataset
- _self_
...
It's not exactly what you are asking for but you can load both and save the relevant parts in a separate field e.g.:
defaults:
- v1@base/v1
- v2@base/v2
- _self_
model: ${v1.model}
dataset: ${v2.dataset}
the v1@base/v1
syntax stores the contents of base/v1.yaml
in a field called v1
the ${}
is used for value interpolation