entrenar/quant/granularity/mod.rs
1//! Per-channel vs Per-tensor Quantization Granularity
2//!
3//! Provides quantization at different granularities:
4//! - **Per-tensor**: Single scale/zero-point for entire tensor (fastest, least accurate)
5//! - **Per-channel**: Separate scale/zero-point per channel (slower, more accurate)
6//! - **Per-group**: Scale/zero-point per group of values (balance of speed/accuracy)
7//!
8//! Per-channel is critical for weight quantization where channels have different ranges.
9
10mod calibrate;
11mod metrics;
12mod params;
13mod quantize;
14#[cfg(test)]
15mod tests;
16mod types;
17
18pub use calibrate::{calibrate_per_channel, calibrate_per_group, calibrate_per_tensor};
19pub use metrics::{compare_granularities, quantization_mse};
20pub use params::{QuantParams, QuantizedTensor};
21pub use quantize::{
22 dequantize_tensor, dequantize_with_params, quantize_tensor, quantize_with_params,
23};
24pub use types::{QuantGranularity, QuantMode};