mct-nightly 2.3.0.20250223.538__tar.gz → 2.3.0.20250225.512__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.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/PKG-INFO +2 -2
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/README.md +1 -1
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/mct_nightly.egg-info/PKG-INFO +2 -2
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/mct_nightly.egg-info/SOURCES.txt +1 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/__init__.py +1 -1
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/collectors/histogram_collector.py +19 -20
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/collectors/statistics_collector.py +7 -3
- mct_nightly-2.3.0.20250225.512/model_compression_toolkit/core/common/collectors/weighted_histogram_collector.py +114 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/framework_implementation.py +9 -4
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/graph/base_node.py +16 -6
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/hessian/hessian_info_service.py +31 -15
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/hessian/hessian_scores_calculator.py +1 -1
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/hessian/hessian_scores_request.py +7 -2
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/mixed_precision/search_methods/linear_programming.py +6 -1
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/model_collector.py +115 -17
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/quantization/quantization_params_generation/error_functions.py +2 -0
- mct_nightly-2.3.0.20250225.512/model_compression_toolkit/core/common/quantization/quantization_params_generation/qparams_activations_computation.py +155 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/keras/keras_implementation.py +35 -27
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/pytorch/hessian/activation_hessian_scores_calculator_pytorch.py +23 -61
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/pytorch/pytorch_implementation.py +34 -18
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/quantization_prep_runner.py +1 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/target_platform_capabilities/targetplatform2framework/attach2fw.py +2 -2
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/target_platform_capabilities/targetplatform2framework/framework_quantization_capabilities.py +2 -1
- mct_nightly-2.3.0.20250223.538/model_compression_toolkit/core/common/quantization/quantization_params_generation/qparams_activations_computation.py +0 -78
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/LICENSE.md +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/mct_nightly.egg-info/dependency_links.txt +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/mct_nightly.egg-info/requires.txt +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/mct_nightly.egg-info/top_level.txt +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/constants.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/analyzer.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/back2framework/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/back2framework/base_model_builder.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/base_substitutions.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/collectors/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/collectors/base_collector.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/collectors/mean_collector.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/collectors/min_max_per_channel_collector.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/framework_info.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/fusion/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/fusion/graph_fuser.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/fusion/layer_fusing.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/graph/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/graph/base_graph.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/graph/edge.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/graph/functional_node.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/graph/graph_matchers.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/graph/graph_searches.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/graph/memory_graph/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/graph/memory_graph/bipartite_graph.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/graph/memory_graph/compute_graph_max_cut.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/graph/memory_graph/cut.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/graph/memory_graph/max_cut_astar.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/graph/memory_graph/memory_element.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/graph/memory_graph/memory_graph.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/graph/virtual_activation_weights_node.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/hessian/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/hessian/hessian_info_utils.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/matchers/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/matchers/base_graph_filter.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/matchers/base_matcher.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/matchers/edge_matcher.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/matchers/function.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/matchers/node_matcher.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/matchers/walk_matcher.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/memory_computation.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/mixed_precision/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/mixed_precision/bit_width_setter.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/mixed_precision/configurable_quant_id.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/mixed_precision/configurable_quantizer_utils.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/mixed_precision/distance_weighting.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/mixed_precision/mixed_precision_candidates_filter.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/mixed_precision/mixed_precision_quantization_config.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/mixed_precision/mixed_precision_ru_helper.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/mixed_precision/mixed_precision_search_facade.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/mixed_precision/mixed_precision_search_manager.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/mixed_precision/resource_utilization_tools/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/mixed_precision/resource_utilization_tools/resource_utilization.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/mixed_precision/resource_utilization_tools/resource_utilization_calculator.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/mixed_precision/resource_utilization_tools/resource_utilization_data.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/mixed_precision/search_methods/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/mixed_precision/sensitivity_evaluation.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/mixed_precision/set_layer_to_bitwidth.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/mixed_precision/solution_refinement_procedure.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/model_builder_mode.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/model_validation.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/network_editors/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/network_editors/actions.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/network_editors/edit_network.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/network_editors/node_filters.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/node_prior_info.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/pruning/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/pruning/channels_grouping.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/pruning/greedy_mask_calculator.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/pruning/importance_metrics/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/pruning/importance_metrics/base_importance_metric.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/pruning/importance_metrics/importance_metric_factory.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/pruning/importance_metrics/lfh_importance_metric.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/pruning/mask/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/pruning/mask/per_channel_mask.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/pruning/mask/per_simd_group_mask.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/pruning/memory_calculator.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/pruning/prune_graph.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/pruning/pruner.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/pruning/pruning_config.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/pruning/pruning_framework_implementation.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/pruning/pruning_info.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/pruning/pruning_section.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/quantization/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/quantization/bit_width_config.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/quantization/candidate_node_quantization_config.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/quantization/core_config.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/quantization/debug_config.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/quantization/filter_nodes_candidates.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/quantization/node_quantization_config.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/quantization/quantization_config.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/quantization/quantization_fn_selection.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/quantization/quantization_params_fn_selection.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/quantization/quantization_params_generation/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/quantization/quantization_params_generation/lut_kmeans_params.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/quantization/quantization_params_generation/outlier_filter.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/quantization/quantization_params_generation/power_of_two_selection.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/quantization/quantization_params_generation/qparams_computation.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/quantization/quantization_params_generation/qparams_search.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/quantization/quantization_params_generation/qparams_weights_computation.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/quantization/quantization_params_generation/symmetric_selection.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/quantization/quantization_params_generation/uniform_selection.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/quantization/quantize_graph_weights.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/quantization/quantize_node.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/quantization/quantizers/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/quantization/quantizers/lut_kmeans_quantizer.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/quantization/quantizers/quantizers_helpers.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/quantization/quantizers/uniform_quantizers.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/quantization/set_node_quantization_config.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/similarity_analyzer.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/statistics_correction/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/statistics_correction/apply_activation_bias_correction_to_graph.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/statistics_correction/apply_bias_correction_to_graph.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/statistics_correction/apply_second_moment_correction_to_graph.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/statistics_correction/compute_activation_bias_correction_of_graph.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/statistics_correction/compute_bias_correction_of_graph.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/statistics_correction/statistics_correction.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/substitutions/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/substitutions/apply_substitutions.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/substitutions/batchnorm_folding.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/substitutions/batchnorm_reconstruction.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/substitutions/batchnorm_refusing.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/substitutions/linear_collapsing.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/substitutions/linear_collapsing_substitution.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/substitutions/remove_identity.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/substitutions/residual_collapsing.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/substitutions/scale_equalization.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/substitutions/shift_negative_activation.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/substitutions/softmax_shift.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/substitutions/virtual_activation_weights_composition.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/substitutions/weights_activation_split.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/user_info.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/visualization/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/visualization/final_config_visualizer.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/visualization/nn_visualizer.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/common/visualization/tensorboard_writer.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/graph_prep_runner.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/keras/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/keras/back2framework/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/keras/back2framework/factory_model_builder.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/keras/back2framework/float_model_builder.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/keras/back2framework/instance_builder.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/keras/back2framework/keras_model_builder.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/keras/back2framework/mixed_precision_model_builder.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/keras/back2framework/quantized_model_builder.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/keras/constants.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/keras/custom_layer_validation.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/keras/data_util.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/keras/default_framework_info.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/keras/graph_substitutions/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/activation_decomposition.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/batchnorm_folding.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/batchnorm_reconstruction.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/batchnorm_refusing.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/concat_threshold_update.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/conv_funcs_to_layer.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/dwconv_to_conv.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/input_scaling.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/linear_collapsing.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/matmul_substitution.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/multi_head_attention_decomposition.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/relu_bound_to_power_of_2.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/remove_identity.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/residual_collapsing.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/scale_equalization.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/separableconv_decomposition.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/shift_negative_activation.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/sigmoid_mul_to_swish.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/softmax_shift.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/virtual_activation_weights_composition.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/weights_activation_split.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/keras/hessian/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/keras/hessian/activation_hessian_scores_calculator_keras.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/keras/hessian/hessian_scores_calculator_keras.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/keras/hessian/weights_hessian_scores_calculator_keras.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/keras/keras_model_validation.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/keras/keras_node_prior_info.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/keras/mixed_precision/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/keras/mixed_precision/configurable_activation_quantizer.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/keras/mixed_precision/configurable_weights_quantizer.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/keras/pruning/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/keras/pruning/pruning_keras_implementation.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/keras/quantizer/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/keras/quantizer/fake_quant_builder.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/keras/quantizer/lut_fake_quant.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/keras/reader/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/keras/reader/common.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/keras/reader/connectivity_handler.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/keras/reader/nested_model/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/keras/reader/nested_model/edges_merger.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/keras/reader/nested_model/nested_model_handler.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/keras/reader/nested_model/nodes_merger.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/keras/reader/nested_model/outputs_merger.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/keras/reader/node_builder.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/keras/reader/reader.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/keras/resource_utilization_data_facade.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/keras/statistics_correction/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/keras/statistics_correction/apply_second_moment_correction.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/keras/statistics_correction/keras_compute_activation_bias_correction_of_graph.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/keras/tf_tensor_numpy.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/keras/visualization/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/pytorch/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/pytorch/back2framework/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/pytorch/back2framework/factory_model_builder.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/pytorch/back2framework/float_model_builder.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/pytorch/back2framework/instance_builder.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/pytorch/back2framework/mixed_precision_model_builder.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/pytorch/back2framework/pytorch_model_builder.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/pytorch/back2framework/quantization_wrapper/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/pytorch/back2framework/quantization_wrapper/quantized_layer_wrapper.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/pytorch/back2framework/quantization_wrapper/wrapper_quantize_config.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/pytorch/back2framework/quantized_model_builder.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/pytorch/constants.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/pytorch/data_util.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/pytorch/default_framework_info.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/pytorch/graph_substitutions/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/batchnorm_folding.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/batchnorm_reconstruction.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/batchnorm_refusing.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/concat_threshold_update.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/const_holder_conv.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/functional_batch_norm.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/functional_layer_norm.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/functional_linear.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/linear_collapsing.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/matmul_decomposition.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/multi_head_attention_decomposition.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/relu_bound_to_power_of_2.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/remove_identity.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/reshape_with_static_shapes.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/residual_collapsing.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/scale_equalization.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/scaled_dot_product_attention.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/shift_negative_activation.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/softmax_shift.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/transform_function_call_method.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/virtual_activation_weights_composition.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/weights_activation_split.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/pytorch/hessian/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/pytorch/hessian/hessian_scores_calculator_pytorch.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/pytorch/hessian/weights_hessian_scores_calculator_pytorch.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/pytorch/mixed_precision/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/pytorch/mixed_precision/configurable_activation_quantizer.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/pytorch/mixed_precision/configurable_weights_quantizer.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/pytorch/pruning/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/pytorch/pruning/pruning_pytorch_implementation.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/pytorch/pytorch_device_config.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/pytorch/pytorch_node_prior_info.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/pytorch/quantizer/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/pytorch/quantizer/fake_quant_builder.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/pytorch/quantizer/lut_fake_quant.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/pytorch/reader/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/pytorch/reader/graph_builders.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/pytorch/reader/node_holders.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/pytorch/reader/reader.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/pytorch/resource_utilization_data_facade.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/pytorch/statistics_correction/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/pytorch/statistics_correction/apply_second_moment_correction.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/pytorch/statistics_correction/pytorch_compute_activation_bias_correction_of_graph.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/pytorch/utils.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/core/runner.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/data_generation/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/data_generation/common/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/data_generation/common/constants.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/data_generation/common/data_generation.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/data_generation/common/data_generation_config.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/data_generation/common/enums.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/data_generation/common/image_pipeline.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/data_generation/common/model_info_exctractors.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/data_generation/common/optimization_utils.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/data_generation/keras/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/data_generation/keras/constants.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/data_generation/keras/image_operations.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/data_generation/keras/image_pipeline.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/data_generation/keras/keras_data_generation.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/data_generation/keras/model_info_exctractors.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/data_generation/keras/optimization_functions/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/data_generation/keras/optimization_functions/batchnorm_alignment_functions.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/data_generation/keras/optimization_functions/bn_layer_weighting_functions.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/data_generation/keras/optimization_functions/image_initilization.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/data_generation/keras/optimization_functions/lr_scheduler.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/data_generation/keras/optimization_functions/output_loss_functions.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/data_generation/keras/optimization_functions/scheduler_step_functions.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/data_generation/keras/optimization_utils.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/data_generation/pytorch/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/data_generation/pytorch/constants.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/data_generation/pytorch/image_operations.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/data_generation/pytorch/image_pipeline.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/data_generation/pytorch/model_info_exctractors.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/data_generation/pytorch/optimization_functions/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/data_generation/pytorch/optimization_functions/batchnorm_alignment_functions.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/data_generation/pytorch/optimization_functions/bn_layer_weighting_functions.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/data_generation/pytorch/optimization_functions/image_initilization.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/data_generation/pytorch/optimization_functions/lr_scheduler.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/data_generation/pytorch/optimization_functions/output_loss_functions.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/data_generation/pytorch/optimization_functions/scheduler_step_functions.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/data_generation/pytorch/optimization_utils.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/data_generation/pytorch/pytorch_data_generation.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/defaultdict.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/exporter/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/exporter/model_exporter/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/exporter/model_exporter/fw_agonstic/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/exporter/model_exporter/fw_agonstic/exporter.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/exporter/model_exporter/fw_agonstic/quantization_format.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/exporter/model_exporter/keras/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/exporter/model_exporter/keras/base_keras_exporter.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/exporter/model_exporter/keras/export_serialization_format.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/exporter/model_exporter/keras/fakely_quant_keras_exporter.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/exporter/model_exporter/keras/fakely_quant_tflite_exporter.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/exporter/model_exporter/keras/int8_tflite_exporter.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/exporter/model_exporter/keras/keras_export_facade.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/exporter/model_exporter/keras/mctq_keras_exporter.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/exporter/model_exporter/pytorch/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/exporter/model_exporter/pytorch/base_pytorch_exporter.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/exporter/model_exporter/pytorch/export_serialization_format.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/exporter/model_exporter/pytorch/fakely_quant_onnx_pytorch_exporter.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/exporter/model_exporter/pytorch/fakely_quant_torchscript_pytorch_exporter.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/exporter/model_exporter/pytorch/pytorch_export_facade.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/exporter/model_wrapper/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/exporter/model_wrapper/fw_agnostic/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/exporter/model_wrapper/fw_agnostic/get_inferable_quantizers.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/exporter/model_wrapper/keras/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/exporter/model_wrapper/keras/builder/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/exporter/model_wrapper/keras/builder/fully_quantized_model_builder.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/exporter/model_wrapper/keras/builder/node_to_quantizer.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/exporter/model_wrapper/keras/validate_layer.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/exporter/model_wrapper/pytorch/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/exporter/model_wrapper/pytorch/builder/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/exporter/model_wrapper/pytorch/builder/fully_quantized_model_builder.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/exporter/model_wrapper/pytorch/builder/node_to_quantizer.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/exporter/model_wrapper/pytorch/validate_layer.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/gptq/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/gptq/common/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/gptq/common/gptq_config.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/gptq/common/gptq_constants.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/gptq/common/gptq_framework_implementation.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/gptq/common/gptq_graph.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/gptq/common/gptq_training.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/gptq/common/gradual_activation_quantization.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/gptq/common/regularization_factory.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/gptq/keras/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/gptq/keras/gptq_keras_implementation.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/gptq/keras/gptq_loss.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/gptq/keras/gptq_training.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/gptq/keras/graph_info.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/gptq/keras/quantization_facade.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/gptq/keras/quantizer/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/gptq/keras/quantizer/base_keras_gptq_quantizer.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/gptq/keras/quantizer/quant_utils.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/gptq/keras/quantizer/quantization_builder.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/gptq/keras/quantizer/soft_rounding/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/gptq/keras/quantizer/soft_rounding/soft_quantizer_reg.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/gptq/keras/quantizer/soft_rounding/symmetric_soft_quantizer.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/gptq/keras/quantizer/soft_rounding/uniform_soft_quantizer.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/gptq/keras/quantizer/ste_rounding/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/gptq/keras/quantizer/ste_rounding/symmetric_ste.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/gptq/pytorch/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/gptq/pytorch/gptq_loss.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/gptq/pytorch/gptq_pytorch_implementation.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/gptq/pytorch/gptq_training.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/gptq/pytorch/graph_info.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/gptq/pytorch/quantization_facade.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/gptq/pytorch/quantizer/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/gptq/pytorch/quantizer/base_pytorch_gptq_quantizer.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/gptq/pytorch/quantizer/quant_utils.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/gptq/pytorch/quantizer/quantization_builder.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/gptq/pytorch/quantizer/soft_rounding/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/gptq/pytorch/quantizer/soft_rounding/soft_quantizer_reg.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/gptq/pytorch/quantizer/soft_rounding/symmetric_soft_quantizer.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/gptq/pytorch/quantizer/soft_rounding/uniform_soft_quantizer.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/gptq/pytorch/quantizer/ste_rounding/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/gptq/pytorch/quantizer/ste_rounding/symmetric_ste.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/gptq/runner.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/logger.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/metadata.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/pruning/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/pruning/keras/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/pruning/keras/pruning_facade.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/pruning/pytorch/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/pruning/pytorch/pruning_facade.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/ptq/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/ptq/keras/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/ptq/keras/quantization_facade.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/ptq/pytorch/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/ptq/pytorch/quantization_facade.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/ptq/runner.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/qat/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/qat/common/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/qat/common/qat_config.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/qat/keras/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/qat/keras/quantization_facade.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/qat/keras/quantizer/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/qat/keras/quantizer/base_keras_qat_weight_quantizer.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/qat/keras/quantizer/lsq/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/qat/keras/quantizer/lsq/symmetric_lsq.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/qat/keras/quantizer/lsq/uniform_lsq.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/qat/keras/quantizer/quant_utils.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/qat/keras/quantizer/quantization_builder.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/qat/keras/quantizer/ste_rounding/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/qat/keras/quantizer/ste_rounding/symmetric_ste.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/qat/keras/quantizer/ste_rounding/uniform_ste.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/qat/pytorch/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/qat/pytorch/quantization_facade.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/qat/pytorch/quantizer/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/qat/pytorch/quantizer/base_pytorch_qat_weight_quantizer.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/qat/pytorch/quantizer/lsq/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/qat/pytorch/quantizer/lsq/symmetric_lsq.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/qat/pytorch/quantizer/lsq/uniform_lsq.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/qat/pytorch/quantizer/quantization_builder.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/qat/pytorch/quantizer/ste_rounding/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/qat/pytorch/quantizer/ste_rounding/symmetric_ste.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/qat/pytorch/quantizer/ste_rounding/uniform_ste.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/target_platform_capabilities/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/target_platform_capabilities/constants.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/target_platform_capabilities/immutable.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/target_platform_capabilities/schema/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/target_platform_capabilities/schema/mct_current_schema.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/target_platform_capabilities/schema/schema_functions.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/target_platform_capabilities/schema/v1.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/target_platform_capabilities/targetplatform2framework/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/target_platform_capabilities/targetplatform2framework/attach2keras.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/target_platform_capabilities/targetplatform2framework/attach2pytorch.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/target_platform_capabilities/targetplatform2framework/attribute_filter.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/target_platform_capabilities/targetplatform2framework/current_tpc.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/target_platform_capabilities/targetplatform2framework/framework_quantization_capabilities_component.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/target_platform_capabilities/targetplatform2framework/layer_filter_params.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/target_platform_capabilities/targetplatform2framework/operations_to_layers.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/target_platform_capabilities/tpc_io_handler.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/target_platform_capabilities/tpc_models/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/target_platform_capabilities/tpc_models/get_target_platform_capabilities.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/latest/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1/tpc.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/latest/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/v1/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/v1/tpc.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/latest/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/v1/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/v1/tpc.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/trainable_infrastructure/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/trainable_infrastructure/common/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/trainable_infrastructure/common/annealing_schedulers.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/trainable_infrastructure/common/base_trainable_quantizer.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/trainable_infrastructure/common/constants.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/trainable_infrastructure/common/get_quantizer_config.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/trainable_infrastructure/common/get_quantizers.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/trainable_infrastructure/common/quant_utils.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/trainable_infrastructure/common/trainable_quantizer_config.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/trainable_infrastructure/common/training_method.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/trainable_infrastructure/common/util.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/trainable_infrastructure/keras/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/trainable_infrastructure/keras/activation_quantizers/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/trainable_infrastructure/keras/activation_quantizers/base_activation_quantizer.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/trainable_infrastructure/keras/activation_quantizers/lsq/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/trainable_infrastructure/keras/activation_quantizers/lsq/symmetric_lsq.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/trainable_infrastructure/keras/activation_quantizers/lsq/uniform_lsq.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/trainable_infrastructure/keras/activation_quantizers/ste/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/trainable_infrastructure/keras/activation_quantizers/ste/symmetric_ste.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/trainable_infrastructure/keras/activation_quantizers/ste/uniform_ste.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/trainable_infrastructure/keras/annealing_schedulers.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/trainable_infrastructure/keras/base_keras_quantizer.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/trainable_infrastructure/keras/config_serialization.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/trainable_infrastructure/keras/load_model.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/trainable_infrastructure/keras/quantize_wrapper.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/trainable_infrastructure/keras/quantizer_utils.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/trainable_infrastructure/pytorch/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/trainable_infrastructure/pytorch/activation_quantizers/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/trainable_infrastructure/pytorch/activation_quantizers/base_activation_quantizer.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/trainable_infrastructure/pytorch/activation_quantizers/lsq/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/trainable_infrastructure/pytorch/activation_quantizers/lsq/symmetric_lsq.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/trainable_infrastructure/pytorch/activation_quantizers/lsq/uniform_lsq.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/trainable_infrastructure/pytorch/activation_quantizers/ste/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/trainable_infrastructure/pytorch/activation_quantizers/ste/symmetric_ste.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/trainable_infrastructure/pytorch/activation_quantizers/ste/uniform_ste.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/trainable_infrastructure/pytorch/annealing_schedulers.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/trainable_infrastructure/pytorch/base_pytorch_quantizer.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/trainable_infrastructure/pytorch/quantizer_utils.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/verify_packages.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/xquant/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/xquant/common/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/xquant/common/constants.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/xquant/common/core_report_generator.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/xquant/common/dataset_utils.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/xquant/common/framework_report_utils.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/xquant/common/model_analyzer.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/xquant/common/model_folding_utils.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/xquant/common/similarity_calculator.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/xquant/common/similarity_functions.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/xquant/common/tensorboard_utils.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/xquant/common/xquant_config.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/xquant/keras/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/xquant/keras/dataset_utils.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/xquant/keras/facade_xquant_report.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/xquant/keras/keras_report_utils.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/xquant/keras/model_analyzer.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/xquant/keras/similarity_functions.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/xquant/keras/tensorboard_utils.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/xquant/pytorch/__init__.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/xquant/pytorch/dataset_utils.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/xquant/pytorch/facade_xquant_report.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/xquant/pytorch/model_analyzer.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/xquant/pytorch/pytorch_report_utils.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/xquant/pytorch/similarity_functions.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/model_compression_toolkit/xquant/pytorch/tensorboard_utils.py +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/setup.cfg +0 -0
- {mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/setup.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.2
|
2
2
|
Name: mct-nightly
|
3
|
-
Version: 2.3.0.
|
3
|
+
Version: 2.3.0.20250225.512
|
4
4
|
Summary: A Model Compression Toolkit for neural networks
|
5
5
|
Classifier: Programming Language :: Python :: 3
|
6
6
|
Classifier: License :: OSI Approved :: Apache Software License
|
@@ -234,4 +234,4 @@ MCT is licensed under Apache License Version 2.0. By contributing to the project
|
|
234
234
|
|
235
235
|
[4] Gordon, O., Cohen, E., Habi, H. V., & Netzer, A., 2024. [EPTQ: Enhanced Post-Training Quantization via Hessian-guided Network-wise Optimization, European Conference on Computer Vision Workshop 2024, Computational Aspects of Deep Learning (CADL)](https://arxiv.org/abs/2309.11531)
|
236
236
|
|
237
|
-
[5] Dikstein, L., Lapid, A., Netzer, A., & Habi, H. V., 2024. [Data Generation for Hardware-Friendly Post-Training Quantization, Accepted to IEEE/CVF Winter Conference on Applications of Computer Vision (WACV) 2025](https://
|
237
|
+
[5] Dikstein, L., Lapid, A., Netzer, A., & Habi, H. V., 2024. [Data Generation for Hardware-Friendly Post-Training Quantization, Accepted to IEEE/CVF Winter Conference on Applications of Computer Vision (WACV) 2025](https://openaccess.thecvf.com/content/WACV2025/papers/Dikstein_Data_Generation_for_Hardware-Friendly_Post-Training_Quantization_WACV_2025_paper.pdf)
|
@@ -203,4 +203,4 @@ MCT is licensed under Apache License Version 2.0. By contributing to the project
|
|
203
203
|
|
204
204
|
[4] Gordon, O., Cohen, E., Habi, H. V., & Netzer, A., 2024. [EPTQ: Enhanced Post-Training Quantization via Hessian-guided Network-wise Optimization, European Conference on Computer Vision Workshop 2024, Computational Aspects of Deep Learning (CADL)](https://arxiv.org/abs/2309.11531)
|
205
205
|
|
206
|
-
[5] Dikstein, L., Lapid, A., Netzer, A., & Habi, H. V., 2024. [Data Generation for Hardware-Friendly Post-Training Quantization, Accepted to IEEE/CVF Winter Conference on Applications of Computer Vision (WACV) 2025](https://
|
206
|
+
[5] Dikstein, L., Lapid, A., Netzer, A., & Habi, H. V., 2024. [Data Generation for Hardware-Friendly Post-Training Quantization, Accepted to IEEE/CVF Winter Conference on Applications of Computer Vision (WACV) 2025](https://openaccess.thecvf.com/content/WACV2025/papers/Dikstein_Data_Generation_for_Hardware-Friendly_Post-Training_Quantization_WACV_2025_paper.pdf)
|
{mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/mct_nightly.egg-info/PKG-INFO
RENAMED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.2
|
2
2
|
Name: mct-nightly
|
3
|
-
Version: 2.3.0.
|
3
|
+
Version: 2.3.0.20250225.512
|
4
4
|
Summary: A Model Compression Toolkit for neural networks
|
5
5
|
Classifier: Programming Language :: Python :: 3
|
6
6
|
Classifier: License :: OSI Approved :: Apache Software License
|
@@ -234,4 +234,4 @@ MCT is licensed under Apache License Version 2.0. By contributing to the project
|
|
234
234
|
|
235
235
|
[4] Gordon, O., Cohen, E., Habi, H. V., & Netzer, A., 2024. [EPTQ: Enhanced Post-Training Quantization via Hessian-guided Network-wise Optimization, European Conference on Computer Vision Workshop 2024, Computational Aspects of Deep Learning (CADL)](https://arxiv.org/abs/2309.11531)
|
236
236
|
|
237
|
-
[5] Dikstein, L., Lapid, A., Netzer, A., & Habi, H. V., 2024. [Data Generation for Hardware-Friendly Post-Training Quantization, Accepted to IEEE/CVF Winter Conference on Applications of Computer Vision (WACV) 2025](https://
|
237
|
+
[5] Dikstein, L., Lapid, A., Netzer, A., & Habi, H. V., 2024. [Data Generation for Hardware-Friendly Post-Training Quantization, Accepted to IEEE/CVF Winter Conference on Applications of Computer Vision (WACV) 2025](https://openaccess.thecvf.com/content/WACV2025/papers/Dikstein_Data_Generation_for_Hardware-Friendly_Post-Training_Quantization_WACV_2025_paper.pdf)
|
{mct_nightly-2.3.0.20250223.538 → mct_nightly-2.3.0.20250225.512}/mct_nightly.egg-info/SOURCES.txt
RENAMED
@@ -37,6 +37,7 @@ model_compression_toolkit/core/common/collectors/histogram_collector.py
|
|
37
37
|
model_compression_toolkit/core/common/collectors/mean_collector.py
|
38
38
|
model_compression_toolkit/core/common/collectors/min_max_per_channel_collector.py
|
39
39
|
model_compression_toolkit/core/common/collectors/statistics_collector.py
|
40
|
+
model_compression_toolkit/core/common/collectors/weighted_histogram_collector.py
|
40
41
|
model_compression_toolkit/core/common/fusion/__init__.py
|
41
42
|
model_compression_toolkit/core/common/fusion/graph_fuser.py
|
42
43
|
model_compression_toolkit/core/common/fusion/layer_fusing.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.3.0.
|
30
|
+
__version__ = "2.3.0.20250225.000512"
|
@@ -53,38 +53,37 @@ class HistogramCollector(BaseCollector):
|
|
53
53
|
"""
|
54
54
|
|
55
55
|
super().__init__()
|
56
|
-
self.
|
57
|
-
self.
|
58
|
-
self.
|
59
|
-
self.
|
56
|
+
self._n_bins = n_bins
|
57
|
+
self._bins = None
|
58
|
+
self._counts = None
|
59
|
+
self._histogram_per_iteration = []
|
60
60
|
|
61
|
-
def
|
61
|
+
def _merge_histograms(self):
|
62
62
|
"""
|
63
63
|
After collecting histogram per iteration, we merge these histograms to a single histogram
|
64
64
|
containing all samples from all iterations.
|
65
65
|
The merge is done in a lazy manner (is computed only when actually needed).
|
66
66
|
"""
|
67
|
-
if len(self.
|
67
|
+
if len(self._histogram_per_iteration) > 0:
|
68
68
|
# Stack all bins that were gathered during inference
|
69
|
-
bins_stack = np.vstack([hist[1] for hist in self.
|
69
|
+
bins_stack = np.vstack([hist[1] for hist in self._histogram_per_iteration])
|
70
70
|
|
71
71
|
# The combined histogram will be computed between new min/max (which is the min/max of all histograms).
|
72
72
|
# The bin width of the merged histogram is the minimal bin width among all histograms (to lose as less
|
73
73
|
# information as possible during the merge).
|
74
74
|
merged_histogram_min = np.min(bins_stack)
|
75
75
|
merged_histogram_max = np.max(bins_stack)
|
76
|
-
|
77
|
-
merged_histogram_bins = np.arange(merged_histogram_min, merged_histogram_max+merged_bin_width, merged_bin_width)
|
76
|
+
merged_histogram_bins = np.linspace(merged_histogram_min, merged_histogram_max, self._n_bins + 1)
|
78
77
|
|
79
78
|
merged_histogram_counts = None
|
80
|
-
for histogram in self.
|
79
|
+
for histogram in self._histogram_per_iteration: # Iterate all collected histograms and merge them
|
81
80
|
if merged_histogram_counts is None: # First histogram to consider
|
82
|
-
merged_histogram_counts =
|
81
|
+
merged_histogram_counts = histogram[0].astype(np.float64) # Convert to float64
|
83
82
|
else: # Merge rest of histograms into existing final histogram
|
84
83
|
merged_histogram_counts += interpolate_histogram(merged_histogram_bins, histogram[1], histogram[0])
|
85
84
|
|
86
|
-
self.
|
87
|
-
self.
|
85
|
+
self._counts = merged_histogram_counts
|
86
|
+
self._bins = merged_histogram_bins
|
88
87
|
|
89
88
|
def scale(self, scale_factor: np.ndarray):
|
90
89
|
"""
|
@@ -102,7 +101,7 @@ class HistogramCollector(BaseCollector):
|
|
102
101
|
self.update_legal_status(is_illegal=True)
|
103
102
|
else:
|
104
103
|
bins, _ = self.get_histogram()
|
105
|
-
self.
|
104
|
+
self._bins = bins * scale_factor
|
106
105
|
|
107
106
|
def shift(self, shift_value: np.ndarray):
|
108
107
|
"""
|
@@ -120,7 +119,7 @@ class HistogramCollector(BaseCollector):
|
|
120
119
|
self.update_legal_status(is_illegal=True)
|
121
120
|
else:
|
122
121
|
bins, _ = self.get_histogram()
|
123
|
-
self.
|
122
|
+
self._bins = bins + shift_value
|
124
123
|
|
125
124
|
def get_histogram(self) -> Tuple[np.ndarray, np.ndarray]:
|
126
125
|
"""
|
@@ -130,9 +129,9 @@ class HistogramCollector(BaseCollector):
|
|
130
129
|
self.validate_data_correctness()
|
131
130
|
# If collected histograms (one per inference iteration) were not merged before, merge them and return the
|
132
131
|
# merged histogram.
|
133
|
-
if self.
|
134
|
-
self.
|
135
|
-
return self.
|
132
|
+
if self._bins is None or self._counts is None:
|
133
|
+
self._merge_histograms()
|
134
|
+
return self._bins, self._counts
|
136
135
|
|
137
136
|
def max(self):
|
138
137
|
"""
|
@@ -156,5 +155,5 @@ class HistogramCollector(BaseCollector):
|
|
156
155
|
Args:
|
157
156
|
x: Tensor going through the collector to update the histogram according to.
|
158
157
|
"""
|
159
|
-
count, bins = np.histogram(x, bins=self.
|
160
|
-
self.
|
158
|
+
count, bins = np.histogram(x, bins=self._n_bins)
|
159
|
+
self._histogram_per_iteration.append((count, bins))
|
@@ -17,13 +17,12 @@
|
|
17
17
|
import math
|
18
18
|
from copy import deepcopy
|
19
19
|
from typing import Any, Tuple
|
20
|
-
|
21
20
|
import numpy as np
|
22
21
|
|
23
|
-
from model_compression_toolkit.core.common.framework_info import FrameworkInfo, ChannelAxis
|
24
22
|
from model_compression_toolkit.core.common.collectors.histogram_collector import HistogramCollector
|
25
23
|
from model_compression_toolkit.core.common.collectors.mean_collector import MeanCollector
|
26
24
|
from model_compression_toolkit.core.common.collectors.min_max_per_channel_collector import MinMaxPerChannelCollector
|
25
|
+
from model_compression_toolkit.core.common.collectors.weighted_histogram_collector import WeightedHistogramCollector
|
27
26
|
|
28
27
|
|
29
28
|
class BaseStatsCollector(object):
|
@@ -71,21 +70,24 @@ class StatsCollector(BaseStatsCollector):
|
|
71
70
|
|
72
71
|
super().__init__()
|
73
72
|
self.hc = HistogramCollector()
|
73
|
+
self.weighted_hc = WeightedHistogramCollector()
|
74
74
|
self.mc = MeanCollector(axis=out_channel_axis)
|
75
75
|
self.mpcc = MinMaxPerChannelCollector(init_min_value=init_min_value,
|
76
76
|
init_max_value=init_max_value,
|
77
77
|
axis=out_channel_axis)
|
78
78
|
|
79
|
-
def update_statistics(self, x: Any):
|
79
|
+
def update_statistics(self, x: Any, weights: Any=None):
|
80
80
|
"""
|
81
81
|
Update statistics in all collectors with a new tensor to consider.
|
82
82
|
|
83
83
|
Args:
|
84
84
|
x: Tensor to consider when updating statistics.
|
85
|
+
weights: Weights tensor to consider when updating statistics.
|
85
86
|
"""
|
86
87
|
|
87
88
|
x = standardize_tensor(x)
|
88
89
|
self.hc.update(x)
|
90
|
+
self.weighted_hc.update(x, weights)
|
89
91
|
self.mc.update(x)
|
90
92
|
self.mpcc.update(x)
|
91
93
|
|
@@ -228,6 +230,7 @@ def shift_statistics(collector: BaseStatsCollector,
|
|
228
230
|
shifted_collector.mc.shift(shift_value)
|
229
231
|
if shifted_collector.require_collection():
|
230
232
|
shifted_collector.hc.shift(shift_value)
|
233
|
+
shifted_collector.weighted_hc.shift(shift_value)
|
231
234
|
|
232
235
|
return shifted_collector
|
233
236
|
|
@@ -253,5 +256,6 @@ def scale_statistics(collector: BaseStatsCollector,
|
|
253
256
|
scaled_collector.mc.scale(scale_value)
|
254
257
|
if scaled_collector.require_collection():
|
255
258
|
scaled_collector.hc.scale(scale_value)
|
259
|
+
scaled_collector.weighted_hc.scale(scale_value)
|
256
260
|
|
257
261
|
return scaled_collector
|
@@ -0,0 +1,114 @@
|
|
1
|
+
# Copyright 2025 Sony Semiconductor Israel, Inc. All rights reserved.
|
2
|
+
#
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at
|
6
|
+
#
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
# ==============================================================================
|
15
|
+
|
16
|
+
import numpy as np
|
17
|
+
from model_compression_toolkit.core.common.collectors.histogram_collector import HistogramCollector
|
18
|
+
from model_compression_toolkit.logger import Logger
|
19
|
+
|
20
|
+
|
21
|
+
def check_broadcastable(x: np.ndarray, weights: np.ndarray) -> None:
|
22
|
+
"""
|
23
|
+
Checks if tensor 'weights' can be broadcasted to the shape of tensor 'x'.
|
24
|
+
|
25
|
+
Args:
|
26
|
+
x (np.ndarray): The target tensor.
|
27
|
+
weights (np.ndarray): The tensor to check broadcasting compatibility.
|
28
|
+
|
29
|
+
Raises:
|
30
|
+
Logger.critical: If 'weights' cannot be broadcasted to 'x'.
|
31
|
+
"""
|
32
|
+
# Get shapes
|
33
|
+
shape_x = x.shape
|
34
|
+
shape_w = weights.shape
|
35
|
+
|
36
|
+
# Ensure weights has less or equal dimensions than x
|
37
|
+
if len(shape_w) > len(shape_x):
|
38
|
+
Logger.critical(f"Tensor weights with shape {shape_w} has more dimensions than tensor a with shape {shape_x}.")
|
39
|
+
|
40
|
+
# Align shapes by padding weights' shape with leading ones
|
41
|
+
shape_w = (1,) * (len(shape_x) - len(shape_w)) + shape_w
|
42
|
+
|
43
|
+
# Check if each dimension is either equal or 1
|
44
|
+
for i, (sx, sw) in enumerate(zip(shape_x, shape_w)):
|
45
|
+
if not (sx == sw or sw == 1):
|
46
|
+
Logger.critical(f"Tensor weights with shape {shape_w} cannot be broadcasted to tensor a with shape {shape_x}. "
|
47
|
+
f"Dimension mismatch at index {i}: {sw} cannot be broadcasted to {sx}.")
|
48
|
+
|
49
|
+
|
50
|
+
class WeightedHistogramCollector(HistogramCollector):
|
51
|
+
"""
|
52
|
+
Collector for holding weighted histograms of tensors going through it.
|
53
|
+
Extends the functionality of the base HistogramCollector by incorporating weights
|
54
|
+
into the histogram calculation, allowing for weighted distributions.
|
55
|
+
"""
|
56
|
+
def __init__(self, n_bins: int = 2048):
|
57
|
+
"""
|
58
|
+
Args:
|
59
|
+
n_bins: Number of bins in the histogram.
|
60
|
+
"""
|
61
|
+
|
62
|
+
super().__init__(n_bins)
|
63
|
+
|
64
|
+
def update(self, x: np.ndarray, weights: np.ndarray = None):
|
65
|
+
"""
|
66
|
+
Update the current state of the histogram bins and counts based on a new
|
67
|
+
tensor that passes through the collector, taking weights into account.
|
68
|
+
|
69
|
+
Args:
|
70
|
+
x: Tensor that passes through the collector to update the histogram.
|
71
|
+
weights: Array of weights corresponding to the elements of the tensor `x`.
|
72
|
+
If not provided, uniform weights of 1 will be applied to all elements.
|
73
|
+
|
74
|
+
Details:
|
75
|
+
- The `weights` parameter allows each element of `x` to contribute a
|
76
|
+
weighted amount to the histogram bins, rather than contributing a simple count.
|
77
|
+
- This is particularly useful when the data being processed has an associated
|
78
|
+
importance, frequency, or probability value that should influence the histogram.
|
79
|
+
For example:
|
80
|
+
- Hessian values can serve as weights for each activation in `x`.
|
81
|
+
- Normalization of the histogram to reflect relative contributions.
|
82
|
+
- The method ensures that `x` and `weights` have matching shapes and logs
|
83
|
+
an error if this condition is not met.
|
84
|
+
"""
|
85
|
+
if weights is None or np.all(weights == 0):
|
86
|
+
weights = np.ones_like(x) # Assign uniform weights if none are provided.
|
87
|
+
|
88
|
+
# Checks if tensor 'weights' can be broadcasted to the shape of tensor 'x'.
|
89
|
+
check_broadcastable(x, weights)
|
90
|
+
|
91
|
+
# Get x's shape
|
92
|
+
x_shape = x.shape
|
93
|
+
|
94
|
+
# Get weight's shape
|
95
|
+
weights_shape = weights.shape
|
96
|
+
|
97
|
+
# Determine the correct shape for weights
|
98
|
+
weights_new_shape = list(weights_shape) # Convert to list for modification
|
99
|
+
|
100
|
+
# Ensure weights has the same number of dimensions as x
|
101
|
+
while len(weights_new_shape) < len(x_shape):
|
102
|
+
weights_new_shape.append(1) # Add singleton dimensions
|
103
|
+
|
104
|
+
# Reshape weights to the correct shape
|
105
|
+
weights = weights.reshape(weights_new_shape)
|
106
|
+
|
107
|
+
# Broadcast weights to match x's shape
|
108
|
+
weights = np.broadcast_to(weights, x_shape)
|
109
|
+
|
110
|
+
# Compute the weighted histogram.
|
111
|
+
count, bins = np.histogram(x, bins=self._n_bins, weights=weights)
|
112
|
+
|
113
|
+
# Store the weighted histogram (counts and bins) for this iteration.
|
114
|
+
self._histogram_per_iteration.append((count, bins))
|
@@ -137,13 +137,18 @@ class FrameworkImplementation(ABC):
|
|
137
137
|
@abstractmethod
|
138
138
|
def run_model_inference(self,
|
139
139
|
model: Any,
|
140
|
-
input_list: List[Any]
|
140
|
+
input_list: List[Any],
|
141
|
+
requires_grad: bool = False) -> Tuple[Any]:
|
141
142
|
"""
|
142
|
-
|
143
|
+
Executes the given model on the provided input data.
|
144
|
+
|
145
|
+
This method must be implemented by subclasses to provide framework-specific logic
|
146
|
+
for running inference (e.g., PyTorch, TensorFlow/Keras).
|
143
147
|
|
144
148
|
Args:
|
145
|
-
model:
|
146
|
-
input_list:
|
149
|
+
model: The framework-specific model instance.
|
150
|
+
input_list: A list of inputs for the model.
|
151
|
+
requires_grad: Whether to enable gradient computation. Defaults to `False`.
|
147
152
|
|
148
153
|
Returns:
|
149
154
|
The frameworks model's output.
|
@@ -440,18 +440,28 @@ class BaseNode:
|
|
440
440
|
|
441
441
|
return any([self.is_weights_quantization_enabled(attr) for attr in self.get_node_weights_attributes()])
|
442
442
|
|
443
|
-
|
443
|
+
# TODO it makes more sense to standardize the input/output shapes at node creation.
|
444
|
+
def get_output_shapes_list(self) -> List[tuple]:
|
444
445
|
"""
|
445
|
-
|
446
|
+
Return output shape in a standardized form as a list of tuples.
|
446
447
|
|
447
|
-
Returns:
|
448
|
+
Returns:
|
449
|
+
A list of output shape tuples.
|
448
450
|
"""
|
449
451
|
# shape can be tuple or list, and multiple shapes can be packed in list or tuple
|
450
452
|
if self.output_shape and isinstance(self.output_shape[0], (tuple, list)):
|
451
|
-
output_shapes = self.output_shape
|
453
|
+
output_shapes = [tuple(s) for s in self.output_shape]
|
452
454
|
else:
|
453
|
-
output_shapes = [self.output_shape]
|
455
|
+
output_shapes = [tuple(self.output_shape)]
|
456
|
+
return output_shapes
|
457
|
+
|
458
|
+
def get_total_output_params(self) -> float:
|
459
|
+
"""
|
460
|
+
Calculates the output size of the node.
|
454
461
|
|
462
|
+
Returns: Output size.
|
463
|
+
"""
|
464
|
+
output_shapes = self.get_output_shapes_list()
|
455
465
|
# remove batch size (first element) from output shape
|
456
466
|
output_shapes = [s[1:] for s in output_shapes]
|
457
467
|
# for scalar shape (None,) prod returns 1
|
@@ -550,7 +560,7 @@ class BaseNode:
|
|
550
560
|
"""
|
551
561
|
|
552
562
|
return len(self.candidates_quantization_cfg) > 0 and \
|
553
|
-
|
563
|
+
any([c.activation_quantization_cfg.enable_activation_quantization for c in self.candidates_quantization_cfg])
|
554
564
|
|
555
565
|
def get_all_weights_attr_candidates(self, attr: str) -> List[WeightsAttrQuantizationConfig]:
|
556
566
|
"""
|
@@ -13,13 +13,14 @@
|
|
13
13
|
# limitations under the License.
|
14
14
|
# ==============================================================================
|
15
15
|
from dataclasses import dataclass
|
16
|
-
from typing import List, Dict, Tuple, TYPE_CHECKING
|
16
|
+
from typing import List, Dict, Tuple, TYPE_CHECKING, Any, Optional
|
17
17
|
|
18
18
|
import numpy as np
|
19
19
|
|
20
20
|
from model_compression_toolkit.constants import HESSIAN_NUM_ITERATIONS
|
21
21
|
from model_compression_toolkit.core.common.hessian.hessian_scores_request import HessianScoresRequest, HessianMode, \
|
22
22
|
HessianScoresGranularity
|
23
|
+
from model_compression_toolkit.logger import Logger
|
23
24
|
|
24
25
|
if TYPE_CHECKING: # pragma: no cover
|
25
26
|
from model_compression_toolkit.core.common import BaseNode
|
@@ -139,24 +140,31 @@ class HessianInfoService:
|
|
139
140
|
self.cache = HessianCache()
|
140
141
|
|
141
142
|
def fetch_hessian(self, request: HessianScoresRequest,
|
142
|
-
|
143
|
+
activation_tensors: Optional[Tuple[Any]] = None,
|
144
|
+
force_compute: bool = False,
|
145
|
+
) -> Dict[LayerName, Tensor]:
|
143
146
|
"""
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
147
|
+
Fetches Hessian approximations based on the given request.
|
148
|
+
|
149
|
+
This method retrieves Hessians from the cache when available, unless `force_compute` is set to `True`,
|
150
|
+
in which case the Hessians are recomputed (use when you need hessians for specific inputs).
|
151
|
+
If `compute_from_tensors` in the request is `True`, the Hessians are computed directly from
|
152
|
+
the provided activation tensors.
|
148
153
|
|
149
154
|
Args:
|
150
155
|
request: request per which to fetch the hessians.
|
156
|
+
activation_tensors (Optional[Tuple[Any]): List of activation tensors used for Hessian computation
|
157
|
+
when `compute_from_tensors` in the request is `True`. Defaults to None.
|
151
158
|
force_compute: if True, will compute the hessians.
|
152
159
|
If False, will look for cached hessians first.
|
153
160
|
|
161
|
+
|
154
162
|
Returns:
|
155
163
|
A dictionary of layers' hessian tensors of shape (samples, ...). The exact shape depends on the
|
156
164
|
requested granularity.
|
157
165
|
"""
|
158
|
-
if request.n_samples is None and not force_compute:
|
159
|
-
|
166
|
+
if request.n_samples is None and not (force_compute or request.compute_from_tensors):
|
167
|
+
Logger.critical('Number of samples can be None only when force_compute is True.')
|
160
168
|
|
161
169
|
orig_request = request
|
162
170
|
# replace reused nodes with primary nodes
|
@@ -165,13 +173,21 @@ class HessianInfoService:
|
|
165
173
|
target_nodes = [self._get_primary_node(n) for n in request.target_nodes]
|
166
174
|
request = request.clone(target_nodes=target_nodes)
|
167
175
|
|
168
|
-
if
|
169
|
-
|
176
|
+
if request.compute_from_tensors:
|
177
|
+
if activation_tensors is None:
|
178
|
+
Logger.critical(f"The 'compute_from_tensors' option is enabled, but no 'activation_tensors' were provided.")
|
179
|
+
# This mode is primarily used for Hessian-weighted histograms in statistical collection.
|
180
|
+
# To ensure efficiency, we approximate the Hessian using a single iteration.
|
181
|
+
# This provides a sufficiently accurate approximation for this feature.
|
182
|
+
res = self._compute_hessian_for_batch(request, activation_tensors, n_iterations=1)
|
170
183
|
else:
|
171
|
-
|
184
|
+
if force_compute:
|
185
|
+
res = self._compute_hessians(request, self.num_iterations_for_approximation, count_by_cache=False)
|
186
|
+
else:
|
187
|
+
res = self._fetch_hessians_with_compute(request, self.num_iterations_for_approximation)
|
172
188
|
|
173
|
-
|
174
|
-
|
189
|
+
# restore nodes from the original request
|
190
|
+
res = {n_orig.name: res[n.name] for n_orig, n in zip(orig_request.target_nodes, request.target_nodes)}
|
175
191
|
return res
|
176
192
|
|
177
193
|
def clear_cache(self):
|
@@ -194,7 +210,7 @@ class HessianInfoService:
|
|
194
210
|
return res
|
195
211
|
|
196
212
|
if request.data_loader is None:
|
197
|
-
|
213
|
+
Logger.critical(f'Not enough hessians are cached to fulfill the request, but data loader was not passed '
|
198
214
|
f'for additional computation. Requested {request.n_samples}, '
|
199
215
|
f'available {min(missing.values())}.')
|
200
216
|
|
@@ -249,7 +265,7 @@ class HessianInfoService:
|
|
249
265
|
|
250
266
|
if request.n_samples:
|
251
267
|
if n_samples < request.n_samples:
|
252
|
-
|
268
|
+
Logger.critical(f'Could not compute the requested number of Hessians ({request.n_samples}), '
|
253
269
|
f'not enough samples in the provided representative dataset.')
|
254
270
|
|
255
271
|
if n_samples > request.n_samples:
|
@@ -56,7 +56,7 @@ class HessianScoresCalculator(ABC):
|
|
56
56
|
self.num_iterations_for_approximation = num_iterations_for_approximation
|
57
57
|
|
58
58
|
# Validate representative dataset has same inputs as graph
|
59
|
-
if len(self.input_images) != len(graph.get_inputs()): # pragma: no cover
|
59
|
+
if not hessian_scores_request.compute_from_tensors and len(self.input_images) != len(graph.get_inputs()): # pragma: no cover
|
60
60
|
Logger.critical(f"The graph requires {len(graph.get_inputs())} inputs, but the provided representative dataset contains {len(self.input_images)} inputs.")
|
61
61
|
|
62
62
|
self.fw_impl = fw_impl
|
@@ -17,6 +17,8 @@ import dataclasses
|
|
17
17
|
|
18
18
|
from enum import Enum
|
19
19
|
|
20
|
+
from model_compression_toolkit.logger import Logger
|
21
|
+
|
20
22
|
if TYPE_CHECKING: # pragma: no cover
|
21
23
|
from model_compression_toolkit.core.common import BaseNode
|
22
24
|
|
@@ -60,16 +62,19 @@ class HessianScoresRequest:
|
|
60
62
|
the computation. Can be None if all hessians for the request are expected to be pre-computed previously.
|
61
63
|
n_samples: The number of samples to fetch hessian estimations for. If None, fetch hessians for a full pass
|
62
64
|
of the data loader.
|
65
|
+
compute_from_tensors: If `True`, Hessians are computed directly from given tensors instead of using the data loader.
|
66
|
+
|
63
67
|
"""
|
64
68
|
mode: HessianMode
|
65
69
|
granularity: HessianScoresGranularity
|
66
70
|
target_nodes: Sequence['BaseNode']
|
67
71
|
data_loader: Optional[Iterable]
|
68
72
|
n_samples: Optional[int]
|
73
|
+
compute_from_tensors: bool = False
|
69
74
|
|
70
75
|
def __post_init__(self):
|
71
|
-
if self.data_loader is None and self.n_samples is None:
|
72
|
-
|
76
|
+
if self.data_loader is None and self.n_samples is None and not self.compute_from_tensors:
|
77
|
+
Logger.critical('Data loader and the number of samples cannot both be None.')
|
73
78
|
|
74
79
|
def clone(self, **kwargs):
|
75
80
|
""" Create a clone with optional overrides """
|
@@ -218,7 +218,12 @@ def _add_ru_constraints(search_manager: MixedPrecisionSearchManager,
|
|
218
218
|
ru_vec = np.concatenate([ru_vec, non_conf_ru_vec])
|
219
219
|
ru_indicated_vectors[target] = ru_vec
|
220
220
|
|
221
|
-
#
|
221
|
+
# Add constraints only for the restricted targets in target resource utilization.
|
222
|
+
# Adding activation constraints modifies the lp term in ru_indicated_vectors, so if both activation and total
|
223
|
+
# are restricted we first add the constraints for total.
|
224
|
+
if RUTarget.TOTAL in constraints_targets and RUTarget.ACTIVATION in constraints_targets:
|
225
|
+
constraints_targets.remove(RUTarget.ACTIVATION)
|
226
|
+
constraints_targets = list(constraints_targets) + [RUTarget.ACTIVATION]
|
222
227
|
for target in constraints_targets:
|
223
228
|
target_resource_utilization_value = target_resource_utilization.get_resource_utilization_dict()[target]
|
224
229
|
aggr_ru = _aggregate_for_lp(ru_indicated_vectors, target)
|