Configurable Components¶
Providing configurable abstractions requires two steps
Parsing 1 or more configuration to extract the appropriate configuration values from it
Using the values to instantiate the object
We use Hydra for (1) and SMQTK for (2). Hydra uses YAML based hierarchical configurations. The hierarchy is defined under the configs folder and provides defaults for the abstractions and features provided by sail-on-client
The folders in the hierarchy are considered configuration groups with the yaml files being options that can be selected for configuration group. The defaults or a non default configuration groups are composed to either swap abstractions, add additional features into run, and sweep over multiple values present in the configuration.
Note
Please refer to the cli section to find the configuration groups supported by sail-on-client
PreComputedONDAgent:
smqtk:
class: PreComputedONDAgent
config:
algorithm_name: ???
cache_dir: ???
has_roundwise_file: False
round_size: ???
Since PreComputedONDAgent
is an smqtk algorithm, it requires additional keywords
highlighted below
PreComputedONDAgent:
smqtk:
class: PreComputedONDAgent
config:
algorithm_name: ???
cache_dir: ???
has_roundwise_file: False
round_size: ???
If a default cannot be specified, ???
can be used to add a requirement for
mandatory input.
PreComputedONDAgent:
smqtk:
class: PreComputedONDAgent
config:
algorithm_name: ???
cache_dir: ???
has_roundwise_file: False
round_size: ???