Bracket manager#
SHBracketManager(n_configs, budgets, bracket_id=None)
#
Bases: object
Synchronous Successive Halving utilities
Source code in src/dehb/utils/bracket_manager.py
get_budget(rung=None)
#
Returns the exact budget that rung is pointing to.
Returns current rung's budget if no rung is passed.
Source code in src/dehb/utils/bracket_manager.py
get_lower_budget_promotions(budget)
#
Returns the immediate lower budget and the number of configs to be promoted from there
Source code in src/dehb/utils/bracket_manager.py
get_next_job_budget()
#
Returns the budget that will be selected if current_rung is incremented by 1
Source code in src/dehb/utils/bracket_manager.py
register_job(budget)
#
Registers the allocation of a configuration for the budget and updates current rung
This function must be called when scheduling a job in order to allow the bracket manager to continue job and budget allocation without waiting for jobs to finish and return results necessarily. This feature can be leveraged to run brackets asynchronously.
Source code in src/dehb/utils/bracket_manager.py
complete_job(budget)
#
Notifies the bracket that a job for a budget has been completed
This function must be called when a config for a budget has finished evaluation to inform the Bracket Manager that no job needs to be waited for and the next rung can begin for the synchronous Successive Halving case.
Source code in src/dehb/utils/bracket_manager.py
previous_rung_waits()
#
Returns True if none of the rungs < current rung is waiting for results
Source code in src/dehb/utils/bracket_manager.py
is_bracket_done()
#
is_pending()
#
Returns True if any of the rungs/budgets have still a configuration to submit
is_waiting()
#
Returns True if any of the rungs/budgets have a configuration pending/running