deephyper.search.nas.AgEBO#

class deephyper.search.nas.AgEBO(problem, evaluator, random_state: int = None, log_dir: str = '.', verbose: int = 0, population_size: int = 100, sample_size: int = 10, n_initial_points: int = 10, initial_points=None, surrogate_model: str = 'RF', acq_func: str = 'UCB', kappa: float = 0.001, xi: float = 1e-06, n_points: int = 10000, liar_strategy: str = 'cl_max', n_jobs: int = 1, sync_communication: bool = False)[source]#

Bases: RegularizedEvolution

Aging evolution with Bayesian Optimization.

This algorithm build on the Regularized Evolution. It cumulates Hyperparameter optimization with Bayesian optimisation and Neural architecture search with regularized evolution.

Parameters:
  • problem (NaProblem) – Neural architecture search 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.

  • population_size (int, optional) – the number of individuals to keep in the population. Defaults to 100.

  • sample_size (int, optional) – the number of individuals that should participate in each tournament. Defaults to 10.

  • n_initial_points (int, optional) – Number of collected objectives required before fitting the surrogate-model. Defaults to 10.

  • initial_points (List[Dict], optional) – A list of initial points to evaluate where each point is a dictionnary where keys are names of hyperparameters and values their corresponding choice. Defaults to None for them to be generated randomly from the search space.

  • 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 0.001 for strong exploitation.

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

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

  • 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.

  • sync_communcation (bool, optional) – Performs the search in a batch-synchronous manner. Defaults to False for asynchronous updates.

Methods

check_evaluator

dump_context

Dumps the context in the log folder.

extend_results_with_pareto_efficient

Extend the results DataFrame with a column pareto_efficient which is True if the point is Pareto efficient.

search

Execute the search algorithm.

to_json

Returns a json version of the search object.

Attributes

search_id

The identifier of the search used by the evaluator.

dump_context()#

Dumps the context in the log folder.

extend_results_with_pareto_efficient(df_path: str)#

Extend the results DataFrame with a column pareto_efficient which is True if the point is Pareto efficient.

Parameters:

df (pd.DataFrame) – the input results DataFrame.

search(max_evals: int = -1, timeout: int = None, max_evals_strict: bool = False)#

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 (in seconds) of the search before stopping. Defaults to None, will not impose a time budget.

  • max_evals_strict (bool, optional) – If True the search will not spawn more than max_evals jobs. Defaults to False.

Returns:

a pandas DataFrame containing the evaluations performed or None if the search could not evaluate any configuration.

Return type:

DataFrame

property search_id#

The identifier of the search used by the evaluator.

to_json()#

Returns a json version of the search object.