From 0754ddba01abed64bfc725739c345d9036f60f7a Mon Sep 17 00:00:00 2001 From: Ofir Gordon Date: Mon, 29 Jan 2024 17:54:56 +0200 Subject: [PATCH 1/3] Extract DefaultDict to main MCT folder --- model_compression_toolkit/__init__.py | 2 +- model_compression_toolkit/core/__init__.py | 1 - model_compression_toolkit/core/common/framework_info.py | 3 +-- .../qparams_weights_computation.py | 2 +- .../core/common/substitutions/scale_equalization.py | 2 +- .../core/keras/default_framework_info.py | 2 +- .../core/pytorch/default_framework_info.py | 4 ++-- model_compression_toolkit/{core/common => }/defaultdict.py | 0 model_compression_toolkit/gptq/common/gptq_config.py | 4 +--- .../gptq/keras/quantizer/ste_rounding/symmetric_ste.py | 2 +- .../gptq/pytorch/quantizer/ste_rounding/symmetric_ste.py | 2 +- .../feature_networks_tests/feature_networks/gptq/gptq_test.py | 2 +- tests/pytorch_tests/model_tests/feature_models/gptq_test.py | 2 +- 13 files changed, 12 insertions(+), 16 deletions(-) rename model_compression_toolkit/{core/common => }/defaultdict.py (100%) diff --git a/model_compression_toolkit/__init__.py b/model_compression_toolkit/__init__.py index 117e4c99d..371f8a38a 100644 --- a/model_compression_toolkit/__init__.py +++ b/model_compression_toolkit/__init__.py @@ -13,6 +13,7 @@ # limitations under the License. # ============================================================================== +from model_compression_toolkit.defaultdict import DefaultDict from model_compression_toolkit.target_platform_capabilities import target_platform from model_compression_toolkit.target_platform_capabilities.tpc_models.get_target_platform_capabilities import get_target_platform_capabilities from model_compression_toolkit import core @@ -40,7 +41,6 @@ from model_compression_toolkit.logger import set_log_folder from model_compression_toolkit.core.common.data_loader import FolderImageLoader from model_compression_toolkit.core.common.framework_info import FrameworkInfo, ChannelAxis -from model_compression_toolkit.core.common.defaultdict import DefaultDict from model_compression_toolkit.legacy.keras_quantization_facade import keras_post_training_quantization, keras_post_training_quantization_mixed_precision from model_compression_toolkit.legacy.pytorch_quantization_facade import pytorch_post_training_quantization, pytorch_post_training_quantization_mixed_precision from model_compression_toolkit.core.keras.kpi_data_facade import keras_kpi_data diff --git a/model_compression_toolkit/core/__init__.py b/model_compression_toolkit/core/__init__.py index 9c7783b1e..f6fe4ccfe 100644 --- a/model_compression_toolkit/core/__init__.py +++ b/model_compression_toolkit/core/__init__.py @@ -15,7 +15,6 @@ from model_compression_toolkit.core.common.data_loader import FolderImageLoader from model_compression_toolkit.core.common.framework_info import FrameworkInfo, ChannelAxis -from model_compression_toolkit.core.common.defaultdict import DefaultDict from model_compression_toolkit.core.common import network_editors as network_editor from model_compression_toolkit.core.common.quantization.debug_config import DebugConfig from model_compression_toolkit.core.common.quantization import quantization_config diff --git a/model_compression_toolkit/core/common/framework_info.py b/model_compression_toolkit/core/common/framework_info.py index ffb04bc05..790773d8b 100644 --- a/model_compression_toolkit/core/common/framework_info.py +++ b/model_compression_toolkit/core/common/framework_info.py @@ -20,8 +20,7 @@ -from model_compression_toolkit.core.common.defaultdict import DefaultDict -from model_compression_toolkit.core.common.graph.base_node import BaseNode +from model_compression_toolkit.defaultdict import DefaultDict from model_compression_toolkit.target_platform_capabilities.target_platform import QuantizationMethod diff --git a/model_compression_toolkit/core/common/quantization/quantization_params_generation/qparams_weights_computation.py b/model_compression_toolkit/core/common/quantization/quantization_params_generation/qparams_weights_computation.py index 99c4b798a..370c9ecbc 100644 --- a/model_compression_toolkit/core/common/quantization/quantization_params_generation/qparams_weights_computation.py +++ b/model_compression_toolkit/core/common/quantization/quantization_params_generation/qparams_weights_computation.py @@ -17,7 +17,7 @@ import numpy as np from model_compression_toolkit.logger import Logger -from model_compression_toolkit.core.common.defaultdict import DefaultDict +from model_compression_toolkit.defaultdict import DefaultDict from model_compression_toolkit.core.common.framework_info import FrameworkInfo from model_compression_toolkit.core.common.quantization.node_quantization_config import NodeWeightsQuantizationConfig diff --git a/model_compression_toolkit/core/common/substitutions/scale_equalization.py b/model_compression_toolkit/core/common/substitutions/scale_equalization.py index ce188a9c2..f174f5696 100644 --- a/model_compression_toolkit/core/common/substitutions/scale_equalization.py +++ b/model_compression_toolkit/core/common/substitutions/scale_equalization.py @@ -20,7 +20,7 @@ from model_compression_toolkit.core import common from model_compression_toolkit.core.common import Graph, BaseNode -from model_compression_toolkit.core.common.defaultdict import DefaultDict +from model_compression_toolkit.defaultdict import DefaultDict from model_compression_toolkit.core.common.framework_info import FrameworkInfo from model_compression_toolkit.core.common.quantization.quantization_config import QuantizationConfig diff --git a/model_compression_toolkit/core/keras/default_framework_info.py b/model_compression_toolkit/core/keras/default_framework_info.py index f5401867a..b0350bdc5 100644 --- a/model_compression_toolkit/core/keras/default_framework_info.py +++ b/model_compression_toolkit/core/keras/default_framework_info.py @@ -24,7 +24,7 @@ else: from keras.layers import Conv2D, DepthwiseConv2D, Dense, Conv2DTranspose, Softmax, ELU -from model_compression_toolkit.core.common.defaultdict import DefaultDict +from model_compression_toolkit.defaultdict import DefaultDict from model_compression_toolkit.core.common.framework_info import FrameworkInfo from model_compression_toolkit.target_platform_capabilities.target_platform import QuantizationMethod from model_compression_toolkit.constants import SOFTMAX_THRESHOLD diff --git a/model_compression_toolkit/core/pytorch/default_framework_info.py b/model_compression_toolkit/core/pytorch/default_framework_info.py index 990dac6df..1c5961464 100644 --- a/model_compression_toolkit/core/pytorch/default_framework_info.py +++ b/model_compression_toolkit/core/pytorch/default_framework_info.py @@ -17,8 +17,8 @@ from torch.nn import Conv2d, ConvTranspose2d, Linear from torch import sigmoid -from model_compression_toolkit.core.common.defaultdict import DefaultDict -from model_compression_toolkit.core.common.framework_info import FrameworkInfo, ChannelAxis +from model_compression_toolkit.defaultdict import DefaultDict +from model_compression_toolkit.core.common.framework_info import FrameworkInfo from model_compression_toolkit.target_platform_capabilities.target_platform import QuantizationMethod from model_compression_toolkit.constants import SOFTMAX_THRESHOLD from model_compression_toolkit.core.pytorch.constants import KERNEL diff --git a/model_compression_toolkit/core/common/defaultdict.py b/model_compression_toolkit/defaultdict.py similarity index 100% rename from model_compression_toolkit/core/common/defaultdict.py rename to model_compression_toolkit/defaultdict.py diff --git a/model_compression_toolkit/gptq/common/gptq_config.py b/model_compression_toolkit/gptq/common/gptq_config.py index d67d43152..33db91cc0 100644 --- a/model_compression_toolkit/gptq/common/gptq_config.py +++ b/model_compression_toolkit/gptq/common/gptq_config.py @@ -14,9 +14,7 @@ # ============================================================================== from enum import Enum from typing import Callable, Any, Dict -from model_compression_toolkit.core.common.defaultdict import DefaultDict -from model_compression_toolkit.core import common -from model_compression_toolkit.gptq.common.gptq_constants import QUANT_PARAM_LEARNING_STR, MAX_LSB_STR, REG_DEFAULT +from model_compression_toolkit.gptq.common.gptq_constants import REG_DEFAULT class RoundingType(Enum): diff --git a/model_compression_toolkit/gptq/keras/quantizer/ste_rounding/symmetric_ste.py b/model_compression_toolkit/gptq/keras/quantizer/ste_rounding/symmetric_ste.py index b54f11d49..2ed2d6d71 100644 --- a/model_compression_toolkit/gptq/keras/quantizer/ste_rounding/symmetric_ste.py +++ b/model_compression_toolkit/gptq/keras/quantizer/ste_rounding/symmetric_ste.py @@ -24,7 +24,7 @@ from model_compression_toolkit.gptq.common.gptq_constants import AUXVAR, PTQ_THRESHOLD from model_compression_toolkit.gptq.keras.quantizer import quant_utils as qutils from model_compression_toolkit.constants import THRESHOLD -from model_compression_toolkit.core.common.defaultdict import DefaultDict +from model_compression_toolkit.defaultdict import DefaultDict from model_compression_toolkit.gptq.keras.quantizer.base_keras_gptq_quantizer import BaseKerasGPTQTrainableQuantizer from model_compression_toolkit.trainable_infrastructure import TrainableQuantizerWeightsConfig from mct_quantizers import mark_quantizer diff --git a/model_compression_toolkit/gptq/pytorch/quantizer/ste_rounding/symmetric_ste.py b/model_compression_toolkit/gptq/pytorch/quantizer/ste_rounding/symmetric_ste.py index a4a34a230..38e2041e0 100644 --- a/model_compression_toolkit/gptq/pytorch/quantizer/ste_rounding/symmetric_ste.py +++ b/model_compression_toolkit/gptq/pytorch/quantizer/ste_rounding/symmetric_ste.py @@ -16,7 +16,7 @@ import torch.nn as nn from typing import Dict import numpy as np -from model_compression_toolkit.core.common.defaultdict import DefaultDict +from model_compression_toolkit.defaultdict import DefaultDict from model_compression_toolkit.target_platform_capabilities.target_platform import QuantizationMethod from mct_quantizers import QuantizationTarget, PytorchQuantizationWrapper diff --git a/tests/keras_tests/feature_networks_tests/feature_networks/gptq/gptq_test.py b/tests/keras_tests/feature_networks_tests/feature_networks/gptq/gptq_test.py index b0b5ec02e..56bb4f9e3 100644 --- a/tests/keras_tests/feature_networks_tests/feature_networks/gptq/gptq_test.py +++ b/tests/keras_tests/feature_networks_tests/feature_networks/gptq/gptq_test.py @@ -18,7 +18,7 @@ import tensorflow as tf import model_compression_toolkit as mct -from model_compression_toolkit.core import DefaultDict +from model_compression_toolkit import DefaultDict from model_compression_toolkit.gptq.common.gptq_config import GradientPTQConfig, RoundingType, GradientPTQConfigV2, \ GPTQHessianScoresConfig from model_compression_toolkit.target_platform_capabilities.target_platform import QuantizationMethod diff --git a/tests/pytorch_tests/model_tests/feature_models/gptq_test.py b/tests/pytorch_tests/model_tests/feature_models/gptq_test.py index 029c4934e..9978d7cce 100644 --- a/tests/pytorch_tests/model_tests/feature_models/gptq_test.py +++ b/tests/pytorch_tests/model_tests/feature_models/gptq_test.py @@ -16,7 +16,7 @@ import torch import torch.nn as nn -from model_compression_toolkit.core import DefaultDict +from model_compression_toolkit import DefaultDict from model_compression_toolkit.target_platform_capabilities.target_platform import QuantizationMethod from model_compression_toolkit.gptq.common.gptq_constants import QUANT_PARAM_LEARNING_STR, MAX_LSB_STR from tests.pytorch_tests.model_tests.base_pytorch_feature_test import BasePytorchFeatureNetworkTest From b524991a23fb4e03b274e7f65fbe4c3b771d7d3b Mon Sep 17 00:00:00 2001 From: Ofir Gordon Date: Tue, 30 Jan 2024 10:26:23 +0200 Subject: [PATCH 2/3] fix imports --- tests/keras_tests/function_tests/test_get_gptq_config.py | 1 + tests/pytorch_tests/function_tests/get_gptq_config_test.py | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/tests/keras_tests/function_tests/test_get_gptq_config.py b/tests/keras_tests/function_tests/test_get_gptq_config.py index e8ed3764d..93e12262a 100644 --- a/tests/keras_tests/function_tests/test_get_gptq_config.py +++ b/tests/keras_tests/function_tests/test_get_gptq_config.py @@ -19,6 +19,7 @@ from model_compression_toolkit.gptq import get_keras_gptq_config, keras_gradient_post_training_quantization_experimental, GradientPTQConfigV2, RoundingType from model_compression_toolkit.core import QuantizationConfig, QuantizationErrorMethod, CoreConfig, DefaultDict +from model_compression_toolkit import DefaultDict import tensorflow as tf from model_compression_toolkit.target_platform_capabilities.target_platform import QuantizationMethod diff --git a/tests/pytorch_tests/function_tests/get_gptq_config_test.py b/tests/pytorch_tests/function_tests/get_gptq_config_test.py index ed20a13f3..cea3c3efc 100644 --- a/tests/pytorch_tests/function_tests/get_gptq_config_test.py +++ b/tests/pytorch_tests/function_tests/get_gptq_config_test.py @@ -18,7 +18,8 @@ import model_compression_toolkit as mct from model_compression_toolkit.gptq import get_pytorch_gptq_config, pytorch_gradient_post_training_quantization_experimental, RoundingType -from model_compression_toolkit.core import CoreConfig, QuantizationConfig, QuantizationErrorMethod, DefaultDict +from model_compression_toolkit.core import CoreConfig, QuantizationConfig, QuantizationErrorMethod +from model_compression_toolkit import DefaultDict from model_compression_toolkit.target_platform_capabilities.target_platform import QuantizationMethod from model_compression_toolkit.gptq.common.gptq_constants import QUANT_PARAM_LEARNING_STR, MAX_LSB_STR from tests.common_tests.helpers.generate_test_tp_model import generate_test_tp_model From 0d31ebf6478f0780681835c276dfed88ca9fa29a Mon Sep 17 00:00:00 2001 From: Ofir Gordon Date: Tue, 30 Jan 2024 10:29:02 +0200 Subject: [PATCH 3/3] fix imports --- tests/keras_tests/function_tests/test_get_gptq_config.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/keras_tests/function_tests/test_get_gptq_config.py b/tests/keras_tests/function_tests/test_get_gptq_config.py index 93e12262a..613bd714b 100644 --- a/tests/keras_tests/function_tests/test_get_gptq_config.py +++ b/tests/keras_tests/function_tests/test_get_gptq_config.py @@ -18,7 +18,7 @@ import numpy as np from model_compression_toolkit.gptq import get_keras_gptq_config, keras_gradient_post_training_quantization_experimental, GradientPTQConfigV2, RoundingType -from model_compression_toolkit.core import QuantizationConfig, QuantizationErrorMethod, CoreConfig, DefaultDict +from model_compression_toolkit.core import QuantizationConfig, QuantizationErrorMethod, CoreConfig from model_compression_toolkit import DefaultDict import tensorflow as tf