intelligence.zenith_tune.strategies.optuna_sampler
Optuna sampler-based strategy for hyperparameter optimization.
OptunaStrategy Objects
@StrategyRegistry.register("optuna")
class OptunaStrategy(TuningStrategy)
Optuna sampler-based strategy.
Uses an Optuna study to drive hyperparameter sampling via Optuna's sampler API (default: TPESampler). By default the study is in-memory; pass a storage URL to persist it and resume across runs.
Runs indefinitely until eval_fn raises TrialExhausted.
Example:
strategy = OptunaStrategy() # defaults to TPESampler, in-memory strategy.optimize(eval_fn, search_space, Direction.MINIMIZE)
With a different sampler:
from optuna.samplers import CmaEsSampler strategy = OptunaStrategy(sampler=CmaEsSampler())
With persistent storage (resume across runs):
strategy = OptunaStrategy(storage="sqlite:///study.db", study_name="my_study")
__init__
def __init__(sampler: Optional[BaseSampler] = None,
storage: Optional[str] = None,
study_name: Optional[str] = None) -> None
Initialize the Optuna strategy.
Arguments:
sampler- Optuna sampler instance. Defaults to TPESampler.storage- Optuna storage URL (e.g. "sqlite:///study.db"). If provided, the study is persisted and resumed across runs.study_name- Name of the Optuna study. Required when storage is provided and multiple studies exist in the same storage.