syne_tune.optimizer.schedulers.synchronous.dehb_bracket_manager module
- class syne_tune.optimizer.schedulers.synchronous.dehb_bracket_manager.DifferentialEvolutionHyperbandBracketManager(rungs_first_bracket, mode, num_brackets_per_iteration=None)[source]
Bases:
SynchronousHyperbandBracketManager
Special case of
SynchronousHyperbandBracketManager
to manage DEHB brackets (typeDifferentialEvolutionHyperbandBracket
).In DEHB, the list of brackets is determined by the first one and the number of brackets. Also, later brackets have less total budget, because the size of a rung is determined by its level, independent of the bracket. This is different to what is done in synchronous Hyperband, where the rungs of later brackets have larger sizes, so the total budget of each bracket is the same.
We also need additional methods to access trial_id’s in specific rungs, as well as entries of the top lists for completed rungs. This is because DEHB controls the creation of new configurations at higher rungs, while synchronous Hyperband relies on automatic promotion from lower rungs.
- trial_id_from_parent_slot(bracket_id, level, slot_index)[source]
The parent slot has the same slot index and rung level in the largest bracket
< bracket_id
with a trial_id not None. If no such slot exists, None is returned. For a cross-over or selection operation, the target is chosen from the parent slot.- Return type:
Optional
[int
]