p2pfl.learning.compression.quantization_strategy moduleยถ
Post-Training Quantization (PTQ) compression strategy.
- class p2pfl.learning.compression.quantization_strategy.PTQuantization[source]ยถ
Bases:
TensorCompressor
Post-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.