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
|
@@ -12,11 +12,9 @@
|
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
# ==============================================================================
|
|
15
|
-
from typing import Union
|
|
15
|
+
from typing import Union, Any
|
|
16
16
|
|
|
17
|
-
from model_compression_toolkit.
|
|
18
|
-
from model_compression_toolkit import TrainingMethod
|
|
19
|
-
from model_compression_toolkit.core.common import Logger
|
|
17
|
+
from model_compression_toolkit.logger import Logger
|
|
20
18
|
from model_compression_toolkit.target_platform_capabilities.target_platform import QuantizationMethod
|
|
21
19
|
from model_compression_toolkit.quantizers_infrastructure import QuantizationTarget
|
|
22
20
|
from model_compression_toolkit.quantizers_infrastructure.inferable_infrastructure.common.constants \
|
|
@@ -26,7 +24,7 @@ from model_compression_toolkit.quantizers_infrastructure.inferable_infrastructur
|
|
|
26
24
|
|
|
27
25
|
|
|
28
26
|
def get_trainable_quantizer_class(quant_target: QuantizationTarget,
|
|
29
|
-
quantizer_type: Union[
|
|
27
|
+
quantizer_type: Union[Any, Any],
|
|
30
28
|
quant_method: QuantizationMethod,
|
|
31
29
|
quantizer_base_class: type) -> type:
|
|
32
30
|
"""
|
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
# ==============================================================================
|
|
15
15
|
from typing import Dict, Any, Union, List
|
|
16
16
|
|
|
17
|
-
from model_compression_toolkit.
|
|
18
|
-
from model_compression_toolkit.
|
|
17
|
+
from model_compression_toolkit.logger import Logger
|
|
18
|
+
from model_compression_toolkit.constants import FOUND_TF
|
|
19
19
|
from model_compression_toolkit.quantizers_infrastructure.trainable_infrastructure.common.base_trainable_quantizer import VariableGroup
|
|
20
20
|
from model_compression_toolkit.quantizers_infrastructure.trainable_infrastructure.common.base_trainable_quantizer import BaseTrainableQuantizer, VAR, GROUP
|
|
21
21
|
from model_compression_toolkit.quantizers_infrastructure import TrainableQuantizerWeightsConfig, \
|
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
# ==============================================================================
|
|
15
15
|
from typing import Union, List
|
|
16
16
|
|
|
17
|
-
from model_compression_toolkit.
|
|
18
|
-
from model_compression_toolkit.
|
|
17
|
+
from model_compression_toolkit.logger import Logger
|
|
18
|
+
from model_compression_toolkit.constants import FOUND_TORCH
|
|
19
19
|
from model_compression_toolkit.quantizers_infrastructure.trainable_infrastructure.common.base_trainable_quantizer import VariableGroup
|
|
20
20
|
from model_compression_toolkit.quantizers_infrastructure.trainable_infrastructure.common.base_trainable_quantizer import BaseTrainableQuantizer, VAR, GROUP
|
|
21
21
|
from model_compression_toolkit.quantizers_infrastructure import TrainableQuantizerWeightsConfig, \
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Copyright 2023 Sony Semiconductor Israel, Inc. All rights reserved.
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
# ==============================================================================
|
|
15
|
+
|
|
16
|
+
# TP Model constants
|
|
17
|
+
OPS_SET_LIST = 'ops_set_list'
|
|
18
|
+
|
|
19
|
+
# Version
|
|
20
|
+
LATEST = 'latest'
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
# Supported TP models names:
|
|
24
|
+
DEFAULT_TP_MODEL = 'default'
|
|
25
|
+
IMX500_TP_MODEL = 'imx500'
|
|
26
|
+
TFLITE_TP_MODEL = 'tflite'
|
|
27
|
+
QNNPACK_TP_MODEL = 'qnnpack'
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
# ==============================================================================
|
|
15
15
|
|
|
16
|
-
from model_compression_toolkit.
|
|
16
|
+
from model_compression_toolkit.logger import Logger
|
|
17
17
|
|
|
18
18
|
def get_current_tp_model():
|
|
19
19
|
"""
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
# ==============================================================================
|
|
15
15
|
from typing import Dict, Any
|
|
16
16
|
|
|
17
|
-
from model_compression_toolkit.
|
|
17
|
+
from model_compression_toolkit.target_platform_capabilities.constants import OPS_SET_LIST
|
|
18
18
|
from model_compression_toolkit.target_platform_capabilities.target_platform.target_platform_model_component import TargetPlatformModelComponent
|
|
19
19
|
from model_compression_toolkit.target_platform_capabilities.target_platform.current_tp_model import _current_tp_model
|
|
20
20
|
from model_compression_toolkit.target_platform_capabilities.target_platform.op_quantization_config import QuantizationConfigOptions
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Copyright 2023 Sony Semiconductor Israel, Inc. All rights reserved.
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
# ==============================================================================
|
|
15
|
+
from enum import Enum
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
class QuantizationFormat(Enum):
|
|
19
|
+
FAKELY_QUANT = 0
|
|
20
|
+
INT8 = 1
|
model_compression_toolkit/target_platform_capabilities/target_platform/target_platform_model.py
CHANGED
|
@@ -24,8 +24,8 @@ from model_compression_toolkit.target_platform_capabilities.target_platform.targ
|
|
|
24
24
|
from model_compression_toolkit.target_platform_capabilities.target_platform.op_quantization_config import OpQuantizationConfig, \
|
|
25
25
|
QuantizationConfigOptions
|
|
26
26
|
from model_compression_toolkit.target_platform_capabilities.target_platform.operators import OperatorsSetBase
|
|
27
|
-
from model_compression_toolkit.
|
|
28
|
-
from model_compression_toolkit.
|
|
27
|
+
from model_compression_toolkit.target_platform_capabilities.immutable import ImmutableClass
|
|
28
|
+
from model_compression_toolkit.logger import Logger
|
|
29
29
|
|
|
30
30
|
|
|
31
31
|
def get_default_quantization_config_options() -> QuantizationConfigOptions:
|
|
@@ -223,3 +223,12 @@ class TargetPlatformModel(ImmutableClass):
|
|
|
223
223
|
|
|
224
224
|
"""
|
|
225
225
|
pprint.pprint(self.get_info(), sort_dicts=False)
|
|
226
|
+
|
|
227
|
+
def set_quantization_format(self,
|
|
228
|
+
quantization_format: Any):
|
|
229
|
+
"""
|
|
230
|
+
Set quantization format.
|
|
231
|
+
Args:
|
|
232
|
+
quantization_format: A quantization format (fake-quant, int8 etc.) from enum QuantizationFormat.
|
|
233
|
+
"""
|
|
234
|
+
self.quantization_format = quantization_format
|
|
@@ -13,9 +13,7 @@
|
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
# ==============================================================================
|
|
15
15
|
|
|
16
|
-
from typing import Any
|
|
17
|
-
|
|
18
|
-
from model_compression_toolkit.core.common.graph.base_node import BaseNode
|
|
16
|
+
from typing import Any
|
|
19
17
|
from model_compression_toolkit.target_platform_capabilities.target_platform.targetplatform2framework.attribute_filter import AttributeFilter
|
|
20
18
|
|
|
21
19
|
|
|
@@ -87,34 +85,34 @@ class LayerFilterParams:
|
|
|
87
85
|
params.extend([str(c) for c in self.conditions])
|
|
88
86
|
params_str = ', '.join(params)
|
|
89
87
|
return f'{self.layer.__name__}({params_str})'
|
|
90
|
-
|
|
91
|
-
def match(self,
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
88
|
+
#
|
|
89
|
+
# def match(self,
|
|
90
|
+
# node: BaseNode) -> bool:
|
|
91
|
+
# """
|
|
92
|
+
# Check if a node matches the layer, conditions and keyword-arguments of
|
|
93
|
+
# the LayerFilterParams.
|
|
94
|
+
#
|
|
95
|
+
# Args:
|
|
96
|
+
# node: Node to check if matches to the LayerFilterParams properties.
|
|
97
|
+
#
|
|
98
|
+
# Returns:
|
|
99
|
+
# Whether the node matches to the LayerFilterParams properties.
|
|
100
|
+
# """
|
|
101
|
+
# # Check the node has the same type as the layer in LayerFilterParams
|
|
102
|
+
# if self.layer != node.type:
|
|
103
|
+
# return False
|
|
104
|
+
#
|
|
105
|
+
# # Get attributes from node to filter
|
|
106
|
+
# layer_config = node.framework_attr
|
|
107
|
+
# if hasattr(node, "op_call_kwargs"):
|
|
108
|
+
# layer_config.update(node.op_call_kwargs)
|
|
109
|
+
#
|
|
110
|
+
# for attr, value in self.kwargs.items():
|
|
111
|
+
# if layer_config.get(attr) != value:
|
|
112
|
+
# return False
|
|
113
|
+
#
|
|
114
|
+
# for c in self.conditions:
|
|
115
|
+
# if not c.match(layer_config):
|
|
116
|
+
# return False
|
|
117
|
+
#
|
|
118
|
+
# return True
|
|
@@ -15,10 +15,10 @@
|
|
|
15
15
|
|
|
16
16
|
from typing import List, Any
|
|
17
17
|
|
|
18
|
-
from model_compression_toolkit.
|
|
18
|
+
from model_compression_toolkit.logger import Logger
|
|
19
19
|
from model_compression_toolkit.target_platform_capabilities.target_platform.targetplatform2framework.current_tpc import _current_tpc
|
|
20
20
|
from model_compression_toolkit.target_platform_capabilities.target_platform.targetplatform2framework.target_platform_capabilities_component import TargetPlatformCapabilitiesComponent
|
|
21
|
-
from model_compression_toolkit.target_platform_capabilities.target_platform.operators import
|
|
21
|
+
from model_compression_toolkit.target_platform_capabilities.target_platform.operators import OperatorSetConcat, \
|
|
22
22
|
OperatorsSetBase
|
|
23
23
|
|
|
24
24
|
|
|
@@ -18,16 +18,15 @@ import itertools
|
|
|
18
18
|
import pprint
|
|
19
19
|
from typing import List, Any, Dict, Tuple
|
|
20
20
|
|
|
21
|
-
from model_compression_toolkit.
|
|
21
|
+
from model_compression_toolkit.logger import Logger
|
|
22
22
|
from model_compression_toolkit.target_platform_capabilities.target_platform.targetplatform2framework.operations_to_layers import \
|
|
23
23
|
OperationsToLayers, OperationsSetToLayers
|
|
24
24
|
from model_compression_toolkit.target_platform_capabilities.target_platform.targetplatform2framework.target_platform_capabilities_component import TargetPlatformCapabilitiesComponent
|
|
25
25
|
from model_compression_toolkit.target_platform_capabilities.target_platform.targetplatform2framework.layer_filter_params import LayerFilterParams
|
|
26
|
-
from model_compression_toolkit.
|
|
27
|
-
from model_compression_toolkit.core.common.graph.base_node import BaseNode
|
|
26
|
+
from model_compression_toolkit.target_platform_capabilities.immutable import ImmutableClass
|
|
28
27
|
from model_compression_toolkit.target_platform_capabilities.target_platform.op_quantization_config import QuantizationConfigOptions, \
|
|
29
28
|
OpQuantizationConfig
|
|
30
|
-
from model_compression_toolkit.target_platform_capabilities.target_platform.operators import
|
|
29
|
+
from model_compression_toolkit.target_platform_capabilities.target_platform.operators import OperatorsSetBase
|
|
31
30
|
from model_compression_toolkit.target_platform_capabilities.target_platform.target_platform_model import TargetPlatformModel
|
|
32
31
|
from model_compression_toolkit.target_platform_capabilities.target_platform.targetplatform2framework.current_tpc import _current_tpc
|
|
33
32
|
|
|
@@ -163,26 +162,6 @@ class TargetPlatformCapabilities(ImmutableClass):
|
|
|
163
162
|
"""
|
|
164
163
|
return self.tp_model.get_default_op_quantization_config()
|
|
165
164
|
|
|
166
|
-
def get_qco_by_node(self,
|
|
167
|
-
node: BaseNode) -> QuantizationConfigOptions:
|
|
168
|
-
"""
|
|
169
|
-
Get the QuantizationConfigOptions of a node in a graph according
|
|
170
|
-
to the mappings from layers/LayerFilterParams to the OperatorsSet in the TargetPlatformModel.
|
|
171
|
-
|
|
172
|
-
Args:
|
|
173
|
-
node: Node from graph to get its QuantizationConfigOptions.
|
|
174
|
-
|
|
175
|
-
Returns:
|
|
176
|
-
QuantizationConfigOptions of the node.
|
|
177
|
-
"""
|
|
178
|
-
if node is None:
|
|
179
|
-
Logger.error(f'Can not retrieve QC options for None node') # pragma: no cover
|
|
180
|
-
for fl, qco in self.filterlayer2qco.items():
|
|
181
|
-
if fl.match(node):
|
|
182
|
-
return qco
|
|
183
|
-
if node.type in self.layer2qco:
|
|
184
|
-
return self.layer2qco.get(node.type)
|
|
185
|
-
return self.tp_model.default_qco
|
|
186
165
|
|
|
187
166
|
def _get_config_options_mapping(self) -> Tuple[Dict[Any, QuantizationConfigOptions],
|
|
188
167
|
Dict[LayerFilterParams, QuantizationConfigOptions]]:
|
model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/latest/__init__.py
CHANGED
|
@@ -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 FOUND_TF, FOUND_TORCH
|
|
16
16
|
|
|
17
17
|
from model_compression_toolkit.target_platform_capabilities.tpc_models.default_tpc.v4.tp_model import get_tp_model, generate_tp_model, get_op_quantization_configs
|
|
18
18
|
|
|
@@ -13,7 +13,9 @@
|
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
# ==============================================================================
|
|
15
15
|
|
|
16
|
-
from model_compression_toolkit.
|
|
16
|
+
from model_compression_toolkit.constants import FOUND_TF, FOUND_TORCH, TENSORFLOW, PYTORCH
|
|
17
|
+
from model_compression_toolkit.target_platform_capabilities.constants import LATEST
|
|
18
|
+
|
|
17
19
|
|
|
18
20
|
###############################
|
|
19
21
|
# Build Tensorflow TPC models
|
model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v1/tp_model.py
CHANGED
|
@@ -15,7 +15,10 @@
|
|
|
15
15
|
from typing import List, Tuple
|
|
16
16
|
|
|
17
17
|
import model_compression_toolkit as mct
|
|
18
|
-
from model_compression_toolkit.target_platform_capabilities.target_platform import OpQuantizationConfig,
|
|
18
|
+
from model_compression_toolkit.target_platform_capabilities.target_platform import OpQuantizationConfig, \
|
|
19
|
+
TargetPlatformModel
|
|
20
|
+
from model_compression_toolkit.target_platform_capabilities.target_platform.quantization_format import \
|
|
21
|
+
QuantizationFormat
|
|
19
22
|
|
|
20
23
|
tp = mct.target_platform
|
|
21
24
|
|
|
@@ -106,6 +109,9 @@ def generate_tp_model(default_config: OpQuantizationConfig,
|
|
|
106
109
|
# be used for operations that will be attached to this set's label.
|
|
107
110
|
# Otherwise, it will be a configure-less set (used in fusing):
|
|
108
111
|
|
|
112
|
+
# Set quantization format to fakely quant
|
|
113
|
+
generated_tpc.set_quantization_format(QuantizationFormat.FAKELY_QUANT)
|
|
114
|
+
|
|
109
115
|
# May suit for operations like: Dropout, Reshape, etc.
|
|
110
116
|
tp.OperatorsSet("NoQuantization",
|
|
111
117
|
tp.get_default_quantization_config_options().clone_and_edit(
|
model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v2/tp_model.py
CHANGED
|
@@ -15,7 +15,10 @@
|
|
|
15
15
|
from typing import List, Tuple
|
|
16
16
|
|
|
17
17
|
import model_compression_toolkit as mct
|
|
18
|
-
from model_compression_toolkit.target_platform_capabilities.target_platform import OpQuantizationConfig,
|
|
18
|
+
from model_compression_toolkit.target_platform_capabilities.target_platform import OpQuantizationConfig, \
|
|
19
|
+
TargetPlatformModel
|
|
20
|
+
from model_compression_toolkit.target_platform_capabilities.target_platform.quantization_format import \
|
|
21
|
+
QuantizationFormat
|
|
19
22
|
|
|
20
23
|
tp = mct.target_platform
|
|
21
24
|
|
|
@@ -106,6 +109,9 @@ def generate_tp_model(default_config: OpQuantizationConfig,
|
|
|
106
109
|
# be used for operations that will be attached to this set's label.
|
|
107
110
|
# Otherwise, it will be a configure-less set (used in fusing):
|
|
108
111
|
|
|
112
|
+
# Set quantization format to fakely quant
|
|
113
|
+
generated_tpc.set_quantization_format(QuantizationFormat.FAKELY_QUANT)
|
|
114
|
+
|
|
109
115
|
# May suit for operations like: Dropout, Reshape, etc.
|
|
110
116
|
tp.OperatorsSet("NoQuantization",
|
|
111
117
|
tp.get_default_quantization_config_options().clone_and_edit(
|
model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v3/tp_model.py
CHANGED
|
@@ -15,7 +15,10 @@
|
|
|
15
15
|
from typing import List, Tuple
|
|
16
16
|
|
|
17
17
|
import model_compression_toolkit as mct
|
|
18
|
-
from model_compression_toolkit.target_platform_capabilities.target_platform import OpQuantizationConfig,
|
|
18
|
+
from model_compression_toolkit.target_platform_capabilities.target_platform import OpQuantizationConfig, \
|
|
19
|
+
TargetPlatformModel
|
|
20
|
+
from model_compression_toolkit.target_platform_capabilities.target_platform.quantization_format import \
|
|
21
|
+
QuantizationFormat
|
|
19
22
|
|
|
20
23
|
tp = mct.target_platform
|
|
21
24
|
|
|
@@ -113,6 +116,9 @@ def generate_tp_model(default_config: OpQuantizationConfig,
|
|
|
113
116
|
# be used for operations that will be attached to this set's label.
|
|
114
117
|
# Otherwise, it will be a configure-less set (used in fusing):
|
|
115
118
|
|
|
119
|
+
# Set quantization format to fakely quant
|
|
120
|
+
generated_tpc.set_quantization_format(QuantizationFormat.FAKELY_QUANT)
|
|
121
|
+
|
|
116
122
|
# May suit for operations like: Dropout, Reshape, etc.
|
|
117
123
|
tp.OperatorsSet("NoQuantization",
|
|
118
124
|
tp.get_default_quantization_config_options().clone_and_edit(
|
model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v3_lut/tp_model.py
CHANGED
|
@@ -15,8 +15,10 @@
|
|
|
15
15
|
from typing import List, Tuple
|
|
16
16
|
|
|
17
17
|
import model_compression_toolkit as mct
|
|
18
|
-
from model_compression_toolkit.target_platform_capabilities.target_platform import OpQuantizationConfig,
|
|
19
|
-
QuantizationMethod
|
|
18
|
+
from model_compression_toolkit.target_platform_capabilities.target_platform import OpQuantizationConfig, \
|
|
19
|
+
TargetPlatformModel, QuantizationMethod
|
|
20
|
+
from model_compression_toolkit.target_platform_capabilities.target_platform.quantization_format import \
|
|
21
|
+
QuantizationFormat
|
|
20
22
|
|
|
21
23
|
tp = mct.target_platform
|
|
22
24
|
|
|
@@ -115,6 +117,9 @@ def generate_tp_model(default_config: OpQuantizationConfig,
|
|
|
115
117
|
# be used for operations that will be attached to this set's label.
|
|
116
118
|
# Otherwise, it will be a configure-less set (used in fusing):
|
|
117
119
|
|
|
120
|
+
# Set quantization format to fakely quant
|
|
121
|
+
generated_tpc.set_quantization_format(QuantizationFormat.FAKELY_QUANT)
|
|
122
|
+
|
|
118
123
|
# May suit for operations like: Dropout, Reshape, etc.
|
|
119
124
|
tp.OperatorsSet("NoQuantization",
|
|
120
125
|
tp.get_default_quantization_config_options().clone_and_edit(
|
model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v4/tp_model.py
CHANGED
|
@@ -15,7 +15,10 @@
|
|
|
15
15
|
from typing import List, Tuple
|
|
16
16
|
|
|
17
17
|
import model_compression_toolkit as mct
|
|
18
|
-
from model_compression_toolkit.target_platform_capabilities.target_platform import OpQuantizationConfig,
|
|
18
|
+
from model_compression_toolkit.target_platform_capabilities.target_platform import OpQuantizationConfig, \
|
|
19
|
+
TargetPlatformModel
|
|
20
|
+
from model_compression_toolkit.target_platform_capabilities.target_platform.quantization_format import \
|
|
21
|
+
QuantizationFormat
|
|
19
22
|
|
|
20
23
|
tp = mct.target_platform
|
|
21
24
|
|
|
@@ -113,6 +116,9 @@ def generate_tp_model(default_config: OpQuantizationConfig,
|
|
|
113
116
|
# be used for operations that will be attached to this set's label.
|
|
114
117
|
# Otherwise, it will be a configure-less set (used in fusing):
|
|
115
118
|
|
|
119
|
+
# Set quantization format to fakely quant
|
|
120
|
+
generated_tpc.set_quantization_format(QuantizationFormat.FAKELY_QUANT)
|
|
121
|
+
|
|
116
122
|
# May suit for operations like: Dropout, Reshape, etc.
|
|
117
123
|
tp.OperatorsSet("NoQuantization",
|
|
118
124
|
tp.get_default_quantization_config_options().clone_and_edit(
|
model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v4_lut/tp_model.py
CHANGED
|
@@ -15,8 +15,10 @@
|
|
|
15
15
|
from typing import List, Tuple
|
|
16
16
|
|
|
17
17
|
import model_compression_toolkit as mct
|
|
18
|
-
from model_compression_toolkit.target_platform_capabilities.target_platform import OpQuantizationConfig,
|
|
19
|
-
QuantizationMethod
|
|
18
|
+
from model_compression_toolkit.target_platform_capabilities.target_platform import OpQuantizationConfig, \
|
|
19
|
+
TargetPlatformModel, QuantizationMethod
|
|
20
|
+
from model_compression_toolkit.target_platform_capabilities.target_platform.quantization_format import \
|
|
21
|
+
QuantizationFormat
|
|
20
22
|
|
|
21
23
|
tp = mct.target_platform
|
|
22
24
|
|
|
@@ -115,6 +117,9 @@ def generate_tp_model(default_config: OpQuantizationConfig,
|
|
|
115
117
|
# be used for operations that will be attached to this set's label.
|
|
116
118
|
# Otherwise, it will be a configure-less set (used in fusing):
|
|
117
119
|
|
|
120
|
+
# Set quantization format to fakely quant
|
|
121
|
+
generated_tpc.set_quantization_format(QuantizationFormat.FAKELY_QUANT)
|
|
122
|
+
|
|
118
123
|
# May suit for operations like: Dropout, Reshape, etc.
|
|
119
124
|
tp.OperatorsSet("NoQuantization",
|
|
120
125
|
tp.get_default_quantization_config_options().clone_and_edit(
|
model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v5/tp_model.py
CHANGED
|
@@ -15,7 +15,10 @@
|
|
|
15
15
|
from typing import List, Tuple
|
|
16
16
|
|
|
17
17
|
import model_compression_toolkit as mct
|
|
18
|
-
from model_compression_toolkit.target_platform_capabilities.target_platform import OpQuantizationConfig,
|
|
18
|
+
from model_compression_toolkit.target_platform_capabilities.target_platform import OpQuantizationConfig, \
|
|
19
|
+
TargetPlatformModel
|
|
20
|
+
from model_compression_toolkit.target_platform_capabilities.target_platform.quantization_format import \
|
|
21
|
+
QuantizationFormat
|
|
19
22
|
|
|
20
23
|
tp = mct.target_platform
|
|
21
24
|
|
|
@@ -113,6 +116,9 @@ def generate_tp_model(default_config: OpQuantizationConfig,
|
|
|
113
116
|
# be used for operations that will be attached to this set's label.
|
|
114
117
|
# Otherwise, it will be a configure-less set (used in fusing):
|
|
115
118
|
|
|
119
|
+
# Set quantization format to fakely quant
|
|
120
|
+
generated_tpc.set_quantization_format(QuantizationFormat.FAKELY_QUANT)
|
|
121
|
+
|
|
116
122
|
# May suit for operations like: Dropout, Reshape, etc.
|
|
117
123
|
tp.OperatorsSet("NoQuantization",
|
|
118
124
|
tp.get_default_quantization_config_options().clone_and_edit(
|
|
@@ -23,9 +23,7 @@ from model_compression_toolkit.target_platform_capabilities.tpc_models.tflite_tp
|
|
|
23
23
|
tpc_dict as tflite_tpc_dict
|
|
24
24
|
from model_compression_toolkit.target_platform_capabilities.tpc_models.qnnpack_tpc.target_platform_capabilities import \
|
|
25
25
|
tpc_dict as qnnpack_tpc_dict
|
|
26
|
-
from model_compression_toolkit.
|
|
27
|
-
QNNPACK_TP_MODEL
|
|
28
|
-
from model_compression_toolkit.core.common.constants import LATEST
|
|
26
|
+
from model_compression_toolkit.target_platform_capabilities.constants import DEFAULT_TP_MODEL, IMX500_TP_MODEL, TFLITE_TP_MODEL, QNNPACK_TP_MODEL, LATEST
|
|
29
27
|
|
|
30
28
|
tpc_dict = {DEFAULT_TP_MODEL: default_tpc_dict,
|
|
31
29
|
IMX500_TP_MODEL: imx500_tpc_dict,
|
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/latest/__init__.py
CHANGED
|
@@ -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 FOUND_TF, FOUND_TORCH
|
|
16
16
|
from model_compression_toolkit.target_platform_capabilities.tpc_models.imx500_tpc.v1.tp_model import get_tp_model, generate_tp_model, \
|
|
17
17
|
get_op_quantization_configs
|
|
18
18
|
if FOUND_TF:
|
|
@@ -13,7 +13,8 @@
|
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
# ==============================================================================
|
|
15
15
|
|
|
16
|
-
from model_compression_toolkit.
|
|
16
|
+
from model_compression_toolkit.constants import FOUND_TF, FOUND_TORCH, TENSORFLOW, PYTORCH
|
|
17
|
+
from model_compression_toolkit.target_platform_capabilities.constants import LATEST
|
|
17
18
|
|
|
18
19
|
###############################
|
|
19
20
|
# Build Tensorflow TPC models
|
|
@@ -15,7 +15,10 @@
|
|
|
15
15
|
from typing import List, Tuple
|
|
16
16
|
|
|
17
17
|
import model_compression_toolkit as mct
|
|
18
|
-
from model_compression_toolkit.target_platform_capabilities.target_platform import OpQuantizationConfig,
|
|
18
|
+
from model_compression_toolkit.target_platform_capabilities.target_platform import OpQuantizationConfig, \
|
|
19
|
+
TargetPlatformModel
|
|
20
|
+
from model_compression_toolkit.target_platform_capabilities.target_platform.quantization_format import \
|
|
21
|
+
QuantizationFormat
|
|
19
22
|
|
|
20
23
|
tp = mct.target_platform
|
|
21
24
|
|
|
@@ -113,6 +116,9 @@ def generate_tp_model(default_config: OpQuantizationConfig,
|
|
|
113
116
|
# be used for operations that will be attached to this set's label.
|
|
114
117
|
# Otherwise, it will be a configure-less set (used in fusing):
|
|
115
118
|
|
|
119
|
+
# Set quantization format to fakely quant
|
|
120
|
+
generated_tpc.set_quantization_format(QuantizationFormat.FAKELY_QUANT)
|
|
121
|
+
|
|
116
122
|
# May suit for operations like: Dropout, Reshape, etc.
|
|
117
123
|
tp.OperatorsSet("NoQuantization",
|
|
118
124
|
tp.get_default_quantization_config_options().clone_and_edit(
|
model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/latest/__init__.py
CHANGED
|
@@ -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 FOUND_TF, FOUND_TORCH
|
|
16
16
|
from model_compression_toolkit.target_platform_capabilities.tpc_models.qnnpack_tpc.v1.tp_model import get_tp_model, generate_tp_model, get_op_quantization_configs
|
|
17
17
|
if FOUND_TF:
|
|
18
18
|
from model_compression_toolkit.target_platform_capabilities.tpc_models.qnnpack_tpc.v1.tpc_keras import get_keras_tpc as get_keras_tpc_latest
|
|
@@ -13,7 +13,8 @@
|
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
# ==============================================================================
|
|
15
15
|
|
|
16
|
-
from model_compression_toolkit.
|
|
16
|
+
from model_compression_toolkit.constants import FOUND_TF, FOUND_TORCH, TENSORFLOW, PYTORCH
|
|
17
|
+
from model_compression_toolkit.target_platform_capabilities.constants import LATEST
|
|
17
18
|
|
|
18
19
|
|
|
19
20
|
###############################
|
model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/v1/tp_model.py
CHANGED
|
@@ -15,7 +15,10 @@
|
|
|
15
15
|
from typing import List, Tuple
|
|
16
16
|
|
|
17
17
|
import model_compression_toolkit as mct
|
|
18
|
-
from model_compression_toolkit.target_platform_capabilities.target_platform import OpQuantizationConfig,
|
|
18
|
+
from model_compression_toolkit.target_platform_capabilities.target_platform import OpQuantizationConfig, \
|
|
19
|
+
TargetPlatformModel
|
|
20
|
+
from model_compression_toolkit.target_platform_capabilities.target_platform.quantization_format import \
|
|
21
|
+
QuantizationFormat
|
|
19
22
|
|
|
20
23
|
tp = mct.target_platform
|
|
21
24
|
|
|
@@ -120,4 +123,7 @@ def generate_tp_model(default_config: OpQuantizationConfig,
|
|
|
120
123
|
tp.Fusing([conv, relu])
|
|
121
124
|
tp.Fusing([linear, relu])
|
|
122
125
|
|
|
126
|
+
# Set quantization format to fakely quant
|
|
127
|
+
generated_tpc.set_quantization_format(QuantizationFormat.FAKELY_QUANT)
|
|
128
|
+
|
|
123
129
|
return generated_tpc
|
model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/latest/__init__.py
CHANGED
|
@@ -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 FOUND_TF, FOUND_TORCH
|
|
16
16
|
from model_compression_toolkit.target_platform_capabilities.tpc_models.tflite_tpc.v1.tp_model import get_tp_model, generate_tp_model, get_op_quantization_configs
|
|
17
17
|
if FOUND_TF:
|
|
18
18
|
from model_compression_toolkit.target_platform_capabilities.tpc_models.tflite_tpc.v1.tpc_keras import get_keras_tpc as get_keras_tpc_latest
|
|
@@ -13,7 +13,8 @@
|
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
# ==============================================================================
|
|
15
15
|
|
|
16
|
-
from model_compression_toolkit.
|
|
16
|
+
from model_compression_toolkit.constants import FOUND_TF, FOUND_TORCH, TENSORFLOW, PYTORCH
|
|
17
|
+
from model_compression_toolkit.target_platform_capabilities.constants import LATEST
|
|
17
18
|
|
|
18
19
|
|
|
19
20
|
###############################
|