pub struct Adam {
pub lr: Array,
pub betas: (Array, Array),
pub eps: Array,
pub state: State<(Array, Array)>,
}Expand description
The Adam optimizer.
Please refer to the original paper for more details:
[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 coefficients used for computing running averages of the gradient and its square
Default to Adam::DEFAULT_BETAS
eps: ArrayThe epsilon added to the denominator to improve numerical stability
Default to Adam::DEFAULT_EPS
state: State<(Array, Array)>Inner state
Implementations§
Source§impl Adam
impl Adam
Sourcepub const DEFAULT_BETAS: (f32, f32)
pub const DEFAULT_BETAS: (f32, f32)
Default values 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 Adam
impl Buildable for Adam
Source§type Builder = AdamBuilder
type Builder = AdamBuilder
The builder type for this buildable type
Source§impl Builder<Adam> for AdamBuilder
impl Builder<Adam> for AdamBuilder
Source§impl Optimizer for Adam
impl Optimizer for Adam
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 Adam
impl Updatable for Adam
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 Adam
impl Updatable for &mut Adam
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 Adam
impl !Sync for Adam
impl Freeze for Adam
impl RefUnwindSafe for Adam
impl Unpin for Adam
impl UnsafeUnpin for Adam
impl UnwindSafe for Adam
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.