pub enum SchedulerStrategy {
Constant {
lr: f64,
},
StepDecay {
initial_lr: f64,
decay_factor: f64,
step_size: u64,
},
ExponentialDecay {
initial_lr: f64,
decay_rate: f64,
},
CosineAnnealing {
initial_lr: f64,
min_lr: f64,
t_max: u64,
},
WarmupCosine {
warmup_epochs: u64,
initial_lr: f64,
peak_lr: f64,
min_lr: f64,
t_max: u64,
},
CyclicLR {
base_lr: f64,
max_lr: f64,
step_size: u64,
},
ReduceOnPlateau {
initial_lr: f64,
factor: f64,
patience: u64,
min_lr: f64,
threshold: f64,
},
}Expand description
Multi-strategy learning rate scheduling for distributed ML training.
Supports seven scheduling strategies including plateau detection.
Variants§
Constant
Fixed learning rate that never changes.
StepDecay
Multiply learning rate by decay_factor every step_size epochs.
Fields
ExponentialDecay
Exponential decay: lr = initial * exp(-decay_rate * epoch).
CosineAnnealing
Cosine annealing from initial_lr to min_lr over t_max epochs.
Fields
WarmupCosine
Linear warmup over warmup_epochs then cosine annealing to min_lr.
Fields
CyclicLR
Triangular (cyclic) learning rate oscillating between base_lr and max_lr.
Fields
ReduceOnPlateau
Reduce learning rate when validation loss stops improving.
Trait Implementations§
Source§impl Clone for SchedulerStrategy
impl Clone for SchedulerStrategy
Source§fn clone(&self) -> SchedulerStrategy
fn clone(&self) -> SchedulerStrategy
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for SchedulerStrategy
impl RefUnwindSafe for SchedulerStrategy
impl Send for SchedulerStrategy
impl Sync for SchedulerStrategy
impl Unpin for SchedulerStrategy
impl UnsafeUnpin for SchedulerStrategy
impl UnwindSafe for SchedulerStrategy
Blanket Implementations§
impl<T> Allocation for T
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more