builders
orchard.optimization.orchestrator.builders
¶
Factory Functions for Optuna Components.
Provides builder functions that construct Optuna samplers, pruners, and callbacks based on the Optuna configuration sub-model. Centralizes the instantiation logic and provides clear error messages for invalid configurations.
Functions:
- build_sampler: Create Optuna sampler from type string
- build_pruner: Create Optuna pruner from config
- build_callbacks: Construct optimization callbacks list
build_sampler(optuna_cfg)
¶
Create Optuna sampler from configuration.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
optuna_cfg
|
OptunaConfig
|
Optuna sub-config with sampler_type |
required |
Returns:
| Type | Description |
|---|---|
BaseSampler
|
Configured Optuna sampler instance |
Raises:
| Type | Description |
|---|---|
ValueError
|
If sampler_type is not in SAMPLER_REGISTRY |
Source code in orchard/optimization/orchestrator/builders.py
build_pruner(optuna_cfg)
¶
Create Optuna pruner from configuration.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
optuna_cfg
|
OptunaConfig
|
Optuna sub-config with enable_pruning and pruner_type |
required |
Returns:
| Type | Description |
|---|---|
MedianPruner | PercentilePruner | HyperbandPruner | NopPruner
|
Configured Optuna pruner instance (NopPruner if disabled) |
Raises:
| Type | Description |
|---|---|
ValueError
|
If pruner_type is not in PRUNER_REGISTRY |
Source code in orchard/optimization/orchestrator/builders.py
build_callbacks(optuna_cfg, monitor_metric)
¶
Construct list of optimization callbacks from configuration.
Currently supports:
- Early stopping callback (based on metric threshold)
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
optuna_cfg
|
OptunaConfig
|
Optuna sub-config with early stopping parameters |
required |
monitor_metric
|
str
|
Target metric name (from |
required |
Returns:
| Type | Description |
|---|---|
list[Any]
|
list of Optuna callback objects (may be empty) |
Example
callbacks = build_callbacks(optuna_cfg, "auc") len(callbacks) # 0 or 1 depending on early_stopping config