Structured Configs can be used to implement config groups. Special care needs to be taken when specifying a default value for fields populated by a config group. We will look at why below.
The Config class is NOT the Defaults list. We will see the Defaults list in the next page.
You can select the database from the command line:
+ above is required because there is no default choice for the config group
The next page will reintroduce the Defaults List, eliminating the need for the
Standard Python inheritance can be used to get improved type safety, and to move common fields to the parent class.
Assign MISSING to a field to indicates that it does not have a default value. This is equivalent to
??? literal we have seen in OmegaConf configs before.
Omitting a default value is equivalent to assigning MISSING to it, although it is sometimes convenient to be able to assign MISSING it to a field.
Do not confuse omegaconf.MISSING with dataclass.MISSING.