nat.parameter_optimization.parameter_optimizer#

Attributes#

logger

Optional eval runtime class.

Functions#

_on_numeric_trial_end(→ None)

Build a TrialResult from one numeric-optimisation trial and fire on_trial_end.

_on_numeric_study_end(→ None)

Fire on_study_end for a completed numeric optimisation study.

optimize_parameters(...)

Tune all non-prompt hyper-parameters and persist the best config.

Module Contents#

logger#

Optional eval runtime class.

_on_numeric_trial_end(
callback_manager: nat.profiler.parameter_optimization.optimizer_callbacks.OptimizerCallbackManager | None,
trial: Any,
eval_metrics: list[str],
avg_scores: list[float],
suggestions: dict[str, Any],
last_eval_output: Any,
all_scores: list[list[float]],
) None#

Build a TrialResult from one numeric-optimisation trial and fire on_trial_end.

_on_numeric_study_end(
callback_manager: nat.profiler.parameter_optimization.optimizer_callbacks.OptimizerCallbackManager | None,
best_trial_obj: Any,
eval_metrics: list[str],
n_trials: int,
) None#

Fire on_study_end for a completed numeric optimisation study.

optimize_parameters(
*,
base_cfg: nat.data_models.config.Config,
full_space: collections.abc.Mapping[str, nat.data_models.optimizable.SearchSpace],
optimizer_config: nat.data_models.optimizer.OptimizerConfig,
opt_run_config: nat.data_models.optimizer.OptimizerRunConfig,
callback_manager: nat.profiler.parameter_optimization.optimizer_callbacks.OptimizerCallbackManager | None = None,
) tuple[nat.data_models.config.Config, dict[str, Any], int]#

Tune all non-prompt hyper-parameters and persist the best config.