smac.facade.multi_fidelity_facade¶
Classes¶
|
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:
- 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:
- 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.