pub struct Adamax {
pub lr: Array,
pub betas: (Array, Array),
pub eps: Array,
pub state: State<(Array, Array)>,
}Expand description
The Adamax optimizer, a variant of Adam based on the infinity norm [1].
Our Adam implementation follows the original paper and omits the bias correction in the first and second moment estimates. In detail,
[1]: Kingma, D.P. and Ba, J., 2015. Adam: A method for stochastic optimization. ICLR 2015.
Fields§
§lr: ArrayThe learning rate.
betas: (Array, Array)The beta coefficients
eps: ArrayThe epsilon added to the denominator to improve numerical stability.
state: State<(Array, Array)>Inner state.
Implementations§
Source§impl Adamax
impl Adamax
Sourcepub const DEFAULT_BETAS: (f32, f32)
pub const DEFAULT_BETAS: (f32, f32)
Default value for betas.
Sourcepub const DEFAULT_EPS: f32 = 1e-8
pub const DEFAULT_EPS: f32 = 1e-8
Default value for eps.
Trait Implementations§
Source§impl Buildable for Adamax
impl Buildable for Adamax
Source§type Builder = AdamaxBuilder
type Builder = AdamaxBuilder
The builder type for this buildable type
Source§impl Builder<Adamax> for AdamaxBuilder
impl Builder<Adamax> for AdamaxBuilder
Source§impl Optimizer for Adamax
impl Optimizer for Adamax
Source§fn update_single(
&mut self,
key: &Rc<str>,
gradient: &Array,
parameter: &mut Array,
) -> Result<()>
fn update_single( &mut self, key: &Rc<str>, gradient: &Array, parameter: &mut Array, ) -> Result<()>
Update a single parameter with the given gradient. Read more
Source§fn update<M>(
&mut self,
model: &mut M,
gradients: impl Borrow<FlattenedModuleParam>,
) -> Result<()>where
M: ModuleParameters,
fn update<M>(
&mut self,
model: &mut M,
gradients: impl Borrow<FlattenedModuleParam>,
) -> Result<()>where
M: ModuleParameters,
Apply the gradients to the parameters of the model and update the model with the new
parameters.
Source§impl Updatable for Adamax
impl Updatable for Adamax
Source§fn state_projection(
&mut self,
) -> Result<StateProjection<'_>, StateProjectionError>
fn state_projection( &mut self, ) -> Result<StateProjection<'_>, StateProjectionError>
Declare all required and optional state slots.
Source§impl Updatable for &mut Adamax
impl Updatable for &mut Adamax
Source§fn state_projection(
&mut self,
) -> Result<StateProjection<'_>, StateProjectionError>
fn state_projection( &mut self, ) -> Result<StateProjection<'_>, StateProjectionError>
Declare all required and optional state slots.
Auto Trait Implementations§
impl !Send for Adamax
impl !Sync for Adamax
impl Freeze for Adamax
impl RefUnwindSafe for Adamax
impl Unpin for Adamax
impl UnsafeUnpin for Adamax
impl UnwindSafe for Adamax
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
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> 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 moreSource§impl<T> IntoOption<T> for T
impl<T> IntoOption<T> for T
Source§fn into_option(self) -> Option<T>
fn into_option(self) -> Option<T>
Convert into an
Option.