Trait dfdx::gradients::CanUpdateWithGradients
source · [−]pub trait CanUpdateWithGradients {
fn update<G: GradientProvider>(&mut self, grads: &mut G);
}
Expand description
Represents something that can be updated with GradientProvider.
Most implementations of this trait will have sub structs that also implement CanUpdateWithGradients.
For example the Linear model just calls update on its weight & bias:
ⓘ
impl<const I: usize, const O: usize> CanUpdateWithGradients for Linear<I, O> {
fn update<G: GradientProvider>(&mut self, grads: &mut G) {
self.weight.update(grads);
self.bias.update(grads);
}
}
Required Methods
fn update<G: GradientProvider>(&mut self, grads: &mut G)
Implementations on Foreign Types
sourceimpl<A: CanUpdateWithGradients, B: CanUpdateWithGradients> CanUpdateWithGradients for (A, B)
impl<A: CanUpdateWithGradients, B: CanUpdateWithGradients> CanUpdateWithGradients for (A, B)
fn update<G: GradientProvider>(&mut self, grads: &mut G)
sourceimpl<A: CanUpdateWithGradients, B: CanUpdateWithGradients, C: CanUpdateWithGradients> CanUpdateWithGradients for (A, B, C)
impl<A: CanUpdateWithGradients, B: CanUpdateWithGradients, C: CanUpdateWithGradients> CanUpdateWithGradients for (A, B, C)
fn update<G: GradientProvider>(&mut self, grads: &mut G)
sourceimpl<A: CanUpdateWithGradients, B: CanUpdateWithGradients, C: CanUpdateWithGradients, D: CanUpdateWithGradients> CanUpdateWithGradients for (A, B, C, D)
impl<A: CanUpdateWithGradients, B: CanUpdateWithGradients, C: CanUpdateWithGradients, D: CanUpdateWithGradients> CanUpdateWithGradients for (A, B, C, D)
fn update<G: GradientProvider>(&mut self, grads: &mut G)
sourceimpl<A: CanUpdateWithGradients, B: CanUpdateWithGradients, C: CanUpdateWithGradients, D: CanUpdateWithGradients, E: CanUpdateWithGradients> CanUpdateWithGradients for (A, B, C, D, E)
impl<A: CanUpdateWithGradients, B: CanUpdateWithGradients, C: CanUpdateWithGradients, D: CanUpdateWithGradients, E: CanUpdateWithGradients> CanUpdateWithGradients for (A, B, C, D, E)
fn update<G: GradientProvider>(&mut self, grads: &mut G)
sourceimpl<A: CanUpdateWithGradients, B: CanUpdateWithGradients, C: CanUpdateWithGradients, D: CanUpdateWithGradients, E: CanUpdateWithGradients, F: CanUpdateWithGradients> CanUpdateWithGradients for (A, B, C, D, E, F)
impl<A: CanUpdateWithGradients, B: CanUpdateWithGradients, C: CanUpdateWithGradients, D: CanUpdateWithGradients, E: CanUpdateWithGradients, F: CanUpdateWithGradients> CanUpdateWithGradients for (A, B, C, D, E, F)
fn update<G: GradientProvider>(&mut self, grads: &mut G)
Implementors
impl CanUpdateWithGradients for Abs
impl CanUpdateWithGradients for Cos
impl CanUpdateWithGradients for Exp
impl CanUpdateWithGradients for Ln
impl CanUpdateWithGradients for ReLU
impl CanUpdateWithGradients for Sigmoid
impl CanUpdateWithGradients for Sin
impl CanUpdateWithGradients for Sqrt
impl CanUpdateWithGradients for Square
impl CanUpdateWithGradients for Tanh
impl<T: Tensor<Dtype = f32>> CanUpdateWithGradients for T
Subtracts the gradient for the tensor from HasArrayData::mut_data.