mct-nightly 2.2.0.20241022.507__tar.gz → 2.2.0.20241023.504__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.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/PKG-INFO +1 -1
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/mct_nightly.egg-info/PKG-INFO +1 -1
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/mct_nightly.egg-info/SOURCES.txt +7 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/__init__.py +1 -1
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/framework_implementation.py +43 -29
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/hessian/__init__.py +1 -1
- mct-nightly-2.2.0.20241023.504/model_compression_toolkit/core/common/hessian/hessian_info_service.py +305 -0
- mct-nightly-2.2.0.20241023.504/model_compression_toolkit/core/common/hessian/hessian_scores_request.py +76 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/mixed_precision/sensitivity_evaluation.py +8 -10
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/pruning/importance_metrics/lfh_importance_metric.py +11 -9
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/quantization/quantization_params_generation/error_functions.py +10 -6
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/quantization/quantization_params_generation/qparams_computation.py +17 -15
- mct-nightly-2.2.0.20241023.504/model_compression_toolkit/core/keras/data_util.py +67 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/keras/keras_implementation.py +7 -1
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/keras/tf_tensor_numpy.py +1 -1
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/pytorch/back2framework/pytorch_model_builder.py +1 -1
- mct-nightly-2.2.0.20241023.504/model_compression_toolkit/core/pytorch/data_util.py +163 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/pytorch/hessian/activation_hessian_scores_calculator_pytorch.py +6 -31
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/pytorch/hessian/hessian_scores_calculator_pytorch.py +11 -21
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/pytorch/hessian/weights_hessian_scores_calculator_pytorch.py +9 -7
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/pytorch/pytorch_implementation.py +8 -2
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/pytorch/utils.py +22 -19
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/quantization_prep_runner.py +2 -1
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/runner.py +1 -2
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/gptq/common/gptq_config.py +0 -2
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/gptq/common/gptq_training.py +58 -114
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/gptq/keras/gptq_training.py +15 -6
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/gptq/pytorch/gptq_loss.py +3 -2
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/gptq/pytorch/gptq_training.py +97 -64
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/gptq/pytorch/quantization_facade.py +0 -2
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/gptq/pytorch/quantizer/soft_rounding/soft_quantizer_reg.py +4 -3
- mct-nightly-2.2.0.20241023.504/tests_pytest/keras/core/test_data_util.py +91 -0
- mct-nightly-2.2.0.20241023.504/tests_pytest/pytorch/core/__init__.py +14 -0
- mct-nightly-2.2.0.20241023.504/tests_pytest/pytorch/core/test_data_util.py +125 -0
- mct-nightly-2.2.0.20241023.504/tests_pytest/pytorch/gptq/__init__.py +14 -0
- mct-nightly-2.2.0.20241023.504/tests_pytest/pytorch/trainable_infrastructure/__init__.py +14 -0
- mct-nightly-2.2.0.20241022.507/model_compression_toolkit/core/common/hessian/hessian_info_service.py +0 -454
- mct-nightly-2.2.0.20241022.507/model_compression_toolkit/core/common/hessian/hessian_scores_request.py +0 -90
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/LICENSE.md +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/README.md +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/mct_nightly.egg-info/dependency_links.txt +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/mct_nightly.egg-info/requires.txt +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/mct_nightly.egg-info/top_level.txt +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/constants.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/analyzer.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/back2framework/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/back2framework/base_model_builder.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/base_substitutions.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/collectors/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/collectors/base_collector.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/collectors/histogram_collector.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/collectors/mean_collector.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/collectors/min_max_per_channel_collector.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/collectors/statistics_collector.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/framework_info.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/fusion/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/fusion/graph_fuser.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/fusion/layer_fusing.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/graph/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/graph/base_graph.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/graph/base_node.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/graph/edge.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/graph/functional_node.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/graph/graph_matchers.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/graph/graph_searches.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/graph/memory_graph/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/graph/memory_graph/bipartite_graph.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/graph/memory_graph/compute_graph_max_cut.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/graph/memory_graph/cut.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/graph/memory_graph/max_cut_astar.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/graph/memory_graph/memory_element.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/graph/memory_graph/memory_graph.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/graph/virtual_activation_weights_node.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/hessian/hessian_info_utils.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/hessian/hessian_scores_calculator.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/matchers/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/matchers/base_graph_filter.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/matchers/base_matcher.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/matchers/edge_matcher.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/matchers/function.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/matchers/node_matcher.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/matchers/walk_matcher.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/memory_computation.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/mixed_precision/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/mixed_precision/bit_width_setter.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/mixed_precision/configurable_quant_id.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/mixed_precision/configurable_quantizer_utils.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/mixed_precision/distance_weighting.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/mixed_precision/mixed_precision_candidates_filter.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/mixed_precision/mixed_precision_quantization_config.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/mixed_precision/mixed_precision_search_facade.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/mixed_precision/mixed_precision_search_manager.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/mixed_precision/resource_utilization_tools/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/mixed_precision/resource_utilization_tools/resource_utilization.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/mixed_precision/resource_utilization_tools/resource_utilization_data.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/mixed_precision/resource_utilization_tools/ru_aggregation_methods.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/mixed_precision/resource_utilization_tools/ru_functions_mapping.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/mixed_precision/resource_utilization_tools/ru_methods.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/mixed_precision/search_methods/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/mixed_precision/search_methods/linear_programming.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/mixed_precision/set_layer_to_bitwidth.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/mixed_precision/solution_refinement_procedure.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/model_builder_mode.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/model_collector.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/model_validation.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/network_editors/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/network_editors/actions.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/network_editors/edit_network.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/network_editors/node_filters.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/node_prior_info.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/pruning/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/pruning/channels_grouping.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/pruning/greedy_mask_calculator.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/pruning/importance_metrics/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/pruning/importance_metrics/base_importance_metric.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/pruning/importance_metrics/importance_metric_factory.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/pruning/mask/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/pruning/mask/per_channel_mask.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/pruning/mask/per_simd_group_mask.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/pruning/memory_calculator.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/pruning/prune_graph.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/pruning/pruner.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/pruning/pruning_config.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/pruning/pruning_framework_implementation.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/pruning/pruning_info.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/pruning/pruning_section.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/quantization/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/quantization/bit_width_config.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/quantization/candidate_node_quantization_config.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/quantization/core_config.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/quantization/debug_config.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/quantization/filter_nodes_candidates.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/quantization/node_quantization_config.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/quantization/quantization_config.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/quantization/quantization_fn_selection.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/quantization/quantization_params_fn_selection.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/quantization/quantization_params_generation/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/quantization/quantization_params_generation/lut_kmeans_params.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/quantization/quantization_params_generation/outlier_filter.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/quantization/quantization_params_generation/power_of_two_selection.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/quantization/quantization_params_generation/qparams_activations_computation.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/quantization/quantization_params_generation/qparams_search.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/quantization/quantization_params_generation/qparams_weights_computation.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/quantization/quantization_params_generation/symmetric_selection.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/quantization/quantization_params_generation/uniform_selection.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/quantization/quantize_graph_weights.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/quantization/quantize_node.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/quantization/quantizers/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/quantization/quantizers/lut_kmeans_quantizer.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/quantization/quantizers/quantizers_helpers.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/quantization/quantizers/uniform_quantizers.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/quantization/set_node_quantization_config.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/similarity_analyzer.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/statistics_correction/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/statistics_correction/apply_bias_correction_to_graph.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/statistics_correction/apply_second_moment_correction_to_graph.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/statistics_correction/compute_bias_correction_of_graph.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/statistics_correction/statistics_correction.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/substitutions/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/substitutions/apply_substitutions.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/substitutions/batchnorm_folding.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/substitutions/batchnorm_reconstruction.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/substitutions/batchnorm_refusing.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/substitutions/linear_collapsing.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/substitutions/linear_collapsing_substitution.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/substitutions/remove_identity.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/substitutions/residual_collapsing.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/substitutions/scale_equalization.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/substitutions/shift_negative_activation.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/substitutions/softmax_shift.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/substitutions/virtual_activation_weights_composition.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/substitutions/weights_activation_split.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/user_info.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/visualization/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/visualization/final_config_visualizer.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/visualization/nn_visualizer.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/common/visualization/tensorboard_writer.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/graph_prep_runner.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/keras/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/keras/back2framework/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/keras/back2framework/factory_model_builder.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/keras/back2framework/float_model_builder.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/keras/back2framework/instance_builder.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/keras/back2framework/keras_model_builder.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/keras/back2framework/mixed_precision_model_builder.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/keras/back2framework/quantized_model_builder.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/keras/constants.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/keras/custom_layer_validation.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/keras/default_framework_info.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/keras/graph_substitutions/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/activation_decomposition.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/batchnorm_folding.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/batchnorm_reconstruction.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/batchnorm_refusing.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/concat_threshold_update.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/conv_funcs_to_layer.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/dwconv_to_conv.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/input_scaling.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/linear_collapsing.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/matmul_substitution.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/multi_head_attention_decomposition.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/relu_bound_to_power_of_2.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/remove_identity.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/residual_collapsing.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/scale_equalization.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/separableconv_decomposition.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/shift_negative_activation.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/sigmoid_mul_to_swish.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/softmax_shift.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/virtual_activation_weights_composition.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/weights_activation_split.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/keras/hessian/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/keras/hessian/activation_hessian_scores_calculator_keras.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/keras/hessian/hessian_scores_calculator_keras.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/keras/hessian/weights_hessian_scores_calculator_keras.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/keras/keras_model_validation.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/keras/keras_node_prior_info.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/keras/mixed_precision/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/keras/mixed_precision/configurable_activation_quantizer.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/keras/mixed_precision/configurable_weights_quantizer.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/keras/pruning/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/keras/pruning/pruning_keras_implementation.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/keras/quantizer/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/keras/quantizer/fake_quant_builder.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/keras/quantizer/lut_fake_quant.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/keras/reader/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/keras/reader/common.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/keras/reader/connectivity_handler.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/keras/reader/nested_model/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/keras/reader/nested_model/edges_merger.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/keras/reader/nested_model/nested_model_handler.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/keras/reader/nested_model/nodes_merger.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/keras/reader/nested_model/outputs_merger.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/keras/reader/node_builder.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/keras/reader/reader.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/keras/resource_utilization_data_facade.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/keras/statistics_correction/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/keras/statistics_correction/apply_second_moment_correction.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/keras/visualization/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/pytorch/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/pytorch/back2framework/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/pytorch/back2framework/factory_model_builder.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/pytorch/back2framework/float_model_builder.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/pytorch/back2framework/instance_builder.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/pytorch/back2framework/mixed_precision_model_builder.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/pytorch/back2framework/quantization_wrapper/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/pytorch/back2framework/quantization_wrapper/quantized_layer_wrapper.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/pytorch/back2framework/quantization_wrapper/wrapper_quantize_config.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/pytorch/back2framework/quantized_model_builder.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/pytorch/constants.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/pytorch/default_framework_info.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/pytorch/graph_substitutions/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/batchnorm_folding.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/batchnorm_reconstruction.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/batchnorm_refusing.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/concat_threshold_update.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/const_holder_conv.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/functional_batch_norm.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/functional_layer_norm.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/linear_collapsing.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/multi_head_attention_decomposition.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/relu_bound_to_power_of_2.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/remove_identity.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/reshape_with_static_shapes.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/residual_collapsing.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/scale_equalization.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/scaled_dot_product_attention.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/shift_negative_activation.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/softmax_shift.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/transform_function_call_method.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/virtual_activation_weights_composition.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/weights_activation_split.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/pytorch/hessian/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/pytorch/mixed_precision/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/pytorch/mixed_precision/configurable_activation_quantizer.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/pytorch/mixed_precision/configurable_weights_quantizer.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/pytorch/pruning/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/pytorch/pruning/pruning_pytorch_implementation.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/pytorch/pytorch_device_config.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/pytorch/pytorch_node_prior_info.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/pytorch/quantizer/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/pytorch/quantizer/fake_quant_builder.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/pytorch/quantizer/lut_fake_quant.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/pytorch/reader/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/pytorch/reader/graph_builders.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/pytorch/reader/node_holders.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/pytorch/reader/reader.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/pytorch/resource_utilization_data_facade.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/pytorch/statistics_correction/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/core/pytorch/statistics_correction/apply_second_moment_correction.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/data_generation/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/data_generation/common/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/data_generation/common/constants.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/data_generation/common/data_generation.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/data_generation/common/data_generation_config.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/data_generation/common/enums.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/data_generation/common/image_pipeline.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/data_generation/common/model_info_exctractors.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/data_generation/common/optimization_utils.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/data_generation/keras/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/data_generation/keras/constants.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/data_generation/keras/image_operations.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/data_generation/keras/image_pipeline.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/data_generation/keras/keras_data_generation.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/data_generation/keras/model_info_exctractors.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/data_generation/keras/optimization_functions/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/data_generation/keras/optimization_functions/batchnorm_alignment_functions.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/data_generation/keras/optimization_functions/bn_layer_weighting_functions.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/data_generation/keras/optimization_functions/image_initilization.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/data_generation/keras/optimization_functions/lr_scheduler.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/data_generation/keras/optimization_functions/output_loss_functions.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/data_generation/keras/optimization_functions/scheduler_step_functions.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/data_generation/keras/optimization_utils.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/data_generation/pytorch/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/data_generation/pytorch/constants.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/data_generation/pytorch/image_operations.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/data_generation/pytorch/image_pipeline.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/data_generation/pytorch/model_info_exctractors.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/data_generation/pytorch/optimization_functions/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/data_generation/pytorch/optimization_functions/batchnorm_alignment_functions.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/data_generation/pytorch/optimization_functions/bn_layer_weighting_functions.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/data_generation/pytorch/optimization_functions/image_initilization.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/data_generation/pytorch/optimization_functions/lr_scheduler.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/data_generation/pytorch/optimization_functions/output_loss_functions.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/data_generation/pytorch/optimization_functions/scheduler_step_functions.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/data_generation/pytorch/optimization_utils.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/data_generation/pytorch/pytorch_data_generation.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/defaultdict.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/exporter/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/exporter/model_exporter/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/exporter/model_exporter/fw_agonstic/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/exporter/model_exporter/fw_agonstic/exporter.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/exporter/model_exporter/fw_agonstic/quantization_format.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/exporter/model_exporter/keras/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/exporter/model_exporter/keras/base_keras_exporter.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/exporter/model_exporter/keras/export_serialization_format.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/exporter/model_exporter/keras/fakely_quant_keras_exporter.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/exporter/model_exporter/keras/fakely_quant_tflite_exporter.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/exporter/model_exporter/keras/int8_tflite_exporter.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/exporter/model_exporter/keras/keras_export_facade.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/exporter/model_exporter/keras/mctq_keras_exporter.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/exporter/model_exporter/pytorch/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/exporter/model_exporter/pytorch/base_pytorch_exporter.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/exporter/model_exporter/pytorch/export_serialization_format.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/exporter/model_exporter/pytorch/fakely_quant_onnx_pytorch_exporter.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/exporter/model_exporter/pytorch/fakely_quant_torchscript_pytorch_exporter.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/exporter/model_exporter/pytorch/pytorch_export_facade.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/exporter/model_wrapper/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/exporter/model_wrapper/fw_agnostic/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/exporter/model_wrapper/fw_agnostic/get_inferable_quantizers.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/exporter/model_wrapper/keras/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/exporter/model_wrapper/keras/builder/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/exporter/model_wrapper/keras/builder/fully_quantized_model_builder.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/exporter/model_wrapper/keras/builder/node_to_quantizer.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/exporter/model_wrapper/keras/validate_layer.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/exporter/model_wrapper/pytorch/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/exporter/model_wrapper/pytorch/builder/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/exporter/model_wrapper/pytorch/builder/fully_quantized_model_builder.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/exporter/model_wrapper/pytorch/builder/node_to_quantizer.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/exporter/model_wrapper/pytorch/validate_layer.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/gptq/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/gptq/common/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/gptq/common/gptq_constants.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/gptq/common/gptq_framework_implementation.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/gptq/common/gptq_graph.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/gptq/keras/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/gptq/keras/gptq_keras_implementation.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/gptq/keras/gptq_loss.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/gptq/keras/graph_info.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/gptq/keras/quantization_facade.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/gptq/keras/quantizer/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/gptq/keras/quantizer/base_keras_gptq_quantizer.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/gptq/keras/quantizer/quant_utils.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/gptq/keras/quantizer/quantization_builder.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/gptq/keras/quantizer/regularization_factory.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/gptq/keras/quantizer/soft_rounding/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/gptq/keras/quantizer/soft_rounding/soft_quantizer_reg.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/gptq/keras/quantizer/soft_rounding/symmetric_soft_quantizer.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/gptq/keras/quantizer/soft_rounding/uniform_soft_quantizer.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/gptq/keras/quantizer/ste_rounding/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/gptq/keras/quantizer/ste_rounding/symmetric_ste.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/gptq/pytorch/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/gptq/pytorch/gptq_pytorch_implementation.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/gptq/pytorch/graph_info.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/gptq/pytorch/quantizer/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/gptq/pytorch/quantizer/base_pytorch_gptq_quantizer.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/gptq/pytorch/quantizer/gradual_activation_quantization.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/gptq/pytorch/quantizer/quant_utils.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/gptq/pytorch/quantizer/quantization_builder.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/gptq/pytorch/quantizer/regularization_factory.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/gptq/pytorch/quantizer/soft_rounding/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/gptq/pytorch/quantizer/soft_rounding/symmetric_soft_quantizer.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/gptq/pytorch/quantizer/soft_rounding/uniform_soft_quantizer.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/gptq/pytorch/quantizer/ste_rounding/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/gptq/pytorch/quantizer/ste_rounding/symmetric_ste.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/gptq/runner.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/logger.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/metadata.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/pruning/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/pruning/keras/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/pruning/keras/pruning_facade.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/pruning/pytorch/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/pruning/pytorch/pruning_facade.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/ptq/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/ptq/keras/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/ptq/keras/quantization_facade.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/ptq/pytorch/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/ptq/pytorch/quantization_facade.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/ptq/runner.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/qat/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/qat/common/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/qat/common/qat_config.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/qat/keras/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/qat/keras/quantization_facade.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/qat/keras/quantizer/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/qat/keras/quantizer/base_keras_qat_weight_quantizer.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/qat/keras/quantizer/lsq/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/qat/keras/quantizer/lsq/symmetric_lsq.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/qat/keras/quantizer/lsq/uniform_lsq.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/qat/keras/quantizer/quant_utils.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/qat/keras/quantizer/quantization_builder.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/qat/keras/quantizer/ste_rounding/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/qat/keras/quantizer/ste_rounding/symmetric_ste.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/qat/keras/quantizer/ste_rounding/uniform_ste.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/qat/pytorch/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/qat/pytorch/quantization_facade.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/qat/pytorch/quantizer/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/qat/pytorch/quantizer/base_pytorch_qat_weight_quantizer.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/qat/pytorch/quantizer/lsq/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/qat/pytorch/quantizer/lsq/symmetric_lsq.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/qat/pytorch/quantizer/lsq/uniform_lsq.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/qat/pytorch/quantizer/quantization_builder.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/qat/pytorch/quantizer/ste_rounding/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/qat/pytorch/quantizer/ste_rounding/symmetric_ste.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/qat/pytorch/quantizer/ste_rounding/uniform_ste.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/target_platform_capabilities/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/target_platform_capabilities/constants.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/target_platform_capabilities/immutable.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/target_platform_capabilities/target_platform/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/target_platform_capabilities/target_platform/current_tp_model.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/target_platform_capabilities/target_platform/fusing.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/target_platform_capabilities/target_platform/op_quantization_config.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/target_platform_capabilities/target_platform/operators.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/target_platform_capabilities/target_platform/target_platform_model.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/target_platform_capabilities/target_platform/target_platform_model_component.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/attribute_filter.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/current_tpc.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/layer_filter_params.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/operations_to_layers.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/target_platform_capabilities.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/target_platform_capabilities_component.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/target_platform_capabilities/tpc_models/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/target_platform_capabilities/tpc_models/get_target_platform_capabilities.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/latest/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/target_platform_capabilities.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1/tp_model.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1/tpc_keras.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1/tpc_pytorch.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_lut/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_lut/tp_model.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_lut/tpc_keras.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_lut/tpc_pytorch.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_pot/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_pot/tp_model.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_pot/tpc_keras.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_pot/tpc_pytorch.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2/tp_model.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2/tpc_keras.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2/tpc_pytorch.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2_lut/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2_lut/tp_model.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2_lut/tpc_keras.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2_lut/tpc_pytorch.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v3/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v3/tp_model.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v3/tpc_keras.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v3/tpc_pytorch.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v3_lut/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v3_lut/tp_model.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v3_lut/tpc_keras.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v3_lut/tpc_pytorch.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v4/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v4/tp_model.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v4/tpc_keras.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v4/tpc_pytorch.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/latest/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/target_platform_capabilities.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/v1/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/v1/tp_model.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/v1/tpc_keras.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/v1/tpc_pytorch.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/latest/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/target_platform_capabilities.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/v1/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/v1/tp_model.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/v1/tpc_keras.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/v1/tpc_pytorch.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/trainable_infrastructure/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/trainable_infrastructure/common/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/trainable_infrastructure/common/base_trainable_quantizer.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/trainable_infrastructure/common/constants.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/trainable_infrastructure/common/get_quantizer_config.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/trainable_infrastructure/common/get_quantizers.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/trainable_infrastructure/common/quant_utils.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/trainable_infrastructure/common/trainable_quantizer_config.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/trainable_infrastructure/common/training_method.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/trainable_infrastructure/keras/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/trainable_infrastructure/keras/activation_quantizers/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/trainable_infrastructure/keras/activation_quantizers/base_activation_quantizer.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/trainable_infrastructure/keras/activation_quantizers/lsq/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/trainable_infrastructure/keras/activation_quantizers/lsq/symmetric_lsq.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/trainable_infrastructure/keras/activation_quantizers/lsq/uniform_lsq.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/trainable_infrastructure/keras/activation_quantizers/ste/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/trainable_infrastructure/keras/activation_quantizers/ste/symmetric_ste.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/trainable_infrastructure/keras/activation_quantizers/ste/uniform_ste.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/trainable_infrastructure/keras/base_keras_quantizer.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/trainable_infrastructure/keras/config_serialization.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/trainable_infrastructure/keras/load_model.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/trainable_infrastructure/keras/quantize_wrapper.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/trainable_infrastructure/keras/quantizer_utils.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/trainable_infrastructure/pytorch/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/trainable_infrastructure/pytorch/activation_quantizers/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/trainable_infrastructure/pytorch/activation_quantizers/base_activation_quantizer.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/trainable_infrastructure/pytorch/activation_quantizers/lsq/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/trainable_infrastructure/pytorch/activation_quantizers/lsq/symmetric_lsq.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/trainable_infrastructure/pytorch/activation_quantizers/lsq/uniform_lsq.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/trainable_infrastructure/pytorch/activation_quantizers/ste/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/trainable_infrastructure/pytorch/activation_quantizers/ste/symmetric_ste.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/trainable_infrastructure/pytorch/activation_quantizers/ste/uniform_ste.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/trainable_infrastructure/pytorch/annealing_schedulers.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/trainable_infrastructure/pytorch/base_pytorch_quantizer.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/trainable_infrastructure/pytorch/quantizer_utils.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/trainable_infrastructure/pytorch/util.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/verify_packages.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/xquant/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/xquant/common/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/xquant/common/constants.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/xquant/common/core_report_generator.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/xquant/common/dataset_utils.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/xquant/common/framework_report_utils.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/xquant/common/model_analyzer.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/xquant/common/model_folding_utils.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/xquant/common/similarity_calculator.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/xquant/common/similarity_functions.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/xquant/common/tensorboard_utils.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/xquant/common/xquant_config.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/xquant/keras/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/xquant/keras/dataset_utils.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/xquant/keras/facade_xquant_report.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/xquant/keras/keras_report_utils.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/xquant/keras/model_analyzer.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/xquant/keras/similarity_functions.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/xquant/keras/tensorboard_utils.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/xquant/pytorch/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/xquant/pytorch/dataset_utils.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/xquant/pytorch/facade_xquant_report.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/xquant/pytorch/model_analyzer.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/xquant/pytorch/pytorch_report_utils.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/xquant/pytorch/similarity_functions.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/model_compression_toolkit/xquant/pytorch/tensorboard_utils.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/setup.cfg +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/setup.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/tests_pytest/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507/tests_pytest/pytorch → mct-nightly-2.2.0.20241023.504/tests_pytest/keras}/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507/tests_pytest/pytorch/gptq → mct-nightly-2.2.0.20241023.504/tests_pytest/keras/core}/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507/tests_pytest/pytorch/trainable_infrastructure → mct-nightly-2.2.0.20241023.504/tests_pytest/pytorch}/__init__.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/tests_pytest/pytorch/gptq/test_annealing_cfg.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/tests_pytest/pytorch/gptq/test_gradual_act_quantization.py +0 -0
- {mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/tests_pytest/pytorch/trainable_infrastructure/test_linear_annealing.py +0 -0
{mct-nightly-2.2.0.20241022.507 → mct-nightly-2.2.0.20241023.504}/mct_nightly.egg-info/SOURCES.txt
RENAMED
@@ -162,6 +162,7 @@ model_compression_toolkit/core/common/visualization/tensorboard_writer.py
|
|
162
162
|
model_compression_toolkit/core/keras/__init__.py
|
163
163
|
model_compression_toolkit/core/keras/constants.py
|
164
164
|
model_compression_toolkit/core/keras/custom_layer_validation.py
|
165
|
+
model_compression_toolkit/core/keras/data_util.py
|
165
166
|
model_compression_toolkit/core/keras/default_framework_info.py
|
166
167
|
model_compression_toolkit/core/keras/keras_implementation.py
|
167
168
|
model_compression_toolkit/core/keras/keras_model_validation.py
|
@@ -225,6 +226,7 @@ model_compression_toolkit/core/keras/statistics_correction/apply_second_moment_c
|
|
225
226
|
model_compression_toolkit/core/keras/visualization/__init__.py
|
226
227
|
model_compression_toolkit/core/pytorch/__init__.py
|
227
228
|
model_compression_toolkit/core/pytorch/constants.py
|
229
|
+
model_compression_toolkit/core/pytorch/data_util.py
|
228
230
|
model_compression_toolkit/core/pytorch/default_framework_info.py
|
229
231
|
model_compression_toolkit/core/pytorch/pytorch_device_config.py
|
230
232
|
model_compression_toolkit/core/pytorch/pytorch_implementation.py
|
@@ -561,7 +563,12 @@ model_compression_toolkit/xquant/pytorch/pytorch_report_utils.py
|
|
561
563
|
model_compression_toolkit/xquant/pytorch/similarity_functions.py
|
562
564
|
model_compression_toolkit/xquant/pytorch/tensorboard_utils.py
|
563
565
|
tests_pytest/__init__.py
|
566
|
+
tests_pytest/keras/__init__.py
|
567
|
+
tests_pytest/keras/core/__init__.py
|
568
|
+
tests_pytest/keras/core/test_data_util.py
|
564
569
|
tests_pytest/pytorch/__init__.py
|
570
|
+
tests_pytest/pytorch/core/__init__.py
|
571
|
+
tests_pytest/pytorch/core/test_data_util.py
|
565
572
|
tests_pytest/pytorch/gptq/__init__.py
|
566
573
|
tests_pytest/pytorch/gptq/test_annealing_cfg.py
|
567
574
|
tests_pytest/pytorch/gptq/test_gradual_act_quantization.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.2.0.
|
30
|
+
__version__ = "2.2.0.20241023.000504"
|
@@ -13,7 +13,7 @@
|
|
13
13
|
# limitations under the License.
|
14
14
|
# ==============================================================================
|
15
15
|
from abc import ABC, abstractmethod
|
16
|
-
from typing import Callable, Any, List, Tuple, Dict
|
16
|
+
from typing import Callable, Any, List, Tuple, Dict, Generator
|
17
17
|
|
18
18
|
import numpy as np
|
19
19
|
|
@@ -46,7 +46,7 @@ class FrameworkImplementation(ABC):
|
|
46
46
|
Returns: Module of the framework constants.
|
47
47
|
|
48
48
|
"""
|
49
|
-
raise
|
49
|
+
raise NotImplementedError(f'{self.__class__.__name__} did not supply a constants module.') # pragma: no cover
|
50
50
|
|
51
51
|
@abstractmethod
|
52
52
|
def get_hessian_scores_calculator(self,
|
@@ -64,7 +64,7 @@ class FrameworkImplementation(ABC):
|
|
64
64
|
|
65
65
|
Returns: HessianScoresCalculator to use for the hessian approximation scores computation for this request.
|
66
66
|
"""
|
67
|
-
raise
|
67
|
+
raise NotImplementedError(f'{self.__class__.__name__} have to implement the '
|
68
68
|
f'framework\'s get_hessian_scores_calculator method.') # pragma: no cover
|
69
69
|
|
70
70
|
@abstractmethod
|
@@ -77,7 +77,7 @@ class FrameworkImplementation(ABC):
|
|
77
77
|
Returns:
|
78
78
|
Numpy array converted from the input tensor.
|
79
79
|
"""
|
80
|
-
raise
|
80
|
+
raise NotImplementedError(f'{self.__class__.__name__} have to implement the '
|
81
81
|
f'framework\'s to_numpy method.') # pragma: no cover
|
82
82
|
|
83
83
|
@abstractmethod
|
@@ -90,7 +90,7 @@ class FrameworkImplementation(ABC):
|
|
90
90
|
Returns:
|
91
91
|
Framework's tensor converted from the input Numpy array.
|
92
92
|
"""
|
93
|
-
raise
|
93
|
+
raise NotImplementedError(f'{self.__class__.__name__} have to implement the '
|
94
94
|
f'framework\'s to_tensor method.') # pragma: no cover
|
95
95
|
|
96
96
|
@abstractmethod
|
@@ -106,7 +106,7 @@ class FrameworkImplementation(ABC):
|
|
106
106
|
Returns:
|
107
107
|
Graph representing the input model.
|
108
108
|
"""
|
109
|
-
raise
|
109
|
+
raise NotImplementedError(f'{self.__class__.__name__} have to implement the '
|
110
110
|
f'framework\'s model_reader method.') # pragma: no cover
|
111
111
|
|
112
112
|
@abstractmethod
|
@@ -131,7 +131,7 @@ class FrameworkImplementation(ABC):
|
|
131
131
|
Returns:
|
132
132
|
A tuple with the model and additional relevant supporting objects.
|
133
133
|
"""
|
134
|
-
raise
|
134
|
+
raise NotImplementedError(f'{self.__class__.__name__} have to implement the '
|
135
135
|
f'framework\'s model_builder method.') # pragma: no cover
|
136
136
|
|
137
137
|
@abstractmethod
|
@@ -148,7 +148,7 @@ class FrameworkImplementation(ABC):
|
|
148
148
|
Returns:
|
149
149
|
The frameworks model's output.
|
150
150
|
"""
|
151
|
-
raise
|
151
|
+
raise NotImplementedError(f'{self.__class__.__name__} have to implement the '
|
152
152
|
f'framework\'s run_model_inference method.') # pragma: no cover
|
153
153
|
|
154
154
|
@abstractmethod
|
@@ -167,7 +167,7 @@ class FrameworkImplementation(ABC):
|
|
167
167
|
Returns:
|
168
168
|
Graph after SNC.
|
169
169
|
"""
|
170
|
-
raise
|
170
|
+
raise NotImplementedError(f'{self.__class__.__name__} have to implement the '
|
171
171
|
f'framework\'s apply_shift_negative_correction method.') # pragma: no cover
|
172
172
|
|
173
173
|
@abstractmethod
|
@@ -184,7 +184,7 @@ class FrameworkImplementation(ABC):
|
|
184
184
|
Returns:
|
185
185
|
A list of the framework substitutions used after we collect statistics.
|
186
186
|
"""
|
187
|
-
raise
|
187
|
+
raise NotImplementedError(f'{self.__class__.__name__} have to implement the '
|
188
188
|
f'framework\'s get_substitutions_channel_equalization method.') # pragma: no cover
|
189
189
|
|
190
190
|
@abstractmethod
|
@@ -194,7 +194,7 @@ class FrameworkImplementation(ABC):
|
|
194
194
|
Returns: A list of the framework substitutions used to prepare the graph.
|
195
195
|
|
196
196
|
"""
|
197
|
-
raise
|
197
|
+
raise NotImplementedError(f'{self.__class__.__name__} have to implement the '
|
198
198
|
f'framework\'s get_substitutions_prepare_graph method.') # pragma: no cover
|
199
199
|
|
200
200
|
@abstractmethod
|
@@ -208,7 +208,7 @@ class FrameworkImplementation(ABC):
|
|
208
208
|
Returns: A list of the framework substitutions used before we collect statistics.
|
209
209
|
|
210
210
|
"""
|
211
|
-
raise
|
211
|
+
raise NotImplementedError(f'{self.__class__.__name__} have to implement the '
|
212
212
|
f'framework\'s get_substitutions_pre_statistics_collection method.') # pragma: no cover
|
213
213
|
|
214
214
|
@abstractmethod
|
@@ -216,7 +216,7 @@ class FrameworkImplementation(ABC):
|
|
216
216
|
"""
|
217
217
|
Returns: linear collapsing substitution
|
218
218
|
"""
|
219
|
-
raise
|
219
|
+
raise NotImplementedError(f'{self.__class__.__name__} have to implement the '
|
220
220
|
f'framework\'s get_linear_collapsing_substitution method.') # pragma: no cover
|
221
221
|
|
222
222
|
@abstractmethod
|
@@ -224,7 +224,7 @@ class FrameworkImplementation(ABC):
|
|
224
224
|
"""
|
225
225
|
Returns: conv2d add const collapsing substitution
|
226
226
|
"""
|
227
|
-
raise
|
227
|
+
raise NotImplementedError(f'{self.__class__.__name__} have to implement the '
|
228
228
|
f'framework\'s get_op2d_add_const_collapsing_substitution method.') # pragma: no cover
|
229
229
|
|
230
230
|
@abstractmethod
|
@@ -239,7 +239,7 @@ class FrameworkImplementation(ABC):
|
|
239
239
|
Returns:
|
240
240
|
A list of the framework substitutions used for statistics correction.
|
241
241
|
"""
|
242
|
-
raise
|
242
|
+
raise NotImplementedError(f'{self.__class__.__name__} have to implement the '
|
243
243
|
f'framework\'s get_substitutions_statistics_correction method.') # pragma: no cover
|
244
244
|
|
245
245
|
@abstractmethod
|
@@ -247,7 +247,7 @@ class FrameworkImplementation(ABC):
|
|
247
247
|
"""
|
248
248
|
Returns: A list of the framework substitutions used for residual collapsing
|
249
249
|
"""
|
250
|
-
raise
|
250
|
+
raise NotImplementedError(f'{self.__class__.__name__} have to implement the '
|
251
251
|
f'framework\'s get_residual_collapsing_substitution method.') # pragma: no cover
|
252
252
|
|
253
253
|
|
@@ -263,7 +263,7 @@ class FrameworkImplementation(ABC):
|
|
263
263
|
Returns:
|
264
264
|
A list of the framework substitutions used after we collect statistics.
|
265
265
|
"""
|
266
|
-
raise
|
266
|
+
raise NotImplementedError(f'{self.__class__.__name__} have to implement the '
|
267
267
|
f'framework\'s get_substitutions_post_statistics_collection method.') # pragma: no cover
|
268
268
|
|
269
269
|
@abstractmethod
|
@@ -272,7 +272,7 @@ class FrameworkImplementation(ABC):
|
|
272
272
|
Returns: A list of Keras substitutions used to build a virtual graph with composed activation-weights pairs.
|
273
273
|
"""
|
274
274
|
|
275
|
-
raise
|
275
|
+
raise NotImplementedError(f'{self.__class__.__name__} have to implement the '
|
276
276
|
f'framework\'s get_substitutions_virtual_weights_activation_coupling '
|
277
277
|
f'method.') # pragma: no cover
|
278
278
|
|
@@ -288,7 +288,7 @@ class FrameworkImplementation(ABC):
|
|
288
288
|
Returns:
|
289
289
|
A list of the framework substitutions used after we apply second moment statistics.
|
290
290
|
"""
|
291
|
-
raise
|
291
|
+
raise NotImplementedError(f'{self.__class__.__name__} have to implement the '
|
292
292
|
f'framework\'s get_substitutions_after_second_moment_correction '
|
293
293
|
f'method.') # pragma: no cover
|
294
294
|
|
@@ -316,7 +316,7 @@ class FrameworkImplementation(ABC):
|
|
316
316
|
A function that computes the metric.
|
317
317
|
"""
|
318
318
|
|
319
|
-
raise
|
319
|
+
raise NotImplementedError(f'{self.__class__.__name__} have to implement the '
|
320
320
|
f'framework\'s get_sensitivity_evaluator method.') # pragma: no cover
|
321
321
|
|
322
322
|
def get_node_prior_info(self, node: BaseNode,
|
@@ -334,7 +334,7 @@ class FrameworkImplementation(ABC):
|
|
334
334
|
NodePriorInfo with information about the node.
|
335
335
|
"""
|
336
336
|
|
337
|
-
raise
|
337
|
+
raise NotImplementedError(f'{self.__class__.__name__} have to implement the '
|
338
338
|
f'framework\'s get_node_prior_info method.') # pragma: no cover
|
339
339
|
|
340
340
|
def count_node_for_mixed_precision_interest_points(self, node: BaseNode) -> bool:
|
@@ -345,7 +345,7 @@ class FrameworkImplementation(ABC):
|
|
345
345
|
Returns: True if the node should be considered an interest point, False otherwise.
|
346
346
|
"""
|
347
347
|
|
348
|
-
raise
|
348
|
+
raise NotImplementedError(f'{self.__class__.__name__} have to implement the '
|
349
349
|
f'framework\'s count_node_for_mixed_precision_interest_points method.') # pragma: no cover
|
350
350
|
|
351
351
|
def get_mp_node_distance_fn(self, n: BaseNode,
|
@@ -364,7 +364,7 @@ class FrameworkImplementation(ABC):
|
|
364
364
|
Returns: A distance function between two tensors and a axis on which the distance is computed (if exists).
|
365
365
|
"""
|
366
366
|
|
367
|
-
raise
|
367
|
+
raise NotImplementedError(f'{self.__class__.__name__} have to implement the '
|
368
368
|
f'framework\'s get_mp_node_distance_fn method.') # pragma: no cover
|
369
369
|
|
370
370
|
|
@@ -381,7 +381,7 @@ class FrameworkImplementation(ABC):
|
|
381
381
|
|
382
382
|
"""
|
383
383
|
|
384
|
-
raise
|
384
|
+
raise NotImplementedError(f'{self.__class__.__name__} have to implement the '
|
385
385
|
f'framework\'s is_output_node_compatible_for_hessian_score_computation method.') # pragma: no cover
|
386
386
|
|
387
387
|
@abstractmethod
|
@@ -398,7 +398,7 @@ class FrameworkImplementation(ABC):
|
|
398
398
|
Returns: The MAC count of the operation
|
399
399
|
"""
|
400
400
|
|
401
|
-
raise
|
401
|
+
raise NotImplementedError(f'{self.__class__.__name__} have to implement the '
|
402
402
|
f'framework\'s get_node_mac_operations method.') # pragma: no cover
|
403
403
|
|
404
404
|
@abstractmethod
|
@@ -419,7 +419,7 @@ class FrameworkImplementation(ABC):
|
|
419
419
|
Returns:
|
420
420
|
A Graph after second moment correction.
|
421
421
|
"""
|
422
|
-
raise
|
422
|
+
raise NotImplementedError(f'{self.__class__.__name__} have to implement the '
|
423
423
|
f'framework\'s apply_second_moment_correction method.') # pragma: no cover
|
424
424
|
|
425
425
|
@abstractmethod
|
@@ -436,7 +436,7 @@ class FrameworkImplementation(ABC):
|
|
436
436
|
Returns:
|
437
437
|
The output of the model inference on the given input.
|
438
438
|
"""
|
439
|
-
raise
|
439
|
+
raise NotImplementedError(f'{self.__class__.__name__} have to implement the '
|
440
440
|
f'framework\'s sensitivity_eval_inference method.') # pragma: no cover
|
441
441
|
|
442
442
|
def get_inferable_quantizers(self, node: BaseNode):
|
@@ -452,5 +452,19 @@ class FrameworkImplementation(ABC):
|
|
452
452
|
|
453
453
|
"""
|
454
454
|
|
455
|
-
raise
|
456
|
-
f'framework\'s get_inferable_quantizers method.') # pragma: no cover
|
455
|
+
raise NotImplementedError(f'{self.__class__.__name__} have to implement the '
|
456
|
+
f'framework\'s get_inferable_quantizers method.') # pragma: no cover
|
457
|
+
|
458
|
+
@staticmethod
|
459
|
+
def convert_data_gen_to_dataloader(data_gen_fn: Callable[[], Generator], batch_size: int):
|
460
|
+
"""
|
461
|
+
Create DataLoader based on samples yielded by data_gen.
|
462
|
+
|
463
|
+
Args:
|
464
|
+
data_gen_fn: data generator factory.
|
465
|
+
batch_size: target batch size.
|
466
|
+
|
467
|
+
Returns:
|
468
|
+
Framework dataloader.
|
469
|
+
"""
|
470
|
+
raise NotImplementedError() # pragma: no cover
|
@@ -13,7 +13,7 @@
|
|
13
13
|
# limitations under the License.
|
14
14
|
# ==============================================================================
|
15
15
|
from model_compression_toolkit.core.common.hessian.hessian_scores_request import (
|
16
|
-
HessianScoresRequest, HessianMode, HessianScoresGranularity
|
16
|
+
HessianScoresRequest, HessianMode, HessianScoresGranularity
|
17
17
|
)
|
18
18
|
from model_compression_toolkit.core.common.hessian.hessian_info_service import HessianInfoService
|
19
19
|
import model_compression_toolkit.core.common.hessian.hessian_info_utils as hessian_utils
|
mct-nightly-2.2.0.20241023.504/model_compression_toolkit/core/common/hessian/hessian_info_service.py
ADDED
@@ -0,0 +1,305 @@
|
|
1
|
+
# Copyright 2023 Sony Semiconductor Israel, Inc. All rights reserved.
|
2
|
+
#
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at
|
6
|
+
#
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
# ==============================================================================
|
15
|
+
from dataclasses import dataclass
|
16
|
+
from typing import List, Dict, Tuple, TYPE_CHECKING
|
17
|
+
|
18
|
+
import numpy as np
|
19
|
+
|
20
|
+
from model_compression_toolkit.constants import HESSIAN_NUM_ITERATIONS
|
21
|
+
from model_compression_toolkit.core.common.hessian.hessian_scores_request import HessianScoresRequest, HessianMode, \
|
22
|
+
HessianScoresGranularity
|
23
|
+
|
24
|
+
if TYPE_CHECKING: # pragma: no cover
|
25
|
+
from model_compression_toolkit.core.common import BaseNode
|
26
|
+
|
27
|
+
|
28
|
+
# type hints aliases
|
29
|
+
LayerName = str
|
30
|
+
Tensor = np.ndarray
|
31
|
+
|
32
|
+
|
33
|
+
@dataclass(eq=True, frozen=True)
|
34
|
+
class Query:
|
35
|
+
""" Query key for hessians cache. """
|
36
|
+
mode: HessianMode
|
37
|
+
granularity: HessianScoresGranularity
|
38
|
+
node: LayerName
|
39
|
+
|
40
|
+
|
41
|
+
class HessianCache:
|
42
|
+
""" Hessian cache """
|
43
|
+
def __init__(self):
|
44
|
+
self._data: Dict[Query, Tensor] = {}
|
45
|
+
|
46
|
+
def update(self, layers_hessians: Dict[str, np.ndarray], request: HessianScoresRequest) -> int:
|
47
|
+
"""
|
48
|
+
Updates the cache with new hessians estimations.
|
49
|
+
|
50
|
+
Note: we assume that the new hessians were computed on different samples than previously stored hessians.
|
51
|
+
If same samples were used more than once, duplicates will be stored. This can only be a problem if hessians
|
52
|
+
for the same query were computed via multiple requests and dataloader in each request yields same samples.
|
53
|
+
We cannot just filter out duplicates since in some cases we can get valid identical hessians on different
|
54
|
+
samples.
|
55
|
+
|
56
|
+
Args:
|
57
|
+
layers_hessians: a dictionary from layer names to their hessian score tensors.
|
58
|
+
request: request per which hessians were computed.
|
59
|
+
|
60
|
+
Returns:
|
61
|
+
Minimal samples count after update (among updated layers).
|
62
|
+
|
63
|
+
"""
|
64
|
+
assert set(layers_hessians.keys()) == set(n.name for n in request.target_nodes)
|
65
|
+
n_nodes_samples = [] # samples count per node after update
|
66
|
+
for node_name, hess in layers_hessians.items():
|
67
|
+
query = Query(request.mode, request.granularity, node_name)
|
68
|
+
saved_hess = self._data.get(query)
|
69
|
+
new_hess = hess if saved_hess is None else np.concatenate([saved_hess, hess], axis=0)
|
70
|
+
self._data[query] = new_hess
|
71
|
+
n_nodes_samples.append(new_hess.shape[0])
|
72
|
+
|
73
|
+
return min(n_nodes_samples)
|
74
|
+
|
75
|
+
def fetch_hessian(self, request: HessianScoresRequest) -> Tuple[Dict[LayerName, Tensor], Dict[LayerName, int]]:
|
76
|
+
"""
|
77
|
+
Fetch available hessians per request and identify missing samples.
|
78
|
+
|
79
|
+
Note: if fewer samples are available than requested, hessians tensor will contain the available samples.
|
80
|
+
|
81
|
+
Args:
|
82
|
+
request: hessians fetch request.
|
83
|
+
|
84
|
+
Returns:
|
85
|
+
A tuple of two dictionaries:
|
86
|
+
- A dictionary from layer name to a tensor of its hessian.
|
87
|
+
- A dictionary from layer name to a number of missing samples.
|
88
|
+
"""
|
89
|
+
assert request.n_samples is not None
|
90
|
+
|
91
|
+
result = {}
|
92
|
+
missing = {}
|
93
|
+
for node in request.target_nodes:
|
94
|
+
query = Query(request.mode, request.granularity, node.name)
|
95
|
+
hess = self._data.get(query)
|
96
|
+
if hess is None:
|
97
|
+
missing[node.name] = request.n_samples
|
98
|
+
continue
|
99
|
+
n_missing = request.n_samples - hess.shape[0]
|
100
|
+
if n_missing > 0:
|
101
|
+
missing[node.name] = n_missing
|
102
|
+
result[node.name] = hess[:request.n_samples, ...]
|
103
|
+
|
104
|
+
return result, missing
|
105
|
+
|
106
|
+
def clear(self):
|
107
|
+
""" Clear the cache. """
|
108
|
+
self._data.clear()
|
109
|
+
|
110
|
+
|
111
|
+
class HessianInfoService:
|
112
|
+
"""
|
113
|
+
A service to manage, store, and compute information based on the Hessian matrix approximation.
|
114
|
+
|
115
|
+
This class provides functionalities to compute information based on the Hessian matrix approximation
|
116
|
+
based on the different parameters (such as number of iterations for approximating the scores)
|
117
|
+
and input images (using representative_dataset_gen).
|
118
|
+
It also offers cache management capabilities for efficient computation and retrieval.
|
119
|
+
|
120
|
+
Note:
|
121
|
+
- The Hessian provides valuable information about the curvature of the loss function.
|
122
|
+
- Computation can be computationally heavy and time-consuming.
|
123
|
+
- The computed information is based on Hessian approximation (and not the precise Hessian matrix).
|
124
|
+
"""
|
125
|
+
|
126
|
+
def __init__(self,
|
127
|
+
graph,
|
128
|
+
fw_impl,
|
129
|
+
num_iterations_for_approximation: int = HESSIAN_NUM_ITERATIONS):
|
130
|
+
"""
|
131
|
+
Args:
|
132
|
+
graph: Float graph.
|
133
|
+
fw_impl: Framework-specific implementation for Hessian approximation scores computation.
|
134
|
+
num_iterations_for_approximation: the number of iterations for hessian estimation.
|
135
|
+
"""
|
136
|
+
self.graph = graph
|
137
|
+
self.fw_impl = fw_impl
|
138
|
+
self.num_iterations_for_approximation = num_iterations_for_approximation
|
139
|
+
self.cache = HessianCache()
|
140
|
+
|
141
|
+
def fetch_hessian(self, request: HessianScoresRequest,
|
142
|
+
force_compute: bool = False) -> Dict[LayerName, Tensor]:
|
143
|
+
"""
|
144
|
+
Fetch hessians per request.
|
145
|
+
If 'force_compute' is False, will first try to retrieve previously cached hessians. If no or not enough
|
146
|
+
hessians are found in the cache, will compute the remaining number of hessians to fulfill the request.
|
147
|
+
If 'force_compute' is True, will compute the hessians (use when you need hessians for specific inputs).
|
148
|
+
|
149
|
+
Args:
|
150
|
+
request: request per which to fetch the hessians.
|
151
|
+
force_compute: if True, will compute the hessians.
|
152
|
+
If False, will look for cached hessians first.
|
153
|
+
|
154
|
+
Returns:
|
155
|
+
A dictionary of layers' hessian tensors of shape (samples, ...). The exact shape depends on the
|
156
|
+
requested granularity.
|
157
|
+
"""
|
158
|
+
if request.n_samples is None and not force_compute:
|
159
|
+
raise ValueError('Number of samples can be None only when force_compute is True.')
|
160
|
+
|
161
|
+
orig_request = request
|
162
|
+
# replace reused nodes with primary nodes
|
163
|
+
# TODO need to check if there is a bug in reuse. While this is the same layer, the compare tensors and their
|
164
|
+
# gradients are not. It seems that currently the same compare tensor of the primary node is used multiple times
|
165
|
+
target_nodes = [self._get_primary_node(n) for n in request.target_nodes]
|
166
|
+
request = request.clone(target_nodes=target_nodes)
|
167
|
+
|
168
|
+
if force_compute:
|
169
|
+
res = self._compute_hessians(request, self.num_iterations_for_approximation, count_by_cache=False)
|
170
|
+
else:
|
171
|
+
res = self._fetch_hessians_with_compute(request, self.num_iterations_for_approximation)
|
172
|
+
|
173
|
+
# restore nodes from the original request
|
174
|
+
res = {n_orig.name: res[n.name] for n_orig, n in zip(orig_request.target_nodes, request.target_nodes)}
|
175
|
+
return res
|
176
|
+
|
177
|
+
def clear_cache(self):
|
178
|
+
""" Purge the cached hessians. """
|
179
|
+
self.cache.clear()
|
180
|
+
|
181
|
+
def _fetch_hessians_with_compute(self, request: HessianScoresRequest, n_iterations: int) -> Dict[LayerName, Tensor]:
|
182
|
+
"""
|
183
|
+
Fetch pre-computed hessians for the request if available. Otherwise, compute the missing hessians.
|
184
|
+
|
185
|
+
Args:
|
186
|
+
request: hessian estimation request.
|
187
|
+
n_iterations: the number of iterations for hessian estimation.
|
188
|
+
|
189
|
+
Returns:
|
190
|
+
A dictionary from layers (by name) to their hessians.
|
191
|
+
"""
|
192
|
+
res, missing = self.cache.fetch_hessian(request)
|
193
|
+
if not missing:
|
194
|
+
return res
|
195
|
+
|
196
|
+
if request.data_loader is None:
|
197
|
+
raise ValueError(f'Not enough hessians are cached to fulfill the request, but data loader was not passed '
|
198
|
+
f'for additional computation. Requested {request.n_samples}, '
|
199
|
+
f'available {min(missing.values())}.')
|
200
|
+
|
201
|
+
orig_request = request
|
202
|
+
# if some hessians were found generate a new request only for missing nodes.
|
203
|
+
if res:
|
204
|
+
target_nodes = [n for n in orig_request.target_nodes if n.name in missing]
|
205
|
+
request = request.clone(target_nodes=target_nodes)
|
206
|
+
self._compute_hessians(request, n_iterations, count_by_cache=True)
|
207
|
+
res, missing = self.cache.fetch_hessian(request)
|
208
|
+
assert not missing
|
209
|
+
return res
|
210
|
+
|
211
|
+
def _compute_hessians(self, request: HessianScoresRequest,
|
212
|
+
n_iterations: int, count_by_cache: bool) -> Dict[LayerName, Tensor]:
|
213
|
+
"""
|
214
|
+
Computes hessian estimation per request.
|
215
|
+
|
216
|
+
Data loader from request is used as is, i.e. it should reflect the required batch size (e.g. if
|
217
|
+
hessians should be estimated sample by sample, the data loader should yield a single sample at a time).
|
218
|
+
|
219
|
+
NOTE: the returned value only contains hessians that were computed here, which may differ from the requested
|
220
|
+
number of samples. It's only intended for use when you specifically need sample-wise hessians for the
|
221
|
+
samples in the request.
|
222
|
+
|
223
|
+
Args:
|
224
|
+
request: hessian estimation request.
|
225
|
+
n_iterations: the number of iterations for hessian estimation.
|
226
|
+
count_by_cache: if True, computes hessians until the cache contains the requested number of samples.
|
227
|
+
if False, computes hessian for the first requested number of sample in the dataloader.
|
228
|
+
Returns:
|
229
|
+
A dictionary from layers (by name) to their hessian tensors that *were computed in this invocation*.
|
230
|
+
First axis corresponds to samples in the order determined by the data loader.
|
231
|
+
"""
|
232
|
+
if count_by_cache:
|
233
|
+
assert request.n_samples is not None
|
234
|
+
|
235
|
+
n_samples = 0
|
236
|
+
hess_per_layer = []
|
237
|
+
for batch in request.data_loader:
|
238
|
+
batch_hess_per_layer = self._compute_hessian_for_batch(request, batch, n_iterations)
|
239
|
+
hess_per_layer.append(batch_hess_per_layer)
|
240
|
+
min_count = self.cache.update(batch_hess_per_layer, request)
|
241
|
+
n_samples = min_count if count_by_cache else (n_samples + batch[0].shape[0])
|
242
|
+
if request.n_samples and n_samples >= request.n_samples:
|
243
|
+
break
|
244
|
+
|
245
|
+
hess_per_layer = {
|
246
|
+
layer.name: np.concatenate([hess[layer.name] for hess in hess_per_layer], axis=0)
|
247
|
+
for layer in request.target_nodes
|
248
|
+
}
|
249
|
+
|
250
|
+
if request.n_samples:
|
251
|
+
if n_samples < request.n_samples:
|
252
|
+
raise ValueError(f'Could not compute the requested number of Hessians ({request.n_samples}), '
|
253
|
+
f'not enough samples in the provided representative dataset.')
|
254
|
+
|
255
|
+
if n_samples > request.n_samples:
|
256
|
+
hess_per_layer = {
|
257
|
+
layer: hess[:request.n_samples, ...] for layer, hess in hess_per_layer.items()
|
258
|
+
}
|
259
|
+
return hess_per_layer
|
260
|
+
|
261
|
+
def _compute_hessian_for_batch(self,
|
262
|
+
request: HessianScoresRequest,
|
263
|
+
inputs_batch: List[Tensor],
|
264
|
+
n_iterations: int) -> Dict[LayerName, Tensor]:
|
265
|
+
"""
|
266
|
+
Use hessian score calculator to compute hessian approximations for a batch of inputs.
|
267
|
+
|
268
|
+
Args:
|
269
|
+
request: hessian estimation request.
|
270
|
+
inputs_batch: a batch of inputs to estimate hessians on.
|
271
|
+
n_iterations: the number of iterations for hessian estimation.
|
272
|
+
|
273
|
+
Returns:
|
274
|
+
A dictionary from layers (by name) to their hessians.
|
275
|
+
"""
|
276
|
+
fw_hessian_calculator = self.fw_impl.get_hessian_scores_calculator(
|
277
|
+
graph=self.graph,
|
278
|
+
input_images=inputs_batch,
|
279
|
+
hessian_scores_request=request,
|
280
|
+
num_iterations_for_approximation=n_iterations
|
281
|
+
)
|
282
|
+
|
283
|
+
hessian_scores: list = fw_hessian_calculator.compute()
|
284
|
+
|
285
|
+
layers_hessian_scores = {
|
286
|
+
layer.name: score for layer, score in zip(request.target_nodes, hessian_scores)
|
287
|
+
}
|
288
|
+
return layers_hessian_scores
|
289
|
+
|
290
|
+
def _get_primary_node(self, node: 'BaseNode') -> 'BaseNode':
|
291
|
+
"""
|
292
|
+
Get node's primary node that it reuses, or itself if not reused.
|
293
|
+
|
294
|
+
Args:
|
295
|
+
node: node's object to get its primary node.
|
296
|
+
|
297
|
+
Returns:
|
298
|
+
Node's primary node.
|
299
|
+
"""
|
300
|
+
if node.reuse is False:
|
301
|
+
return node
|
302
|
+
|
303
|
+
father_nodes = [n for n in self.graph.nodes if not n.reuse and n.reuse_group == node.reuse_group]
|
304
|
+
assert len(father_nodes) == 1
|
305
|
+
return father_nodes[0]
|