File tree Expand file tree Collapse file tree 6 files changed +29
-73
lines changed
experimental/torch/fx/quantization Expand file tree Collapse file tree 6 files changed +29
-73
lines changed Load Diff This file was deleted.
Original file line number Diff line number Diff line change 25
25
from nncf .common .logging import nncf_logger
26
26
from nncf .common .quantization .structs import QuantizationPreset
27
27
from nncf .data import Dataset
28
- from nncf .experimental .torch .fx .quantization .backend_parameters import is_weight_compression_needed
29
28
from nncf .experimental .torch .fx .transformations import DuplicateDQPassNoAnnotations
30
29
from nncf .experimental .torch .fx .transformations import apply_quantization_transformations
31
30
from nncf .experimental .torch .fx .transformations import compress_post_quantize_transformation
39
38
from nncf .parameters import TargetDevice
40
39
from nncf .quantization .advanced_parameters import AdvancedCompressionParameters
41
40
from nncf .quantization .advanced_parameters import AdvancedQuantizationParameters
41
+ from nncf .quantization .advanced_parameters import is_weight_compression_needed
42
42
from nncf .quantization .algorithms .post_training .algorithm import PostTrainingQuantization
43
43
from nncf .quantization .algorithms .weight_compression .algorithm import WeightCompression
44
44
from nncf .scopes import IgnoredScope
Load Diff This file was deleted.
Original file line number Diff line number Diff line change 27
27
from nncf .openvino .graph .model_utils import remove_friendly_name_duplicates
28
28
from nncf .openvino .graph .nncf_graph_builder import GraphConverter
29
29
from nncf .openvino .graph .node_utils import get_number_if_op
30
- from nncf .openvino .quantization .backend_parameters import BackendParameters
31
- from nncf .openvino .quantization .backend_parameters import is_weight_compression_needed
32
30
from nncf .openvino .quantization .quantize_ifmodel import apply_algorithm_if_bodies
33
31
from nncf .openvino .rt_info import dump_parameters
34
32
from nncf .parameters import BackupMode
42
40
from nncf .quantization .advanced_parameters import AdvancedAccuracyRestorerParameters
43
41
from nncf .quantization .advanced_parameters import AdvancedCompressionParameters
44
42
from nncf .quantization .advanced_parameters import AdvancedQuantizationParameters
43
+ from nncf .quantization .advanced_parameters import BackendParameters
45
44
from nncf .quantization .advanced_parameters import convert_to_dict_recursively
45
+ from nncf .quantization .advanced_parameters import is_weight_compression_needed
46
46
from nncf .quantization .algorithms .accuracy_control .algorithm import QuantizationAccuracyRestorer
47
47
from nncf .quantization .algorithms .accuracy_control .algorithm import calculate_accuracy_drop
48
48
from nncf .quantization .algorithms .accuracy_control .evaluator import Evaluator
Original file line number Diff line number Diff line change @@ -287,6 +287,30 @@ class AdvancedQuantizationParameters:
287
287
backend_params : dict [str , Any ] = field (default_factory = dict )
288
288
289
289
290
+ class BackendParameters :
291
+ COMPRESS_WEIGHTS = "compress_weights"
292
+ STAT_REQUESTS_NUMBER = "stat_requests_number"
293
+ EVAL_REQUESTS_NUMBER = "eval_requests_number"
294
+ ACTIVATIONS = "activations"
295
+ WEIGHTS = "weights"
296
+ LEVEL_LOW = "level_low"
297
+ LEVEL_HIGH = "level_high"
298
+
299
+
300
+ def is_weight_compression_needed (advanced_parameters : Optional ["AdvancedQuantizationParameters" ]) -> bool :
301
+ """
302
+ Determine whether weight compression is needed based on advanced quantization parameters.
303
+
304
+ If `advanced_parameters` or its `backend_params` are not provided, defaults to True.
305
+
306
+ :param advanced_parameters: Advanced quantization parameters.
307
+ :return: True if weight compression is needed, False otherwise.
308
+ """
309
+ if advanced_parameters is not None and advanced_parameters .backend_params is not None :
310
+ return bool (advanced_parameters .backend_params .get (BackendParameters .COMPRESS_WEIGHTS , True ))
311
+ return True
312
+
313
+
290
314
@api ()
291
315
@dataclass
292
316
class AdvancedAWQParameters :
Original file line number Diff line number Diff line change 33
33
from nncf .common .utils .os import safe_open
34
34
from nncf .experimental .torch .fx .nncf_graph_builder import GraphConverter
35
35
from nncf .experimental .torch .fx .node_utils import get_tensor_constant_from_node
36
- from nncf .experimental .torch .fx .quantization .backend_parameters import FXBackendParameters
37
36
from nncf .experimental .torch .fx .transformations import DEQUANTIZE_NODE_TARGETS
38
37
from nncf .experimental .torch .fx .transformations import _get_node_inputs
39
38
from nncf .quantization .advanced_parameters import AdvancedQuantizationParameters
39
+ from nncf .quantization .advanced_parameters import BackendParameters
40
40
from tests .cross_fw .shared .nx_graph import compare_nx_graph_with_reference
41
41
from tests .cross_fw .shared .paths import TEST_ROOT
42
42
from tests .torch import test_models
@@ -219,7 +219,7 @@ def transform_fn(data_item):
219
219
calibration_dataset = nncf .Dataset ([example_input ], transform_fn )
220
220
221
221
quantization_parameters ["advanced_parameters" ] = AdvancedQuantizationParameters (
222
- disable_bias_correction = True , backend_params = {FXBackendParameters .COMPRESS_WEIGHTS : compress_weights }
222
+ disable_bias_correction = True , backend_params = {BackendParameters .COMPRESS_WEIGHTS : compress_weights }
223
223
)
224
224
quantization_parameters ["subset_size" ] = 1
225
225
You can’t perform that action at this time.
0 commit comments