smac.facade.multi_fidelity_facade

Classes

MultiFidelityFacade(scenario, target_function, *)

This facade configures SMAC in a multi-fidelity setting.

Interfaces

class smac.facade.multi_fidelity_facade.MultiFidelityFacade(scenario, target_function, *, model=None, acquisition_function=None, acquisition_maximizer=None, initial_design=None, random_design=None, intensifier=None, multi_objective_algorithm=None, runhistory_encoder=None, config_selector=None, logging_level=None, callbacks=[], overwrite=False)[source]

Bases: HyperparameterOptimizationFacade

This facade configures SMAC in a multi-fidelity setting.

static get_initial_design(scenario, *, n_configs=None, n_configs_per_hyperparamter=10, max_ratio=0.25, additional_configs=[])[source]

Returns a random initial design.

Parameters:
  • scenario (Scenario) –

  • n_configs (int | None, defaults to None) – Number of initial configurations (disables the arguments n_configs_per_hyperparameter).

  • n_configs_per_hyperparameter (int, defaults to 10) – Number of initial configurations per hyperparameter. For example, if my configuration space covers five hyperparameters and n_configs_per_hyperparameter is set to 10, then 50 initial configurations will be samples.

  • max_ratio (float, defaults to 0.1) – Use at most scenario.n_trials * max_ratio number of configurations in the initial design. Additional configurations are not affected by this parameter.

  • additional_configs (list[Configuration], defaults to []) – Adds additional configurations to the initial design.

Return type:

RandomInitialDesign

static get_intensifier(scenario, *, eta=3, n_seeds=1, instance_seed_order='shuffle_once', max_incumbents=10, incumbent_selection='highest_observed_budget')[source]

Returns a Hyperband intensifier instance. Budgets are supported.

Return type:

Hyperband

etaint, defaults to 3

Input that controls the proportion of configurations discarded in each round of Successive Halving.

n_seedsint, defaults to 1

How many seeds to use for each instance.

instance_seed_orderstr, defaults to “shuffle_once”

How to order the instance-seed pairs. Can be set to: * None: No shuffling at all and use the instance-seed order provided by the user. * “shuffle_once”: Shuffle the instance-seed keys once and use the same order across all runs. * “shuffle”: Shuffles the instance-seed keys for each bracket individually.

incumbent_selectionstr, defaults to “any_budget”

How to select the incumbent when using budgets. Can be set to: * “any_budget”: Incumbent is the best on any budget, i.e., the best performance regardless of budget. * “highest_observed_budget”: Incumbent is the best in the highest budget run so far. * “highest_budget”: Incumbent is selected only based on the highest budget.

max_incumbentsint, defaults to 10

How many incumbents to keep track of in the case of multi-objective.