deephyper.search.hps

Hyperparameter search algorithms.

class deephyper.search.hps.AMBS(problem, evaluator, random_state: Optional[int] = None, log_dir: str = '.', verbose: int = 0, surrogate_model: str = 'RF', acq_func: str = 'UCB', kappa: float = 1.96, xi: float = 0.001, n_points: int = 10000, filter_duplicated: bool = True, liar_strategy: str = 'cl_max', n_jobs: int = 1, **kwargs)[source]

Bases: deephyper.search._search.Search

Asynchronous Model-Based Search baised on the Scikit-Optimized Optimizer.

Parameters
  • problem (HpProblem) – Hyperparameter problem describing the search space to explore.

  • evaluator (Evaluator) – An Evaluator instance responsible of distributing the tasks.

  • random_state (int, optional) – Random seed. Defaults to None.

  • log_dir (str, optional) – Log directory where search’s results are saved. Defaults to ".".

  • verbose (int, optional) – Indicate the verbosity level of the search. Defaults to 0.

  • surrogate_model (str, optional) – Surrogate model used by the Bayesian optimization. Can be a value in ["RF", "ET", "GBRT", "DUMMY"]. Defaults to "RF".

  • acq_func (str, optional) – Acquisition function used by the Bayesian optimization. Can be a value in ["UCB", "EI", "PI", "gp_hedge"]. Defaults to "UCB".

  • kappa (float, optional) – Manage the exploration/exploitation tradeoff for the “UCB” acquisition function. Defaults to 1.96 which corresponds to 95% of the confidence interval.

  • xi (float, optional) – Manage the exploration/exploitation tradeoff of "EI" and "PI" acquisition function. Defaults to 0.001.

  • n_points (int, optional) – The number of configurations sampled from the search space to infer each batch of new evaluated configurations.

  • filter_duplicated (bool, optional) – Force the optimizer to sample unique points until the search space is “exhausted” in the sens that no new unique points can be found given the sampling size n_points. Defaults to True.

  • liar_strategy (str, optional) – Definition of the constant value use for the Liar strategy. Can be a value in ["cl_min", "cl_mean", "cl_max"] . Defaults to "cl_max".

  • n_jobs (int, optional) – Number of parallel processes used to fit the surrogate model of the Bayesian optimization. A value of -1 will use all available cores. Defaults to 1.

fit_surrogate(df)[source]

Fit the surrogate model of the search from a checkpointed Dataframe.

Parameters

df (str|DataFrame) – a checkpoint from a previous search.

Example Usage:

>>> search = AMBS(problem, evaluator)
>>> search.fit_surrogate("results.csv")
search(max_evals: int = - 1, timeout: Optional[int] = None)

Execute the search algorithm.

Parameters
  • max_evals (int, optional) – The maximum number of evaluations of the run function to perform before stopping the search. Defaults to -1, will run indefinitely.

  • timeout (int, optional) – The time budget of the search before stopping.Defaults to None, will not impose a time budget.

Returns

a pandas DataFrame containing the evaluations performed.

Return type

DataFrame

terminate()

Terminate the search.

Raises

SearchTerminationError – raised when the search is terminated with SIGALARM