pub struct QuantizationConfig {Show 14 fields
pub quantization_type: QuantizationType,
pub strategy: QuantizationStrategy,
pub granularity: Granularity,
pub calibration_method: CalibrationMethod,
pub symmetric: bool,
pub quantize_weights: bool,
pub quantize_activations: bool,
pub skip_layers: Vec<String>,
pub qat_epochs: usize,
pub qat_learning_rate: Float,
pub fake_quantize: bool,
pub observer_momentum: Float,
pub calibration_samples: usize,
pub random_state: Option<u64>,
}Expand description
Quantization configuration
Fields§
§quantization_type: QuantizationTypeType of quantization
strategy: QuantizationStrategyQuantization strategy
granularity: GranularityGranularity of quantization
calibration_method: CalibrationMethodCalibration method
symmetric: boolWhether to use symmetric quantization (zero_point = 0)
quantize_weights: boolWhether to quantize weights
quantize_activations: boolWhether to quantize activations
skip_layers: Vec<String>Layers to skip quantization
qat_epochs: usizeNumber of quantization-aware training epochs
qat_learning_rate: FloatLearning rate used during quantization-aware training
fake_quantize: boolFake quantization during training
observer_momentum: FloatObserver momentum for running statistics
calibration_samples: usizeNumber of calibration samples
random_state: Option<u64>Random seed
Implementations§
Source§impl QuantizationConfig
impl QuantizationConfig
Sourcepub fn quantization_type(self, qtype: QuantizationType) -> Self
pub fn quantization_type(self, qtype: QuantizationType) -> Self
Set quantization type
Sourcepub fn strategy(self, strategy: QuantizationStrategy) -> Self
pub fn strategy(self, strategy: QuantizationStrategy) -> Self
Set quantization strategy
Sourcepub fn granularity(self, granularity: Granularity) -> Self
pub fn granularity(self, granularity: Granularity) -> Self
Set granularity
Sourcepub fn calibration_method(self, method: CalibrationMethod) -> Self
pub fn calibration_method(self, method: CalibrationMethod) -> Self
Set calibration method
Sourcepub fn quantize_components(self, weights: bool, activations: bool) -> Self
pub fn quantize_components(self, weights: bool, activations: bool) -> Self
Configure what to quantize
Sourcepub fn skip_layers(self, layers: Vec<String>) -> Self
pub fn skip_layers(self, layers: Vec<String>) -> Self
Set layers to skip
Sourcepub fn qat_config(self, epochs: usize, lr: Float) -> Self
pub fn qat_config(self, epochs: usize, lr: Float) -> Self
Configure quantization-aware training
Trait Implementations§
Source§impl Clone for QuantizationConfig
impl Clone for QuantizationConfig
Source§fn clone(&self) -> QuantizationConfig
fn clone(&self) -> QuantizationConfig
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 QuantizationConfig
impl Debug for QuantizationConfig
Auto Trait Implementations§
impl Freeze for QuantizationConfig
impl RefUnwindSafe for QuantizationConfig
impl Send for QuantizationConfig
impl Sync for QuantizationConfig
impl Unpin for QuantizationConfig
impl UnsafeUnpin for QuantizationConfig
impl UnwindSafe for QuantizationConfig
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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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