pub enum CompressionStrategy {
Quantization {
bits: u8,
signed: bool,
symmetric: bool,
},
PostTrainingQuantization {
calibration_samples: usize,
bits: u8,
},
QuantizationAwareTraining {
bits: u8,
fake_quantize: bool,
},
UnstructuredPruning {
sparsity: f32,
strategy: PruningStrategy,
},
StructuredPruning {
pruning_ratio: f32,
granularity: StructuredPruningGranularity,
},
LowRankDecomposition {
decomposition_type: DecompositionType,
rank_ratio: f32,
},
WeightClustering {
num_clusters: usize,
cluster_method: ClusteringMethod,
},
HuffmanCoding {
codebook_size: usize,
},
KnowledgeDistillation {
teacher_model: String,
temperature: f32,
alpha: f32,
},
}Expand description
Different compression strategies
Variants§
Quantization
Quantization (reduce numerical precision)
PostTrainingQuantization
Post-training quantization
QuantizationAwareTraining
Quantization-aware training
UnstructuredPruning
Unstructured pruning (remove individual weights)
StructuredPruning
Structured pruning (remove entire neurons/channels)
LowRankDecomposition
Low-rank decomposition
WeightClustering
Weight clustering
HuffmanCoding
Huffman coding for weight compression
KnowledgeDistillation
Knowledge distillation
Trait Implementations§
Source§impl Clone for CompressionStrategy
impl Clone for CompressionStrategy
Source§fn clone(&self) -> CompressionStrategy
fn clone(&self) -> CompressionStrategy
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 CompressionStrategy
impl Debug for CompressionStrategy
Source§impl<'de> Deserialize<'de> for CompressionStrategy
impl<'de> Deserialize<'de> for CompressionStrategy
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for CompressionStrategy
impl RefUnwindSafe for CompressionStrategy
impl Send for CompressionStrategy
impl Sync for CompressionStrategy
impl Unpin for CompressionStrategy
impl UnsafeUnpin for CompressionStrategy
impl UnwindSafe for CompressionStrategy
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> ConfigSerializable for Twhere
T: Serialize + for<'de> Deserialize<'de>,
impl<T> ConfigSerializable for Twhere
T: Serialize + for<'de> Deserialize<'de>,
Source§fn save_to_file(&self, path: &Path) -> Result<(), TrustformersError>
fn save_to_file(&self, path: &Path) -> Result<(), TrustformersError>
Save to file
Source§fn load_from_file(path: &Path) -> Result<Self, TrustformersError>where
Self: Sized,
fn load_from_file(path: &Path) -> Result<Self, TrustformersError>where
Self: Sized,
Load from file
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