pub struct CompressionAnalysis {
pub weight_sparsity: f32,
pub effective_rank: f32,
pub quantization_error: f32,
pub recommended_rank: usize,
pub compression_potential: f32,
}Expand description
Estimates how compressible a weight matrix is.
Fields§
§weight_sparsity: f32Fraction of weight values with |w| < eps
effective_rank: f32Effective rank via participation ratio (higher = less compressible)
quantization_error: f32Estimated INT8 quantization relative error
recommended_rank: usizeSuggested LoRA rank for this layer (heuristic)
compression_potential: f32Overall compressibility score in [0, 1] (1 = very compressible)
Implementations§
Source§impl CompressionAnalysis
impl CompressionAnalysis
Sourcepub fn analyze_weight(weight: &Array2<f32>, eps: f32) -> ModelResult<Self>
pub fn analyze_weight(weight: &Array2<f32>, eps: f32) -> ModelResult<Self>
Analyse a single weight matrix.
eps is the threshold below which a weight is considered “zero”.
Sourcepub fn analyze_multiple<'a>(
weights: &[(&'a str, &Array2<f32>)],
) -> Vec<(&'a str, CompressionAnalysis)>
pub fn analyze_multiple<'a>( weights: &[(&'a str, &Array2<f32>)], ) -> Vec<(&'a str, CompressionAnalysis)>
Analyse multiple weight matrices, returning a list of (name, analysis) pairs.
Trait Implementations§
Source§impl Clone for CompressionAnalysis
impl Clone for CompressionAnalysis
Source§fn clone(&self) -> CompressionAnalysis
fn clone(&self) -> CompressionAnalysis
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for CompressionAnalysis
impl RefUnwindSafe for CompressionAnalysis
impl Send for CompressionAnalysis
impl Sync for CompressionAnalysis
impl Unpin for CompressionAnalysis
impl UnsafeUnpin for CompressionAnalysis
impl UnwindSafe for CompressionAnalysis
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> 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