Source code for syne_tune.optimizer.schedulers.searchers.searcher_factory

from typing import Dict, Any

from syne_tune.optimizer.schedulers.searchers.bore import Bore
from syne_tune.optimizer.schedulers.searchers.botorch.botorch_searcher import (
    BoTorchSearcher,
)
from syne_tune.optimizer.schedulers.searchers.kde import KernelDensityEstimator
from syne_tune.optimizer.schedulers.searchers.random_searcher import RandomSearcher
from syne_tune.optimizer.schedulers.searchers.searcher import BaseSearcher
from syne_tune.optimizer.schedulers.searchers.regularized_evolution import (
    RegularizedEvolution,
)
from syne_tune.optimizer.schedulers.searchers.conformal.conformal_quantile_regression_searcher import (
    ConformalQuantileRegression,
)

searcher_dict = {
    "random_search": RandomSearcher,
    "bore": Bore,
    "kde": KernelDensityEstimator,
    "regularized_evolution": RegularizedEvolution,
    "cqr": ConformalQuantileRegression,
    "botorch": BoTorchSearcher,
}


[docs] def searcher_factory( searcher_name: str, config_space: Dict[str, Any], **searcher_kwargs ) -> BaseSearcher: assert ( searcher_name in searcher_dict ), f"Searcher name must be one of {list(searcher_dict.keys())}, got {searcher_name}" return searcher_dict[searcher_name](config_space=config_space, **searcher_kwargs)