TRI-ML/dd3d

What meaning of @ in defaults.yaml?

chensi1122 opened this issue · 1 comments

Can someone tell me the meaning of @ in defaults.yaml? I can't found its role.
Thanks!

The @ sign is used to indicate specific configuration sections to be loaded or referenced from other parts of the system. This means that a particular key or section is assigned to a specific module or component.

e.g.
train_datasets@DATASETS.TRAIN: means that train_datasets should be configured according to the settings defined in DATASETS.TRAIN.

The @ sign allows you to configure your system hierarchically and modularly. For example, you can have a general configuration in one file and detailed, case-specific configurations in others, and combine them using @.

You could say that it's such a more advanced key-value separator, although not exactly.