Struct RmsNorm
pub struct RmsNorm {
pub gamma: Param<Tensor<1>>,
}Expand description
Applies RMS normalisation over an input tensor along the last dimension:
y = x / √(mean(x²)) · γ.
Should be created using the RmsNormConfig configuration.
Fields§
§gamma: Param<Tensor<1>>The learnable per-channel scale γ, shape [d_model].
Implementations§
Trait Implementations§
§impl Module for RmsNorm
impl Module for RmsNorm
§fn num_params(&self) -> usize
fn num_params(&self) -> usize
Get the number of parameters the module has, including all of its sub-modules.
§fn visit<Visitor>(&self, visitor: &mut Visitor)where
Visitor: ModuleVisitor,
fn visit<Visitor>(&self, visitor: &mut Visitor)where
Visitor: ModuleVisitor,
Visit each tensor parameter in the module with a visitor.
§fn map<Mapper>(self, mapper: &mut Mapper) -> RmsNormwhere
Mapper: ModuleMapper,
fn map<Mapper>(self, mapper: &mut Mapper) -> RmsNormwhere
Mapper: ModuleMapper,
Map each tensor parameter in the module with a mapper.
§fn collect_devices(&self, devices: Vec<Device>) -> Vec<Device>
fn collect_devices(&self, devices: Vec<Device>) -> Vec<Device>
Return all the devices found in the underneath module tree added to the given vector
without duplicates.
§fn to_device(self, device: &Device) -> RmsNorm
fn to_device(self, device: &Device) -> RmsNorm
Move the module and all of its sub-modules to the given device. Read more
§fn fork(self, device: &Device) -> RmsNorm
fn fork(self, device: &Device) -> RmsNorm
Fork the module and all of its sub-modules to the given device. Read more
§fn devices(&self) -> Vec<Device>
fn devices(&self) -> Vec<Device>
Return all the devices found in the underneath module tree without duplicates.
§fn freeze_group(self, group: ParamGroup) -> Self
fn freeze_group(self, group: ParamGroup) -> Self
Set
require_grad to false for every parameter in the given group, leaving the rest
of the module untouched. Read more§fn unfreeze_group(self, group: ParamGroup) -> Self
fn unfreeze_group(self, group: ParamGroup) -> Self
Set
require_grad to true for every parameter in the given group, leaving the rest
of the module untouched. Read more§fn train(self) -> Selfwhere
Self: AutodiffModule,
fn train(self) -> Selfwhere
Self: AutodiffModule,
Move the module and all of its sub-modules to the autodiff backend. Read more
§fn quantize_weights(self, quantizer: &mut Quantizer) -> Self
fn quantize_weights(self, quantizer: &mut Quantizer) -> Self
Quantize the weights of the module.
§fn quantize_weights_group(
self,
quantizer: &mut Quantizer,
group: ParamGroup,
) -> Self
fn quantize_weights_group( self, quantizer: &mut Quantizer, group: ParamGroup, ) -> Self
Quantize the weights of the given parameter group.
§fn apply_reparameterization<R>(self, reparameterizer: R) -> Selfwhere
Self: Sized,
R: Reparameterizer,
fn apply_reparameterization<R>(self, reparameterizer: R) -> Selfwhere
Self: Sized,
R: Reparameterizer,
Attach reparameterizations using the given [
Reparameterizer]. Read more§fn apply_lora(self, lora: Lora) -> Selfwhere
Self: Sized,
fn apply_lora(self, lora: Lora) -> Selfwhere
Self: Sized,
Attach LoRA adapters to the module’s 2-D weights, freezing the base weights. Read more
§fn apply_qlora(self, qlora: QLora) -> Selfwhere
Self: Sized,
fn apply_qlora(self, qlora: QLora) -> Selfwhere
Self: Sized,
Apply QLoRA to the module: quantize the (frozen) base weights and attach trainable LoRA
adapters to 2-D weights.
§fn into_record(self) -> ModuleRecordwhere
Self: Sized,
fn into_record(self) -> ModuleRecordwhere
Self: Sized,
Collect this module’s parameters into a
ModuleRecord. Read more§fn into_record_group(self, group: ParamGroup) -> ModuleRecordwhere
Self: Sized,
fn into_record_group(self, group: ParamGroup) -> ModuleRecordwhere
Self: Sized,
§fn try_load_record(self, record: ModuleRecord) -> Result<Self, RecordError>where
Self: Sized,
fn try_load_record(self, record: ModuleRecord) -> Result<Self, RecordError>where
Self: Sized,
Apply a
ModuleRecord to this module, returning the loaded
module. Read more§fn load_record(self, record: ModuleRecord) -> Selfwhere
Self: Sized,
fn load_record(self, record: ModuleRecord) -> Selfwhere
Self: Sized,
Apply a
ModuleRecord to this module, consuming and returning
it. Read more§fn save_file<P>(self, path: P) -> Result<(), RecordError>
fn save_file<P>(self, path: P) -> Result<(), RecordError>
Save this module’s parameters to a burnpack file on disk. Read more
§impl ModuleDisplay for RmsNorm
impl ModuleDisplay for RmsNorm
§fn custom_settings(&self) -> Option<DisplaySettings>
fn custom_settings(&self) -> Option<DisplaySettings>
Custom display settings for the module. Read more
§fn custom_content(&self, content: Content) -> Option<Content>
fn custom_content(&self, content: Content) -> Option<Content>
Custom attributes for the module. Read more
Auto Trait Implementations§
impl !RefUnwindSafe for RmsNorm
impl !UnwindSafe for RmsNorm
impl Freeze for RmsNorm
impl Send for RmsNorm
impl Sync for RmsNorm
impl Unpin for RmsNorm
impl UnsafeUnpin 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