pub struct ExponentialLr { /* private fields */ }Expand description
Exponential learning-rate scheduler.
Every step, the optimizer learning rate is multiplied by gamma:
lr = lr * gamma.
Implementations§
Source§impl ExponentialLr
impl ExponentialLr
Sourcepub fn new(gamma: f32) -> Result<Self, OptimError>
pub fn new(gamma: f32) -> Result<Self, OptimError>
Creates exponential scheduler with gamma in (0, 1].
Sourcepub fn step<O: LearningRate>(
&mut self,
optimizer: &mut O,
) -> Result<f32, OptimError>
pub fn step<O: LearningRate>( &mut self, optimizer: &mut O, ) -> Result<f32, OptimError>
Advances scheduler by one epoch and returns resulting optimizer LR.
Trait Implementations§
Source§impl Clone for ExponentialLr
impl Clone for ExponentialLr
Source§fn clone(&self) -> ExponentialLr
fn clone(&self) -> ExponentialLr
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ExponentialLr
impl Debug for ExponentialLr
Source§impl LrScheduler for ExponentialLr
impl LrScheduler for ExponentialLr
Source§impl PartialEq for ExponentialLr
impl PartialEq for ExponentialLr
impl StructuralPartialEq for ExponentialLr
Auto Trait Implementations§
impl Freeze for ExponentialLr
impl RefUnwindSafe for ExponentialLr
impl Send for ExponentialLr
impl Sync for ExponentialLr
impl Unpin for ExponentialLr
impl UnsafeUnpin for ExponentialLr
impl UnwindSafe for ExponentialLr
Blanket Implementations§
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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