pub struct AdamW { /* private fields */ }Expand description
AdamW optimizer.
See:
- Decoupled Weight Decay Regularization, Loshchilov and Hutter, 2019.
- Cautious Weight Decay, 2025
- On the Convergence of Adam and Beyond
Configured by AdamWConfig.
Trait Implementations§
Source§impl Optimizer for AdamW
impl Optimizer for AdamW
Source§fn step<const D: usize>(
&self,
lr: LearningRate,
tensor: Tensor<D>,
grad: Tensor<D>,
state: Option<Self::State<D>>,
) -> (Tensor<D>, Option<Self::State<D>>)
fn step<const D: usize>( &self, lr: LearningRate, tensor: Tensor<D>, grad: Tensor<D>, state: Option<Self::State<D>>, ) -> (Tensor<D>, Option<Self::State<D>>)
A single optimization step for any tensor that represents the parameters of a model.
Auto Trait Implementations§
impl Freeze for AdamW
impl RefUnwindSafe for AdamW
impl Send for AdamW
impl Sync for AdamW
impl Unpin for AdamW
impl UnsafeUnpin for AdamW
impl UnwindSafe for AdamW
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> CloneExpand for Twhere
T: Clone,
impl<T> CloneExpand for Twhere
T: Clone,
fn __expand_clone_method(&self, _: &Scope) -> T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<O> DynOptimizer for Owhere
O: Optimizer,
impl<O> DynOptimizer for Owhere
O: Optimizer,
Source§fn step_dyn(
&self,
rank: usize,
lr: f64,
tensor: BridgeTensor,
grad: BridgeTensor,
state: Option<DynState>,
) -> (BridgeTensor, Option<DynState>)
fn step_dyn( &self, rank: usize, lr: f64, tensor: BridgeTensor, grad: BridgeTensor, state: Option<DynState>, ) -> (BridgeTensor, Option<DynState>)
Perform an optimizer step for a single parameter of the given
rank.Source§fn to_device_dyn(&self, state: DynState, device: &Device) -> DynState
fn to_device_dyn(&self, state: DynState, device: &Device) -> DynState
Move a state to the given device.
Source§fn state_flatten(&self, prefix: &str, state: &DynState, out: &mut StateSink)
fn state_flatten(&self, prefix: &str, state: &DynState, out: &mut StateSink)
Decompose a state into named tensors and scalars under
prefix.Source§fn state_unflatten(
&self,
rank: usize,
prefix: &str,
src: &mut StateSource,
device: &Device,
) -> Option<DynState>
fn state_unflatten( &self, rank: usize, prefix: &str, src: &mut StateSource, device: &Device, ) -> Option<DynState>
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