p2pfl.learning.compression.quantization_strategy moduleยถ
Post-Training Quantization (PTQ) compression strategy.
- class p2pfl.learning.compression.quantization_strategy.PTQuantization[source]ยถ
Bases:
TensorCompressorPost-Training Quantization (PTQ) with proper scaling.
- apply_strategy(params, dtype='float16', scheme='symmetric', granularity='per_tensor', channel_axis=0)[source]ยถ
Reduce the precision of model parameters with proper scaling.
- Parameters:
params (
list[ndarray]) โ The parameters to compress.dtype (
str) โ The desired precision (e.g., โfloat16โ, โint8โ).scheme (
Literal['symmetric','asymmetric']) โ Quantization scheme - โsymmetricโ (centered around 0) or โasymmetricโ (uses full range).granularity (
Literal['per_tensor','per_channel']) โ โper_tensorโ uses one scale for the whole tensor, โper_channelโ uses separate scales for each channel.channel_axis (
int) โ Axis to use for per-channel quantization.
- Return type:
tuple[list[ndarray],dict]- Returns:
Tuple of quantized parameters and additional info for dequantization.
- Raises:
ValueError โ If an unsupported data type is provided or if parameters are invalid.
- reverse_strategy(params, additional_info)[source]ยถ
Return model parameters to saved original precision.
- Parameters:
params (
list[ndarray]) โ The parameters to decompress.additional_info (
dict) โ Additional information for decompression.
- Return type:
list[ndarray]- Returns:
Decompressed parameters.
- Raises:
ValueError โ If the parameters or additional info are invalid.