pub struct QuantizedMatrixQ4 {
pub data: Vec<u8>,
pub scales: Vec<f32>,
pub n: usize,
pub k: usize,
}Expand description
A weight matrix quantized to symmetric int4, packed two values per byte.
Layout mirrors crate::int8::QuantizedMatrix: [n, k] row-major in the checkpoint’s own
nn.Linear orientation, one f32 scale per output channel, so no transpose is ever materialized.
Fields§
§data: Vec<u8>n * k.div_ceil(2) bytes: row-major, two biased nibbles per byte, low nibble first.
scales: Vec<f32>One scale per output channel.
n: usize§k: usizeImplementations§
Source§impl QuantizedMatrixQ4
impl QuantizedMatrixQ4
Sourcepub fn quantize(weight: &[f32], n: usize, k: usize) -> Self
pub fn quantize(weight: &[f32], n: usize, k: usize) -> Self
Quantizes an [n, k] f32 weight matrix.
§Panics
If weight.len() != n * k, or a weight is non-finite — a NaN reaching the quantizer means
the graph upstream is already corrupt, and refusing loudly beats baking it into an artifact.
Sourcepub fn dequantize_row(&self, row: usize) -> Vec<f32>
pub fn dequantize_row(&self, row: usize) -> Vec<f32>
Dequantizes one output channel back to f32, for parity comparison against the f32 weights.
Sourcepub fn packed_bytes(&self) -> usize
pub fn packed_bytes(&self) -> usize
Bytes of weight storage, the number this lever exists to shrink.
Trait Implementations§
Source§impl Clone for QuantizedMatrixQ4
impl Clone for QuantizedMatrixQ4
Source§fn clone(&self) -> QuantizedMatrixQ4
fn clone(&self) -> QuantizedMatrixQ4
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 QuantizedMatrixQ4
impl Debug for QuantizedMatrixQ4
Source§impl PartialEq for QuantizedMatrixQ4
impl PartialEq for QuantizedMatrixQ4
impl StructuralPartialEq for QuantizedMatrixQ4
Auto Trait Implementations§
impl Freeze for QuantizedMatrixQ4
impl RefUnwindSafe for QuantizedMatrixQ4
impl Send for QuantizedMatrixQ4
impl Sync for QuantizedMatrixQ4
impl Unpin for QuantizedMatrixQ4
impl UnsafeUnpin for QuantizedMatrixQ4
impl UnwindSafe for QuantizedMatrixQ4
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