Bracket manager#
SHBracketManager(n_configs, fidelities, bracket_id=None)
#
Bases: object
Synchronous Successive Halving utilities
Source code in src/dehb/utils/bracket_manager.py
get_fidelity(rung=None)
#
Returns the exact fidelity that rung is pointing to.
Returns current rung's fidelity if no rung is passed.
Source code in src/dehb/utils/bracket_manager.py
get_lower_fidelity_promotions(fidelity)
#
Returns the immediate lower fidelity and the number of configs to be promoted from there
Source code in src/dehb/utils/bracket_manager.py
get_next_job_fidelity()
#
Returns the fidelity that will be selected if current_rung is incremented by 1
Source code in src/dehb/utils/bracket_manager.py
register_job(fidelity)
#
Registers the allocation of a configuration for the fidelity and updates current rung
This function must be called when scheduling a job in order to allow the bracket manager to continue job and fidelity 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(fidelity)
#
Notifies the bracket that a job for a fidelity has been completed
This function must be called when a config for a fidelity 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/fidelities have still a configuration to submit
is_waiting()
#
Returns True if any of the rungs/fidelities have a configuration pending/running
reset_waiting_jobs()
#
Resets all waiting jobs and updates the current_rung pointer accordingly.