mct-nightly 1.8.0.22042023.post414__py3-none-any.whl → 1.8.0.22052023.post408__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {mct_nightly-1.8.0.22042023.post414.dist-info → mct_nightly-1.8.0.22052023.post408.dist-info}/METADATA +1 -1
- {mct_nightly-1.8.0.22042023.post414.dist-info → mct_nightly-1.8.0.22052023.post408.dist-info}/RECORD +237 -230
- model_compression_toolkit/__init__.py +8 -31
- model_compression_toolkit/{core/common/constants.py → constants.py} +2 -6
- model_compression_toolkit/core/__init__.py +14 -0
- model_compression_toolkit/core/analyzer.py +3 -2
- model_compression_toolkit/core/common/__init__.py +0 -1
- model_compression_toolkit/core/common/collectors/base_collector.py +1 -1
- model_compression_toolkit/core/common/collectors/mean_collector.py +1 -1
- model_compression_toolkit/core/common/collectors/min_max_per_channel_collector.py +1 -1
- model_compression_toolkit/core/common/framework_implementation.py +1 -8
- model_compression_toolkit/core/common/fusion/layer_fusing.py +2 -2
- model_compression_toolkit/core/common/graph/base_graph.py +1 -1
- model_compression_toolkit/core/common/graph/base_node.py +57 -1
- model_compression_toolkit/core/common/graph/memory_graph/bipartite_graph.py +1 -1
- model_compression_toolkit/core/common/graph/memory_graph/max_cut_astar.py +1 -1
- model_compression_toolkit/core/common/graph/virtual_activation_weights_node.py +2 -2
- model_compression_toolkit/core/common/memory_computation.py +1 -1
- model_compression_toolkit/core/common/mixed_precision/bit_width_setter.py +1 -1
- model_compression_toolkit/core/common/mixed_precision/kpi_tools/kpi_data.py +2 -3
- model_compression_toolkit/core/common/mixed_precision/kpi_tools/kpi_methods.py +3 -3
- model_compression_toolkit/core/common/mixed_precision/mixed_precision_quantization_config.py +1 -1
- model_compression_toolkit/core/common/mixed_precision/mixed_precision_search_facade.py +3 -2
- model_compression_toolkit/core/common/mixed_precision/mixed_precision_search_manager.py +1 -1
- model_compression_toolkit/core/common/mixed_precision/search_methods/linear_programming.py +1 -1
- model_compression_toolkit/core/common/mixed_precision/sensitivity_evaluation.py +2 -2
- model_compression_toolkit/core/common/mixed_precision/solution_refinement_procedure.py +2 -2
- model_compression_toolkit/core/common/model_collector.py +2 -2
- model_compression_toolkit/core/common/model_validation.py +1 -1
- model_compression_toolkit/core/common/network_editors/actions.py +4 -1
- model_compression_toolkit/core/common/quantization/candidate_node_quantization_config.py +1 -1
- model_compression_toolkit/core/common/quantization/filter_nodes_candidates.py +1 -1
- model_compression_toolkit/core/common/quantization/node_quantization_config.py +1 -1
- model_compression_toolkit/core/common/quantization/quantization_config.py +2 -2
- model_compression_toolkit/core/common/quantization/quantization_params_fn_selection.py +1 -1
- model_compression_toolkit/core/common/quantization/quantization_params_generation/error_functions.py +1 -1
- model_compression_toolkit/core/common/quantization/quantization_params_generation/kmeans_params.py +1 -1
- model_compression_toolkit/core/common/quantization/quantization_params_generation/lut_kmeans_params.py +2 -2
- model_compression_toolkit/core/common/quantization/quantization_params_generation/power_of_two_selection.py +1 -1
- model_compression_toolkit/core/common/quantization/quantization_params_generation/qparams_activations_computation.py +2 -2
- model_compression_toolkit/core/common/quantization/quantization_params_generation/qparams_computation.py +1 -1
- model_compression_toolkit/core/common/quantization/quantization_params_generation/qparams_search.py +1 -1
- model_compression_toolkit/core/common/quantization/quantization_params_generation/qparams_weights_computation.py +1 -1
- model_compression_toolkit/core/common/quantization/quantization_params_generation/symmetric_selection.py +1 -1
- model_compression_toolkit/core/common/quantization/quantization_params_generation/uniform_selection.py +1 -1
- model_compression_toolkit/core/common/quantization/quantize_graph_weights.py +2 -1
- model_compression_toolkit/core/common/quantization/quantize_node.py +2 -2
- model_compression_toolkit/core/common/quantization/quantizers/kmeans_quantizer.py +1 -1
- model_compression_toolkit/core/common/quantization/quantizers/lut_kmeans_quantizer.py +1 -1
- model_compression_toolkit/core/common/quantization/quantizers/quantizers_helpers.py +4 -2
- model_compression_toolkit/core/common/quantization/quantizers/uniform_quantizers.py +2 -2
- model_compression_toolkit/core/common/quantization/set_node_quantization_config.py +3 -2
- model_compression_toolkit/core/common/similarity_analyzer.py +2 -2
- model_compression_toolkit/core/common/statistics_correction/apply_bias_correction_to_graph.py +4 -3
- model_compression_toolkit/core/common/statistics_correction/compute_bias_correction_of_graph.py +3 -2
- model_compression_toolkit/core/common/substitutions/batchnorm_reconstruction.py +1 -1
- model_compression_toolkit/core/common/substitutions/batchnorm_refusing.py +2 -2
- model_compression_toolkit/core/common/substitutions/linear_collapsing.py +1 -1
- model_compression_toolkit/core/common/substitutions/shift_negative_activation.py +4 -4
- model_compression_toolkit/core/common/substitutions/virtual_activation_weights_composition.py +1 -1
- model_compression_toolkit/core/common/substitutions/weights_activation_split.py +1 -1
- model_compression_toolkit/core/common/visualization/tensorboard_writer.py +1 -1
- model_compression_toolkit/core/keras/back2framework/factory_model_builder.py +1 -1
- model_compression_toolkit/core/keras/back2framework/float_model_builder.py +1 -1
- model_compression_toolkit/core/keras/back2framework/keras_model_builder.py +66 -21
- model_compression_toolkit/core/keras/back2framework/mixed_precision_model_builder.py +1 -1
- model_compression_toolkit/core/keras/back2framework/model_gradients.py +2 -2
- model_compression_toolkit/core/keras/back2framework/quantized_model_builder.py +1 -1
- model_compression_toolkit/core/keras/constants.py +0 -7
- model_compression_toolkit/core/keras/default_framework_info.py +2 -2
- model_compression_toolkit/core/keras/graph_substitutions/substitutions/activation_decomposition.py +1 -1
- model_compression_toolkit/core/keras/graph_substitutions/substitutions/input_scaling.py +1 -1
- model_compression_toolkit/core/keras/graph_substitutions/substitutions/linear_collapsing.py +1 -1
- model_compression_toolkit/core/keras/graph_substitutions/substitutions/multi_head_attention_decomposition.py +3 -4
- model_compression_toolkit/core/keras/graph_substitutions/substitutions/relu_bound_to_power_of_2.py +2 -1
- model_compression_toolkit/core/keras/graph_substitutions/substitutions/remove_relu_upper_bound.py +3 -2
- model_compression_toolkit/core/keras/graph_substitutions/substitutions/residual_collapsing.py +1 -1
- model_compression_toolkit/core/keras/graph_substitutions/substitutions/shift_negative_activation.py +1 -1
- model_compression_toolkit/core/keras/keras_implementation.py +2 -10
- model_compression_toolkit/core/keras/keras_model_validation.py +1 -1
- model_compression_toolkit/core/keras/keras_node_prior_info.py +1 -1
- model_compression_toolkit/core/keras/kpi_data_facade.py +7 -7
- model_compression_toolkit/core/keras/quantizer/fake_quant_builder.py +2 -2
- model_compression_toolkit/core/keras/quantizer/input_layer_quantize_transform.py +1 -1
- model_compression_toolkit/core/keras/quantizer/lut_fake_quant.py +2 -2
- model_compression_toolkit/core/keras/quantizer/mixed_precision/selective_quantize_config.py +1 -1
- model_compression_toolkit/core/keras/reader/common.py +1 -1
- model_compression_toolkit/core/keras/statistics_correction/apply_second_moment_correction.py +1 -1
- model_compression_toolkit/core/pytorch/back2framework/factory_model_builder.py +1 -1
- model_compression_toolkit/core/pytorch/back2framework/float_model_builder.py +1 -1
- model_compression_toolkit/core/pytorch/back2framework/mixed_precision_model_builder.py +1 -1
- model_compression_toolkit/core/pytorch/back2framework/model_gradients.py +2 -2
- model_compression_toolkit/core/pytorch/back2framework/pytorch_model_builder.py +1 -1
- model_compression_toolkit/core/pytorch/back2framework/quantized_model_builder.py +1 -1
- model_compression_toolkit/core/pytorch/constants.py +0 -6
- model_compression_toolkit/core/pytorch/default_framework_info.py +1 -1
- model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/linear_collapsing.py +1 -1
- model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/multi_head_attention_decomposition.py +1 -1
- model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/relu_bound_to_power_of_2.py +3 -2
- model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/reshape_with_static_shapes.py +1 -1
- model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/residual_collapsing.py +1 -1
- model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/shift_negative_activation.py +1 -1
- model_compression_toolkit/core/pytorch/kpi_data_facade.py +6 -6
- model_compression_toolkit/core/pytorch/mixed_precision/mixed_precision_wrapper.py +1 -1
- model_compression_toolkit/core/pytorch/pytorch_implementation.py +1 -9
- model_compression_toolkit/core/pytorch/pytorch_node_prior_info.py +1 -1
- model_compression_toolkit/core/pytorch/quantizer/fake_quant_builder.py +2 -2
- model_compression_toolkit/core/pytorch/quantizer/lut_fake_quant.py +1 -1
- model_compression_toolkit/core/pytorch/reader/graph_builders.py +3 -2
- model_compression_toolkit/core/pytorch/statistics_correction/apply_second_moment_correction.py +1 -1
- model_compression_toolkit/core/runner.py +6 -6
- model_compression_toolkit/exporter/__init__.py +6 -3
- model_compression_toolkit/exporter/model_exporter/fw_agonstic/exporter.py +1 -1
- model_compression_toolkit/exporter/model_exporter/keras/export_serialization_format.py +20 -0
- model_compression_toolkit/exporter/model_exporter/keras/fakely_quant_keras_exporter.py +1 -1
- model_compression_toolkit/exporter/model_exporter/{tflite → keras}/fakely_quant_tflite_exporter.py +1 -1
- model_compression_toolkit/exporter/model_exporter/{tflite → keras}/int8_tflite_exporter.py +1 -1
- model_compression_toolkit/exporter/model_exporter/keras/keras_export_facade.py +60 -22
- model_compression_toolkit/exporter/model_exporter/pytorch/export_serialization_format.py +20 -0
- model_compression_toolkit/exporter/model_exporter/pytorch/fakely_quant_onnx_pytorch_exporter.py +15 -1
- model_compression_toolkit/exporter/model_exporter/pytorch/fakely_quant_torchscript_pytorch_exporter.py +1 -1
- model_compression_toolkit/exporter/model_exporter/pytorch/pytorch_export_facade.py +54 -31
- model_compression_toolkit/exporter/model_wrapper/keras/builder/fully_quantized_model_builder.py +5 -3
- model_compression_toolkit/exporter/model_wrapper/keras/builder/node_to_quantizer.py +4 -2
- model_compression_toolkit/exporter/model_wrapper/keras/validate_layer.py +2 -2
- model_compression_toolkit/exporter/model_wrapper/pytorch/builder/fully_quantized_model_builder.py +3 -2
- model_compression_toolkit/exporter/model_wrapper/pytorch/builder/node_to_quantizer.py +3 -2
- model_compression_toolkit/exporter/model_wrapper/pytorch/validate_layer.py +2 -2
- model_compression_toolkit/gptq/common/gptq_framework_implementation.py +32 -0
- model_compression_toolkit/gptq/common/gptq_graph.py +2 -2
- model_compression_toolkit/gptq/common/gptq_training.py +5 -4
- model_compression_toolkit/gptq/keras/gptq_keras_implementation.py +29 -0
- model_compression_toolkit/gptq/keras/gptq_training.py +41 -14
- model_compression_toolkit/gptq/keras/graph_info.py +4 -0
- model_compression_toolkit/gptq/keras/quantization_facade.py +26 -19
- model_compression_toolkit/gptq/keras/quantizer/base_keras_gptq_quantizer.py +2 -2
- model_compression_toolkit/gptq/keras/quantizer/quant_utils.py +1 -1
- model_compression_toolkit/gptq/keras/quantizer/soft_rounding/symmetric_soft_quantizer.py +1 -1
- model_compression_toolkit/gptq/keras/quantizer/soft_rounding/uniform_soft_quantizer.py +2 -2
- model_compression_toolkit/gptq/keras/quantizer/ste_rounding/symmetric_ste.py +1 -1
- model_compression_toolkit/gptq/pytorch/gptq_pytorch_implementation.py +29 -0
- model_compression_toolkit/gptq/pytorch/gptq_training.py +1 -1
- model_compression_toolkit/gptq/pytorch/quantization_facade.py +11 -11
- model_compression_toolkit/gptq/pytorch/quantizer/base_pytorch_gptq_quantizer.py +3 -3
- model_compression_toolkit/gptq/pytorch/quantizer/quant_utils.py +1 -3
- model_compression_toolkit/gptq/pytorch/quantizer/soft_rounding/symmetric_soft_quantizer.py +1 -1
- model_compression_toolkit/gptq/pytorch/quantizer/soft_rounding/uniform_soft_quantizer.py +2 -2
- model_compression_toolkit/gptq/pytorch/quantizer/ste_rounding/symmetric_ste.py +1 -1
- model_compression_toolkit/gptq/runner.py +3 -2
- model_compression_toolkit/{exporter/model_exporter/tflite → legacy}/__init__.py +1 -1
- model_compression_toolkit/{core/keras/quantization_facade.py → legacy/keras_quantization_facade.py} +8 -9
- model_compression_toolkit/{core/pytorch/quantization_facade.py → legacy/pytorch_quantization_facade.py} +8 -9
- model_compression_toolkit/ptq/__init__.py +3 -0
- model_compression_toolkit/ptq/keras/quantization_facade.py +10 -11
- model_compression_toolkit/ptq/pytorch/quantization_facade.py +7 -7
- model_compression_toolkit/qat/__init__.py +4 -0
- model_compression_toolkit/qat/common/__init__.py +1 -2
- model_compression_toolkit/qat/common/qat_config.py +5 -1
- model_compression_toolkit/qat/keras/quantization_facade.py +33 -27
- model_compression_toolkit/qat/keras/quantizer/base_keras_qat_quantizer.py +2 -2
- model_compression_toolkit/qat/keras/quantizer/quantization_builder.py +31 -4
- model_compression_toolkit/qat/keras/quantizer/ste_rounding/symmetric_ste.py +12 -10
- model_compression_toolkit/qat/keras/quantizer/ste_rounding/uniform_ste.py +8 -8
- model_compression_toolkit/qat/pytorch/quantization_facade.py +8 -8
- model_compression_toolkit/qat/pytorch/quantizer/base_pytorch_qat_quantizer.py +2 -2
- model_compression_toolkit/qat/pytorch/quantizer/ste_rounding/symmetric_ste.py +3 -2
- model_compression_toolkit/qat/pytorch/quantizer/ste_rounding/uniform_ste.py +6 -4
- model_compression_toolkit/quantizers_infrastructure/__init__.py +2 -2
- model_compression_toolkit/{qat/common → quantizers_infrastructure}/constants.py +2 -1
- model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/common/constants.py +5 -0
- model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/common/get_quantizers.py +1 -1
- model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/keras/activation_quantization_holder.py +147 -0
- model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/keras/load_model.py +5 -5
- model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/keras/quantize_wrapper.py +2 -2
- model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/keras/quantizers/activation_inferable_quantizers/activation_lut_pot_inferable_quantizer.py +2 -2
- model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/keras/quantizers/activation_inferable_quantizers/activation_pot_inferable_quantizer.py +2 -2
- model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/keras/quantizers/activation_inferable_quantizers/activation_symmetric_inferable_quantizer.py +1 -1
- model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/keras/quantizers/activation_inferable_quantizers/activation_uniform_inferable_quantizer.py +2 -2
- model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/keras/quantizers/base_keras_inferable_quantizer.py +1 -1
- model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/keras/quantizers/weights_inferable_quantizers/weights_lut_pot_inferable_quantizer.py +1 -1
- model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/keras/quantizers/weights_inferable_quantizers/weights_lut_symmetric_inferable_quantizer.py +1 -1
- model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/keras/quantizers/weights_inferable_quantizers/weights_pot_inferable_quantizer.py +1 -1
- model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/keras/quantizers/weights_inferable_quantizers/weights_symmetric_inferable_quantizer.py +1 -1
- model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/keras/quantizers/weights_inferable_quantizers/weights_uniform_inferable_quantizer.py +1 -1
- model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/keras/validation_functions.py +1 -1
- model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/pytorch/quantize_wrapper.py +2 -2
- model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/pytorch/quantizers/activation_inferable_quantizers/activation_lut_pot_inferable_quantizer.py +1 -2
- model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/pytorch/quantizers/activation_inferable_quantizers/activation_pot_inferable_quantizer.py +1 -1
- model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/pytorch/quantizers/activation_inferable_quantizers/activation_symmetric_inferable_quantizer.py +1 -1
- model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/pytorch/quantizers/activation_inferable_quantizers/activation_uniform_inferable_quantizer.py +1 -1
- model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/pytorch/quantizers/base_lut_symmetric_inferable_quantizer.py +1 -1
- model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/pytorch/quantizers/base_pytorch_inferable_quantizer.py +1 -1
- model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/pytorch/quantizers/base_symmetric_inferable_quantizer.py +1 -1
- model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/pytorch/quantizers/base_uniform_inferable_quantizer.py +1 -1
- model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/pytorch/quantizers/weights_inferable_quantizers/weights_lut_pot_inferable_quantizer.py +1 -1
- model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/pytorch/quantizers/weights_inferable_quantizers/weights_lut_symmetric_inferable_quantizer.py +1 -1
- model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/pytorch/quantizers/weights_inferable_quantizers/weights_pot_inferable_quantizer.py +1 -1
- model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/pytorch/quantizers/weights_inferable_quantizers/weights_symmetric_inferable_quantizer.py +1 -1
- model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/pytorch/quantizers/weights_inferable_quantizers/weights_uniform_inferable_quantizer.py +2 -2
- model_compression_toolkit/quantizers_infrastructure/trainable_infrastructure/common/base_trainable_quantizer.py +9 -9
- model_compression_toolkit/quantizers_infrastructure/trainable_infrastructure/common/get_quantizer_config.py +2 -1
- model_compression_toolkit/quantizers_infrastructure/trainable_infrastructure/common/get_quantizers.py +3 -5
- model_compression_toolkit/quantizers_infrastructure/trainable_infrastructure/keras/base_keras_quantizer.py +2 -2
- model_compression_toolkit/quantizers_infrastructure/trainable_infrastructure/pytorch/base_pytorch_quantizer.py +2 -2
- model_compression_toolkit/target_platform_capabilities/constants.py +27 -0
- model_compression_toolkit/target_platform_capabilities/target_platform/current_tp_model.py +1 -1
- model_compression_toolkit/target_platform_capabilities/target_platform/operators.py +1 -1
- model_compression_toolkit/target_platform_capabilities/target_platform/quantization_format.py +20 -0
- model_compression_toolkit/target_platform_capabilities/target_platform/target_platform_model.py +11 -2
- model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/attribute_filter.py +1 -1
- model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/layer_filter_params.py +32 -34
- model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/operations_to_layers.py +2 -2
- model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/target_platform_capabilities.py +3 -24
- model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/latest/__init__.py +1 -1
- model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/target_platform_capabilities.py +3 -1
- model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v1/tp_model.py +7 -1
- model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v2/tp_model.py +7 -1
- model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v3/tp_model.py +7 -1
- model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v3_lut/tp_model.py +7 -2
- model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v4/tp_model.py +7 -1
- model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v4_lut/tp_model.py +7 -2
- model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v5/tp_model.py +7 -1
- model_compression_toolkit/target_platform_capabilities/tpc_models/get_target_platform_capabilities.py +1 -3
- model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/latest/__init__.py +1 -1
- model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/target_platform_capabilities.py +2 -1
- model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1/tp_model.py +7 -1
- model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/latest/__init__.py +1 -1
- model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/target_platform_capabilities.py +2 -1
- model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/v1/tp_model.py +7 -1
- model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/latest/__init__.py +1 -1
- model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/target_platform_capabilities.py +2 -1
- model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/v1/tp_model.py +26 -18
- model_compression_toolkit/exporter/model_exporter/tflite/tflite_export_facade.py +0 -73
- {mct_nightly-1.8.0.22042023.post414.dist-info → mct_nightly-1.8.0.22052023.post408.dist-info}/LICENSE.md +0 -0
- {mct_nightly-1.8.0.22042023.post414.dist-info → mct_nightly-1.8.0.22052023.post408.dist-info}/WHEEL +0 -0
- {mct_nightly-1.8.0.22042023.post414.dist-info → mct_nightly-1.8.0.22052023.post408.dist-info}/top_level.txt +0 -0
- /model_compression_toolkit/{core/common/logger.py → logger.py} +0 -0
- /model_compression_toolkit/{core/common → target_platform_capabilities}/immutable.py +0 -0
|
@@ -13,40 +13,17 @@
|
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
# ==============================================================================
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
from model_compression_toolkit.core.common.quantization import quantization_config
|
|
18
|
-
from model_compression_toolkit.core.common.mixed_precision import mixed_precision_quantization_config
|
|
19
|
-
from model_compression_toolkit.core.common.quantization.quantization_config import QuantizationConfig, \
|
|
20
|
-
QuantizationErrorMethod, DEFAULTCONFIG
|
|
21
|
-
from model_compression_toolkit.core.common.quantization.core_config import CoreConfig
|
|
16
|
+
|
|
22
17
|
from model_compression_toolkit.target_platform_capabilities import target_platform
|
|
23
18
|
from model_compression_toolkit.target_platform_capabilities.tpc_models.get_target_platform_capabilities import get_target_platform_capabilities
|
|
24
|
-
from model_compression_toolkit
|
|
25
|
-
from model_compression_toolkit.
|
|
26
|
-
|
|
27
|
-
from model_compression_toolkit.
|
|
28
|
-
from model_compression_toolkit
|
|
29
|
-
from model_compression_toolkit
|
|
30
|
-
from model_compression_toolkit
|
|
31
|
-
from model_compression_toolkit.core.common.defaultdict import DefaultDict
|
|
32
|
-
from model_compression_toolkit.core.common import network_editors as network_editor
|
|
33
|
-
|
|
34
|
-
from model_compression_toolkit.core.keras.quantization_facade import keras_post_training_quantization, \
|
|
35
|
-
keras_post_training_quantization_mixed_precision
|
|
36
|
-
from model_compression_toolkit.ptq.keras.quantization_facade import keras_post_training_quantization_experimental
|
|
37
|
-
from model_compression_toolkit.qat.keras.quantization_facade import keras_quantization_aware_training_init, keras_quantization_aware_training_finalize
|
|
38
|
-
from model_compression_toolkit.qat.pytorch.quantization_facade import pytorch_quantization_aware_training_init, pytorch_quantization_aware_training_finalize
|
|
39
|
-
from model_compression_toolkit.core.pytorch.quantization_facade import pytorch_post_training_quantization, pytorch_post_training_quantization_mixed_precision
|
|
40
|
-
from model_compression_toolkit.ptq.pytorch.quantization_facade import pytorch_post_training_quantization_experimental
|
|
41
|
-
|
|
42
|
-
from model_compression_toolkit.core.keras.kpi_data_facade import keras_kpi_data, keras_kpi_data_experimental
|
|
43
|
-
from model_compression_toolkit.core.pytorch.kpi_data_facade import pytorch_kpi_data, pytorch_kpi_data_experimental
|
|
44
|
-
|
|
45
|
-
from model_compression_toolkit.quantizers_infrastructure.inferable_infrastructure.keras.load_model import keras_load_quantized_model
|
|
46
|
-
|
|
47
|
-
|
|
19
|
+
from model_compression_toolkit import core
|
|
20
|
+
from model_compression_toolkit.logger import set_log_folder
|
|
21
|
+
from model_compression_toolkit.legacy.keras_quantization_facade import keras_post_training_quantization, keras_post_training_quantization_mixed_precision
|
|
22
|
+
from model_compression_toolkit.legacy.pytorch_quantization_facade import pytorch_post_training_quantization, pytorch_post_training_quantization_mixed_precision
|
|
23
|
+
from model_compression_toolkit import quantizers_infrastructure
|
|
24
|
+
from model_compression_toolkit import ptq
|
|
25
|
+
from model_compression_toolkit import qat
|
|
48
26
|
from model_compression_toolkit import exporter
|
|
49
|
-
|
|
50
27
|
from model_compression_toolkit import gptq
|
|
51
28
|
from model_compression_toolkit.gptq import GradientPTQConfig
|
|
52
29
|
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
# ==============================================================================
|
|
15
|
+
|
|
15
16
|
import importlib
|
|
16
17
|
|
|
17
18
|
# Supported frameworks in MCT:
|
|
@@ -47,9 +48,6 @@ LAST_AXIS = -1
|
|
|
47
48
|
DATA_TYPE = 'dtype'
|
|
48
49
|
FLOAT_32 = 'float32'
|
|
49
50
|
|
|
50
|
-
# Version
|
|
51
|
-
LATEST = 'latest'
|
|
52
|
-
|
|
53
51
|
# Number of Tensorboard cosine-similarity plots to add:
|
|
54
52
|
NUM_SAMPLES_DISTANCE_TENSORBOARD = 20
|
|
55
53
|
|
|
@@ -119,12 +117,10 @@ WEIGHTS_CHANNELS_AXIS = 'weights_channels_axis'
|
|
|
119
117
|
DUMMY_NODE = 'dummy_node'
|
|
120
118
|
DUMMY_TENSOR = 'dummy_tensor'
|
|
121
119
|
|
|
122
|
-
# TP Model constants
|
|
123
|
-
OPS_SET_LIST = 'ops_set_list'
|
|
124
120
|
|
|
125
121
|
# TF Input node base name
|
|
126
122
|
INPUT_BASE_NAME = 'base_input'
|
|
127
123
|
|
|
128
124
|
# Jacobian-weights constants
|
|
129
125
|
MIN_JACOBIANS_ITER = 10
|
|
130
|
-
JACOBIANS_COMP_TOLERANCE = 1e-3
|
|
126
|
+
JACOBIANS_COMP_TOLERANCE = 1e-3
|
|
@@ -12,3 +12,17 @@
|
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
# ==============================================================================
|
|
15
|
+
|
|
16
|
+
from model_compression_toolkit.core.common.data_loader import FolderImageLoader
|
|
17
|
+
from model_compression_toolkit.core.common.framework_info import FrameworkInfo, ChannelAxis
|
|
18
|
+
from model_compression_toolkit.core.common.defaultdict import DefaultDict
|
|
19
|
+
from model_compression_toolkit.core.common import network_editors as network_editor
|
|
20
|
+
from model_compression_toolkit.core.common.quantization.debug_config import DebugConfig
|
|
21
|
+
from model_compression_toolkit.core.common.quantization import quantization_config
|
|
22
|
+
from model_compression_toolkit.core.common.mixed_precision import mixed_precision_quantization_config
|
|
23
|
+
from model_compression_toolkit.core.common.quantization.quantization_config import QuantizationConfig, QuantizationErrorMethod, DEFAULTCONFIG
|
|
24
|
+
from model_compression_toolkit.core.common.quantization.core_config import CoreConfig
|
|
25
|
+
from model_compression_toolkit.core.common.mixed_precision.kpi_tools.kpi import KPI
|
|
26
|
+
from model_compression_toolkit.core.common.mixed_precision.mixed_precision_quantization_config import MixedPrecisionQuantizationConfig, MixedPrecisionQuantizationConfigV2
|
|
27
|
+
from model_compression_toolkit.core.keras.kpi_data_facade import keras_kpi_data, keras_kpi_data_experimental
|
|
28
|
+
from model_compression_toolkit.core.pytorch.kpi_data_facade import pytorch_kpi_data, pytorch_kpi_data_experimental
|
|
@@ -17,14 +17,15 @@
|
|
|
17
17
|
from typing import Callable
|
|
18
18
|
|
|
19
19
|
from model_compression_toolkit.core.common.framework_implementation import FrameworkImplementation
|
|
20
|
-
from model_compression_toolkit.core.common import FrameworkInfo
|
|
21
|
-
from model_compression_toolkit.
|
|
20
|
+
from model_compression_toolkit.core.common import FrameworkInfo
|
|
21
|
+
from model_compression_toolkit.constants import NUM_SAMPLES_DISTANCE_TENSORBOARD
|
|
22
22
|
from model_compression_toolkit.core.common.graph.base_graph import Graph
|
|
23
23
|
|
|
24
24
|
from model_compression_toolkit.core.common.similarity_analyzer import compute_cs
|
|
25
25
|
from model_compression_toolkit.core.common.visualization.nn_visualizer import NNVisualizer
|
|
26
26
|
|
|
27
27
|
from model_compression_toolkit.core.common.visualization.tensorboard_writer import TensorboardWriter
|
|
28
|
+
from model_compression_toolkit.logger import Logger
|
|
28
29
|
|
|
29
30
|
|
|
30
31
|
def analyzer_model_quantization(representative_data_gen: Callable,
|
|
@@ -17,7 +17,6 @@ from model_compression_toolkit.core.common.base_substitutions import BaseSubstit
|
|
|
17
17
|
from model_compression_toolkit.core.common.framework_info import FrameworkInfo
|
|
18
18
|
from model_compression_toolkit.core.common.graph.base_graph import Graph
|
|
19
19
|
from model_compression_toolkit.core.common.graph.base_node import BaseNode
|
|
20
|
-
from model_compression_toolkit.core.common.logger import Logger
|
|
21
20
|
from model_compression_toolkit.core.common.quantization.quantization_config import QuantizationConfig, DEFAULTCONFIG
|
|
22
21
|
from model_compression_toolkit.core.common.quantization.quantizers.quantizers_helpers import max_power_of_two
|
|
23
22
|
from model_compression_toolkit.core.common.collectors.statistics_collector import StatsCollector, NoStatsCollector
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
# ==============================================================================
|
|
15
15
|
|
|
16
16
|
import numpy as np
|
|
17
|
-
from model_compression_toolkit.
|
|
17
|
+
from model_compression_toolkit.logger import Logger
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
class BaseCollector(object):
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
import numpy as np
|
|
18
18
|
|
|
19
19
|
from model_compression_toolkit.core.common.collectors.base_collector import BaseCollector
|
|
20
|
-
from model_compression_toolkit.
|
|
20
|
+
from model_compression_toolkit.constants import LAST_AXIS
|
|
21
21
|
|
|
22
22
|
|
|
23
23
|
class MeanCollector(BaseCollector):
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
import numpy as np
|
|
17
17
|
|
|
18
18
|
from model_compression_toolkit.core.common.collectors.base_collector import BaseCollector
|
|
19
|
-
from model_compression_toolkit.
|
|
19
|
+
from model_compression_toolkit.constants import LAST_AXIS
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
class MinMaxPerChannelCollector(BaseCollector):
|
|
@@ -17,7 +17,7 @@ from typing import Callable, Any, List, Tuple, Dict
|
|
|
17
17
|
|
|
18
18
|
import numpy as np
|
|
19
19
|
|
|
20
|
-
from model_compression_toolkit import MixedPrecisionQuantizationConfigV2
|
|
20
|
+
from model_compression_toolkit.core import MixedPrecisionQuantizationConfigV2
|
|
21
21
|
from model_compression_toolkit.core import common
|
|
22
22
|
from model_compression_toolkit.core.common import BaseNode
|
|
23
23
|
from model_compression_toolkit.core.common.collectors.statistics_collector import BaseStatsCollector
|
|
@@ -288,13 +288,6 @@ class FrameworkImplementation(ABC):
|
|
|
288
288
|
f'framework\'s get_substitutions_after_second_moment_correction '
|
|
289
289
|
f'method.') # pragma: no cover
|
|
290
290
|
|
|
291
|
-
@abstractmethod
|
|
292
|
-
def get_gptq_trainer_obj(self):
|
|
293
|
-
"""
|
|
294
|
-
Returns: GPTQTrainer object
|
|
295
|
-
"""
|
|
296
|
-
raise NotImplemented(f'{self.__class__.__name__} have to implement the '
|
|
297
|
-
f'framework\'s get_gptq_trainer method.') # pragma: no cover
|
|
298
291
|
|
|
299
292
|
@abstractmethod
|
|
300
293
|
def get_sensitivity_evaluator(self,
|
|
@@ -33,7 +33,7 @@ def filter_fusing_patterns(fusing_patterns: List[List[Any]], node: BaseNode, idx
|
|
|
33
33
|
valid_fusing_patterns = []
|
|
34
34
|
for i,fusing_pattern in enumerate(fusing_patterns):
|
|
35
35
|
if idx < len(fusing_pattern):
|
|
36
|
-
if (type(fusing_pattern[idx]) == LayerFilterParams and fusing_pattern[idx]
|
|
36
|
+
if (type(fusing_pattern[idx]) == LayerFilterParams and node.is_match_filter_params(fusing_pattern[idx])) or fusing_pattern[idx] == node.type:
|
|
37
37
|
valid_fusing_patterns.append(fusing_pattern)
|
|
38
38
|
|
|
39
39
|
# Return only valid patterns for this node
|
|
@@ -57,7 +57,7 @@ def is_valid_fusion(fusing_patterns: List[List[Any]], nodes: List[BaseNode]) ->
|
|
|
57
57
|
continue
|
|
58
58
|
counter = 0
|
|
59
59
|
for i,layer in enumerate(fusing_pattern):
|
|
60
|
-
if (type(layer) == LayerFilterParams and
|
|
60
|
+
if (type(layer) == LayerFilterParams and nodes[i].is_match_filter_params(layer)) or layer == nodes[i].type:
|
|
61
61
|
counter += 1
|
|
62
62
|
if counter == fusion_depth:
|
|
63
63
|
return True
|
|
@@ -30,7 +30,7 @@ from model_compression_toolkit.core.common.graph.base_node import BaseNode
|
|
|
30
30
|
from model_compression_toolkit.core.common.collectors.statistics_collector import BaseStatsCollector
|
|
31
31
|
from model_compression_toolkit.core.common.collectors.statistics_collector import scale_statistics, shift_statistics
|
|
32
32
|
from model_compression_toolkit.core.common.user_info import UserInformation
|
|
33
|
-
from model_compression_toolkit.
|
|
33
|
+
from model_compression_toolkit.logger import Logger
|
|
34
34
|
from model_compression_toolkit.target_platform_capabilities.target_platform.targetplatform2framework import TargetPlatformCapabilities
|
|
35
35
|
|
|
36
36
|
OutTensor = namedtuple('OutTensor', 'node node_out_index')
|
|
@@ -18,8 +18,11 @@ from typing import Dict, Any, Tuple, List
|
|
|
18
18
|
|
|
19
19
|
import numpy as np
|
|
20
20
|
|
|
21
|
-
from model_compression_toolkit.
|
|
21
|
+
from model_compression_toolkit.constants import WEIGHTS_NBITS_ATTRIBUTE, CORRECTED_BIAS_ATTRIBUTE, \
|
|
22
22
|
ACTIVATION_NBITS_ATTRIBUTE
|
|
23
|
+
from model_compression_toolkit.logger import Logger
|
|
24
|
+
from model_compression_toolkit.target_platform_capabilities.target_platform import QuantizationConfigOptions, \
|
|
25
|
+
TargetPlatformCapabilities, LayerFilterParams
|
|
23
26
|
|
|
24
27
|
|
|
25
28
|
class BaseNode:
|
|
@@ -429,3 +432,56 @@ class BaseNode:
|
|
|
429
432
|
|
|
430
433
|
return len(self.candidates_quantization_cfg) > 0 and \
|
|
431
434
|
any([c.activation_quantization_cfg.enable_activation_quantization for c in self.candidates_quantization_cfg])
|
|
435
|
+
|
|
436
|
+
def get_qco(self, tpc: TargetPlatformCapabilities) -> QuantizationConfigOptions:
|
|
437
|
+
"""
|
|
438
|
+
Get the QuantizationConfigOptions of the node according
|
|
439
|
+
to the mappings from layers/LayerFilterParams to the OperatorsSet in the TargetPlatformModel.
|
|
440
|
+
|
|
441
|
+
Args:
|
|
442
|
+
tpc: TPC to extract the QuantizationConfigOptions for the node
|
|
443
|
+
|
|
444
|
+
Returns:
|
|
445
|
+
QuantizationConfigOptions of the node.
|
|
446
|
+
"""
|
|
447
|
+
|
|
448
|
+
if tpc is None:
|
|
449
|
+
Logger.error(f'Can not retrieve QC options for None TPC') # pragma: no cover
|
|
450
|
+
|
|
451
|
+
for fl, qco in tpc.filterlayer2qco.items():
|
|
452
|
+
if self.is_match_filter_params(fl):
|
|
453
|
+
return qco
|
|
454
|
+
if self.type in tpc.layer2qco:
|
|
455
|
+
return tpc.layer2qco.get(self.type)
|
|
456
|
+
return tpc.tp_model.default_qco
|
|
457
|
+
|
|
458
|
+
|
|
459
|
+
def is_match_filter_params(self, layer_filter_params: LayerFilterParams) -> bool:
|
|
460
|
+
"""
|
|
461
|
+
Check if the node matches a LayerFilterParams according to its
|
|
462
|
+
layer, conditions and keyword-arguments.
|
|
463
|
+
|
|
464
|
+
Args:
|
|
465
|
+
layer_filter_params: LayerFilterParams to check if the node matches its properties.
|
|
466
|
+
|
|
467
|
+
Returns:
|
|
468
|
+
Whether the node matches to the LayerFilterParams properties.
|
|
469
|
+
"""
|
|
470
|
+
# Check the node has the same type as the layer in LayerFilterParams
|
|
471
|
+
if layer_filter_params.layer != self.type:
|
|
472
|
+
return False
|
|
473
|
+
|
|
474
|
+
# Get attributes from node to filter
|
|
475
|
+
layer_config = self.framework_attr
|
|
476
|
+
if hasattr(self, "op_call_kwargs"):
|
|
477
|
+
layer_config.update(self.op_call_kwargs)
|
|
478
|
+
|
|
479
|
+
for attr, value in layer_filter_params.kwargs.items():
|
|
480
|
+
if layer_config.get(attr) != value:
|
|
481
|
+
return False
|
|
482
|
+
|
|
483
|
+
for c in layer_filter_params.conditions:
|
|
484
|
+
if not c.match(layer_config):
|
|
485
|
+
return False
|
|
486
|
+
|
|
487
|
+
return True
|
|
@@ -16,7 +16,7 @@ import copy
|
|
|
16
16
|
from typing import List, Tuple, Dict
|
|
17
17
|
|
|
18
18
|
from model_compression_toolkit.core.common import BaseNode
|
|
19
|
-
from model_compression_toolkit.
|
|
19
|
+
from model_compression_toolkit.constants import DUMMY_TENSOR, DUMMY_NODE
|
|
20
20
|
from model_compression_toolkit.core.common.graph.memory_graph.cut import Cut
|
|
21
21
|
from model_compression_toolkit.core.common.graph.memory_graph.memory_element import MemoryElements
|
|
22
22
|
from model_compression_toolkit.core.common.graph.memory_graph.memory_graph import ActivationMemoryTensor, MemoryGraph
|
|
@@ -15,8 +15,8 @@
|
|
|
15
15
|
|
|
16
16
|
from typing import Dict, Any, Tuple
|
|
17
17
|
|
|
18
|
-
from model_compression_toolkit import FrameworkInfo
|
|
19
|
-
from model_compression_toolkit.
|
|
18
|
+
from model_compression_toolkit.core import FrameworkInfo
|
|
19
|
+
from model_compression_toolkit.constants import VIRTUAL_ACTIVATION_WEIGHTS_NODE_PREFIX, \
|
|
20
20
|
VIRTUAL_WEIGHTS_SUFFIX, VIRTUAL_ACTIVATION_SUFFIX, FLOAT_BITWIDTH
|
|
21
21
|
|
|
22
22
|
from model_compression_toolkit.core.common.graph.base_node import BaseNode
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
# ==============================================================================
|
|
15
|
-
from model_compression_toolkit.
|
|
15
|
+
from model_compression_toolkit.constants import BITS_TO_BYTES
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
def compute_quantize_tensor_memory_bytes(tensor_size: float, n_bits: int) -> float:
|
|
@@ -18,7 +18,7 @@ import copy
|
|
|
18
18
|
from typing import Any, List
|
|
19
19
|
|
|
20
20
|
from model_compression_toolkit.core.common import Graph, BaseNode
|
|
21
|
-
from model_compression_toolkit.
|
|
21
|
+
from model_compression_toolkit.logger import Logger
|
|
22
22
|
|
|
23
23
|
|
|
24
24
|
def set_bit_widths(mixed_precision_enable: bool,
|
|
@@ -15,14 +15,13 @@
|
|
|
15
15
|
from typing import Callable, Any
|
|
16
16
|
import numpy as np
|
|
17
17
|
|
|
18
|
-
from model_compression_toolkit import FrameworkInfo, KPI, CoreConfig
|
|
18
|
+
from model_compression_toolkit.core import FrameworkInfo, KPI, CoreConfig
|
|
19
19
|
from model_compression_toolkit.core.common import Graph
|
|
20
|
-
from model_compression_toolkit.
|
|
20
|
+
from model_compression_toolkit.constants import FLOAT_BITWIDTH
|
|
21
21
|
from model_compression_toolkit.core.common.framework_implementation import FrameworkImplementation
|
|
22
22
|
from model_compression_toolkit.core.common.graph.edge import EDGE_SINK_INDEX
|
|
23
23
|
from model_compression_toolkit.target_platform_capabilities.target_platform import TargetPlatformCapabilities
|
|
24
24
|
from model_compression_toolkit.core.runner import read_model_to_graph, get_finalized_graph
|
|
25
|
-
from model_compression_toolkit.core.common.logger import Logger
|
|
26
25
|
|
|
27
26
|
|
|
28
27
|
def compute_kpi_data(in_model: Any,
|
|
@@ -18,14 +18,14 @@ from typing import List
|
|
|
18
18
|
|
|
19
19
|
import numpy as np
|
|
20
20
|
|
|
21
|
-
from model_compression_toolkit import FrameworkInfo
|
|
21
|
+
from model_compression_toolkit.core import FrameworkInfo
|
|
22
22
|
from model_compression_toolkit.core.common import Graph, BaseNode
|
|
23
|
-
from model_compression_toolkit.
|
|
23
|
+
from model_compression_toolkit.constants import BITS_TO_BYTES, FLOAT_BITWIDTH
|
|
24
24
|
from model_compression_toolkit.core.common.framework_implementation import FrameworkImplementation
|
|
25
25
|
from model_compression_toolkit.core.common.graph.edge import EDGE_SINK_INDEX
|
|
26
26
|
from model_compression_toolkit.core.common.graph.virtual_activation_weights_node import VirtualActivationWeightsNode, \
|
|
27
27
|
VirtualSplitWeightsNode, VirtualSplitActivationNode
|
|
28
|
-
from model_compression_toolkit.
|
|
28
|
+
from model_compression_toolkit.logger import Logger
|
|
29
29
|
|
|
30
30
|
|
|
31
31
|
def weights_size_kpi(mp_cfg: List[int],
|
model_compression_toolkit/core/common/mixed_precision/mixed_precision_quantization_config.py
CHANGED
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
from enum import Enum
|
|
17
17
|
from typing import List, Callable, Tuple
|
|
18
18
|
|
|
19
|
-
from model_compression_toolkit.
|
|
19
|
+
from model_compression_toolkit.logger import Logger
|
|
20
20
|
from model_compression_toolkit.core.common.mixed_precision.distance_weighting import get_average_weights
|
|
21
21
|
from model_compression_toolkit.core.common.quantization.quantization_config import QuantizationConfig, DEFAULTCONFIG
|
|
22
22
|
from model_compression_toolkit.core.common.similarity_analyzer import compute_mse
|
|
@@ -18,8 +18,8 @@ from enum import Enum
|
|
|
18
18
|
import numpy as np
|
|
19
19
|
from typing import List, Callable, Dict
|
|
20
20
|
|
|
21
|
-
from model_compression_toolkit import MixedPrecisionQuantizationConfigV2
|
|
22
|
-
from model_compression_toolkit.core.common import Graph
|
|
21
|
+
from model_compression_toolkit.core import MixedPrecisionQuantizationConfigV2
|
|
22
|
+
from model_compression_toolkit.core.common import Graph
|
|
23
23
|
from model_compression_toolkit.core.common.mixed_precision.kpi_tools.kpi import KPI, KPITarget
|
|
24
24
|
from model_compression_toolkit.core.common.mixed_precision.kpi_tools.kpi_functions_mapping import kpi_functions_mapping
|
|
25
25
|
from model_compression_toolkit.core.common.framework_implementation import FrameworkImplementation
|
|
@@ -30,6 +30,7 @@ from model_compression_toolkit.core.common.framework_info import FrameworkInfo
|
|
|
30
30
|
from model_compression_toolkit.core.common.mixed_precision.solution_refinement_procedure import \
|
|
31
31
|
greedy_solution_refinement_procedure
|
|
32
32
|
from model_compression_toolkit.core.common.substitutions.apply_substitutions import substitute
|
|
33
|
+
from model_compression_toolkit.logger import Logger
|
|
33
34
|
|
|
34
35
|
|
|
35
36
|
class BitWidthSearchMethod(Enum):
|
|
@@ -18,7 +18,7 @@ from typing import Dict, List
|
|
|
18
18
|
import numpy as np
|
|
19
19
|
|
|
20
20
|
from model_compression_toolkit.core.common import BaseNode
|
|
21
|
-
from model_compression_toolkit.
|
|
21
|
+
from model_compression_toolkit.logger import Logger
|
|
22
22
|
from model_compression_toolkit.core.common.framework_implementation import FrameworkImplementation
|
|
23
23
|
from model_compression_toolkit.core.common.graph.base_graph import Graph
|
|
24
24
|
from model_compression_toolkit.core.common.graph.virtual_activation_weights_node import VirtualActivationWeightsNode, \
|
|
@@ -18,7 +18,7 @@ from pulp import *
|
|
|
18
18
|
from tqdm import tqdm
|
|
19
19
|
from typing import Dict, List, Tuple, Callable
|
|
20
20
|
|
|
21
|
-
from model_compression_toolkit.
|
|
21
|
+
from model_compression_toolkit.logger import Logger
|
|
22
22
|
from model_compression_toolkit.core.common.mixed_precision.kpi_tools.kpi import KPI, KPITarget
|
|
23
23
|
from model_compression_toolkit.core.common.mixed_precision.mixed_precision_search_manager import MixedPrecisionSearchManager
|
|
24
24
|
|
|
@@ -17,10 +17,10 @@ import copy
|
|
|
17
17
|
import numpy as np
|
|
18
18
|
from typing import Callable, Any, List
|
|
19
19
|
|
|
20
|
-
from model_compression_toolkit import FrameworkInfo, MixedPrecisionQuantizationConfigV2
|
|
20
|
+
from model_compression_toolkit.core import FrameworkInfo, MixedPrecisionQuantizationConfigV2
|
|
21
21
|
from model_compression_toolkit.core.common import Graph, BaseNode
|
|
22
22
|
from model_compression_toolkit.core.common.model_builder_mode import ModelBuilderMode
|
|
23
|
-
from model_compression_toolkit.
|
|
23
|
+
from model_compression_toolkit.logger import Logger
|
|
24
24
|
|
|
25
25
|
|
|
26
26
|
class SensitivityEvaluation:
|
|
@@ -15,12 +15,12 @@
|
|
|
15
15
|
|
|
16
16
|
from typing import List
|
|
17
17
|
|
|
18
|
-
from model_compression_toolkit import KPI
|
|
18
|
+
from model_compression_toolkit.core import KPI
|
|
19
19
|
from model_compression_toolkit.core.common.mixed_precision.mixed_precision_search_manager import \
|
|
20
20
|
MixedPrecisionSearchManager
|
|
21
21
|
from model_compression_toolkit.core.common.quantization.candidate_node_quantization_config import \
|
|
22
22
|
CandidateNodeQuantizationConfig
|
|
23
|
-
from model_compression_toolkit.
|
|
23
|
+
from model_compression_toolkit.logger import Logger
|
|
24
24
|
import numpy as np
|
|
25
25
|
|
|
26
26
|
|
|
@@ -17,11 +17,11 @@
|
|
|
17
17
|
import numpy as np
|
|
18
18
|
from typing import List
|
|
19
19
|
|
|
20
|
-
from model_compression_toolkit import FrameworkInfo
|
|
20
|
+
from model_compression_toolkit.core import FrameworkInfo
|
|
21
21
|
from model_compression_toolkit.core import common
|
|
22
22
|
from model_compression_toolkit.core.common.framework_implementation import FrameworkImplementation
|
|
23
23
|
from model_compression_toolkit.core.common.graph.base_graph import Graph
|
|
24
|
-
from model_compression_toolkit.
|
|
24
|
+
from model_compression_toolkit.logger import Logger
|
|
25
25
|
from model_compression_toolkit.core.common.model_builder_mode import ModelBuilderMode
|
|
26
26
|
|
|
27
27
|
|
|
@@ -17,7 +17,10 @@ from abc import ABC, abstractmethod
|
|
|
17
17
|
from collections import namedtuple
|
|
18
18
|
from typing import Callable
|
|
19
19
|
|
|
20
|
-
from model_compression_toolkit.core.common import Graph
|
|
20
|
+
from model_compression_toolkit.core.common import Graph
|
|
21
|
+
from model_compression_toolkit.logger import Logger
|
|
22
|
+
|
|
23
|
+
|
|
21
24
|
from model_compression_toolkit.core.common.framework_info import FrameworkInfo
|
|
22
25
|
from model_compression_toolkit.core.common.graph.base_node import BaseNode
|
|
23
26
|
from model_compression_toolkit.core.common.quantization.quantization_params_fn_selection import \
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
# ==============================================================================
|
|
15
|
-
from model_compression_toolkit.
|
|
15
|
+
from model_compression_toolkit.constants import ACTIVATION_QUANTIZATION_CFG, WEIGHTS_QUANTIZATION_CFG, QC, \
|
|
16
16
|
OP_CFG, ACTIVATION_QUANTIZATION_FN, WEIGHTS_QUANTIZATION_FN, ACTIVATION_QUANT_PARAMS_FN, WEIGHTS_QUANT_PARAMS_FN, \
|
|
17
17
|
WEIGHTS_CHANNELS_AXIS
|
|
18
18
|
from model_compression_toolkit.core.common.quantization.node_quantization_config import BaseNodeQuantizationConfig, \
|
|
@@ -16,7 +16,7 @@ import copy
|
|
|
16
16
|
from typing import List
|
|
17
17
|
|
|
18
18
|
from model_compression_toolkit.core.common import Graph, BaseNode
|
|
19
|
-
from model_compression_toolkit.
|
|
19
|
+
from model_compression_toolkit.constants import FLOAT_BITWIDTH
|
|
20
20
|
from model_compression_toolkit.core.common.quantization.candidate_node_quantization_config import \
|
|
21
21
|
CandidateNodeQuantizationConfig
|
|
22
22
|
|
|
@@ -18,7 +18,7 @@ from typing import Callable, Any
|
|
|
18
18
|
|
|
19
19
|
import numpy as np
|
|
20
20
|
|
|
21
|
-
from model_compression_toolkit.
|
|
21
|
+
from model_compression_toolkit.logger import Logger
|
|
22
22
|
from model_compression_toolkit.core.common.quantization.quantization_params_fn_selection import \
|
|
23
23
|
get_activation_quantization_params_fn, get_weights_quantization_params_fn
|
|
24
24
|
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
import math
|
|
18
18
|
from enum import Enum
|
|
19
19
|
|
|
20
|
-
from model_compression_toolkit.
|
|
20
|
+
from model_compression_toolkit.constants import MIN_THRESHOLD
|
|
21
21
|
|
|
22
22
|
|
|
23
23
|
class QuantizationErrorMethod(Enum):
|
|
@@ -94,7 +94,7 @@ class QuantizationConfig:
|
|
|
94
94
|
one can instantiate a quantization configuration:
|
|
95
95
|
|
|
96
96
|
>>> import model_compression_toolkit as mct
|
|
97
|
-
>>> qc = mct.QuantizationConfig(activation_error_method=mct.QuantizationErrorMethod.NOCLIPPING,weights_error_method=mct.QuantizationErrorMethod.MSE,relu_bound_to_power_of_2=True,weights_bias_correction=True,weights_per_channel_threshold=True)
|
|
97
|
+
>>> qc = mct.core.QuantizationConfig(activation_error_method=mct.core.QuantizationErrorMethod.NOCLIPPING,weights_error_method=mct.core.QuantizationErrorMethod.MSE,relu_bound_to_power_of_2=True,weights_bias_correction=True,weights_per_channel_threshold=True)
|
|
98
98
|
|
|
99
99
|
|
|
100
100
|
The QuantizationConfig instanse can then be passed to
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
from collections.abc import Callable
|
|
17
17
|
from functools import partial
|
|
18
18
|
|
|
19
|
-
from model_compression_toolkit.
|
|
19
|
+
from model_compression_toolkit.logger import Logger
|
|
20
20
|
from model_compression_toolkit.target_platform_capabilities.target_platform import QuantizationMethod
|
|
21
21
|
from model_compression_toolkit.core.common.quantization.quantization_params_generation.kmeans_params import kmeans_tensor
|
|
22
22
|
from model_compression_toolkit.core.common.quantization.quantization_params_generation.lut_kmeans_params import \
|
model_compression_toolkit/core/common/quantization/quantization_params_generation/error_functions.py
CHANGED
|
@@ -18,7 +18,7 @@ import numpy as np
|
|
|
18
18
|
import model_compression_toolkit.core.common.quantization.quantization_config as qc
|
|
19
19
|
from model_compression_toolkit.core.common.similarity_analyzer import compute_mse, compute_mae, compute_lp_norm
|
|
20
20
|
from model_compression_toolkit.target_platform_capabilities.target_platform import QuantizationMethod
|
|
21
|
-
from model_compression_toolkit.
|
|
21
|
+
from model_compression_toolkit.constants import FLOAT_32
|
|
22
22
|
from model_compression_toolkit.core.common.quantization.quantizers.quantizers_helpers import uniform_quantize_tensor
|
|
23
23
|
|
|
24
24
|
|
model_compression_toolkit/core/common/quantization/quantization_params_generation/kmeans_params.py
CHANGED
|
@@ -17,7 +17,7 @@ import numpy as np
|
|
|
17
17
|
from sklearn.cluster import KMeans
|
|
18
18
|
|
|
19
19
|
import model_compression_toolkit.core.common.quantization.quantization_config as qc
|
|
20
|
-
from model_compression_toolkit.
|
|
20
|
+
from model_compression_toolkit.constants import CLUSTER_CENTERS, SCALE_PER_CHANNEL, MIN_THRESHOLD, EPS
|
|
21
21
|
|
|
22
22
|
|
|
23
23
|
def kmeans_tensor(tensor_data: np.ndarray,
|
|
@@ -17,7 +17,7 @@ import numpy as np
|
|
|
17
17
|
from sklearn.cluster import KMeans
|
|
18
18
|
|
|
19
19
|
import model_compression_toolkit.core.common.quantization.quantization_config as qc
|
|
20
|
-
from model_compression_toolkit.
|
|
20
|
+
from model_compression_toolkit.constants import CLUSTER_CENTERS, MIN_THRESHOLD, SCALE_PER_CHANNEL, \
|
|
21
21
|
MULTIPLIER_N_BITS, THRESHOLD
|
|
22
22
|
from model_compression_toolkit.core.common.quantization.quantizers.quantizers_helpers import \
|
|
23
23
|
max_power_of_two, int_quantization_with_threshold
|
|
@@ -26,7 +26,7 @@ from model_compression_toolkit.core.common.quantization.quantization_params_gene
|
|
|
26
26
|
from model_compression_toolkit.core.common.quantization.quantization_params_generation.power_of_two_selection import \
|
|
27
27
|
power_of_two_selection_tensor
|
|
28
28
|
|
|
29
|
-
from model_compression_toolkit.
|
|
29
|
+
from model_compression_toolkit.logger import Logger
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
def lut_kmeans_tensor(tensor_data: np.ndarray,
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
import numpy as np
|
|
16
16
|
|
|
17
17
|
import model_compression_toolkit.core.common.quantization.quantization_config as qc
|
|
18
|
-
from model_compression_toolkit.
|
|
18
|
+
from model_compression_toolkit.constants import MIN_THRESHOLD, THRESHOLD
|
|
19
19
|
from model_compression_toolkit.core.common.quantization.quantization_params_generation.qparams_search import \
|
|
20
20
|
qparams_selection_tensor_search, qparams_selection_histogram_search
|
|
21
21
|
from model_compression_toolkit.core.common.quantization.quantizers.quantizers_helpers import max_power_of_two, get_tensor_max
|
|
@@ -13,11 +13,11 @@
|
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
# ==============================================================================
|
|
15
15
|
import numpy as np
|
|
16
|
-
from typing import
|
|
16
|
+
from typing import Dict
|
|
17
17
|
|
|
18
18
|
from model_compression_toolkit.target_platform_capabilities.target_platform import QuantizationMethod
|
|
19
19
|
from model_compression_toolkit.core.common.collectors.statistics_collector import BaseStatsCollector
|
|
20
|
-
from model_compression_toolkit.
|
|
20
|
+
from model_compression_toolkit.constants import SIGNED
|
|
21
21
|
from model_compression_toolkit.core.common.quantization import quantization_params_generation
|
|
22
22
|
from model_compression_toolkit.core.common.node_prior_info import NodePriorInfo
|
|
23
23
|
from model_compression_toolkit.core.common.quantization.node_quantization_config import NodeActivationQuantizationConfig
|
|
@@ -16,7 +16,7 @@ from typing import List
|
|
|
16
16
|
|
|
17
17
|
from model_compression_toolkit.core.common.framework_implementation import FrameworkImplementation
|
|
18
18
|
from model_compression_toolkit.core.common.framework_info import FrameworkInfo
|
|
19
|
-
from model_compression_toolkit.core.common import Graph, BaseNode
|
|
19
|
+
from model_compression_toolkit.core.common import Graph, BaseNode
|
|
20
20
|
from model_compression_toolkit.core.common.quantization.quantization_params_generation.qparams_activations_computation \
|
|
21
21
|
import get_activations_qparams
|
|
22
22
|
from model_compression_toolkit.core.common.quantization.quantization_params_generation.qparams_weights_computation import \
|