pub struct AdaDelta {
pub lr: Array,
pub rho: Array,
pub eps: Array,
pub state: State<(Array, Array)>,
}Expand description
The AdaDelta optimizer with a learning rate.
The default rho is 0.9, matching Python MLX. Earlier mlx-rs releases used 0.99.
Please refer to the original paper for more details:
[1]: Zeiler, M.D., 2012. ADADELTA: an adaptive learning rate method. arXiv preprint arXiv:1212.5701.
Fields§
§lr: ArrayThe learning rate
rho: ArrayThe coefficient used for computing a running average of squared gradients. Defaults to
AdaDelta::DEFAULT_RHO (0.9, matching Python MLX).
eps: ArrayThe epsilon added to the denominator to improve numerical stability. Default to
AdaDelta::DEFAULT_EPS.
state: State<(Array, Array)>Inner state
Implementations§
Source§impl AdaDelta
impl AdaDelta
Sourcepub const DEFAULT_RHO: f32 = 0.9
pub const DEFAULT_RHO: f32 = 0.9
Default value for rho, matching Python MLX.
Sourcepub const DEFAULT_EPS: f32 = 1e-6
pub const DEFAULT_EPS: f32 = 1e-6
Default value for eps
Trait Implementations§
Source§impl Buildable for AdaDelta
impl Buildable for AdaDelta
Source§type Builder = AdaDeltaBuilder
type Builder = AdaDeltaBuilder
The builder type for this buildable type
Source§impl Builder<AdaDelta> for AdaDeltaBuilder
impl Builder<AdaDelta> for AdaDeltaBuilder
Source§impl Optimizer for AdaDelta
impl Optimizer for AdaDelta
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 AdaDelta
impl Updatable for AdaDelta
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 AdaDelta
impl Updatable for &mut AdaDelta
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 AdaDelta
impl !Sync for AdaDelta
impl Freeze for AdaDelta
impl RefUnwindSafe for AdaDelta
impl Unpin for AdaDelta
impl UnsafeUnpin for AdaDelta
impl UnwindSafe for AdaDelta
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.