Skip to main content

Adam

Struct Adam 

Source
pub struct Adam {
    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 Adam

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 Adam

Source§

fn default() -> Self

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

impl<'a> IntoIterator for &'a Adam

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 Adam

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 Adam

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 Adam

§

impl RefUnwindSafe for Adam

§

impl Send for Adam

§

impl Sync for Adam

§

impl Unpin for Adam

§

impl UnsafeUnpin for Adam

§

impl UnwindSafe for Adam

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.