burn_tensor/repr/
quantization.rs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
use serde::{Deserialize, Serialize};

use crate::quantization::QuantizationScheme;

use super::TensorDescription;

/// A quantized tensor description represents a snapshot of a quantized tensor when it was used.
#[derive(Debug, Clone, Hash, PartialEq, Eq, Serialize, Deserialize)]
pub struct QuantizedTensorDescription {
    /// The quantized tensor.
    pub tensor: TensorDescription,
    /// The quantization parameters.
    pub qparams: QuantizationParametersDescription,
    /// The quantization scheme
    pub scheme: QuantizationScheme,
}

/// Quantization parameters description.
#[derive(Debug, Clone, Hash, PartialEq, Eq, Serialize, Deserialize)]
pub struct QuantizationParametersDescription {
    /// The scaling factor.
    pub scale: TensorDescription,
    /// The zero-point offset.
    pub offset: Option<TensorDescription>,
}