mct-nightly 2.1.0.20240801.515__tar.gz → 2.1.0.20240802.429__tar.gz
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-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/PKG-INFO +1 -1
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/mct_nightly.egg-info/PKG-INFO +1 -1
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/mct_nightly.egg-info/SOURCES.txt +4 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/__init__.py +1 -1
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/constants.py +2 -1
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/graph/base_node.py +50 -5
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/mixed_precision/resource_utilization_tools/resource_utilization_data.py +6 -6
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/quantization/node_quantization_config.py +1 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/quantization/quantization_params_generation/lut_kmeans_params.py +6 -4
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/quantization/quantization_params_generation/power_of_two_selection.py +19 -12
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/quantization/quantization_params_generation/qparams_activations_computation.py +14 -14
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/quantization/quantization_params_generation/qparams_search.py +14 -9
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/quantization/quantization_params_generation/symmetric_selection.py +25 -17
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/quantization/quantization_params_generation/uniform_selection.py +10 -6
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/quantization/set_node_quantization_config.py +12 -5
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/substitutions/shift_negative_activation.py +7 -5
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/target_platform_capabilities/target_platform/op_quantization_config.py +25 -2
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/target_platform_capabilities.py +5 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1/tp_model.py +2 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_lut/tp_model.py +2 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_pot/tp_model.py +2 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2/tp_model.py +2 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2_lut/tp_model.py +2 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v3/tp_model.py +2 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v3_lut/tp_model.py +2 -0
- mct-nightly-2.1.0.20240802.429/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v4/__init__.py +16 -0
- mct-nightly-2.1.0.20240802.429/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v4/tp_model.py +235 -0
- mct-nightly-2.1.0.20240802.429/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v4/tpc_keras.py +132 -0
- mct-nightly-2.1.0.20240802.429/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v4/tpc_pytorch.py +112 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/v1/tp_model.py +2 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/v1/tp_model.py +2 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/LICENSE.md +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/README.md +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/mct_nightly.egg-info/dependency_links.txt +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/mct_nightly.egg-info/requires.txt +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/mct_nightly.egg-info/top_level.txt +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/analyzer.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/back2framework/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/back2framework/base_model_builder.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/base_substitutions.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/collectors/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/collectors/base_collector.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/collectors/histogram_collector.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/collectors/mean_collector.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/collectors/min_max_per_channel_collector.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/collectors/statistics_collector.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/framework_implementation.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/framework_info.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/fusion/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/fusion/layer_fusing.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/graph/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/graph/base_graph.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/graph/edge.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/graph/functional_node.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/graph/graph_matchers.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/graph/graph_searches.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/graph/memory_graph/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/graph/memory_graph/bipartite_graph.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/graph/memory_graph/compute_graph_max_cut.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/graph/memory_graph/cut.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/graph/memory_graph/max_cut_astar.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/graph/memory_graph/memory_element.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/graph/memory_graph/memory_graph.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/graph/virtual_activation_weights_node.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/hessian/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/hessian/hessian_info_service.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/hessian/hessian_info_utils.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/hessian/hessian_scores_calculator.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/hessian/hessian_scores_request.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/matchers/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/matchers/base_graph_filter.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/matchers/base_matcher.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/matchers/edge_matcher.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/matchers/function.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/matchers/node_matcher.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/matchers/walk_matcher.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/memory_computation.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/mixed_precision/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/mixed_precision/bit_width_setter.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/mixed_precision/configurable_quant_id.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/mixed_precision/configurable_quantizer_utils.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/mixed_precision/distance_weighting.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/mixed_precision/mixed_precision_quantization_config.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/mixed_precision/mixed_precision_search_facade.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/mixed_precision/mixed_precision_search_manager.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/mixed_precision/resource_utilization_tools/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/mixed_precision/resource_utilization_tools/resource_utilization.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/mixed_precision/resource_utilization_tools/ru_aggregation_methods.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/mixed_precision/resource_utilization_tools/ru_functions_mapping.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/mixed_precision/resource_utilization_tools/ru_methods.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/mixed_precision/search_methods/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/mixed_precision/search_methods/linear_programming.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/mixed_precision/sensitivity_evaluation.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/mixed_precision/set_layer_to_bitwidth.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/mixed_precision/solution_refinement_procedure.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/model_builder_mode.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/model_collector.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/model_validation.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/network_editors/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/network_editors/actions.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/network_editors/edit_network.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/network_editors/node_filters.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/node_prior_info.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/pruning/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/pruning/channels_grouping.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/pruning/greedy_mask_calculator.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/pruning/importance_metrics/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/pruning/importance_metrics/base_importance_metric.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/pruning/importance_metrics/importance_metric_factory.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/pruning/importance_metrics/lfh_importance_metric.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/pruning/mask/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/pruning/mask/per_channel_mask.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/pruning/mask/per_simd_group_mask.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/pruning/memory_calculator.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/pruning/prune_graph.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/pruning/pruner.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/pruning/pruning_config.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/pruning/pruning_framework_implementation.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/pruning/pruning_info.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/pruning/pruning_section.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/quantization/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/quantization/candidate_node_quantization_config.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/quantization/core_config.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/quantization/debug_config.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/quantization/filter_nodes_candidates.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/quantization/quantization_config.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/quantization/quantization_fn_selection.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/quantization/quantization_params_fn_selection.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/quantization/quantization_params_generation/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/quantization/quantization_params_generation/error_functions.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/quantization/quantization_params_generation/outlier_filter.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/quantization/quantization_params_generation/qparams_computation.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/quantization/quantization_params_generation/qparams_weights_computation.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/quantization/quantize_graph_weights.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/quantization/quantize_node.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/quantization/quantizers/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/quantization/quantizers/lut_kmeans_quantizer.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/quantization/quantizers/quantizers_helpers.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/quantization/quantizers/uniform_quantizers.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/similarity_analyzer.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/statistics_correction/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/statistics_correction/apply_bias_correction_to_graph.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/statistics_correction/apply_second_moment_correction_to_graph.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/statistics_correction/compute_bias_correction_of_graph.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/statistics_correction/statistics_correction.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/substitutions/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/substitutions/apply_substitutions.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/substitutions/batchnorm_folding.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/substitutions/batchnorm_reconstruction.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/substitutions/batchnorm_refusing.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/substitutions/linear_collapsing.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/substitutions/linear_collapsing_substitution.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/substitutions/remove_identity.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/substitutions/residual_collapsing.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/substitutions/scale_equalization.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/substitutions/softmax_shift.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/substitutions/virtual_activation_weights_composition.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/substitutions/weights_activation_split.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/user_info.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/visualization/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/visualization/final_config_visualizer.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/visualization/nn_visualizer.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/common/visualization/tensorboard_writer.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/graph_prep_runner.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/keras/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/keras/back2framework/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/keras/back2framework/factory_model_builder.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/keras/back2framework/float_model_builder.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/keras/back2framework/instance_builder.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/keras/back2framework/keras_model_builder.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/keras/back2framework/mixed_precision_model_builder.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/keras/back2framework/quantized_model_builder.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/keras/constants.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/keras/custom_layer_validation.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/keras/default_framework_info.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/keras/graph_substitutions/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/activation_decomposition.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/batchnorm_folding.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/batchnorm_reconstruction.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/batchnorm_refusing.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/concat_threshold_update.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/dwconv_to_conv.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/input_scaling.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/linear_collapsing.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/matmul_substitution.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/multi_head_attention_decomposition.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/relu_bound_to_power_of_2.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/remove_identity.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/residual_collapsing.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/scale_equalization.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/separableconv_decomposition.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/shift_negative_activation.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/softmax_shift.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/virtual_activation_weights_composition.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/weights_activation_split.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/keras/hessian/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/keras/hessian/activation_hessian_scores_calculator_keras.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/keras/hessian/hessian_scores_calculator_keras.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/keras/hessian/weights_hessian_scores_calculator_keras.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/keras/keras_implementation.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/keras/keras_model_validation.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/keras/keras_node_prior_info.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/keras/mixed_precision/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/keras/mixed_precision/configurable_activation_quantizer.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/keras/mixed_precision/configurable_weights_quantizer.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/keras/pruning/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/keras/pruning/pruning_keras_implementation.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/keras/quantizer/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/keras/quantizer/base_quantizer.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/keras/quantizer/fake_quant_builder.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/keras/quantizer/lut_fake_quant.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/keras/reader/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/keras/reader/common.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/keras/reader/connectivity_handler.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/keras/reader/nested_model/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/keras/reader/nested_model/edges_merger.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/keras/reader/nested_model/nested_model_handler.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/keras/reader/nested_model/nodes_merger.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/keras/reader/nested_model/outputs_merger.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/keras/reader/node_builder.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/keras/reader/reader.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/keras/resource_utilization_data_facade.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/keras/statistics_correction/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/keras/statistics_correction/apply_second_moment_correction.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/keras/tf_tensor_numpy.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/keras/visualization/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/pytorch/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/pytorch/back2framework/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/pytorch/back2framework/factory_model_builder.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/pytorch/back2framework/float_model_builder.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/pytorch/back2framework/instance_builder.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/pytorch/back2framework/mixed_precision_model_builder.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/pytorch/back2framework/pytorch_model_builder.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/pytorch/back2framework/quantization_wrapper/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/pytorch/back2framework/quantization_wrapper/quantized_layer_wrapper.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/pytorch/back2framework/quantization_wrapper/wrapper_quantize_config.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/pytorch/back2framework/quantized_model_builder.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/pytorch/constants.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/pytorch/default_framework_info.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/pytorch/graph_substitutions/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/batchnorm_folding.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/batchnorm_reconstruction.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/batchnorm_refusing.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/concat_threshold_update.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/const_holder_conv.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/functional_batch_norm.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/functional_layer_norm.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/linear_collapsing.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/multi_head_attention_decomposition.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/relu_bound_to_power_of_2.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/remove_identity.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/reshape_with_static_shapes.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/residual_collapsing.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/scale_equalization.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/shift_negative_activation.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/softmax_shift.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/transform_function_call_method.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/virtual_activation_weights_composition.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/weights_activation_split.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/pytorch/hessian/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/pytorch/hessian/activation_hessian_scores_calculator_pytorch.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/pytorch/hessian/hessian_scores_calculator_pytorch.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/pytorch/hessian/weights_hessian_scores_calculator_pytorch.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/pytorch/mixed_precision/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/pytorch/mixed_precision/configurable_activation_quantizer.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/pytorch/mixed_precision/configurable_weights_quantizer.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/pytorch/pruning/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/pytorch/pruning/pruning_pytorch_implementation.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/pytorch/pytorch_device_config.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/pytorch/pytorch_implementation.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/pytorch/pytorch_node_prior_info.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/pytorch/quantizer/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/pytorch/quantizer/fake_quant_builder.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/pytorch/quantizer/lut_fake_quant.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/pytorch/reader/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/pytorch/reader/graph_builders.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/pytorch/reader/node_holders.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/pytorch/reader/reader.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/pytorch/resource_utilization_data_facade.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/pytorch/statistics_correction/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/pytorch/statistics_correction/apply_second_moment_correction.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/pytorch/utils.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/quantization_prep_runner.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/core/runner.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/data_generation/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/data_generation/common/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/data_generation/common/constants.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/data_generation/common/data_generation.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/data_generation/common/data_generation_config.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/data_generation/common/enums.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/data_generation/common/image_pipeline.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/data_generation/common/model_info_exctractors.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/data_generation/common/optimization_utils.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/data_generation/keras/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/data_generation/keras/constants.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/data_generation/keras/image_operations.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/data_generation/keras/image_pipeline.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/data_generation/keras/keras_data_generation.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/data_generation/keras/model_info_exctractors.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/data_generation/keras/optimization_functions/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/data_generation/keras/optimization_functions/batchnorm_alignment_functions.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/data_generation/keras/optimization_functions/bn_layer_weighting_functions.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/data_generation/keras/optimization_functions/image_initilization.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/data_generation/keras/optimization_functions/lr_scheduler.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/data_generation/keras/optimization_functions/output_loss_functions.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/data_generation/keras/optimization_functions/scheduler_step_functions.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/data_generation/keras/optimization_utils.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/data_generation/pytorch/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/data_generation/pytorch/constants.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/data_generation/pytorch/image_operations.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/data_generation/pytorch/image_pipeline.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/data_generation/pytorch/model_info_exctractors.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/data_generation/pytorch/optimization_functions/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/data_generation/pytorch/optimization_functions/batchnorm_alignment_functions.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/data_generation/pytorch/optimization_functions/bn_layer_weighting_functions.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/data_generation/pytorch/optimization_functions/image_initilization.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/data_generation/pytorch/optimization_functions/lr_scheduler.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/data_generation/pytorch/optimization_functions/output_loss_functions.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/data_generation/pytorch/optimization_functions/scheduler_step_functions.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/data_generation/pytorch/optimization_utils.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/data_generation/pytorch/pytorch_data_generation.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/defaultdict.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/exporter/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/exporter/model_exporter/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/exporter/model_exporter/fw_agonstic/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/exporter/model_exporter/fw_agonstic/exporter.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/exporter/model_exporter/fw_agonstic/quantization_format.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/exporter/model_exporter/keras/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/exporter/model_exporter/keras/base_keras_exporter.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/exporter/model_exporter/keras/export_serialization_format.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/exporter/model_exporter/keras/fakely_quant_keras_exporter.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/exporter/model_exporter/keras/fakely_quant_tflite_exporter.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/exporter/model_exporter/keras/int8_tflite_exporter.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/exporter/model_exporter/keras/keras_export_facade.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/exporter/model_exporter/keras/mctq_keras_exporter.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/exporter/model_exporter/pytorch/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/exporter/model_exporter/pytorch/base_pytorch_exporter.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/exporter/model_exporter/pytorch/export_serialization_format.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/exporter/model_exporter/pytorch/fakely_quant_onnx_pytorch_exporter.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/exporter/model_exporter/pytorch/fakely_quant_torchscript_pytorch_exporter.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/exporter/model_exporter/pytorch/pytorch_export_facade.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/exporter/model_wrapper/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/exporter/model_wrapper/fw_agnostic/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/exporter/model_wrapper/fw_agnostic/get_inferable_quantizers.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/exporter/model_wrapper/keras/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/exporter/model_wrapper/keras/builder/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/exporter/model_wrapper/keras/builder/fully_quantized_model_builder.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/exporter/model_wrapper/keras/builder/node_to_quantizer.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/exporter/model_wrapper/keras/validate_layer.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/exporter/model_wrapper/pytorch/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/exporter/model_wrapper/pytorch/builder/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/exporter/model_wrapper/pytorch/builder/fully_quantized_model_builder.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/exporter/model_wrapper/pytorch/builder/node_to_quantizer.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/exporter/model_wrapper/pytorch/validate_layer.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/gptq/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/gptq/common/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/gptq/common/gptq_config.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/gptq/common/gptq_constants.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/gptq/common/gptq_framework_implementation.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/gptq/common/gptq_graph.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/gptq/common/gptq_training.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/gptq/keras/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/gptq/keras/gptq_keras_implementation.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/gptq/keras/gptq_loss.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/gptq/keras/gptq_training.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/gptq/keras/graph_info.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/gptq/keras/quantization_facade.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/gptq/keras/quantizer/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/gptq/keras/quantizer/base_keras_gptq_quantizer.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/gptq/keras/quantizer/quant_utils.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/gptq/keras/quantizer/quantization_builder.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/gptq/keras/quantizer/regularization_factory.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/gptq/keras/quantizer/soft_rounding/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/gptq/keras/quantizer/soft_rounding/soft_quantizer_reg.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/gptq/keras/quantizer/soft_rounding/symmetric_soft_quantizer.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/gptq/keras/quantizer/soft_rounding/uniform_soft_quantizer.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/gptq/keras/quantizer/ste_rounding/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/gptq/keras/quantizer/ste_rounding/symmetric_ste.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/gptq/pytorch/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/gptq/pytorch/gptq_loss.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/gptq/pytorch/gptq_pytorch_implementation.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/gptq/pytorch/gptq_training.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/gptq/pytorch/graph_info.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/gptq/pytorch/quantization_facade.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/gptq/pytorch/quantizer/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/gptq/pytorch/quantizer/base_pytorch_gptq_quantizer.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/gptq/pytorch/quantizer/quant_utils.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/gptq/pytorch/quantizer/quantization_builder.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/gptq/pytorch/quantizer/regularization_factory.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/gptq/pytorch/quantizer/soft_rounding/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/gptq/pytorch/quantizer/soft_rounding/soft_quantizer_reg.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/gptq/pytorch/quantizer/soft_rounding/symmetric_soft_quantizer.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/gptq/pytorch/quantizer/soft_rounding/uniform_soft_quantizer.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/gptq/pytorch/quantizer/ste_rounding/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/gptq/pytorch/quantizer/ste_rounding/symmetric_ste.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/gptq/runner.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/logger.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/metadata.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/pruning/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/pruning/keras/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/pruning/keras/pruning_facade.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/pruning/pytorch/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/pruning/pytorch/pruning_facade.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/ptq/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/ptq/keras/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/ptq/keras/quantization_facade.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/ptq/pytorch/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/ptq/pytorch/quantization_facade.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/ptq/runner.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/qat/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/qat/common/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/qat/common/qat_config.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/qat/keras/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/qat/keras/quantization_facade.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/qat/keras/quantizer/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/qat/keras/quantizer/base_keras_qat_quantizer.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/qat/keras/quantizer/lsq/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/qat/keras/quantizer/lsq/symmetric_lsq.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/qat/keras/quantizer/lsq/uniform_lsq.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/qat/keras/quantizer/quant_utils.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/qat/keras/quantizer/quantization_builder.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/qat/keras/quantizer/ste_rounding/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/qat/keras/quantizer/ste_rounding/symmetric_ste.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/qat/keras/quantizer/ste_rounding/uniform_ste.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/qat/pytorch/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/qat/pytorch/quantization_facade.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/qat/pytorch/quantizer/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/qat/pytorch/quantizer/base_pytorch_qat_quantizer.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/qat/pytorch/quantizer/lsq/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/qat/pytorch/quantizer/lsq/symmetric_lsq.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/qat/pytorch/quantizer/lsq/uniform_lsq.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/qat/pytorch/quantizer/quantization_builder.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/qat/pytorch/quantizer/quantizer_utils.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/qat/pytorch/quantizer/ste_rounding/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/qat/pytorch/quantizer/ste_rounding/symmetric_ste.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/qat/pytorch/quantizer/ste_rounding/uniform_ste.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/target_platform_capabilities/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/target_platform_capabilities/constants.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/target_platform_capabilities/immutable.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/target_platform_capabilities/target_platform/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/target_platform_capabilities/target_platform/current_tp_model.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/target_platform_capabilities/target_platform/fusing.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/target_platform_capabilities/target_platform/operators.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/target_platform_capabilities/target_platform/target_platform_model.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/target_platform_capabilities/target_platform/target_platform_model_component.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/attribute_filter.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/current_tpc.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/layer_filter_params.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/operations_to_layers.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/target_platform_capabilities.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/target_platform_capabilities_component.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/target_platform_capabilities/tpc_models/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/target_platform_capabilities/tpc_models/get_target_platform_capabilities.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/latest/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1/tpc_keras.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1/tpc_pytorch.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_lut/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_lut/tpc_keras.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_lut/tpc_pytorch.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_pot/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_pot/tpc_keras.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_pot/tpc_pytorch.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2/tpc_keras.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2/tpc_pytorch.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2_lut/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2_lut/tpc_keras.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2_lut/tpc_pytorch.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v3/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v3/tpc_keras.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v3/tpc_pytorch.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v3_lut/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v3_lut/tpc_keras.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v3_lut/tpc_pytorch.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/latest/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/target_platform_capabilities.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/v1/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/v1/tpc_keras.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/v1/tpc_pytorch.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/latest/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/target_platform_capabilities.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/v1/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/v1/tpc_keras.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/v1/tpc_pytorch.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/trainable_infrastructure/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/trainable_infrastructure/common/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/trainable_infrastructure/common/base_trainable_quantizer.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/trainable_infrastructure/common/constants.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/trainable_infrastructure/common/get_quantizer_config.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/trainable_infrastructure/common/get_quantizers.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/trainable_infrastructure/common/quant_utils.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/trainable_infrastructure/common/trainable_quantizer_config.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/trainable_infrastructure/keras/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/trainable_infrastructure/keras/base_keras_quantizer.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/trainable_infrastructure/keras/config_serialization.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/trainable_infrastructure/keras/load_model.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/trainable_infrastructure/keras/quantize_wrapper.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/trainable_infrastructure/keras/quantizer_utils.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/trainable_infrastructure/pytorch/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/trainable_infrastructure/pytorch/base_pytorch_quantizer.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/xquant/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/xquant/common/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/xquant/common/constants.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/xquant/common/core_report_generator.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/xquant/common/dataset_utils.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/xquant/common/framework_report_utils.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/xquant/common/model_analyzer.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/xquant/common/model_folding_utils.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/xquant/common/similarity_calculator.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/xquant/common/similarity_functions.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/xquant/common/tensorboard_utils.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/xquant/common/xquant_config.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/xquant/keras/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/xquant/keras/dataset_utils.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/xquant/keras/facade_xquant_report.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/xquant/keras/keras_report_utils.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/xquant/keras/model_analyzer.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/xquant/keras/similarity_functions.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/xquant/keras/tensorboard_utils.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/xquant/pytorch/__init__.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/xquant/pytorch/dataset_utils.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/xquant/pytorch/facade_xquant_report.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/xquant/pytorch/model_analyzer.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/xquant/pytorch/pytorch_report_utils.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/xquant/pytorch/similarity_functions.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/model_compression_toolkit/xquant/pytorch/tensorboard_utils.py +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/setup.cfg +0 -0
- {mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/setup.py +0 -0
{mct-nightly-2.1.0.20240801.515 → mct-nightly-2.1.0.20240802.429}/mct_nightly.egg-info/SOURCES.txt
RENAMED
@@ -474,6 +474,10 @@ model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v3_
|
|
474
474
|
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v3_lut/tp_model.py
|
475
475
|
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v3_lut/tpc_keras.py
|
476
476
|
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v3_lut/tpc_pytorch.py
|
477
|
+
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v4/__init__.py
|
478
|
+
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v4/tp_model.py
|
479
|
+
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v4/tpc_keras.py
|
480
|
+
model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v4/tpc_pytorch.py
|
477
481
|
model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/__init__.py
|
478
482
|
model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/target_platform_capabilities.py
|
479
483
|
model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/latest/__init__.py
|
@@ -27,4 +27,4 @@ from model_compression_toolkit import data_generation
|
|
27
27
|
from model_compression_toolkit import pruning
|
28
28
|
from model_compression_toolkit.trainable_infrastructure.keras.load_model import keras_load_quantized_model
|
29
29
|
|
30
|
-
__version__ = "2.1.0.
|
30
|
+
__version__ = "2.1.0.20240802.000429"
|
@@ -69,7 +69,8 @@ FLOAT_BITWIDTH = 32
|
|
69
69
|
# that are shared among different candidates:
|
70
70
|
WEIGHTS_NBITS_ATTRIBUTE = 'weights_n_bits'
|
71
71
|
CORRECTED_BIAS_ATTRIBUTE = 'corrected_bias'
|
72
|
-
|
72
|
+
ACTIVATION_N_BITS_ATTRIBUTE = 'activation_n_bits'
|
73
|
+
SUPPORTED_INPUT_ACTIVATION_NBITS_ATTRIBUTE = 'supported_input_activation_n_bits'
|
73
74
|
|
74
75
|
# Quantization Parameters Iterative Search Defaults:
|
75
76
|
SYMMETRIC_TENSOR_N_ITER = 40
|
@@ -19,11 +19,11 @@ from typing import Dict, Any, Tuple, List, Type, Union
|
|
19
19
|
import numpy as np
|
20
20
|
|
21
21
|
from model_compression_toolkit.constants import WEIGHTS_NBITS_ATTRIBUTE, CORRECTED_BIAS_ATTRIBUTE, \
|
22
|
-
|
22
|
+
ACTIVATION_N_BITS_ATTRIBUTE, FP32_BYTES_PER_PARAMETER
|
23
23
|
from model_compression_toolkit.core.common.quantization.node_quantization_config import WeightsAttrQuantizationConfig
|
24
24
|
from model_compression_toolkit.logger import Logger
|
25
25
|
from model_compression_toolkit.target_platform_capabilities.target_platform import QuantizationConfigOptions, \
|
26
|
-
TargetPlatformCapabilities, LayerFilterParams
|
26
|
+
TargetPlatformCapabilities, LayerFilterParams, OpQuantizationConfig
|
27
27
|
|
28
28
|
|
29
29
|
class BaseNode:
|
@@ -297,7 +297,6 @@ class BaseNode:
|
|
297
297
|
|
298
298
|
return memory
|
299
299
|
|
300
|
-
|
301
300
|
def get_unified_weights_candidates_dict(self, fw_info) -> Dict[str, Any]:
|
302
301
|
"""
|
303
302
|
In Mixed-Precision, a node's kernel can have multiple candidates for weights quantization configuration.
|
@@ -343,7 +342,7 @@ class BaseNode:
|
|
343
342
|
Returns: A dictionary containing information from node's activation quantization configuration candidates.
|
344
343
|
|
345
344
|
"""
|
346
|
-
shared_attributes = [
|
345
|
+
shared_attributes = [ACTIVATION_N_BITS_ATTRIBUTE]
|
347
346
|
attr = dict()
|
348
347
|
if self.is_activation_quantization_enabled():
|
349
348
|
attr = copy.deepcopy(self.candidates_quantization_cfg[0].activation_quantization_cfg.__dict__)
|
@@ -539,7 +538,7 @@ class BaseNode:
|
|
539
538
|
to the mappings from layers/LayerFilterParams to the OperatorsSet in the TargetPlatformModel.
|
540
539
|
|
541
540
|
Args:
|
542
|
-
tpc: TPC to extract the QuantizationConfigOptions for the node
|
541
|
+
tpc: TPC to extract the QuantizationConfigOptions for the node.
|
543
542
|
|
544
543
|
Returns:
|
545
544
|
QuantizationConfigOptions of the node.
|
@@ -559,6 +558,52 @@ class BaseNode:
|
|
559
558
|
return matching_qcos[0]
|
560
559
|
return tpc.tp_model.default_qco
|
561
560
|
|
561
|
+
def filter_node_qco_by_graph(self, tpc: TargetPlatformCapabilities,
|
562
|
+
next_nodes: List, node_qc_options: QuantizationConfigOptions
|
563
|
+
) -> Tuple[OpQuantizationConfig, List[OpQuantizationConfig]]:
|
564
|
+
"""
|
565
|
+
Filter quantization config options that don't match the graph.
|
566
|
+
A node may have several quantization config options with 'activation_n_bits' values, and
|
567
|
+
the next nodes in the graph may support different bit-width as input activation. This function
|
568
|
+
filters out quantization config that don't comply to these attributes.
|
569
|
+
|
570
|
+
Args:
|
571
|
+
tpc: TPC to extract the QuantizationConfigOptions for the next nodes.
|
572
|
+
next_nodes: Output nodes of current node.
|
573
|
+
node_qc_options: Node's QuantizationConfigOptions.
|
574
|
+
|
575
|
+
Returns:
|
576
|
+
|
577
|
+
"""
|
578
|
+
# Filter quantization config options that don't match the graph.
|
579
|
+
_base_config = node_qc_options.base_config
|
580
|
+
_node_qc_options = node_qc_options.quantization_config_list
|
581
|
+
if len(next_nodes):
|
582
|
+
next_nodes_qc_options = [_node.get_qco(tpc) for _node in next_nodes]
|
583
|
+
next_nodes_supported_input_bitwidth = min([op_cfg.max_input_activation_n_bits
|
584
|
+
for qc_opts in next_nodes_qc_options
|
585
|
+
for op_cfg in qc_opts.quantization_config_list])
|
586
|
+
|
587
|
+
# Filter node's QC options that match next nodes input bit-width.
|
588
|
+
_node_qc_options = [_option for _option in _node_qc_options
|
589
|
+
if _option.activation_n_bits <= next_nodes_supported_input_bitwidth]
|
590
|
+
if len(_node_qc_options) == 0:
|
591
|
+
Logger.critical(f"Graph doesn't match TPC bit configurations: {self} -> {next_nodes}.") # pragma: no cover
|
592
|
+
|
593
|
+
# Verify base config match
|
594
|
+
if any([node_qc_options.base_config.activation_n_bits > qc_opt.base_config.max_input_activation_n_bits
|
595
|
+
for qc_opt in next_nodes_qc_options]):
|
596
|
+
# base_config activation bits doesn't match next node supported input bit-width -> replace with
|
597
|
+
# a qco from quantization_config_list with maximum activation bit-width.
|
598
|
+
if len(_node_qc_options) > 0:
|
599
|
+
output_act_bitwidth = {qco.activation_n_bits: i for i, qco in enumerate(_node_qc_options)}
|
600
|
+
_base_config = _node_qc_options[output_act_bitwidth[max(output_act_bitwidth)]]
|
601
|
+
Logger.warning(f"Node {self} base quantization config changed to match Graph and TPC configuration.\nCause: {self} -> {next_nodes}.")
|
602
|
+
else:
|
603
|
+
Logger.critical(f"Graph doesn't match TPC bit configurations: {self} -> {next_nodes}.") # pragma: no cover
|
604
|
+
|
605
|
+
return _base_config, _node_qc_options
|
606
|
+
|
562
607
|
def is_match_type(self, _type: Type) -> bool:
|
563
608
|
"""
|
564
609
|
Check if input type matches the node type, either in instance type or in type name.
|
@@ -195,12 +195,12 @@ def compute_total_bops(graph: Graph, fw_info: FrameworkInfo, fw_impl: FrameworkI
|
|
195
195
|
|
196
196
|
|
197
197
|
def requires_mixed_precision(in_model: Any,
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
198
|
+
target_resource_utilization: ResourceUtilization,
|
199
|
+
representative_data_gen: Callable,
|
200
|
+
core_config: CoreConfig,
|
201
|
+
tpc: TargetPlatformCapabilities,
|
202
|
+
fw_info: FrameworkInfo,
|
203
|
+
fw_impl: FrameworkImplementation) -> bool:
|
204
204
|
"""
|
205
205
|
The function checks whether the model requires mixed precision to meet the requested target resource utilization.
|
206
206
|
This is determined by whether the target memory usage of the weights is less than the available memory,
|
@@ -96,6 +96,7 @@ class NodeActivationQuantizationConfig(BaseNodeQuantizationConfig):
|
|
96
96
|
self.activation_n_bits = op_cfg.activation_n_bits
|
97
97
|
self.relu_bound_to_power_of_2 = qc.relu_bound_to_power_of_2
|
98
98
|
self.enable_activation_quantization = op_cfg.enable_activation_quantization
|
99
|
+
self.is_signed = op_cfg.is_signed
|
99
100
|
self.activation_channel_equalization = qc.activation_channel_equalization
|
100
101
|
self.input_scaling = qc.input_scaling
|
101
102
|
self.min_threshold = qc.min_threshold
|
@@ -19,7 +19,7 @@ from sklearn.cluster import KMeans
|
|
19
19
|
|
20
20
|
import model_compression_toolkit.core.common.quantization.quantization_config as qc
|
21
21
|
from model_compression_toolkit.constants import LUT_VALUES, MIN_THRESHOLD, SCALE_PER_CHANNEL, \
|
22
|
-
LUT_VALUES_BITWIDTH, THRESHOLD, NUM_QPARAM_HESSIAN_SAMPLES
|
22
|
+
LUT_VALUES_BITWIDTH, THRESHOLD, NUM_QPARAM_HESSIAN_SAMPLES, SIGNED
|
23
23
|
from model_compression_toolkit.core.common.hessian import HessianInfoService
|
24
24
|
from model_compression_toolkit.core.common.quantization.quantizers.quantizers_helpers import \
|
25
25
|
max_power_of_two, int_quantization_with_threshold
|
@@ -110,7 +110,8 @@ def lut_kmeans_histogram(bins: np.ndarray,
|
|
110
110
|
constrained: bool = True,
|
111
111
|
n_iter: int = 20,
|
112
112
|
min_threshold: float = MIN_THRESHOLD,
|
113
|
-
quant_error_method: qc.QuantizationErrorMethod = qc.QuantizationErrorMethod.MSE
|
113
|
+
quant_error_method: qc.QuantizationErrorMethod = qc.QuantizationErrorMethod.MSE,
|
114
|
+
is_signed: bool = None) -> Dict:
|
114
115
|
"""
|
115
116
|
Finds quantization cluster points for non-uniform activation quantization.
|
116
117
|
The quantizer first finds the closest power-of-two number to the max value of the given histogram,
|
@@ -129,6 +130,7 @@ def lut_kmeans_histogram(bins: np.ndarray,
|
|
129
130
|
n_iter: Number of iteration ot search for the threshold (not used for this method).
|
130
131
|
min_threshold: Minimal threshold to use if threshold is too small.
|
131
132
|
quant_error_method: an error function to optimize the parameters' selection accordingly (not used for this method).
|
133
|
+
is_signed: Whether the quantization is signed or not. If None then compute SIGNED value.
|
132
134
|
|
133
135
|
Returns:
|
134
136
|
A dictionary containing the cluster assignments according to the k-means algorithm and
|
@@ -148,9 +150,9 @@ def lut_kmeans_histogram(bins: np.ndarray,
|
|
148
150
|
tensor_max = np.max(bins_with_values)
|
149
151
|
threshold = max_power_of_two(tensor_max, min_threshold)
|
150
152
|
|
151
|
-
signed = np.any(bins[:-1][counts != 0] < 0) # Whether histogram contains negative values or not.
|
153
|
+
signed = np.any(bins[:-1][counts != 0] < 0) if is_signed is None else is_signed # Whether histogram contains negative values or not.
|
152
154
|
tensor_for_kmeans = int_quantization_with_threshold(data=bins, threshold=threshold, n_bits=LUT_VALUES_BITWIDTH, signed=signed)
|
153
155
|
kmeans.fit(tensor_for_kmeans.reshape(-1, 1), sample_weight=np.insert(counts, 0, 0))
|
154
156
|
|
155
157
|
return {LUT_VALUES: np.float32(np.round(kmeans.cluster_centers_)),
|
156
|
-
THRESHOLD: threshold}
|
158
|
+
THRESHOLD: threshold, SIGNED: signed}
|
@@ -16,7 +16,7 @@ import numpy as np
|
|
16
16
|
from typing import Union, Tuple, Dict
|
17
17
|
|
18
18
|
import model_compression_toolkit.core.common.quantization.quantization_config as qc
|
19
|
-
from model_compression_toolkit.constants import MIN_THRESHOLD, THRESHOLD, NUM_QPARAM_HESSIAN_SAMPLES
|
19
|
+
from model_compression_toolkit.constants import MIN_THRESHOLD, THRESHOLD, NUM_QPARAM_HESSIAN_SAMPLES, SIGNED
|
20
20
|
from model_compression_toolkit.core.common.hessian import HessianInfoService
|
21
21
|
from model_compression_toolkit.core.common.quantization.quantization_params_generation.qparams_search import \
|
22
22
|
qparams_selection_tensor_search, qparams_selection_histogram_search
|
@@ -105,7 +105,8 @@ def power_of_two_selection_histogram(bins: np.ndarray,
|
|
105
105
|
constrained: bool = True,
|
106
106
|
n_iter: int = 20,
|
107
107
|
min_threshold: float = MIN_THRESHOLD,
|
108
|
-
quant_error_method: qc.QuantizationErrorMethod = qc.QuantizationErrorMethod.MSE
|
108
|
+
quant_error_method: qc.QuantizationErrorMethod = qc.QuantizationErrorMethod.MSE,
|
109
|
+
is_signed: bool = None) -> Dict:
|
109
110
|
"""
|
110
111
|
Compute the power of two threshold based on the provided QuantizationErrorMethod to quantize a histogram.
|
111
112
|
Different search is applied, depends on the value of the selected QuantizationErrorMethod.
|
@@ -121,6 +122,7 @@ def power_of_two_selection_histogram(bins: np.ndarray,
|
|
121
122
|
n_iter: Number of iteration ot search for the threshold (not used for this method).
|
122
123
|
min_threshold: Minimal threshold to use if threshold is too small (used only for kl threshold selection).
|
123
124
|
quant_error_method: an error function to optimize the parameters' selection accordingly.
|
125
|
+
is_signed: Whether the quantization is signed or not. If None then compute SIGNED value.
|
124
126
|
|
125
127
|
Returns:
|
126
128
|
Power of two threshold to quantize the histogram a power of 2 manner.
|
@@ -128,17 +130,20 @@ def power_of_two_selection_histogram(bins: np.ndarray,
|
|
128
130
|
if quant_error_method == qc.QuantizationErrorMethod.NOCLIPPING:
|
129
131
|
tensor_max = np.max(np.abs(bins)[1:][counts > 0])
|
130
132
|
threshold = max_power_of_two(tensor_max, min_threshold)
|
133
|
+
# Resolve is_signed in case it is None.
|
134
|
+
signed = (bins<0).any() if is_signed is None else is_signed
|
131
135
|
else:
|
132
136
|
error_function = get_threshold_selection_histogram_error_function(QuantizationMethod.POWER_OF_TWO,
|
133
137
|
quant_error_method, p)
|
134
|
-
threshold = qparams_selection_histogram_search(error_function,
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
138
|
+
threshold, signed = qparams_selection_histogram_search(error_function,
|
139
|
+
bins,
|
140
|
+
counts,
|
141
|
+
n_bits,
|
142
|
+
constrained=constrained,
|
143
|
+
n_iter=n_iter,
|
144
|
+
min_threshold=min_threshold,
|
145
|
+
is_signed=is_signed)
|
146
|
+
return {THRESHOLD: threshold, SIGNED: signed}
|
142
147
|
|
143
148
|
|
144
149
|
def power_of_two_no_clipping_selection_min_max(bins: np.ndarray,
|
@@ -151,7 +156,8 @@ def power_of_two_no_clipping_selection_min_max(bins: np.ndarray,
|
|
151
156
|
n_iter: int = 20,
|
152
157
|
min_threshold: float = MIN_THRESHOLD,
|
153
158
|
quant_error_method: qc.QuantizationErrorMethod =
|
154
|
-
qc.QuantizationErrorMethod.NOCLIPPING
|
159
|
+
qc.QuantizationErrorMethod.NOCLIPPING,
|
160
|
+
is_signed: bool = None) -> Dict:
|
155
161
|
"""
|
156
162
|
Gets a threshold between min and max numbers.
|
157
163
|
If computed threshold is less than min_threshold, min_threshold is returned.
|
@@ -168,4 +174,5 @@ def power_of_two_no_clipping_selection_min_max(bins: np.ndarray,
|
|
168
174
|
constrained,
|
169
175
|
n_iter,
|
170
176
|
min_threshold=min_threshold,
|
171
|
-
quant_error_method=qc.QuantizationErrorMethod.NOCLIPPING
|
177
|
+
quant_error_method=qc.QuantizationErrorMethod.NOCLIPPING,
|
178
|
+
is_signed=is_signed)
|
@@ -13,7 +13,7 @@
|
|
13
13
|
# limitations under the License.
|
14
14
|
# ==============================================================================
|
15
15
|
import numpy as np
|
16
|
-
from typing import Dict
|
16
|
+
from typing import Dict, Union
|
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
|
@@ -25,7 +25,7 @@ from model_compression_toolkit.core.common.quantization.node_quantization_config
|
|
25
25
|
|
26
26
|
def get_activations_qparams(activation_quant_cfg: NodeActivationQuantizationConfig,
|
27
27
|
nodes_prior_info: NodePriorInfo,
|
28
|
-
out_stats_container: BaseStatsCollector) -> Dict[str, float]:
|
28
|
+
out_stats_container: BaseStatsCollector) -> Dict[str, Union[np.ndarray, float, bool]]:
|
29
29
|
"""
|
30
30
|
Compute the activations params for a given node in a graph according to a params function.
|
31
31
|
|
@@ -49,7 +49,9 @@ def get_activations_qparams(activation_quant_cfg: NodeActivationQuantizationConf
|
|
49
49
|
bins_counts)
|
50
50
|
min_value, max_value = out_stats_container.get_min_max_values()
|
51
51
|
|
52
|
-
if
|
52
|
+
if activation_quant_cfg.is_signed is not None:
|
53
|
+
signed = activation_quant_cfg.is_signed
|
54
|
+
elif nodes_prior_info.is_output_bounded():
|
53
55
|
signed = min_value < 0
|
54
56
|
else:
|
55
57
|
signed = np.any(bins_values[:-1][bins_counts > 0] < 0)
|
@@ -65,14 +67,12 @@ def get_activations_qparams(activation_quant_cfg: NodeActivationQuantizationConf
|
|
65
67
|
activation_quant_cfg.activation_quantization_params_fn = \
|
66
68
|
quantization_params_generation.uniform_no_clipping_selection_min_max
|
67
69
|
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
return activation_params
|
70
|
+
return activation_quant_cfg.activation_quantization_params_fn(bins_values,
|
71
|
+
bins_counts,
|
72
|
+
activation_quant_cfg.l_p_value,
|
73
|
+
activation_quant_cfg.activation_n_bits,
|
74
|
+
min_value,
|
75
|
+
max_value,
|
76
|
+
min_threshold=activation_quant_cfg.min_threshold,
|
77
|
+
quant_error_method=activation_quant_cfg.activation_error_method,
|
78
|
+
is_signed=signed)
|
@@ -107,7 +107,8 @@ def qparams_selection_histogram_search(error_function: Callable,
|
|
107
107
|
n_bits: int,
|
108
108
|
constrained: bool = True,
|
109
109
|
n_iter: int = 10,
|
110
|
-
min_threshold: float = MIN_THRESHOLD
|
110
|
+
min_threshold: float = MIN_THRESHOLD,
|
111
|
+
is_signed: bool = None) -> Tuple[np.ndarray, bool]:
|
111
112
|
"""
|
112
113
|
Search for an optimal threshold to quantize a histogram of collected float values.
|
113
114
|
The search_methods starts with the constrained no-clipping threshold by the bins' maximal value, and continues with
|
@@ -123,13 +124,14 @@ def qparams_selection_histogram_search(error_function: Callable,
|
|
123
124
|
constrained: Whether the threshold should be constrained or not.
|
124
125
|
n_iter: Number of searching iterations.
|
125
126
|
min_threshold: Threshold to return if the computed threshold is smaller that min_threshold.
|
127
|
+
is_signed: Whether the quantization is signed or not. If None then compute SIGNED value.
|
126
128
|
|
127
129
|
Returns:
|
128
130
|
Optimal constrained threshold to quantize the tensor.
|
129
131
|
|
130
132
|
"""
|
131
133
|
|
132
|
-
signed =
|
134
|
+
signed = (bins < 0).any() if is_signed is None else is_signed # Whether histogram contains negative values or not.
|
133
135
|
tensor_data = np.abs(bins)
|
134
136
|
tensor_max = np.max(tensor_data)
|
135
137
|
if not constrained:
|
@@ -150,7 +152,7 @@ def qparams_selection_histogram_search(error_function: Callable,
|
|
150
152
|
error_list.append(error)
|
151
153
|
|
152
154
|
# Return the threshold with the minimal error.
|
153
|
-
return np.maximum(threshold_list[np.argmin(error_list)], min_threshold)
|
155
|
+
return np.maximum(threshold_list[np.argmin(error_list)], min_threshold), signed
|
154
156
|
|
155
157
|
|
156
158
|
def qparams_symmetric_iterative_minimization(x0: np.ndarray,
|
@@ -537,7 +539,8 @@ def qparams_symmetric_selection_histogram_search(error_function: Callable,
|
|
537
539
|
counts: np.ndarray,
|
538
540
|
n_bits: int,
|
539
541
|
n_iter: int = SYMMETRIC_HISTOGRAM_N_ITER,
|
540
|
-
min_threshold: float = MIN_THRESHOLD
|
542
|
+
min_threshold: float = MIN_THRESHOLD,
|
543
|
+
is_signed: bool = None) -> Tuple[np.ndarray, bool]:
|
541
544
|
"""
|
542
545
|
search for optimal threshold (per-channel or per-tensor) for symmetric quantization of a histogram,
|
543
546
|
using the iterative optimizer method.
|
@@ -550,12 +553,13 @@ def qparams_symmetric_selection_histogram_search(error_function: Callable,
|
|
550
553
|
n_bits: Number of bits to quantize the tensor.
|
551
554
|
n_iter: Number of searching iterations.
|
552
555
|
min_threshold: Threshold to return if the computed threshold is smaller that min_threshold.
|
556
|
+
is_signed: Whether the quantization is signed or not. If None then compute SIGNED value.
|
553
557
|
|
554
558
|
Returns:
|
555
559
|
Optimized threshold for quantifying the histogram.
|
556
560
|
|
557
561
|
"""
|
558
|
-
signed = np.any(bins[:-1][counts != 0] < 0) # Whether histogram contains negative values or not.
|
562
|
+
signed = np.any(bins[:-1][counts != 0] < 0) if is_signed is None else is_signed # Whether histogram contains negative values or not.
|
559
563
|
|
560
564
|
res = qparams_symmetric_iterative_minimization(x0=get_init_threshold(min_threshold, tensor_max),
|
561
565
|
x=bins,
|
@@ -570,7 +574,7 @@ def qparams_symmetric_selection_histogram_search(error_function: Callable,
|
|
570
574
|
n_iter=SYMMETRIC_HISTOGRAM_N_ITER,
|
571
575
|
dec_freq=SYMMETRIC_HISTOGRAM_DEC_FREQ,
|
572
576
|
per_channel=False)
|
573
|
-
return max(min_threshold, res['param'])
|
577
|
+
return max(min_threshold, res['param']), signed
|
574
578
|
|
575
579
|
|
576
580
|
def kl_qparams_symmetric_selection_histogram_search(error_function: Callable,
|
@@ -579,7 +583,8 @@ def kl_qparams_symmetric_selection_histogram_search(error_function: Callable,
|
|
579
583
|
counts: np.ndarray,
|
580
584
|
n_bits: int,
|
581
585
|
n_iter: int = SYMMETRIC_HISTOGRAM_N_ITER,
|
582
|
-
min_threshold: float = MIN_THRESHOLD
|
586
|
+
min_threshold: float = MIN_THRESHOLD,
|
587
|
+
is_signed: bool = None) -> Tuple[np.ndarray, bool]:
|
583
588
|
"""
|
584
589
|
Search for optimal threshold (per-channel or per-tensor) for symmetric quantization of a histogram,
|
585
590
|
with KL-Divergence loss function (needs a separate search function
|
@@ -599,7 +604,7 @@ def kl_qparams_symmetric_selection_histogram_search(error_function: Callable,
|
|
599
604
|
Optimized threshold for quantifying the histogram.
|
600
605
|
|
601
606
|
"""
|
602
|
-
signed = np.any(bins[:-1][counts != 0] < 0) # Whether histogram contains negative values or not.
|
607
|
+
signed = np.any(bins[:-1][counts != 0] < 0) if is_signed is None else is_signed # Whether histogram contains negative values or not.
|
603
608
|
res = qparams_symmetric_iterative_minimization(x0=get_init_threshold(min_threshold, tensor_max),
|
604
609
|
x=bins,
|
605
610
|
loss_fn=lambda x, q_x, t:
|
@@ -617,7 +622,7 @@ def kl_qparams_symmetric_selection_histogram_search(error_function: Callable,
|
|
617
622
|
n_iter=SYMMETRIC_HISTOGRAM_N_ITER,
|
618
623
|
dec_freq=SYMMETRIC_HISTOGRAM_DEC_FREQ,
|
619
624
|
per_channel=False)
|
620
|
-
return max(min_threshold, res['param'])
|
625
|
+
return max(min_threshold, res['param']), signed
|
621
626
|
|
622
627
|
|
623
628
|
def qparams_uniform_selection_histogram_search(error_function: Callable,
|
@@ -16,7 +16,7 @@ import numpy as np
|
|
16
16
|
from typing import Union, Tuple, Dict
|
17
17
|
|
18
18
|
import model_compression_toolkit.core.common.quantization.quantization_config as qc
|
19
|
-
from model_compression_toolkit.constants import MIN_THRESHOLD, THRESHOLD, NUM_QPARAM_HESSIAN_SAMPLES
|
19
|
+
from model_compression_toolkit.constants import MIN_THRESHOLD, THRESHOLD, NUM_QPARAM_HESSIAN_SAMPLES, SIGNED
|
20
20
|
from model_compression_toolkit.core.common.hessian import HessianInfoService
|
21
21
|
from model_compression_toolkit.core.common.quantization.quantization_params_generation.error_functions import \
|
22
22
|
get_threshold_selection_tensor_error_function, get_threshold_selection_histogram_error_function, _kl_error_histogram
|
@@ -106,7 +106,8 @@ def symmetric_selection_histogram(bins: np.ndarray,
|
|
106
106
|
constrained: bool = True,
|
107
107
|
n_iter: int = 20,
|
108
108
|
min_threshold: float = MIN_THRESHOLD,
|
109
|
-
quant_error_method: qc.QuantizationErrorMethod = qc.QuantizationErrorMethod.MSE
|
109
|
+
quant_error_method: qc.QuantizationErrorMethod = qc.QuantizationErrorMethod.MSE,
|
110
|
+
is_signed: bool = None) -> Dict:
|
110
111
|
"""
|
111
112
|
Compute the optimal threshold based on the provided QuantizationErrorMethod to quantize a histogram.
|
112
113
|
Different search is applied, depends on the value of the selected QuantizationErrorMethod.
|
@@ -122,6 +123,7 @@ def symmetric_selection_histogram(bins: np.ndarray,
|
|
122
123
|
n_iter: Number of iteration ot search for the threshold (not used for this method).
|
123
124
|
min_threshold: Minimal threshold to use if threshold is too small (used only for kl threshold selection).
|
124
125
|
quant_error_method: an error function to optimize the parameters' selection accordingly.
|
126
|
+
is_signed: Whether the quantization is signed or not. If None then compute SIGNED value.
|
125
127
|
|
126
128
|
Returns:
|
127
129
|
Optimal threshold to quantize the histogram a symmetric manner.
|
@@ -129,23 +131,27 @@ def symmetric_selection_histogram(bins: np.ndarray,
|
|
129
131
|
tensor_max = np.max(np.abs(bins)[1:][counts > 0])
|
130
132
|
if quant_error_method == qc.QuantizationErrorMethod.NOCLIPPING:
|
131
133
|
threshold = get_init_threshold(min_threshold, tensor_max)
|
134
|
+
# Resolve is_signed in case it is None.
|
135
|
+
signed = (bins<0).any() if is_signed is None else is_signed
|
132
136
|
elif quant_error_method == qc.QuantizationErrorMethod.KL:
|
133
137
|
# search for KL error is separated because the error method signature is different from the other error methods.
|
134
|
-
threshold = kl_qparams_symmetric_selection_histogram_search(_kl_error_histogram,
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
138
|
+
threshold, signed = kl_qparams_symmetric_selection_histogram_search(_kl_error_histogram,
|
139
|
+
tensor_max,
|
140
|
+
bins,
|
141
|
+
counts,
|
142
|
+
n_bits,
|
143
|
+
min_threshold=min_threshold,
|
144
|
+
is_signed=is_signed)
|
140
145
|
else:
|
141
146
|
error_function = get_threshold_selection_histogram_error_function(QuantizationMethod.SYMMETRIC, quant_error_method, p)
|
142
|
-
threshold = qparams_symmetric_selection_histogram_search(error_function,
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
147
|
+
threshold, signed = qparams_symmetric_selection_histogram_search(error_function,
|
148
|
+
tensor_max,
|
149
|
+
bins,
|
150
|
+
counts,
|
151
|
+
n_bits,
|
152
|
+
min_threshold=min_threshold,
|
153
|
+
is_signed=is_signed)
|
154
|
+
return {THRESHOLD: threshold, SIGNED: signed}
|
149
155
|
|
150
156
|
|
151
157
|
def symmetric_no_clipping_selection_min_max(bins: np.ndarray,
|
@@ -158,7 +164,8 @@ def symmetric_no_clipping_selection_min_max(bins: np.ndarray,
|
|
158
164
|
n_iter: int = 20,
|
159
165
|
min_threshold: float = MIN_THRESHOLD,
|
160
166
|
quant_error_method: qc.QuantizationErrorMethod =
|
161
|
-
qc.QuantizationErrorMethod.NOCLIPPING
|
167
|
+
qc.QuantizationErrorMethod.NOCLIPPING,
|
168
|
+
is_signed: bool = None) -> Dict:
|
162
169
|
"""
|
163
170
|
Gets a threshold between min and max numbers.
|
164
171
|
If computed threshold is less than min_threshold, min_threshold is returned.
|
@@ -175,7 +182,8 @@ def symmetric_no_clipping_selection_min_max(bins: np.ndarray,
|
|
175
182
|
constrained,
|
176
183
|
n_iter,
|
177
184
|
min_threshold=min_threshold,
|
178
|
-
quant_error_method=qc.QuantizationErrorMethod.NOCLIPPING
|
185
|
+
quant_error_method=qc.QuantizationErrorMethod.NOCLIPPING,
|
186
|
+
is_signed=is_signed)
|
179
187
|
|
180
188
|
|
181
189
|
def get_init_threshold(min_threshold: float, tensor_max: np.ndarray, per_channel: bool = False) -> np.ndarray:
|
@@ -16,7 +16,7 @@ import numpy as np
|
|
16
16
|
from typing import Union, Tuple, Dict
|
17
17
|
|
18
18
|
import model_compression_toolkit.core.common.quantization.quantization_config as qc
|
19
|
-
from model_compression_toolkit.constants import MIN_THRESHOLD, RANGE_MIN, RANGE_MAX, NUM_QPARAM_HESSIAN_SAMPLES
|
19
|
+
from model_compression_toolkit.constants import MIN_THRESHOLD, RANGE_MIN, RANGE_MAX, NUM_QPARAM_HESSIAN_SAMPLES, SIGNED
|
20
20
|
from model_compression_toolkit.core.common.hessian import HessianInfoService
|
21
21
|
from model_compression_toolkit.core.common.quantization.quantization_params_generation.qparams_search import \
|
22
22
|
qparams_uniform_selection_tensor_search, qparams_uniform_selection_histogram_search
|
@@ -114,7 +114,8 @@ def uniform_selection_histogram(bins: np.ndarray,
|
|
114
114
|
constrained: bool = True,
|
115
115
|
n_iter: int = 20,
|
116
116
|
min_threshold: float = MIN_THRESHOLD,
|
117
|
-
quant_error_method: qc.QuantizationErrorMethod = qc.QuantizationErrorMethod.MSE
|
117
|
+
quant_error_method: qc.QuantizationErrorMethod = qc.QuantizationErrorMethod.MSE,
|
118
|
+
is_signed: bool = None) -> Dict:
|
118
119
|
"""
|
119
120
|
Compute the optimal quantization range based on the provided QuantizationErrorMethod
|
120
121
|
to uniformly quantize the histogram.
|
@@ -131,6 +132,7 @@ def uniform_selection_histogram(bins: np.ndarray,
|
|
131
132
|
n_iter: Number of iteration ot search for the threshold (not used for this method).
|
132
133
|
min_threshold: Minimal threshold to use if threshold is too small (not used for this method).
|
133
134
|
quant_error_method: an error function to optimize the range parameters selection accordingly.
|
135
|
+
is_signed: Whether the quantization is signed or not. If None then compute SIGNED value.
|
134
136
|
|
135
137
|
Returns:
|
136
138
|
Optimal quantization range to quantize the histogram uniformly.
|
@@ -139,6 +141,7 @@ def uniform_selection_histogram(bins: np.ndarray,
|
|
139
141
|
tensor_max = np.max(bins[1:][counts > 0])
|
140
142
|
tensor_min_max = np.array([tensor_min, tensor_max])
|
141
143
|
|
144
|
+
signed = tensor_min < 0 if is_signed is None else is_signed
|
142
145
|
if quant_error_method == qc.QuantizationErrorMethod.NOCLIPPING:
|
143
146
|
mm = tensor_min_max
|
144
147
|
else:
|
@@ -150,7 +153,7 @@ def uniform_selection_histogram(bins: np.ndarray,
|
|
150
153
|
n_bits)
|
151
154
|
|
152
155
|
return {RANGE_MIN: mm[0],
|
153
|
-
RANGE_MAX: mm[1]}
|
156
|
+
RANGE_MAX: mm[1], SIGNED: signed}
|
154
157
|
|
155
158
|
|
156
159
|
def uniform_no_clipping_selection_min_max(bins: np.ndarray,
|
@@ -163,7 +166,8 @@ def uniform_no_clipping_selection_min_max(bins: np.ndarray,
|
|
163
166
|
n_iter: int = 20,
|
164
167
|
min_threshold: float = MIN_THRESHOLD,
|
165
168
|
quant_error_method: qc.QuantizationErrorMethod =
|
166
|
-
qc.QuantizationErrorMethod.NOCLIPPING
|
169
|
+
qc.QuantizationErrorMethod.NOCLIPPING,
|
170
|
+
is_signed: bool = None) -> Dict:
|
167
171
|
"""
|
168
172
|
Gets a quantization rage between min and max numbers.
|
169
173
|
|
@@ -179,5 +183,5 @@ def uniform_no_clipping_selection_min_max(bins: np.ndarray,
|
|
179
183
|
constrained,
|
180
184
|
n_iter,
|
181
185
|
min_threshold=min_threshold,
|
182
|
-
quant_error_method=qc.QuantizationErrorMethod.NOCLIPPING
|
183
|
-
|
186
|
+
quant_error_method=qc.QuantizationErrorMethod.NOCLIPPING,
|
187
|
+
is_signed=is_signed)
|