@@ -182,7 +182,7 @@ class AdvancedQuantizationParameters:
182
182
183
183
:param overflow_fix: This option controls whether to apply the overflow issue fix
184
184
for the 8-bit quantization.
185
- :type overflow_fix: nncf.quantization.advanced_parameters.OverflowFix
185
+ :type overflow_fix: Optional[ nncf.quantization.advanced_parameters.OverflowFix]
186
186
:param quantize_outputs: Whether to insert additional quantizers right before each
187
187
of the model outputs.
188
188
:type quantize_outputs: bool
@@ -232,16 +232,16 @@ class AdvancedQuantizationParameters:
232
232
"""
233
233
234
234
# General parameters
235
- overflow_fix : OverflowFix = None
235
+ overflow_fix : Optional [ OverflowFix ] = None
236
236
quantize_outputs : bool = False
237
237
inplace_statistics : bool = True
238
238
disable_channel_alignment : bool = True
239
239
disable_bias_correction : bool = False
240
240
batchwise_statistics : Optional [bool ] = None
241
241
242
242
# Advanced Quantization parameters
243
- activations_quantization_params : Union [QuantizationParameters , FP8QuantizationParameters ] = None
244
- weights_quantization_params : Union [QuantizationParameters , FP8QuantizationParameters ] = None
243
+ activations_quantization_params : Optional [ Union [QuantizationParameters , FP8QuantizationParameters ] ] = None
244
+ weights_quantization_params : Optional [ Union [QuantizationParameters , FP8QuantizationParameters ] ] = None
245
245
quantizer_propagation_rule : QuantizerPropagationRule = QuantizerPropagationRule .MERGE_ALL_IN_ONE
246
246
247
247
# Range estimator parameters
@@ -254,7 +254,7 @@ class AdvancedQuantizationParameters:
254
254
# Advanced SmoothQuant algorithm parameters
255
255
smooth_quant_alphas : AdvancedSmoothQuantParameters = field (default_factory = AdvancedSmoothQuantParameters )
256
256
# Deprecated parameter
257
- smooth_quant_alpha : float = None
257
+ smooth_quant_alpha : Optional [ float ] = None
258
258
259
259
# Backend specific parameters
260
260
backend_params : Dict [str , Any ] = field (default_factory = dict )
@@ -460,14 +460,14 @@ def convert_to_dict_recursively(params: Any) -> Dict[str, Any]:
460
460
return result
461
461
462
462
463
- def convert_quantization_parameters_to_dict (params : QuantizationParameters ) -> Dict [str , Any ]:
463
+ def convert_quantization_parameters_to_dict (params : Optional [ QuantizationParameters ] ) -> Dict [str , Any ]:
464
464
"""
465
465
Converts quantization parameters to the dict in the legacy format
466
466
467
467
:param params: Quantization parameters
468
468
:return: Quantization parameters as dict in the legacy format
469
469
"""
470
- result = {}
470
+ result : Dict [ str , Any ] = {}
471
471
if params is not None :
472
472
if params .num_bits is not None :
473
473
result ["bits" ] = params .num_bits
@@ -492,7 +492,7 @@ def convert_range_estimator_parameters_to_dict(params: RangeEstimatorParameters)
492
492
if params .min .clipping_value is not None or params .max .clipping_value is not None :
493
493
raise nncf .ParameterNotSupportedError ("clipping_value parameter is not supported in the legacy format" )
494
494
495
- result = {}
495
+ result : Dict [ str , Any ] = {}
496
496
if (
497
497
params .min .statistics_type == StatisticsType .MIN
498
498
and params .min .aggregator_type == AggregatorType .MIN
@@ -551,13 +551,15 @@ def apply_advanced_parameters_to_config(
551
551
initializer ["batchnorm_adaptation" ] = {"num_bn_adaptation_samples" : 0 }
552
552
config ["initializer" ] = initializer
553
553
554
- activations_config = convert_quantization_parameters_to_dict (params .activations_quantization_params )
555
- if activations_config :
556
- config ["activations" ] = activations_config
554
+ if isinstance (params .activations_quantization_params , QuantizationParameters ):
555
+ activations_config = convert_quantization_parameters_to_dict (params .activations_quantization_params )
556
+ if activations_config :
557
+ config ["activations" ] = activations_config
557
558
558
- weights_config = convert_quantization_parameters_to_dict (params .weights_quantization_params )
559
- if weights_config :
560
- config ["weights" ] = weights_config
559
+ if isinstance (params .weights_quantization_params , QuantizationParameters ):
560
+ weights_config = convert_quantization_parameters_to_dict (params .weights_quantization_params )
561
+ if weights_config :
562
+ config ["weights" ] = weights_config
561
563
562
564
activations_init_range_config = convert_range_estimator_parameters_to_dict (
563
565
params .activations_range_estimator_params
0 commit comments