pub struct QuantizedTensor {
pub data: Vec<i32>,
pub shape: Vec<usize>,
pub params: Vec<QuantizationParams>,
pub config: QuantizationConfig,
}Expand description
Quantized tensor representation
Fields§
§data: Vec<i32>Quantized data (stored as i32 for all schemes)
shape: Vec<usize>Tensor shape
params: Vec<QuantizationParams>Quantization parameters (one per channel for per-channel quantization)
config: QuantizationConfigQuantization configuration
Implementations§
Source§impl QuantizedTensor
impl QuantizedTensor
Sourcepub fn quantize_per_tensor(
data: &[f32],
shape: Vec<usize>,
config: QuantizationConfig,
) -> Result<Self, QuantizationError>
pub fn quantize_per_tensor( data: &[f32], shape: Vec<usize>, config: QuantizationConfig, ) -> Result<Self, QuantizationError>
Quantize a tensor with per-tensor quantization
Sourcepub fn quantize_per_channel(
data: &[f32],
shape: Vec<usize>,
config: QuantizationConfig,
) -> Result<Self, QuantizationError>
pub fn quantize_per_channel( data: &[f32], shape: Vec<usize>, config: QuantizationConfig, ) -> Result<Self, QuantizationError>
Quantize a tensor with per-channel quantization
Sourcepub fn dequantize(&self) -> Vec<f32>
pub fn dequantize(&self) -> Vec<f32>
Dequantize the tensor back to f32
Sourcepub fn compression_ratio(&self) -> f32
pub fn compression_ratio(&self) -> f32
Get the compression ratio compared to f32 storage
Sourcepub fn size_bytes(&self) -> usize
pub fn size_bytes(&self) -> usize
Calculate size in bytes for quantized representation
Sourcepub fn pack_int4(&self) -> Result<Vec<u8>, QuantizationError>
pub fn pack_int4(&self) -> Result<Vec<u8>, QuantizationError>
Pack INT4 data into bytes (2 values per byte)
Sourcepub fn quantization_error(&self, original: &[f32]) -> f32
pub fn quantization_error(&self, original: &[f32]) -> f32
Calculate quantization error (MSE)
Trait Implementations§
Source§impl Clone for QuantizedTensor
impl Clone for QuantizedTensor
Source§fn clone(&self) -> QuantizedTensor
fn clone(&self) -> QuantizedTensor
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 QuantizedTensor
impl Debug for QuantizedTensor
Source§impl<'de> Deserialize<'de> for QuantizedTensor
impl<'de> Deserialize<'de> for QuantizedTensor
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
Source§impl Display for QuantizedTensor
impl Display for QuantizedTensor
Auto Trait Implementations§
impl Freeze for QuantizedTensor
impl RefUnwindSafe for QuantizedTensor
impl Send for QuantizedTensor
impl Sync for QuantizedTensor
impl Unpin for QuantizedTensor
impl UnwindSafe for QuantizedTensor
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