pub struct RmsNorm {
pub weight: Param<Array>,
pub eps: f32,
}
Expand description
Applies Root Mean Square normalization [1] to the inputs.
Concretely:
weight * x * MLX.rsqrt(x.square().mean() + eps)
where weight
is initialized with ones and eps
is a small float to
ensure the numerical stability of inverse square root.
§References
Fields§
§weight: Param<Array>
Weight
eps: f32
A small float to ensure the numerical stability
Implementations§
Trait Implementations§
Source§impl Buildable for RmsNorm
impl Buildable for RmsNorm
Source§type Builder = RmsNormBuilder
type Builder = RmsNormBuilder
The builder type for this buildable type
Source§impl Builder<RmsNorm> for RmsNormBuilder
impl Builder<RmsNorm> for RmsNormBuilder
Source§impl Module<&Array> for RmsNorm
impl Module<&Array> for RmsNorm
Source§fn training_mode(&mut self, _mode: bool)
fn training_mode(&mut self, _mode: bool)
Set whether the module is in training mode. Read more
Source§impl ModuleParameters for RmsNorm
impl ModuleParameters for RmsNorm
Source§fn freeze_parameters(&mut self, recursive: bool)
fn freeze_parameters(&mut self, recursive: bool)
Freeze all parameters in the module.
Source§fn unfreeze_parameters(&mut self, recursive: bool)
fn unfreeze_parameters(&mut self, recursive: bool)
Unfreeze all parameters in the module.
Source§fn parameters(&self) -> ModuleParamRef<'_>
fn parameters(&self) -> ModuleParamRef<'_>
Get references to the module parameters.
Source§fn parameters_mut(&mut self) -> ModuleParamMut<'_>
fn parameters_mut(&mut self) -> ModuleParamMut<'_>
Get mutable references to the module parameters.
Source§fn trainable_parameters(&self) -> ModuleParamRef<'_>
fn trainable_parameters(&self) -> ModuleParamRef<'_>
Get references to the trainable parameters. A parameter is trainable if it is NOT frozen.
Source§fn all_frozen(&self) -> Option<bool>
fn all_frozen(&self) -> Option<bool>
Check if all parameters in the module are frozen. Returns
None
if there are no parameters.Source§fn any_frozen(&self) -> Option<bool>
fn any_frozen(&self) -> Option<bool>
Check if any parameter in the module is frozen. Returns
None
if there are no parameters.Source§fn update(&mut self, parameters: ModuleParam)
fn update(&mut self, parameters: ModuleParam)
Update the module parameters.
Source§fn update_flattened(&mut self, flattened_parameters: FlattenedModuleParam)
fn update_flattened(&mut self, flattened_parameters: FlattenedModuleParam)
Update the module parameters from a flattened representation.
Auto Trait Implementations§
impl Freeze for RmsNorm
impl RefUnwindSafe for RmsNorm
impl Send for RmsNorm
impl !Sync for RmsNorm
impl Unpin for RmsNorm
impl UnwindSafe for RmsNorm
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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 moreSource§impl<T> IntoOption<T> for T
impl<T> IntoOption<T> for T
Source§fn into_option(self) -> Option<T>
fn into_option(self) -> Option<T>
Convert into an
Option
.Source§impl<T> IntoStrideBy for T
impl<T> IntoStrideBy for T
Source§impl<T> ModuleParametersExt for Twhere
T: ModuleParameters,
impl<T> ModuleParametersExt for Twhere
T: ModuleParameters,
Source§impl<T> Parameter for Twhere
T: ModuleParameters,
impl<T> Parameter for Twhere
T: ModuleParameters,
Source§fn is_frozen(&self) -> Option<bool>
fn is_frozen(&self) -> Option<bool>
Check if the parameter is frozen. Returns
None
if the parameter is a module that has no
parameters.Source§fn as_nested_value(&self) -> NestedValue<Rc<str>, &Array>
fn as_nested_value(&self) -> NestedValue<Rc<str>, &Array>
Get the parameter as a nested value.
Source§fn as_nested_value_mut(&mut self) -> NestedValue<Rc<str>, &mut Array>
fn as_nested_value_mut(&mut self) -> NestedValue<Rc<str>, &mut Array>
Get the parameter as a mutable nested value.
Source§fn as_trainable_nested_value(&self) -> Option<NestedValue<Rc<str>, &Array>>
fn as_trainable_nested_value(&self) -> Option<NestedValue<Rc<str>, &Array>>
Get the parameter as a nested value if it is trainable.
Source§impl<T> Updatable for Twhere
T: ModuleParameters,
impl<T> Updatable for Twhere
T: ModuleParameters,
Source§fn updatable_states(&self) -> impl IntoIterator<Item = &Array>
fn updatable_states(&self) -> impl IntoIterator<Item = &Array>
Returns a list of references to the updatable states. Read more
Source§fn updatable_states_mut(&mut self) -> impl IntoIterator<Item = &mut Array>
fn updatable_states_mut(&mut self) -> impl IntoIterator<Item = &mut Array>
Returns a list of mutable references to the updatable states. Read more