pub struct SuccessiveHalvingPruner { /* private fields */ }Expand description
ASHA-style (Asynchronous Successive Halving) pruner — the “advanced” option.
Trials are compared at a ladder of resource rungs
min_resource * reduction_factor^k (starting at exponent
min_early_stopping_rate). When a trial crosses a rung, only the top
1/reduction_factor fraction of the trials that reached that rung are
promoted to continue; the rest are pruned. Compared to [MedianPruner],
this allocates a shrinking budget across rungs rather than a single
median cut, and is asynchronous (each trial is judged against whichever
peers have reached its rung so far), which suits parallel execution.
Implemented second and treated as the advanced choice; [MedianPruner] is
the simpler default.
Implementations§
Source§impl SuccessiveHalvingPruner
impl SuccessiveHalvingPruner
Sourcepub fn new() -> SuccessiveHalvingPruner
pub fn new() -> SuccessiveHalvingPruner
Defaults: min_resource = 1, reduction_factor = 4,
min_early_stopping_rate = 0.
Sourcepub fn min_resource(self, r: usize) -> SuccessiveHalvingPruner
pub fn min_resource(self, r: usize) -> SuccessiveHalvingPruner
Resource (step count) of the first rung.
Sourcepub fn reduction_factor(self, eta: usize) -> SuccessiveHalvingPruner
pub fn reduction_factor(self, eta: usize) -> SuccessiveHalvingPruner
eta: the fraction 1/eta of trials promoted at each rung, and the
factor by which rung resources grow. Must be >= 2.
Sourcepub fn min_early_stopping_rate(self, s: u32) -> SuccessiveHalvingPruner
pub fn min_early_stopping_rate(self, s: u32) -> SuccessiveHalvingPruner
Starting rung exponent — skip the earliest, cheapest rungs.
Trait Implementations§
Source§impl Clone for SuccessiveHalvingPruner
impl Clone for SuccessiveHalvingPruner
Source§fn clone(&self) -> SuccessiveHalvingPruner
fn clone(&self) -> SuccessiveHalvingPruner
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more