pub struct QuantizedTensor {
pub data: Vec<i8>,
pub scales: Vec<f64>,
pub zero_points: Vec<f64>,
pub shape: Vec<usize>,
pub original_dtype: DType,
pub config: QuantConfig,
}Expand description
A quantized tensor storing integer weights with associated scale/zero_point.
The original float value is recovered by: float = (int - zero_point) * scale
For per-channel quantization, scales and zero_points have one entry
per channel (dimension 0 of the original tensor).
Fields§
§data: Vec<i8>Quantized integer values (stored as i8 for INT8, packed for INT4).
scales: Vec<f64>Scale factor(s). Length 1 for per-tensor, N for per-channel.
zero_points: Vec<f64>Zero point(s). Length 1 for per-tensor, N for per-channel.
shape: Vec<usize>Original tensor shape.
original_dtype: DTypeOriginal dtype (for dequantization target).
config: QuantConfigQuantization config used.
Implementations§
Source§impl QuantizedTensor
impl QuantizedTensor
Sourcepub fn size_bytes(&self) -> usize
pub fn size_bytes(&self) -> usize
Size in bytes of the quantized representation.
Sourcepub fn compression_ratio(&self) -> f64
pub fn compression_ratio(&self) -> f64
Compression ratio vs FP32.
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 moreAuto 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> 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