pub struct DistributionNormalizer { /* private fields */ }Expand description
Distribution Normalizer implementing Stage 1 of NOVAQ
Mathematical formulation from NOVAQ paper: W_hat_{i,:} = (W_{i,:} - μ_i) / s_i
where: μ_i = (1/d) * Σ_j W_{i,j} (per-channel mean) s_i = σ_i / Δ if σ_i in top p%, else 1 (outlier scaling)
Implementations§
Source§impl DistributionNormalizer
impl DistributionNormalizer
pub fn new(outlier_threshold: f32, seed: u64) -> Self
Sourcepub fn normalize(
&self,
weights: &mut WeightMatrix,
) -> Result<NormalizationMetadata>
pub fn normalize( &self, weights: &mut WeightMatrix, ) -> Result<NormalizationMetadata>
Normalize weight matrix by eliminating per-channel means and rescaling outlier channels
Sourcepub fn denormalize(
&self,
weights: &mut [f32],
metadata: &NormalizationMetadata,
) -> Result<()>
pub fn denormalize( &self, weights: &mut [f32], metadata: &NormalizationMetadata, ) -> Result<()>
Denormalize weights using stored metadata
Trait Implementations§
Auto Trait Implementations§
impl Freeze for DistributionNormalizer
impl RefUnwindSafe for DistributionNormalizer
impl Send for DistributionNormalizer
impl Sync for DistributionNormalizer
impl Unpin for DistributionNormalizer
impl UnsafeUnpin for DistributionNormalizer
impl UnwindSafe for DistributionNormalizer
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
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
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 more