LayerNorm

Struct LayerNorm 

Source
pub struct LayerNorm<F: Float + Debug + Send + Sync> { /* private fields */ }
Expand description

Layer Normalization layer

Implements layer normalization as described in “Layer Normalization” by Ba, Kiros, and Hinton. It normalizes the inputs across the last dimension and applies learnable scale and shift parameters.

Implementations§

Source§

impl<F: Float + Debug + ScalarOperand + Send + Sync + 'static> LayerNorm<F>

Source

pub fn new<R: Rng>( normalizedshape: usize, eps: f64, _rng: &mut R, ) -> Result<Self>

Create a new layer normalization layer

Source

pub fn normalizedshape(&self) -> usize

Get the normalized shape

Source

pub fn eps(&self) -> f64

Get the epsilon value

Trait Implementations§

Source§

impl<F: Float + Debug + ScalarOperand + Send + Sync + 'static> Clone for LayerNorm<F>

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<F: Debug + Float + Debug + Send + Sync> Debug for LayerNorm<F>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<F: Float + Debug + ScalarOperand + Send + Sync + 'static> Layer<F> for LayerNorm<F>

Source§

fn forward(&self, input: &Array<F, IxDyn>) -> Result<Array<F, IxDyn>>

Forward pass of the layer Read more
Source§

fn backward( &self, _input: &Array<F, IxDyn>, grad_output: &Array<F, IxDyn>, ) -> Result<Array<F, IxDyn>>

Backward pass of the layer to compute gradients Read more
Source§

fn update(&mut self, _learningrate: F) -> Result<()>

Update the layer parameters with the given learning rate
Source§

fn as_any(&self) -> &dyn Any

Get the layer as a dyn Any for downcasting
Source§

fn as_any_mut(&mut self) -> &mut dyn Any

Get the layer as a mutable dyn Any for downcasting
Source§

fn layer_type(&self) -> &str

Get the type of the layer (e.g., “Dense”, “Conv2D”)
Source§

fn parameter_count(&self) -> usize

Get the number of trainable parameters in this layer
Source§

fn params(&self) -> Vec<Array<F, IxDyn>>

Get the parameters of the layer
Source§

fn gradients(&self) -> Vec<Array<F, IxDyn>>

Get the gradients of the layer parameters
Source§

fn set_gradients(&mut self, _gradients: &[Array<F, IxDyn>]) -> Result<()>

Set the gradients of the layer parameters
Source§

fn set_params(&mut self, _params: &[Array<F, IxDyn>]) -> Result<()>

Set the parameters of the layer
Source§

fn set_training(&mut self, _training: bool)

Set the layer to training mode (true) or evaluation mode (false)
Source§

fn is_training(&self) -> bool

Get the current training mode
Source§

fn layer_description(&self) -> String

Get a detailed description of this layer
Source§

fn inputshape(&self) -> Option<Vec<usize>>

Get the input shape if known
Source§

fn outputshape(&self) -> Option<Vec<usize>>

Get the output shape if known
Source§

fn name(&self) -> Option<&str>

Get the name of the layer if set
Source§

impl<F: Float + Debug + ScalarOperand + Send + Sync + 'static> ParamLayer<F> for LayerNorm<F>

Source§

fn get_parameters(&self) -> Vec<Array<F, IxDyn>>

Get the parameters of the layer as a vector of arrays
Source§

fn get_gradients(&self) -> Vec<Array<F, IxDyn>>

Get the gradients of the parameters
Source§

fn set_parameters(&mut self, params: Vec<Array<F, IxDyn>>) -> Result<()>

Set the parameters

Auto Trait Implementations§

§

impl<F> Freeze for LayerNorm<F>
where F: Freeze,

§

impl<F> RefUnwindSafe for LayerNorm<F>
where F: RefUnwindSafe,

§

impl<F> Send for LayerNorm<F>

§

impl<F> Sync for LayerNorm<F>

§

impl<F> Unpin for LayerNorm<F>
where F: Unpin,

§

impl<F> UnwindSafe for LayerNorm<F>

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V