pub enum PruningStrategy {
Magnitude {
threshold_percentile: u8,
},
BlockWise {
block_size: (usize, usize),
},
ChannelWise {
channels_to_prune: usize,
},
AttentionHead {
heads_to_prune: usize,
},
Movement {
sensitivity: f32,
},
GradualMagnitude {
initial_sparsity: f32,
final_sparsity: f32,
},
}Expand description
Pruning strategies for tensor compression
Variants§
Magnitude
Magnitude-based pruning: remove weights below threshold
BlockWise
Structured pruning: remove entire blocks
ChannelWise
Channel-wise pruning for convolutional layers
AttentionHead
Attention head pruning for transformer models
Movement
Movement pruning: prune based on weight movement during training
GradualMagnitude
Gradual magnitude pruning with schedule
Implementations§
Source§impl PruningStrategy
impl PruningStrategy
Sourcepub fn expected_sparsity(&self) -> f32
pub fn expected_sparsity(&self) -> f32
Get the expected sparsity for this strategy
Sourcepub fn is_structured(&self) -> bool
pub fn is_structured(&self) -> bool
Check if this is a structured pruning strategy
Trait Implementations§
Source§impl Clone for PruningStrategy
impl Clone for PruningStrategy
Source§fn clone(&self) -> PruningStrategy
fn clone(&self) -> PruningStrategy
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 moreSource§impl Debug for PruningStrategy
impl Debug for PruningStrategy
Source§impl PartialEq for PruningStrategy
impl PartialEq for PruningStrategy
impl Copy for PruningStrategy
impl StructuralPartialEq for PruningStrategy
Auto Trait Implementations§
impl Freeze for PruningStrategy
impl RefUnwindSafe for PruningStrategy
impl Send for PruningStrategy
impl Sync for PruningStrategy
impl Unpin for PruningStrategy
impl UnsafeUnpin for PruningStrategy
impl UnwindSafe for PruningStrategy
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 more