mct-nightly 2.2.0.20250114.84821__tar.gz → 2.2.0.20250114.161150__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/PKG-INFO +1 -1
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/mct_nightly.egg-info/PKG-INFO +1 -1
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/mct_nightly.egg-info/SOURCES.txt +1 -1
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/__init__.py +1 -1
- mct_nightly-2.2.0.20250114.84821/model_compression_toolkit/core/common/mixed_precision/resource_utilization_tools/ru_methods.py → mct_nightly-2.2.0.20250114.161150/model_compression_toolkit/core/common/mixed_precision/mixed_precision_ru_helper.py +35 -70
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/mixed_precision/mixed_precision_search_manager.py +20 -38
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/mixed_precision/resource_utilization_tools/resource_utilization.py +23 -7
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/mixed_precision/resource_utilization_tools/resource_utilization_calculator.py +48 -39
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/mixed_precision/resource_utilization_tools/resource_utilization_data.py +1 -1
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/mixed_precision/search_methods/linear_programming.py +59 -59
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/runner.py +18 -13
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/LICENSE.md +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/README.md +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/mct_nightly.egg-info/dependency_links.txt +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/mct_nightly.egg-info/requires.txt +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/mct_nightly.egg-info/top_level.txt +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/constants.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/analyzer.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/back2framework/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/back2framework/base_model_builder.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/base_substitutions.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/collectors/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/collectors/base_collector.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/collectors/histogram_collector.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/collectors/mean_collector.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/collectors/min_max_per_channel_collector.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/collectors/statistics_collector.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/framework_implementation.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/framework_info.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/fusion/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/fusion/graph_fuser.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/fusion/layer_fusing.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/graph/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/graph/base_graph.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/graph/base_node.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/graph/edge.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/graph/functional_node.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/graph/graph_matchers.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/graph/graph_searches.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/graph/memory_graph/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/graph/memory_graph/bipartite_graph.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/graph/memory_graph/compute_graph_max_cut.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/graph/memory_graph/cut.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/graph/memory_graph/max_cut_astar.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/graph/memory_graph/memory_element.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/graph/memory_graph/memory_graph.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/graph/virtual_activation_weights_node.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/hessian/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/hessian/hessian_info_service.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/hessian/hessian_info_utils.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/hessian/hessian_scores_calculator.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/hessian/hessian_scores_request.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/matchers/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/matchers/base_graph_filter.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/matchers/base_matcher.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/matchers/edge_matcher.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/matchers/function.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/matchers/node_matcher.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/matchers/walk_matcher.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/memory_computation.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/mixed_precision/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/mixed_precision/bit_width_setter.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/mixed_precision/configurable_quant_id.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/mixed_precision/configurable_quantizer_utils.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/mixed_precision/distance_weighting.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/mixed_precision/mixed_precision_candidates_filter.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/mixed_precision/mixed_precision_quantization_config.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/mixed_precision/mixed_precision_search_facade.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/mixed_precision/resource_utilization_tools/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/mixed_precision/search_methods/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/mixed_precision/sensitivity_evaluation.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/mixed_precision/set_layer_to_bitwidth.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/mixed_precision/solution_refinement_procedure.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/model_builder_mode.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/model_collector.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/model_validation.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/network_editors/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/network_editors/actions.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/network_editors/edit_network.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/network_editors/node_filters.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/node_prior_info.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/pruning/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/pruning/channels_grouping.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/pruning/greedy_mask_calculator.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/pruning/importance_metrics/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/pruning/importance_metrics/base_importance_metric.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/pruning/importance_metrics/importance_metric_factory.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/pruning/importance_metrics/lfh_importance_metric.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/pruning/mask/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/pruning/mask/per_channel_mask.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/pruning/mask/per_simd_group_mask.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/pruning/memory_calculator.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/pruning/prune_graph.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/pruning/pruner.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/pruning/pruning_config.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/pruning/pruning_framework_implementation.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/pruning/pruning_info.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/pruning/pruning_section.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/quantization/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/quantization/bit_width_config.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/quantization/candidate_node_quantization_config.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/quantization/core_config.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/quantization/debug_config.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/quantization/filter_nodes_candidates.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/quantization/node_quantization_config.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/quantization/quantization_config.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/quantization/quantization_fn_selection.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/quantization/quantization_params_fn_selection.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/quantization/quantization_params_generation/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/quantization/quantization_params_generation/error_functions.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/quantization/quantization_params_generation/lut_kmeans_params.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/quantization/quantization_params_generation/outlier_filter.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/quantization/quantization_params_generation/power_of_two_selection.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/quantization/quantization_params_generation/qparams_activations_computation.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/quantization/quantization_params_generation/qparams_computation.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/quantization/quantization_params_generation/qparams_search.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/quantization/quantization_params_generation/qparams_weights_computation.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/quantization/quantization_params_generation/symmetric_selection.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/quantization/quantization_params_generation/uniform_selection.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/quantization/quantize_graph_weights.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/quantization/quantize_node.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/quantization/quantizers/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/quantization/quantizers/lut_kmeans_quantizer.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/quantization/quantizers/quantizers_helpers.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/quantization/quantizers/uniform_quantizers.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/quantization/set_node_quantization_config.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/similarity_analyzer.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/statistics_correction/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/statistics_correction/apply_activation_bias_correction_to_graph.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/statistics_correction/apply_bias_correction_to_graph.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/statistics_correction/apply_second_moment_correction_to_graph.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/statistics_correction/compute_activation_bias_correction_of_graph.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/statistics_correction/compute_bias_correction_of_graph.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/statistics_correction/statistics_correction.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/substitutions/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/substitutions/apply_substitutions.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/substitutions/batchnorm_folding.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/substitutions/batchnorm_reconstruction.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/substitutions/batchnorm_refusing.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/substitutions/linear_collapsing.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/substitutions/linear_collapsing_substitution.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/substitutions/remove_identity.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/substitutions/residual_collapsing.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/substitutions/scale_equalization.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/substitutions/shift_negative_activation.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/substitutions/softmax_shift.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/substitutions/virtual_activation_weights_composition.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/substitutions/weights_activation_split.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/user_info.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/visualization/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/visualization/final_config_visualizer.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/visualization/nn_visualizer.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/common/visualization/tensorboard_writer.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/graph_prep_runner.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/keras/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/keras/back2framework/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/keras/back2framework/factory_model_builder.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/keras/back2framework/float_model_builder.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/keras/back2framework/instance_builder.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/keras/back2framework/keras_model_builder.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/keras/back2framework/mixed_precision_model_builder.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/keras/back2framework/quantized_model_builder.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/keras/constants.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/keras/custom_layer_validation.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/keras/data_util.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/keras/default_framework_info.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/keras/graph_substitutions/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/activation_decomposition.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/batchnorm_folding.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/batchnorm_reconstruction.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/batchnorm_refusing.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/concat_threshold_update.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/conv_funcs_to_layer.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/dwconv_to_conv.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/input_scaling.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/linear_collapsing.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/matmul_substitution.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/multi_head_attention_decomposition.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/relu_bound_to_power_of_2.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/remove_identity.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/residual_collapsing.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/scale_equalization.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/separableconv_decomposition.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/shift_negative_activation.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/sigmoid_mul_to_swish.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/softmax_shift.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/virtual_activation_weights_composition.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/weights_activation_split.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/keras/hessian/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/keras/hessian/activation_hessian_scores_calculator_keras.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/keras/hessian/hessian_scores_calculator_keras.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/keras/hessian/weights_hessian_scores_calculator_keras.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/keras/keras_implementation.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/keras/keras_model_validation.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/keras/keras_node_prior_info.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/keras/mixed_precision/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/keras/mixed_precision/configurable_activation_quantizer.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/keras/mixed_precision/configurable_weights_quantizer.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/keras/pruning/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/keras/pruning/pruning_keras_implementation.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/keras/quantizer/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/keras/quantizer/fake_quant_builder.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/keras/quantizer/lut_fake_quant.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/keras/reader/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/keras/reader/common.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/keras/reader/connectivity_handler.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/keras/reader/nested_model/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/keras/reader/nested_model/edges_merger.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/keras/reader/nested_model/nested_model_handler.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/keras/reader/nested_model/nodes_merger.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/keras/reader/nested_model/outputs_merger.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/keras/reader/node_builder.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/keras/reader/reader.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/keras/resource_utilization_data_facade.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/keras/statistics_correction/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/keras/statistics_correction/apply_second_moment_correction.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/keras/statistics_correction/keras_compute_activation_bias_correction_of_graph.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/keras/tf_tensor_numpy.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/keras/visualization/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/pytorch/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/pytorch/back2framework/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/pytorch/back2framework/factory_model_builder.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/pytorch/back2framework/float_model_builder.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/pytorch/back2framework/instance_builder.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/pytorch/back2framework/mixed_precision_model_builder.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/pytorch/back2framework/pytorch_model_builder.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/pytorch/back2framework/quantization_wrapper/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/pytorch/back2framework/quantization_wrapper/quantized_layer_wrapper.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/pytorch/back2framework/quantization_wrapper/wrapper_quantize_config.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/pytorch/back2framework/quantized_model_builder.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/pytorch/constants.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/pytorch/data_util.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/pytorch/default_framework_info.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/pytorch/graph_substitutions/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/batchnorm_folding.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/batchnorm_reconstruction.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/batchnorm_refusing.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/concat_threshold_update.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/const_holder_conv.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/functional_batch_norm.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/functional_layer_norm.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/functional_linear.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/linear_collapsing.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/matmul_decomposition.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/multi_head_attention_decomposition.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/relu_bound_to_power_of_2.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/remove_identity.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/reshape_with_static_shapes.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/residual_collapsing.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/scale_equalization.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/scaled_dot_product_attention.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/shift_negative_activation.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/softmax_shift.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/transform_function_call_method.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/virtual_activation_weights_composition.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/weights_activation_split.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/pytorch/hessian/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/pytorch/hessian/activation_hessian_scores_calculator_pytorch.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/pytorch/hessian/hessian_scores_calculator_pytorch.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/pytorch/hessian/weights_hessian_scores_calculator_pytorch.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/pytorch/mixed_precision/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/pytorch/mixed_precision/configurable_activation_quantizer.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/pytorch/mixed_precision/configurable_weights_quantizer.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/pytorch/pruning/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/pytorch/pruning/pruning_pytorch_implementation.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/pytorch/pytorch_device_config.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/pytorch/pytorch_implementation.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/pytorch/pytorch_node_prior_info.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/pytorch/quantizer/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/pytorch/quantizer/fake_quant_builder.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/pytorch/quantizer/lut_fake_quant.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/pytorch/reader/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/pytorch/reader/graph_builders.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/pytorch/reader/node_holders.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/pytorch/reader/reader.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/pytorch/resource_utilization_data_facade.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/pytorch/statistics_correction/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/pytorch/statistics_correction/apply_second_moment_correction.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/pytorch/statistics_correction/pytorch_compute_activation_bias_correction_of_graph.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/pytorch/utils.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/core/quantization_prep_runner.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/data_generation/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/data_generation/common/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/data_generation/common/constants.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/data_generation/common/data_generation.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/data_generation/common/data_generation_config.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/data_generation/common/enums.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/data_generation/common/image_pipeline.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/data_generation/common/model_info_exctractors.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/data_generation/common/optimization_utils.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/data_generation/keras/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/data_generation/keras/constants.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/data_generation/keras/image_operations.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/data_generation/keras/image_pipeline.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/data_generation/keras/keras_data_generation.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/data_generation/keras/model_info_exctractors.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/data_generation/keras/optimization_functions/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/data_generation/keras/optimization_functions/batchnorm_alignment_functions.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/data_generation/keras/optimization_functions/bn_layer_weighting_functions.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/data_generation/keras/optimization_functions/image_initilization.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/data_generation/keras/optimization_functions/lr_scheduler.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/data_generation/keras/optimization_functions/output_loss_functions.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/data_generation/keras/optimization_functions/scheduler_step_functions.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/data_generation/keras/optimization_utils.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/data_generation/pytorch/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/data_generation/pytorch/constants.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/data_generation/pytorch/image_operations.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/data_generation/pytorch/image_pipeline.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/data_generation/pytorch/model_info_exctractors.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/data_generation/pytorch/optimization_functions/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/data_generation/pytorch/optimization_functions/batchnorm_alignment_functions.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/data_generation/pytorch/optimization_functions/bn_layer_weighting_functions.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/data_generation/pytorch/optimization_functions/image_initilization.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/data_generation/pytorch/optimization_functions/lr_scheduler.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/data_generation/pytorch/optimization_functions/output_loss_functions.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/data_generation/pytorch/optimization_functions/scheduler_step_functions.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/data_generation/pytorch/optimization_utils.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/data_generation/pytorch/pytorch_data_generation.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/defaultdict.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/exporter/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/exporter/model_exporter/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/exporter/model_exporter/fw_agonstic/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/exporter/model_exporter/fw_agonstic/exporter.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/exporter/model_exporter/fw_agonstic/quantization_format.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/exporter/model_exporter/keras/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/exporter/model_exporter/keras/base_keras_exporter.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/exporter/model_exporter/keras/export_serialization_format.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/exporter/model_exporter/keras/fakely_quant_keras_exporter.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/exporter/model_exporter/keras/fakely_quant_tflite_exporter.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/exporter/model_exporter/keras/int8_tflite_exporter.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/exporter/model_exporter/keras/keras_export_facade.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/exporter/model_exporter/keras/mctq_keras_exporter.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/exporter/model_exporter/pytorch/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/exporter/model_exporter/pytorch/base_pytorch_exporter.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/exporter/model_exporter/pytorch/export_serialization_format.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/exporter/model_exporter/pytorch/fakely_quant_onnx_pytorch_exporter.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/exporter/model_exporter/pytorch/fakely_quant_torchscript_pytorch_exporter.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/exporter/model_exporter/pytorch/pytorch_export_facade.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/exporter/model_wrapper/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/exporter/model_wrapper/fw_agnostic/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/exporter/model_wrapper/fw_agnostic/get_inferable_quantizers.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/exporter/model_wrapper/keras/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/exporter/model_wrapper/keras/builder/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/exporter/model_wrapper/keras/builder/fully_quantized_model_builder.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/exporter/model_wrapper/keras/builder/node_to_quantizer.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/exporter/model_wrapper/keras/validate_layer.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/exporter/model_wrapper/pytorch/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/exporter/model_wrapper/pytorch/builder/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/exporter/model_wrapper/pytorch/builder/fully_quantized_model_builder.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/exporter/model_wrapper/pytorch/builder/node_to_quantizer.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/exporter/model_wrapper/pytorch/validate_layer.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/gptq/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/gptq/common/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/gptq/common/gptq_config.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/gptq/common/gptq_constants.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/gptq/common/gptq_framework_implementation.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/gptq/common/gptq_graph.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/gptq/common/gptq_training.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/gptq/common/gradual_activation_quantization.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/gptq/common/regularization_factory.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/gptq/keras/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/gptq/keras/gptq_keras_implementation.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/gptq/keras/gptq_loss.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/gptq/keras/gptq_training.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/gptq/keras/graph_info.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/gptq/keras/quantization_facade.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/gptq/keras/quantizer/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/gptq/keras/quantizer/base_keras_gptq_quantizer.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/gptq/keras/quantizer/quant_utils.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/gptq/keras/quantizer/quantization_builder.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/gptq/keras/quantizer/soft_rounding/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/gptq/keras/quantizer/soft_rounding/soft_quantizer_reg.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/gptq/keras/quantizer/soft_rounding/symmetric_soft_quantizer.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/gptq/keras/quantizer/soft_rounding/uniform_soft_quantizer.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/gptq/keras/quantizer/ste_rounding/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/gptq/keras/quantizer/ste_rounding/symmetric_ste.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/gptq/pytorch/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/gptq/pytorch/gptq_loss.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/gptq/pytorch/gptq_pytorch_implementation.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/gptq/pytorch/gptq_training.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/gptq/pytorch/graph_info.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/gptq/pytorch/quantization_facade.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/gptq/pytorch/quantizer/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/gptq/pytorch/quantizer/base_pytorch_gptq_quantizer.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/gptq/pytorch/quantizer/quant_utils.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/gptq/pytorch/quantizer/quantization_builder.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/gptq/pytorch/quantizer/soft_rounding/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/gptq/pytorch/quantizer/soft_rounding/soft_quantizer_reg.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/gptq/pytorch/quantizer/soft_rounding/symmetric_soft_quantizer.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/gptq/pytorch/quantizer/soft_rounding/uniform_soft_quantizer.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/gptq/pytorch/quantizer/ste_rounding/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/gptq/pytorch/quantizer/ste_rounding/symmetric_ste.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/gptq/runner.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/logger.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/metadata.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/pruning/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/pruning/keras/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/pruning/keras/pruning_facade.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/pruning/pytorch/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/pruning/pytorch/pruning_facade.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/ptq/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/ptq/keras/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/ptq/keras/quantization_facade.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/ptq/pytorch/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/ptq/pytorch/quantization_facade.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/ptq/runner.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/qat/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/qat/common/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/qat/common/qat_config.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/qat/keras/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/qat/keras/quantization_facade.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/qat/keras/quantizer/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/qat/keras/quantizer/base_keras_qat_weight_quantizer.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/qat/keras/quantizer/lsq/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/qat/keras/quantizer/lsq/symmetric_lsq.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/qat/keras/quantizer/lsq/uniform_lsq.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/qat/keras/quantizer/quant_utils.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/qat/keras/quantizer/quantization_builder.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/qat/keras/quantizer/ste_rounding/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/qat/keras/quantizer/ste_rounding/symmetric_ste.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/qat/keras/quantizer/ste_rounding/uniform_ste.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/qat/pytorch/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/qat/pytorch/quantization_facade.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/qat/pytorch/quantizer/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/qat/pytorch/quantizer/base_pytorch_qat_weight_quantizer.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/qat/pytorch/quantizer/lsq/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/qat/pytorch/quantizer/lsq/symmetric_lsq.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/qat/pytorch/quantizer/lsq/uniform_lsq.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/qat/pytorch/quantizer/quantization_builder.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/qat/pytorch/quantizer/ste_rounding/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/qat/pytorch/quantizer/ste_rounding/symmetric_ste.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/qat/pytorch/quantizer/ste_rounding/uniform_ste.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/target_platform_capabilities/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/target_platform_capabilities/constants.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/target_platform_capabilities/immutable.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/target_platform_capabilities/schema/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/target_platform_capabilities/schema/mct_current_schema.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/target_platform_capabilities/schema/schema_functions.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/target_platform_capabilities/schema/v1.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/target_platform_capabilities/targetplatform2framework/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/target_platform_capabilities/targetplatform2framework/attach2fw.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/target_platform_capabilities/targetplatform2framework/attach2keras.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/target_platform_capabilities/targetplatform2framework/attach2pytorch.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/target_platform_capabilities/targetplatform2framework/attribute_filter.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/target_platform_capabilities/targetplatform2framework/current_tpc.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/target_platform_capabilities/targetplatform2framework/framework_quantization_capabilities.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/target_platform_capabilities/targetplatform2framework/framework_quantization_capabilities_component.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/target_platform_capabilities/targetplatform2framework/layer_filter_params.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/target_platform_capabilities/targetplatform2framework/operations_to_layers.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/target_platform_capabilities/tpc_io_handler.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/target_platform_capabilities/tpc_models/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/target_platform_capabilities/tpc_models/get_target_platform_capabilities.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/latest/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1/tpc.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/latest/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/v1/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/v1/tpc.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/latest/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/v1/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/v1/tpc.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/trainable_infrastructure/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/trainable_infrastructure/common/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/trainable_infrastructure/common/annealing_schedulers.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/trainable_infrastructure/common/base_trainable_quantizer.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/trainable_infrastructure/common/constants.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/trainable_infrastructure/common/get_quantizer_config.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/trainable_infrastructure/common/get_quantizers.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/trainable_infrastructure/common/quant_utils.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/trainable_infrastructure/common/trainable_quantizer_config.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/trainable_infrastructure/common/training_method.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/trainable_infrastructure/common/util.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/trainable_infrastructure/keras/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/trainable_infrastructure/keras/activation_quantizers/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/trainable_infrastructure/keras/activation_quantizers/base_activation_quantizer.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/trainable_infrastructure/keras/activation_quantizers/lsq/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/trainable_infrastructure/keras/activation_quantizers/lsq/symmetric_lsq.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/trainable_infrastructure/keras/activation_quantizers/lsq/uniform_lsq.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/trainable_infrastructure/keras/activation_quantizers/ste/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/trainable_infrastructure/keras/activation_quantizers/ste/symmetric_ste.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/trainable_infrastructure/keras/activation_quantizers/ste/uniform_ste.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/trainable_infrastructure/keras/annealing_schedulers.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/trainable_infrastructure/keras/base_keras_quantizer.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/trainable_infrastructure/keras/config_serialization.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/trainable_infrastructure/keras/load_model.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/trainable_infrastructure/keras/quantize_wrapper.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/trainable_infrastructure/keras/quantizer_utils.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/trainable_infrastructure/pytorch/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/trainable_infrastructure/pytorch/activation_quantizers/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/trainable_infrastructure/pytorch/activation_quantizers/base_activation_quantizer.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/trainable_infrastructure/pytorch/activation_quantizers/lsq/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/trainable_infrastructure/pytorch/activation_quantizers/lsq/symmetric_lsq.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/trainable_infrastructure/pytorch/activation_quantizers/lsq/uniform_lsq.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/trainable_infrastructure/pytorch/activation_quantizers/ste/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/trainable_infrastructure/pytorch/activation_quantizers/ste/symmetric_ste.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/trainable_infrastructure/pytorch/activation_quantizers/ste/uniform_ste.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/trainable_infrastructure/pytorch/annealing_schedulers.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/trainable_infrastructure/pytorch/base_pytorch_quantizer.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/trainable_infrastructure/pytorch/quantizer_utils.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/verify_packages.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/xquant/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/xquant/common/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/xquant/common/constants.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/xquant/common/core_report_generator.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/xquant/common/dataset_utils.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/xquant/common/framework_report_utils.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/xquant/common/model_analyzer.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/xquant/common/model_folding_utils.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/xquant/common/similarity_calculator.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/xquant/common/similarity_functions.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/xquant/common/tensorboard_utils.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/xquant/common/xquant_config.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/xquant/keras/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/xquant/keras/dataset_utils.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/xquant/keras/facade_xquant_report.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/xquant/keras/keras_report_utils.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/xquant/keras/model_analyzer.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/xquant/keras/similarity_functions.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/xquant/keras/tensorboard_utils.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/xquant/pytorch/__init__.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/xquant/pytorch/dataset_utils.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/xquant/pytorch/facade_xquant_report.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/xquant/pytorch/model_analyzer.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/xquant/pytorch/pytorch_report_utils.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/xquant/pytorch/similarity_functions.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/model_compression_toolkit/xquant/pytorch/tensorboard_utils.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/setup.cfg +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/setup.py +0 -0
- {mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/tests/test_suite.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.2
|
2
2
|
Name: mct-nightly
|
3
|
-
Version: 2.2.0.20250114.
|
3
|
+
Version: 2.2.0.20250114.161150
|
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
|
{mct_nightly-2.2.0.20250114.84821 → mct_nightly-2.2.0.20250114.161150}/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.2.0.20250114.
|
3
|
+
Version: 2.2.0.20250114.161150
|
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
|
@@ -74,6 +74,7 @@ model_compression_toolkit/core/common/mixed_precision/configurable_quantizer_uti
|
|
74
74
|
model_compression_toolkit/core/common/mixed_precision/distance_weighting.py
|
75
75
|
model_compression_toolkit/core/common/mixed_precision/mixed_precision_candidates_filter.py
|
76
76
|
model_compression_toolkit/core/common/mixed_precision/mixed_precision_quantization_config.py
|
77
|
+
model_compression_toolkit/core/common/mixed_precision/mixed_precision_ru_helper.py
|
77
78
|
model_compression_toolkit/core/common/mixed_precision/mixed_precision_search_facade.py
|
78
79
|
model_compression_toolkit/core/common/mixed_precision/mixed_precision_search_manager.py
|
79
80
|
model_compression_toolkit/core/common/mixed_precision/sensitivity_evaluation.py
|
@@ -83,7 +84,6 @@ model_compression_toolkit/core/common/mixed_precision/resource_utilization_tools
|
|
83
84
|
model_compression_toolkit/core/common/mixed_precision/resource_utilization_tools/resource_utilization.py
|
84
85
|
model_compression_toolkit/core/common/mixed_precision/resource_utilization_tools/resource_utilization_calculator.py
|
85
86
|
model_compression_toolkit/core/common/mixed_precision/resource_utilization_tools/resource_utilization_data.py
|
86
|
-
model_compression_toolkit/core/common/mixed_precision/resource_utilization_tools/ru_methods.py
|
87
87
|
model_compression_toolkit/core/common/mixed_precision/search_methods/__init__.py
|
88
88
|
model_compression_toolkit/core/common/mixed_precision/search_methods/linear_programming.py
|
89
89
|
model_compression_toolkit/core/common/network_editors/__init__.py
|
@@ -27,4 +27,4 @@ from model_compression_toolkit import data_generation
|
|
27
27
|
from model_compression_toolkit import pruning
|
28
28
|
from model_compression_toolkit.trainable_infrastructure.keras.load_model import keras_load_quantized_model
|
29
29
|
|
30
|
-
__version__ = "2.2.0.20250114.
|
30
|
+
__version__ = "2.2.0.20250114.161150"
|
@@ -12,14 +12,13 @@
|
|
12
12
|
# See the License for the specific language governing permissions and
|
13
13
|
# limitations under the License.
|
14
14
|
# ==============================================================================
|
15
|
-
from typing import List, Set, Dict, Optional, Tuple
|
15
|
+
from typing import List, Set, Dict, Optional, Tuple, Any
|
16
16
|
|
17
17
|
import numpy as np
|
18
18
|
|
19
19
|
from model_compression_toolkit.core import FrameworkInfo
|
20
20
|
from model_compression_toolkit.core.common import Graph, BaseNode
|
21
21
|
from model_compression_toolkit.core.common.framework_implementation import FrameworkImplementation
|
22
|
-
from model_compression_toolkit.core.common.graph.memory_graph.cut import Cut
|
23
22
|
from model_compression_toolkit.core.common.graph.virtual_activation_weights_node import VirtualActivationWeightsNode
|
24
23
|
from model_compression_toolkit.core.common.mixed_precision.resource_utilization_tools.resource_utilization import \
|
25
24
|
RUTarget
|
@@ -44,9 +43,8 @@ class MixedPrecisionRUHelper:
|
|
44
43
|
def compute_utilization(self, ru_targets: Set[RUTarget], mp_cfg: Optional[List[int]]) -> Dict[RUTarget, np.ndarray]:
|
45
44
|
"""
|
46
45
|
Compute utilization of requested targets for a specific configuration in the format expected by LP problem
|
47
|
-
formulation
|
48
|
-
|
49
|
-
consistent between configurations).
|
46
|
+
formulation namely a vector of ru values for relevant memory elements (nodes or cuts) in a constant order
|
47
|
+
(between calls).
|
50
48
|
|
51
49
|
Args:
|
52
50
|
ru_targets: resource utilization targets to compute.
|
@@ -57,33 +55,26 @@ class MixedPrecisionRUHelper:
|
|
57
55
|
"""
|
58
56
|
|
59
57
|
ru = {}
|
60
|
-
|
61
|
-
act_qcs, w_qcs = self.get_configurable_qcs(mp_cfg) if mp_cfg else (None, None)
|
62
|
-
w_util = None
|
58
|
+
act_qcs, w_qcs = self.get_quantization_candidates(mp_cfg) if mp_cfg else (None, None)
|
63
59
|
if RUTarget.WEIGHTS in ru_targets:
|
64
|
-
|
65
|
-
ru[RUTarget.WEIGHTS] = np.array(list(
|
60
|
+
wu = self._weights_utilization(w_qcs)
|
61
|
+
ru[RUTarget.WEIGHTS] = np.array(list(wu.values()))
|
66
62
|
|
67
|
-
# TODO make mp agnostic to activation method
|
68
63
|
if RUTarget.ACTIVATION in ru_targets:
|
69
|
-
|
70
|
-
ru[RUTarget.ACTIVATION] = np.array(list(
|
71
|
-
|
72
|
-
# TODO use maxcut
|
73
|
-
if RUTarget.TOTAL in ru_targets:
|
74
|
-
act_tensors_util = self._activation_tensor_utilization(act_qcs)
|
75
|
-
w_util = w_util or self._weights_utilization(w_qcs)
|
76
|
-
total = {n: (w_util.get(n, 0), act_tensors_util.get(n, 0))
|
77
|
-
# for n in self.graph.nodes if n in act_tensors_util or n in w_util}
|
78
|
-
for n in self.graph.get_topo_sorted_nodes() if n in act_tensors_util or n in w_util}
|
79
|
-
ru[RUTarget.TOTAL] = np.array(list(total.values()))
|
64
|
+
au = self._activation_utilization(act_qcs)
|
65
|
+
ru[RUTarget.ACTIVATION] = np.array(list(au.values()))
|
80
66
|
|
81
67
|
if RUTarget.BOPS in ru_targets:
|
82
68
|
ru[RUTarget.BOPS] = self._bops_utilization(mp_cfg)
|
83
69
|
|
70
|
+
if RUTarget.TOTAL in ru_targets:
|
71
|
+
raise ValueError('Total target should be computed based on weights and activations targets.')
|
72
|
+
|
73
|
+
assert len(ru) == len(ru_targets), (f'Mismatch between the number of computed and requested metrics.'
|
74
|
+
f'Requested {ru_targets}')
|
84
75
|
return ru
|
85
76
|
|
86
|
-
def
|
77
|
+
def get_quantization_candidates(self, mp_cfg) \
|
87
78
|
-> Tuple[Dict[BaseNode, NodeActivationQuantizationConfig], Dict[BaseNode, NodeWeightsQuantizationConfig]]:
|
88
79
|
"""
|
89
80
|
Retrieve quantization candidates objects for weights and activations from the configuration list.
|
@@ -92,15 +83,13 @@ class MixedPrecisionRUHelper:
|
|
92
83
|
mp_cfg: a list of candidates indices for configurable layers.
|
93
84
|
|
94
85
|
Returns:
|
95
|
-
|
86
|
+
A mapping between nodes to weights quantization config, and a mapping between nodes and activation
|
96
87
|
quantization config.
|
97
88
|
"""
|
98
89
|
mp_nodes = self.graph.get_configurable_sorted_nodes(self.fw_info)
|
99
90
|
node_qcs = {n: n.candidates_quantization_cfg[mp_cfg[i]] for i, n in enumerate(mp_nodes)}
|
100
|
-
act_qcs = {n: node_qcs
|
101
|
-
|
102
|
-
w_qcs = {n: node_qcs[n].weights_quantization_cfg
|
103
|
-
for n in self.graph.get_weights_configurable_nodes(self.fw_info)}
|
91
|
+
act_qcs = {n: cfg.activation_quantization_cfg for n, cfg in node_qcs.items()}
|
92
|
+
w_qcs = {n: cfg.weights_quantization_cfg for n, cfg in node_qcs.items()}
|
104
93
|
return act_qcs, w_qcs
|
105
94
|
|
106
95
|
def _weights_utilization(self, w_qcs: Optional[Dict[BaseNode, NodeWeightsQuantizationConfig]]) -> Dict[BaseNode, float]:
|
@@ -127,8 +116,8 @@ class MixedPrecisionRUHelper:
|
|
127
116
|
nodes_util = {n: u.bytes for n, u in nodes_util.items()}
|
128
117
|
return nodes_util
|
129
118
|
|
130
|
-
def
|
131
|
-
-> Optional[Dict[
|
119
|
+
def _activation_utilization(self, act_qcs: Optional[Dict[BaseNode, NodeActivationQuantizationConfig]]) \
|
120
|
+
-> Optional[Dict[Any, float]]:
|
132
121
|
"""
|
133
122
|
Compute activation utilization using MaxCut for all quantized nodes if configuration is passed.
|
134
123
|
|
@@ -138,41 +127,17 @@ class MixedPrecisionRUHelper:
|
|
138
127
|
Returns:
|
139
128
|
Activation utilization per cut, or empty dict if no configuration was passed.
|
140
129
|
"""
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
cuts_util = {c: u.bytes for c, u in cuts_util.items()}
|
146
|
-
return cuts_util
|
147
|
-
|
148
|
-
# Computing non-configurable nodes resource utilization for max-cut is included in the calculation of the
|
149
|
-
# configurable nodes.
|
150
|
-
return {}
|
151
|
-
|
152
|
-
def _activation_tensor_utilization(self, act_qcs: Optional[Dict[BaseNode, NodeActivationQuantizationConfig]]):
|
153
|
-
"""
|
154
|
-
Compute activation tensors utilization fo configurable nodes if configuration is passed or
|
155
|
-
for non-configurable nodes otherwise.
|
130
|
+
# Maxcut activation utilization is computed for all quantized nodes, so non-configurable memory is already
|
131
|
+
# covered by the computation of configurable activations.
|
132
|
+
if not act_qcs:
|
133
|
+
return {}
|
156
134
|
|
157
|
-
|
158
|
-
|
135
|
+
_, cuts_util, *_ = self.ru_calculator.compute_activation_utilization_by_cut(
|
136
|
+
TargetInclusionCriterion.AnyQuantized, bitwidth_mode=BitwidthMode.QCustom, act_qcs=act_qcs)
|
137
|
+
cuts_util = {c: u.bytes for c, u in cuts_util.items()}
|
138
|
+
return cuts_util
|
159
139
|
|
160
|
-
|
161
|
-
Activation utilization per node.
|
162
|
-
"""
|
163
|
-
if act_qcs:
|
164
|
-
target_criterion = TargetInclusionCriterion.QConfigurable
|
165
|
-
bitwidth_mode = BitwidthMode.QCustom
|
166
|
-
else:
|
167
|
-
target_criterion = TargetInclusionCriterion.QNonConfigurable
|
168
|
-
bitwidth_mode = BitwidthMode.QDefaultSP
|
169
|
-
|
170
|
-
_, nodes_util = self.ru_calculator.compute_activation_tensors_utilization(target_criterion=target_criterion,
|
171
|
-
bitwidth_mode=bitwidth_mode,
|
172
|
-
act_qcs=act_qcs)
|
173
|
-
return {n: u.bytes for n, u in nodes_util.items()}
|
174
|
-
|
175
|
-
def _bops_utilization(self, mp_cfg: List[int]):
|
140
|
+
def _bops_utilization(self, mp_cfg: List[int]) -> np.ndarray:
|
176
141
|
"""
|
177
142
|
Computes a resource utilization vector with the respective bit-operations (BOPS) count for each configurable node,
|
178
143
|
according to the given mixed-precision configuration of a virtual graph with composed nodes.
|
@@ -180,15 +145,15 @@ class MixedPrecisionRUHelper:
|
|
180
145
|
Args:
|
181
146
|
mp_cfg: A mixed-precision configuration (list of candidates index for each configurable node)
|
182
147
|
|
183
|
-
Returns:
|
184
|
-
|
185
|
-
|
148
|
+
Returns:
|
149
|
+
A vector of node's BOPS count.
|
186
150
|
"""
|
187
|
-
#
|
188
|
-
|
189
|
-
|
190
|
-
|
151
|
+
# bops is computed for all nodes, so non-configurable memory is already covered by the computation of
|
152
|
+
# configurable nodes
|
153
|
+
if not mp_cfg:
|
154
|
+
return np.array([])
|
191
155
|
|
156
|
+
# TODO keeping old implementation for now
|
192
157
|
virtual_bops_nodes = [n for n in self.graph.get_topo_sorted_nodes() if isinstance(n, VirtualActivationWeightsNode)]
|
193
158
|
|
194
159
|
mp_nodes = self.graph.get_configurable_sorted_nodes_names(self.fw_info)
|
@@ -26,8 +26,8 @@ from model_compression_toolkit.core.common.graph.virtual_activation_weights_node
|
|
26
26
|
from model_compression_toolkit.core.common.mixed_precision.resource_utilization_tools.resource_utilization import \
|
27
27
|
RUTarget, ResourceUtilization
|
28
28
|
from model_compression_toolkit.core.common.mixed_precision.resource_utilization_tools.resource_utilization_calculator import \
|
29
|
-
|
30
|
-
from model_compression_toolkit.core.common.mixed_precision.
|
29
|
+
TargetInclusionCriterion, BitwidthMode
|
30
|
+
from model_compression_toolkit.core.common.mixed_precision.mixed_precision_ru_helper import \
|
31
31
|
MixedPrecisionRUHelper
|
32
32
|
from model_compression_toolkit.core.common.mixed_precision.sensitivity_evaluation import SensitivityEvaluation
|
33
33
|
from model_compression_toolkit.logger import Logger
|
@@ -67,13 +67,19 @@ class MixedPrecisionSearchManager:
|
|
67
67
|
self.compute_metric_fn = self.get_sensitivity_metric()
|
68
68
|
self._cuts = None
|
69
69
|
|
70
|
-
|
70
|
+
# To define RU Total constraints we need to compute weights and activations even if they have no constraints
|
71
|
+
# TODO currently this logic is duplicated in linear_programming.py
|
72
|
+
targets = target_resource_utilization.get_restricted_targets()
|
73
|
+
if RUTarget.TOTAL in targets:
|
74
|
+
targets = targets.union({RUTarget.ACTIVATION, RUTarget.WEIGHTS}) - {RUTarget.TOTAL}
|
75
|
+
self.ru_targets_to_compute = targets
|
76
|
+
|
71
77
|
self.ru_helper = MixedPrecisionRUHelper(graph, fw_info, fw_impl)
|
72
78
|
self.target_resource_utilization = target_resource_utilization
|
73
79
|
self.min_ru_config = self.graph.get_min_candidates_config(fw_info)
|
74
80
|
self.max_ru_config = self.graph.get_max_candidates_config(fw_info)
|
75
|
-
self.min_ru = self.ru_helper.compute_utilization(self.
|
76
|
-
self.non_conf_ru_dict = self.
|
81
|
+
self.min_ru = self.ru_helper.compute_utilization(self.ru_targets_to_compute, self.min_ru_config)
|
82
|
+
self.non_conf_ru_dict = self.ru_helper.compute_utilization(self.ru_targets_to_compute, None)
|
77
83
|
|
78
84
|
self.config_reconstruction_helper = ConfigReconstructionHelper(virtual_graph=self.graph,
|
79
85
|
original_graph=self.original_graph)
|
@@ -111,18 +117,14 @@ class MixedPrecisionSearchManager:
|
|
111
117
|
def compute_resource_utilization_matrix(self, target: RUTarget) -> np.ndarray:
|
112
118
|
"""
|
113
119
|
Computes and builds a resource utilization matrix, to be used for the mixed-precision search problem formalization.
|
114
|
-
|
115
|
-
- Each row represents the set of resource utilization values for a specific resource utilization
|
116
|
-
measure (number of rows should be equal to the length of the output of the respective target compute_ru function).
|
117
|
-
- Each entry in a specific column represents the resource utilization value of a given configuration
|
118
|
-
(single layer is configured with specific candidate, all other layer are at the minimal resource
|
119
|
-
utilization configuration) for the resource utilization measure of the respective row.
|
120
|
+
Utilization is computed relative to the minimal configuration, i.e. utilization for it will be 0.
|
120
121
|
|
121
122
|
Args:
|
122
123
|
target: The resource target for which the resource utilization is calculated (a RUTarget value).
|
123
124
|
|
124
|
-
Returns:
|
125
|
-
|
125
|
+
Returns:
|
126
|
+
A resource utilization matrix of shape (num configurations, num memory elements). Num memory elements
|
127
|
+
depends on the target, e.g. num nodes or num cuts, for which utilization is computed.
|
126
128
|
"""
|
127
129
|
assert isinstance(target, RUTarget), f"{target} is not a valid resource target"
|
128
130
|
|
@@ -132,21 +134,14 @@ class MixedPrecisionSearchManager:
|
|
132
134
|
for c, c_n in enumerate(configurable_sorted_nodes):
|
133
135
|
for candidate_idx in range(len(c_n.candidates_quantization_cfg)):
|
134
136
|
if candidate_idx == self.min_ru_config[c]:
|
135
|
-
|
136
|
-
# always be 0 for all entries in the results vector.
|
137
|
-
candidate_rus = np.zeros(shape=self.min_ru[target].shape)
|
137
|
+
candidate_rus = self.min_ru[target]
|
138
138
|
else:
|
139
|
-
candidate_rus = self.compute_node_ru_for_candidate(c, candidate_idx, target)
|
139
|
+
candidate_rus = self.compute_node_ru_for_candidate(c, candidate_idx, target)
|
140
140
|
|
141
141
|
ru_matrix.append(np.asarray(candidate_rus))
|
142
142
|
|
143
|
-
|
144
|
-
|
145
|
-
# We only move the first axis (num of configurations) to be last,
|
146
|
-
# the remaining axes include the metric specific nodes (rows dimension of the new tensor)
|
147
|
-
# and the ru metric values (if they are non-scalars)
|
148
|
-
np_ru_matrix = np.array(ru_matrix)
|
149
|
-
return np.moveaxis(np_ru_matrix, source=0, destination=len(np_ru_matrix.shape) - 1)
|
143
|
+
np_ru_matrix = np.array(ru_matrix) - self.min_ru[target] # num configurations X num elements
|
144
|
+
return np_ru_matrix
|
150
145
|
|
151
146
|
def compute_node_ru_for_candidate(self, conf_node_idx: int, candidate_idx: int, target: RUTarget) -> np.ndarray:
|
152
147
|
"""
|
@@ -162,7 +157,6 @@ class MixedPrecisionSearchManager:
|
|
162
157
|
|
163
158
|
"""
|
164
159
|
cfg = self.replace_config_in_index(self.min_ru_config, conf_node_idx, candidate_idx)
|
165
|
-
# TODO compute for all targets at once. Currently the way up to add_set_of_ru_constraints is per target.
|
166
160
|
return self.ru_helper.compute_utilization({target}, cfg)[target]
|
167
161
|
|
168
162
|
@staticmethod
|
@@ -183,18 +177,6 @@ class MixedPrecisionSearchManager:
|
|
183
177
|
updated_cfg[idx] = value
|
184
178
|
return updated_cfg
|
185
179
|
|
186
|
-
def _non_configurable_nodes_ru(self) -> Dict[RUTarget, np.ndarray]:
|
187
|
-
"""
|
188
|
-
Computes a resource utilization vector of all non-configurable nodes in the given graph for each of the
|
189
|
-
resource utilization targets.
|
190
|
-
|
191
|
-
Returns: A mapping between a RUTarget and its non-configurable nodes' resource utilization vector.
|
192
|
-
"""
|
193
|
-
ru_metrics = self.ru_metrics - {RUTarget.BOPS}
|
194
|
-
ru = self.ru_helper.compute_utilization(ru_targets=ru_metrics, mp_cfg=None)
|
195
|
-
ru[RUTarget.BOPS] = None
|
196
|
-
return ru
|
197
|
-
|
198
180
|
def compute_resource_utilization_for_config(self, config: List[int]) -> ResourceUtilization:
|
199
181
|
"""
|
200
182
|
Computes the resource utilization values for a given mixed-precision configuration.
|
@@ -206,7 +188,7 @@ class MixedPrecisionSearchManager:
|
|
206
188
|
with the given config.
|
207
189
|
|
208
190
|
"""
|
209
|
-
act_qcs, w_qcs = self.ru_helper.
|
191
|
+
act_qcs, w_qcs = self.ru_helper.get_quantization_candidates(config)
|
210
192
|
ru = self.ru_helper.ru_calculator.compute_resource_utilization(
|
211
193
|
target_criterion=TargetInclusionCriterion.AnyQuantized, bitwidth_mode=BitwidthMode.QCustom, act_qcs=act_qcs,
|
212
194
|
w_qcs=w_qcs)
|
@@ -86,15 +86,31 @@ class ResourceUtilization:
|
|
86
86
|
ru.total_memory <= self.total_memory and \
|
87
87
|
ru.bops <= self.bops)
|
88
88
|
|
89
|
-
def
|
89
|
+
def get_restricted_targets(self) -> Set[RUTarget]:
|
90
90
|
d = self.get_resource_utilization_dict()
|
91
91
|
return {k for k, v in d.items() if v < np.inf}
|
92
92
|
|
93
93
|
def is_any_restricted(self) -> bool:
|
94
|
-
return bool(self.
|
94
|
+
return bool(self.get_restricted_targets())
|
95
95
|
|
96
|
-
def
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
96
|
+
def get_summary_str(self, restricted: bool):
|
97
|
+
"""
|
98
|
+
Generate summary string.
|
99
|
+
|
100
|
+
Args:
|
101
|
+
restricted: whether to include non-restricted targets.
|
102
|
+
|
103
|
+
Returns:
|
104
|
+
Summary string.
|
105
|
+
"""
|
106
|
+
targets = self.get_restricted_targets() if restricted else list(RUTarget)
|
107
|
+
summary = []
|
108
|
+
if RUTarget.WEIGHTS in targets:
|
109
|
+
summary.append(f"Weights memory: {self.weights_memory}")
|
110
|
+
if RUTarget.ACTIVATION in targets:
|
111
|
+
summary.append(f"Activation memory: {self.activation_memory}")
|
112
|
+
if RUTarget.TOTAL in targets:
|
113
|
+
summary.append(f"Total memory: {self.total_memory}")
|
114
|
+
if RUTarget.BOPS in targets:
|
115
|
+
summary.append(f"BOPS: {self.bops}")
|
116
|
+
return ', '.join(summary)
|
@@ -15,8 +15,7 @@
|
|
15
15
|
from collections import defaultdict
|
16
16
|
from copy import deepcopy
|
17
17
|
from enum import Enum, auto
|
18
|
-
from
|
19
|
-
from typing import Dict, NamedTuple, Optional, Tuple, List, Iterable, Union, Literal, Sequence
|
18
|
+
from typing import Dict, NamedTuple, Optional, Tuple, List, Iterable, Union, Literal, Sequence, Set
|
20
19
|
|
21
20
|
from model_compression_toolkit.constants import FLOAT_BITWIDTH
|
22
21
|
from model_compression_toolkit.core import FrameworkInfo
|
@@ -88,7 +87,7 @@ class Utilization(NamedTuple):
|
|
88
87
|
# Needed for sum (with default start_value=0).
|
89
88
|
if other == 0:
|
90
89
|
return self
|
91
|
-
return self + other
|
90
|
+
return self + other # pragma: no cover
|
92
91
|
|
93
92
|
def __gt__(self, other: 'Utilization'):
|
94
93
|
# Needed for max. Compare by bytes.
|
@@ -96,7 +95,7 @@ class Utilization(NamedTuple):
|
|
96
95
|
|
97
96
|
def __lt__(self, other: 'Utilization'):
|
98
97
|
# Needed for min. Compare by bytes.
|
99
|
-
return self.bytes < other.bytes
|
98
|
+
return self.bytes < other.bytes # pragma: no cover
|
100
99
|
|
101
100
|
|
102
101
|
class ResourceUtilizationCalculator:
|
@@ -119,7 +118,21 @@ class ResourceUtilizationCalculator:
|
|
119
118
|
for n in graph.nodes:
|
120
119
|
self._act_tensors_size[n] = n.get_total_output_params()
|
121
120
|
self._params_cnt[n] = {k: v.size for k, v in n.weights.items()}
|
122
|
-
self._cuts = None
|
121
|
+
self._cuts: Optional[Dict[Cut, List[BaseNode]]] = None
|
122
|
+
|
123
|
+
@property
|
124
|
+
def cuts(self) -> Dict[Cut, List[BaseNode]]:
|
125
|
+
""" Compute if needed and return graph cuts and their memory element nodes. """
|
126
|
+
if self._cuts is None:
|
127
|
+
memory_graph = MemoryGraph(deepcopy(self.graph))
|
128
|
+
_, _, cuts = compute_graph_max_cut(memory_graph)
|
129
|
+
if cuts is None: # pragma: no cover
|
130
|
+
raise RuntimeError("Failed to calculate activation memory cuts for graph.") # pragma: no cover
|
131
|
+
cuts = [cut for cut in cuts if cut.mem_elements.elements]
|
132
|
+
# cache cuts nodes for future use, so do not filter by target
|
133
|
+
self._cuts = {cut: [self.graph.find_node_by_name(m.node_name)[0] for m in cut.mem_elements.elements]
|
134
|
+
for cut in cuts}
|
135
|
+
return self._cuts
|
123
136
|
|
124
137
|
def compute_resource_utilization(self,
|
125
138
|
target_criterion: TargetInclusionCriterion,
|
@@ -146,15 +159,16 @@ class ResourceUtilizationCalculator:
|
|
146
159
|
"""
|
147
160
|
ru_targets = set(ru_targets) if ru_targets else set(RUTarget)
|
148
161
|
|
162
|
+
if w_qcs is not None and not self.is_custom_weights_config_applicable(ru_targets):
|
163
|
+
raise ValueError('Weight configuration passed but no relevant metric requested.')
|
164
|
+
if act_qcs is not None and not self.is_custom_activation_config_applicable(ru_targets):
|
165
|
+
raise ValueError('Activation configuration passed but no relevant metric requested.')
|
166
|
+
|
149
167
|
w_total, a_total = None, None
|
150
168
|
if {RUTarget.WEIGHTS, RUTarget.TOTAL}.intersection(ru_targets):
|
151
169
|
w_total, *_ = self.compute_weights_utilization(target_criterion, bitwidth_mode, w_qcs)
|
152
|
-
elif w_qcs is not None: # pragma: no cover
|
153
|
-
raise ValueError('Weight configuration passed but no relevant metric requested.')
|
154
170
|
|
155
|
-
if
|
156
|
-
raise ValueError('Activation configuration passed but no relevant metric requested.')
|
157
|
-
if RUTarget.ACTIVATION in ru_targets:
|
171
|
+
if {RUTarget.ACTIVATION, RUTarget.TOTAL}.intersection(ru_targets):
|
158
172
|
a_total = self.compute_activations_utilization(target_criterion, bitwidth_mode, act_qcs)
|
159
173
|
|
160
174
|
ru = ResourceUtilization()
|
@@ -163,14 +177,12 @@ class ResourceUtilizationCalculator:
|
|
163
177
|
if RUTarget.ACTIVATION in ru_targets:
|
164
178
|
ru.activation_memory = a_total
|
165
179
|
if RUTarget.TOTAL in ru_targets:
|
166
|
-
|
167
|
-
act_tensors_total, *_ = self.compute_activation_tensors_utilization(target_criterion, bitwidth_mode, act_qcs)
|
168
|
-
ru.total_memory = w_total + act_tensors_total
|
180
|
+
ru.total_memory = w_total + a_total
|
169
181
|
if RUTarget.BOPS in ru_targets:
|
170
182
|
ru.bops, _ = self.compute_bops(target_criterion=target_criterion,
|
171
183
|
bitwidth_mode=bitwidth_mode, act_qcs=act_qcs, w_qcs=w_qcs)
|
172
184
|
|
173
|
-
assert ru.
|
185
|
+
assert ru.get_restricted_targets() == set(ru_targets), 'Mismatch between the number of requested and computed metrics'
|
174
186
|
return ru
|
175
187
|
|
176
188
|
def compute_weights_utilization(self,
|
@@ -262,12 +274,12 @@ class ResourceUtilizationCalculator:
|
|
262
274
|
Returns:
|
263
275
|
Total activation utilization of the network.
|
264
276
|
"""
|
265
|
-
return self.
|
277
|
+
return self.compute_activation_utilization_by_cut(target_criterion, bitwidth_mode, act_qcs)[0]
|
266
278
|
|
267
|
-
def
|
268
|
-
|
269
|
-
|
270
|
-
|
279
|
+
def compute_activation_utilization_by_cut(self,
|
280
|
+
target_criterion: TargetInclusionCriterion,
|
281
|
+
bitwidth_mode: BitwidthMode,
|
282
|
+
act_qcs: Optional[Dict[BaseNode, NodeActivationQuantizationConfig]]) \
|
271
283
|
-> Tuple[float, Dict[Cut, Utilization], Dict[Cut, Dict[BaseNode, Utilization]]]:
|
272
284
|
"""
|
273
285
|
Compute graph activation cuts utilization.
|
@@ -292,20 +304,10 @@ class ResourceUtilizationCalculator:
|
|
292
304
|
if not graph_target_nodes:
|
293
305
|
return 0, {}, {}
|
294
306
|
|
295
|
-
if self._cuts is None:
|
296
|
-
memory_graph = MemoryGraph(deepcopy(self.graph))
|
297
|
-
_, _, cuts = compute_graph_max_cut(memory_graph)
|
298
|
-
if cuts is None: # pragma: no cover
|
299
|
-
raise RuntimeError("Failed to calculate activation memory cuts for graph.") # pragma: no cover
|
300
|
-
cuts = [cut for cut in cuts if cut.mem_elements.elements]
|
301
|
-
# cache cuts nodes for future use, so do not filter by target
|
302
|
-
self._cuts = {cut: [self.graph.find_node_by_name(m.node_name)[0] for m in cut.mem_elements.elements]
|
303
|
-
for cut in cuts}
|
304
|
-
|
305
307
|
util_per_cut: Dict[Cut, Utilization] = {} # type: ignore
|
306
308
|
util_per_cut_per_node = defaultdict(dict)
|
307
|
-
for cut in self.
|
308
|
-
cut_target_nodes =
|
309
|
+
for cut in self.cuts:
|
310
|
+
cut_target_nodes = self._get_cut_target_nodes(cut, target_criterion)
|
309
311
|
if not cut_target_nodes:
|
310
312
|
continue
|
311
313
|
for n in cut_target_nodes:
|
@@ -322,7 +324,7 @@ class ResourceUtilizationCalculator:
|
|
322
324
|
bitwidth_mode: BitwidthMode,
|
323
325
|
act_qcs: Optional[Dict[BaseNode, NodeActivationQuantizationConfig]] = None,
|
324
326
|
include_reused=False) \
|
325
|
-
-> Tuple[float, Dict[BaseNode, Utilization]]:
|
327
|
+
-> Tuple[float, Dict[BaseNode, Utilization]]: # pragma: no cover
|
326
328
|
"""
|
327
329
|
Compute resource utilization for graph's activations tensors.
|
328
330
|
|
@@ -462,7 +464,14 @@ class ResourceUtilizationCalculator:
|
|
462
464
|
node_bops = a_nbits * w_nbits * node_mac
|
463
465
|
return node_bops
|
464
466
|
|
465
|
-
|
467
|
+
def is_custom_weights_config_applicable(self, ru_targets: Set[RUTarget]) -> bool:
|
468
|
+
""" Whether custom configuration for weights is compatible with the requested targets."""
|
469
|
+
return bool({RUTarget.WEIGHTS, RUTarget.TOTAL, RUTarget.BOPS}.intersection(ru_targets))
|
470
|
+
|
471
|
+
def is_custom_activation_config_applicable(self, ru_targets: Set[RUTarget]) -> bool:
|
472
|
+
""" Whether custom configuration for activations is compatible with the requested targets."""
|
473
|
+
return bool({RUTarget.ACTIVATION, RUTarget.TOTAL, RUTarget.BOPS}.intersection(ru_targets))
|
474
|
+
|
466
475
|
def _get_cut_target_nodes(self, cut: Cut, target_criterion: TargetInclusionCriterion) -> List[BaseNode]:
|
467
476
|
"""
|
468
477
|
Retrieve target nodes from a cut filtered by a criterion.
|
@@ -474,7 +483,7 @@ class ResourceUtilizationCalculator:
|
|
474
483
|
Returns:
|
475
484
|
A list of target nodes from a cut.
|
476
485
|
"""
|
477
|
-
cut_nodes =
|
486
|
+
cut_nodes = self.cuts[cut]
|
478
487
|
return self._get_target_activation_nodes(target_criterion, include_reused=True, nodes=cut_nodes)
|
479
488
|
|
480
489
|
def _get_target_weight_nodes(self,
|
@@ -500,7 +509,7 @@ class ResourceUtilizationCalculator:
|
|
500
509
|
quantized = [n for n in self.graph if n.has_any_weight_attr_to_quantize()]
|
501
510
|
configurable = self.graph.get_weights_configurable_nodes(self.fw_info, include_reused_nodes=include_reused)
|
502
511
|
nodes = [n for n in quantized if n not in configurable]
|
503
|
-
elif target_criterion == TargetInclusionCriterion.Any:
|
512
|
+
elif target_criterion == TargetInclusionCriterion.Any: # pragma: no cover
|
504
513
|
nodes = list(self.graph.nodes)
|
505
514
|
else: # pragma: no cover
|
506
515
|
raise ValueError(f'Unknown {target_criterion}.')
|
@@ -566,15 +575,15 @@ class ResourceUtilizationCalculator:
|
|
566
575
|
Selected nodes.
|
567
576
|
"""
|
568
577
|
nodes = nodes or self.graph.nodes
|
569
|
-
if target_criterion == TargetInclusionCriterion.QConfigurable:
|
578
|
+
if target_criterion == TargetInclusionCriterion.QConfigurable: # pragma: no cover
|
570
579
|
nodes = [n for n in nodes if n.has_configurable_activation()]
|
571
580
|
elif target_criterion == TargetInclusionCriterion.AnyQuantized:
|
572
581
|
nodes = [n for n in nodes if n.is_activation_quantization_enabled()]
|
573
|
-
elif target_criterion == TargetInclusionCriterion.QNonConfigurable:
|
582
|
+
elif target_criterion == TargetInclusionCriterion.QNonConfigurable: # pragma: no cover
|
574
583
|
nodes = [n for n in nodes if n.is_activation_quantization_enabled() and not n.has_configurable_activation()]
|
575
584
|
elif target_criterion != TargetInclusionCriterion.Any: # pragma: no cover
|
576
585
|
raise ValueError(f'Unknown {target_criterion}.')
|
577
|
-
if not include_reused:
|
586
|
+
if not include_reused: # pragma: no cover
|
578
587
|
nodes = [n for n in nodes if not n.reuse]
|
579
588
|
return nodes
|
580
589
|
|
@@ -664,4 +673,4 @@ class ResourceUtilizationCalculator:
|
|
664
673
|
f'as it {len(w_qcs)}!=1 unique candidates.')
|
665
674
|
return w_qcs[0].weights_n_bits
|
666
675
|
|
667
|
-
raise ValueError(f'Unknown mode {bitwidth_mode.name}')
|
676
|
+
raise ValueError(f'Unknown mode {bitwidth_mode.name}') # pragma: no cover
|
@@ -118,7 +118,7 @@ def requires_mixed_precision(in_model: Any,
|
|
118
118
|
|
119
119
|
ru_calculator = ResourceUtilizationCalculator(transformed_graph, fw_impl, fw_info)
|
120
120
|
max_ru = ru_calculator.compute_resource_utilization(TargetInclusionCriterion.AnyQuantized, BitwidthMode.QMaxBit,
|
121
|
-
ru_targets=target_resource_utilization.
|
121
|
+
ru_targets=target_resource_utilization.get_restricted_targets())
|
122
122
|
return not target_resource_utilization.is_satisfied_by(max_ru)
|
123
123
|
|
124
124
|
|