Skip to main content

AdamW

Struct AdamW 

Source
pub struct AdamW {
    pub learning_rate: f32,
    pub betas: (f32, f32),
    pub eps: f32,
    pub weight_decay: f32,
    pub amsgrad: bool,
    pub m: Vec<Tensor>,
    pub v: Vec<Tensor>,
    pub vm: Vec<Tensor>,
    pub t: usize,
}
Expand description

§Adaptive momentum estimation optimizer

Fields§

§learning_rate: f32

learning rate (default: 1e-3)

§betas: (f32, f32)

coefficients used for computing running averages of gradient and its square (default: (0.9, 0.999))

§eps: f32

term added to the denominator to improve numerical stability (default: 1e-8)

§weight_decay: f32

weight decay (L2 penalty) (default: 0)

§amsgrad: bool

whether to use the AMSGrad variant of this algorithm from the paper On the Convergence of Adam and Beyond (default: false)

§m: Vec<Tensor>

m

§v: Vec<Tensor>

v

§vm: Vec<Tensor>

vm

§t: usize

t

Implementations§

Source§

impl AdamW

Source

pub fn update<'a>( &mut self, parameters: impl IntoIterator<Item = &'a mut Tensor>, gradients: impl IntoIterator<Item = Option<Tensor>>, )

Updates parameters with gradients. Number of parameters must be the same as number of gradients. Gradients can be None, those are simply skipped.

Trait Implementations§

Source§

impl Default for AdamW

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl<'a> IntoIterator for &'a AdamW

Source§

type Item = &'a Tensor

The type of the elements being iterated over.
Source§

type IntoIter = IntoIter<&'a Tensor>

Which kind of iterator are we turning this into?
Source§

fn into_iter(self) -> Self::IntoIter

Creates an iterator from a value. Read more
Source§

impl<'a> IntoIterator for &'a mut AdamW

Source§

type Item = &'a mut Tensor

The type of the elements being iterated over.
Source§

type IntoIter = IntoIter<&'a mut Tensor>

Which kind of iterator are we turning this into?
Source§

fn into_iter(self) -> Self::IntoIter

Creates an iterator from a value. Read more
Source§

impl Module for AdamW

Source§

fn iter<'a>(&'a self) -> impl Iterator<Item = &'a Tensor>

Iterate over all tensors immutably
Source§

fn iter_mut<'a>(&'a mut self) -> impl Iterator<Item = &'a mut Tensor>

Iterate over all tensors mutably
Source§

fn iter_tensors<'a>(&'a self) -> impl Iterator<Item = (String, &'a Tensor)>

Iterate over tensors without consuming the module
Source§

fn iter_tensors_mut<'a>( &'a mut self, ) -> impl Iterator<Item = (String, &'a mut Tensor)>

From tensors
Source§

fn realize(&self) -> Result<(), ZyxError>

Realize all tensors in the module Read more
Source§

fn set_params(&mut self, params: &mut HashMap<String, Tensor>)

Set parameters, removes them from params, skips parameters that are not found in params.
Source§

fn save(&self, path: impl AsRef<Path>) -> Result<(), ZyxError>

Save tensors or modules to a file determined by file extension. Currently only safetensors is supported format. Read more

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> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.