pub struct ActivationQuantizer { /* private fields */ }Expand description
Activation quantization for dynamic runtime quantization
Quantizes activations on-the-fly during inference for additional memory savings
Implementations§
Source§impl ActivationQuantizer
impl ActivationQuantizer
Sourcepub fn new_symmetric() -> Self
pub fn new_symmetric() -> Self
Create a new activation quantizer with symmetric per-tensor quantization
Sourcepub fn new_asymmetric() -> Self
pub fn new_asymmetric() -> Self
Create a new activation quantizer with asymmetric per-tensor quantization
Sourcepub fn calibrate(&mut self, stats: &CalibrationStats) -> ModelResult<()>
pub fn calibrate(&mut self, stats: &CalibrationStats) -> ModelResult<()>
Set calibration parameters from statistics
Sourcepub fn quantize_activation_1d(
&self,
activation: &Array1<f32>,
) -> ModelResult<Vec<i8>>
pub fn quantize_activation_1d( &self, activation: &Array1<f32>, ) -> ModelResult<Vec<i8>>
Quantize activation (1D)
Sourcepub fn dequantize_activation_1d(
&self,
quantized: &[i8],
original_len: usize,
) -> ModelResult<Array1<f32>>
pub fn dequantize_activation_1d( &self, quantized: &[i8], original_len: usize, ) -> ModelResult<Array1<f32>>
Dequantize activation (1D)
Sourcepub fn simulate_quantization(
&self,
activation: &Array1<f32>,
) -> ModelResult<Array1<f32>>
pub fn simulate_quantization( &self, activation: &Array1<f32>, ) -> ModelResult<Array1<f32>>
Quantize and immediately dequantize (simulates quantization error)
Sourcepub fn memory_savings(&self) -> f32
pub fn memory_savings(&self) -> f32
Get memory savings estimate (percentage)
Trait Implementations§
Source§impl Clone for ActivationQuantizer
impl Clone for ActivationQuantizer
Source§fn clone(&self) -> ActivationQuantizer
fn clone(&self) -> ActivationQuantizer
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 ActivationQuantizer
impl Debug for ActivationQuantizer
Auto Trait Implementations§
impl Freeze for ActivationQuantizer
impl RefUnwindSafe for ActivationQuantizer
impl Send for ActivationQuantizer
impl Sync for ActivationQuantizer
impl Unpin for ActivationQuantizer
impl UnwindSafe for ActivationQuantizer
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