syne_tune.optimizer.schedulers.synchronous.hyperband_rung_system module
- class syne_tune.optimizer.schedulers.synchronous.hyperband_rung_system.SynchronousHyperbandRungSystem[source]
Bases:
object
Collects factory methods for
RungSystemsPerBracket
rung systems to be used inSynchronousHyperbandBracketManager
.- static geometric(min_resource, max_resource, reduction_factor, num_brackets=None)[source]
This is the geometric progression setup from the original papers on successive halving and Hyperband.
If
smax = ceil(log(max_resource / min_resource) / log(reduction_factor))
, there can be at mosts_max + 1
brackets. Here, bracket s hasr_num = s_max - s + 1
rungs, and the size of rung r in bracket s isn(r,s) = ceil( (s_max + 1) / r_num) * power(reduction_factor, r_num - r - 1)
- Parameters:
min_resource (
int
) – Smallest resource level (positive int)max_resource (
int
) – Largest resource level (positive int)reduction_factor (
float
) – Approximate ratio between successive rung levelsnum_brackets (
Optional
[int
]) – Number of brackets. If not given, the maximum number of brackets is used. Pass 1 for successive halving
- Return type:
List
[List
[Tuple
[int
,int
]]]- Returns:
Rung system