syne_tune.optimizer.schedulers.hyperband_rush module

class syne_tune.optimizer.schedulers.hyperband_rush.RUSHDecider(num_threshold_candidates, mode)[source]

Bases: object

Implements the additional decision logic according to the RUSH algorithm. It is used as part of RUSHStoppingRungSystem and RUSHPromotionRungSystem. Reference:

A resource-efficient method for repeated HPO and NAS.
Giovanni Zappella, David Salinas, Cédric Archambeau.
AutoML workshop @ ICML 2021.

For a more detailed description, refer to RUSHScheduler.

Parameters:
  • num_threshold_candidates (int) – Number of threshold candidates

  • mode (str) – “min” or “max”

task_continues(task_continues, trial_id, metric_val, resource)[source]
Return type:

bool

class syne_tune.optimizer.schedulers.hyperband_rush.RUSHStoppingRungSystem(rung_levels, promote_quantiles, metric, mode, resource_attr, max_t, num_threshold_candidates)[source]

Bases: StoppingRungSystem

Implementation for RUSH algorithm, stopping variant.

Additional arguments on top of base class StoppingRungSystem:

Parameters:

num_threshold_candidates (int) – Number of threshold candidates

class syne_tune.optimizer.schedulers.hyperband_rush.RUSHPromotionRungSystem(rung_levels, promote_quantiles, metric, mode, resource_attr, max_t, num_threshold_candidates)[source]

Bases: PromotionRungSystem

Implementation for RUSH algorithm, promotion variant.

Additional arguments on top of base class PromotionRungSystem:

Parameters:

num_threshold_candidates (int) – Number of threshold candidates