mct-nightly 2.2.0.20241202.131715__tar.gz → 2.2.0.20241204.524__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.20241202.131715 → mct-nightly-2.2.0.20241204.524}/PKG-INFO +1 -1
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/mct_nightly.egg-info/PKG-INFO +1 -1
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/__init__.py +1 -1
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/graph/base_graph.py +9 -5
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/graph/base_node.py +2 -3
- mct-nightly-2.2.0.20241204.524/model_compression_toolkit/core/common/mixed_precision/mixed_precision_candidates_filter.py +77 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/mixed_precision/mixed_precision_search_facade.py +9 -9
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/mixed_precision/mixed_precision_search_manager.py +5 -11
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/mixed_precision/resource_utilization_tools/resource_utilization.py +12 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/mixed_precision/resource_utilization_tools/ru_functions_mapping.py +11 -4
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/mixed_precision/search_methods/linear_programming.py +4 -6
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/mixed_precision/sensitivity_evaluation.py +6 -11
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/keras/back2framework/mixed_precision_model_builder.py +6 -9
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/keras/keras_implementation.py +23 -27
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/pytorch/pytorch_implementation.py +2 -4
- mct-nightly-2.2.0.20241202.131715/model_compression_toolkit/core/common/mixed_precision/mixed_precision_candidates_filter.py +0 -80
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/LICENSE.md +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/README.md +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/mct_nightly.egg-info/SOURCES.txt +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/mct_nightly.egg-info/dependency_links.txt +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/mct_nightly.egg-info/requires.txt +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/mct_nightly.egg-info/top_level.txt +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/constants.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/analyzer.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/back2framework/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/back2framework/base_model_builder.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/base_substitutions.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/collectors/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/collectors/base_collector.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/collectors/histogram_collector.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/collectors/mean_collector.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/collectors/min_max_per_channel_collector.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/collectors/statistics_collector.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/framework_implementation.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/framework_info.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/fusion/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/fusion/graph_fuser.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/fusion/layer_fusing.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/graph/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/graph/edge.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/graph/functional_node.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/graph/graph_matchers.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/graph/graph_searches.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/graph/memory_graph/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/graph/memory_graph/bipartite_graph.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/graph/memory_graph/compute_graph_max_cut.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/graph/memory_graph/cut.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/graph/memory_graph/max_cut_astar.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/graph/memory_graph/memory_element.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/graph/memory_graph/memory_graph.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/graph/virtual_activation_weights_node.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/hessian/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/hessian/hessian_info_service.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/hessian/hessian_info_utils.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/hessian/hessian_scores_calculator.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/hessian/hessian_scores_request.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/matchers/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/matchers/base_graph_filter.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/matchers/base_matcher.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/matchers/edge_matcher.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/matchers/function.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/matchers/node_matcher.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/matchers/walk_matcher.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/memory_computation.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/mixed_precision/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/mixed_precision/bit_width_setter.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/mixed_precision/configurable_quant_id.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/mixed_precision/configurable_quantizer_utils.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/mixed_precision/distance_weighting.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/mixed_precision/mixed_precision_quantization_config.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/mixed_precision/resource_utilization_tools/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/mixed_precision/resource_utilization_tools/resource_utilization_data.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/mixed_precision/resource_utilization_tools/ru_aggregation_methods.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/mixed_precision/resource_utilization_tools/ru_methods.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/mixed_precision/search_methods/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/mixed_precision/set_layer_to_bitwidth.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/mixed_precision/solution_refinement_procedure.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/model_builder_mode.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/model_collector.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/model_validation.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/network_editors/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/network_editors/actions.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/network_editors/edit_network.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/network_editors/node_filters.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/node_prior_info.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/pruning/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/pruning/channels_grouping.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/pruning/greedy_mask_calculator.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/pruning/importance_metrics/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/pruning/importance_metrics/base_importance_metric.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/pruning/importance_metrics/importance_metric_factory.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/pruning/importance_metrics/lfh_importance_metric.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/pruning/mask/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/pruning/mask/per_channel_mask.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/pruning/mask/per_simd_group_mask.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/pruning/memory_calculator.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/pruning/prune_graph.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/pruning/pruner.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/pruning/pruning_config.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/pruning/pruning_framework_implementation.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/pruning/pruning_info.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/pruning/pruning_section.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/quantization/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/quantization/bit_width_config.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/quantization/candidate_node_quantization_config.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/quantization/core_config.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/quantization/debug_config.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/quantization/filter_nodes_candidates.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/quantization/node_quantization_config.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/quantization/quantization_config.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/quantization/quantization_fn_selection.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/quantization/quantization_params_fn_selection.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/quantization/quantization_params_generation/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/quantization/quantization_params_generation/error_functions.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/quantization/quantization_params_generation/lut_kmeans_params.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/quantization/quantization_params_generation/outlier_filter.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/quantization/quantization_params_generation/power_of_two_selection.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/quantization/quantization_params_generation/qparams_activations_computation.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/quantization/quantization_params_generation/qparams_computation.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/quantization/quantization_params_generation/qparams_search.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/quantization/quantization_params_generation/qparams_weights_computation.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/quantization/quantization_params_generation/symmetric_selection.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/quantization/quantization_params_generation/uniform_selection.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/quantization/quantize_graph_weights.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/quantization/quantize_node.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/quantization/quantizers/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/quantization/quantizers/lut_kmeans_quantizer.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/quantization/quantizers/quantizers_helpers.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/quantization/quantizers/uniform_quantizers.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/quantization/set_node_quantization_config.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/similarity_analyzer.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/statistics_correction/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/statistics_correction/apply_activation_bias_correction_to_graph.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/statistics_correction/apply_bias_correction_to_graph.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/statistics_correction/apply_second_moment_correction_to_graph.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/statistics_correction/compute_activation_bias_correction_of_graph.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/statistics_correction/compute_bias_correction_of_graph.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/statistics_correction/statistics_correction.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/substitutions/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/substitutions/apply_substitutions.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/substitutions/batchnorm_folding.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/substitutions/batchnorm_reconstruction.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/substitutions/batchnorm_refusing.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/substitutions/linear_collapsing.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/substitutions/linear_collapsing_substitution.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/substitutions/remove_identity.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/substitutions/residual_collapsing.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/substitutions/scale_equalization.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/substitutions/shift_negative_activation.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/substitutions/softmax_shift.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/substitutions/virtual_activation_weights_composition.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/substitutions/weights_activation_split.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/user_info.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/visualization/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/visualization/final_config_visualizer.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/visualization/nn_visualizer.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/common/visualization/tensorboard_writer.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/graph_prep_runner.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/keras/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/keras/back2framework/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/keras/back2framework/factory_model_builder.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/keras/back2framework/float_model_builder.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/keras/back2framework/instance_builder.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/keras/back2framework/keras_model_builder.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/keras/back2framework/quantized_model_builder.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/keras/constants.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/keras/custom_layer_validation.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/keras/data_util.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/keras/default_framework_info.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/keras/graph_substitutions/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/activation_decomposition.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/batchnorm_folding.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/batchnorm_reconstruction.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/batchnorm_refusing.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/concat_threshold_update.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/conv_funcs_to_layer.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/dwconv_to_conv.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/input_scaling.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/linear_collapsing.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/matmul_substitution.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/multi_head_attention_decomposition.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/relu_bound_to_power_of_2.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/remove_identity.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/residual_collapsing.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/scale_equalization.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/separableconv_decomposition.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/shift_negative_activation.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/sigmoid_mul_to_swish.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/softmax_shift.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/virtual_activation_weights_composition.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/weights_activation_split.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/keras/hessian/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/keras/hessian/activation_hessian_scores_calculator_keras.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/keras/hessian/hessian_scores_calculator_keras.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/keras/hessian/weights_hessian_scores_calculator_keras.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/keras/keras_model_validation.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/keras/keras_node_prior_info.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/keras/mixed_precision/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/keras/mixed_precision/configurable_activation_quantizer.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/keras/mixed_precision/configurable_weights_quantizer.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/keras/pruning/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/keras/pruning/pruning_keras_implementation.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/keras/quantizer/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/keras/quantizer/fake_quant_builder.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/keras/quantizer/lut_fake_quant.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/keras/reader/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/keras/reader/common.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/keras/reader/connectivity_handler.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/keras/reader/nested_model/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/keras/reader/nested_model/edges_merger.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/keras/reader/nested_model/nested_model_handler.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/keras/reader/nested_model/nodes_merger.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/keras/reader/nested_model/outputs_merger.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/keras/reader/node_builder.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/keras/reader/reader.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/keras/resource_utilization_data_facade.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/keras/statistics_correction/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/keras/statistics_correction/apply_second_moment_correction.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/keras/statistics_correction/keras_compute_activation_bias_correction_of_graph.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/keras/tf_tensor_numpy.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/keras/visualization/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/pytorch/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/pytorch/back2framework/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/pytorch/back2framework/factory_model_builder.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/pytorch/back2framework/float_model_builder.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/pytorch/back2framework/instance_builder.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/pytorch/back2framework/mixed_precision_model_builder.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/pytorch/back2framework/pytorch_model_builder.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/pytorch/back2framework/quantization_wrapper/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/pytorch/back2framework/quantization_wrapper/quantized_layer_wrapper.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/pytorch/back2framework/quantization_wrapper/wrapper_quantize_config.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/pytorch/back2framework/quantized_model_builder.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/pytorch/constants.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/pytorch/data_util.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/pytorch/default_framework_info.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/pytorch/graph_substitutions/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/batchnorm_folding.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/batchnorm_reconstruction.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/batchnorm_refusing.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/concat_threshold_update.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/const_holder_conv.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/functional_batch_norm.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/functional_layer_norm.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/functional_linear.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/linear_collapsing.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/multi_head_attention_decomposition.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/relu_bound_to_power_of_2.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/remove_identity.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/reshape_with_static_shapes.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/residual_collapsing.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/scale_equalization.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/scaled_dot_product_attention.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/shift_negative_activation.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/softmax_shift.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/transform_function_call_method.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/virtual_activation_weights_composition.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/weights_activation_split.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/pytorch/hessian/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/pytorch/hessian/activation_hessian_scores_calculator_pytorch.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/pytorch/hessian/hessian_scores_calculator_pytorch.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/pytorch/hessian/weights_hessian_scores_calculator_pytorch.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/pytorch/mixed_precision/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/pytorch/mixed_precision/configurable_activation_quantizer.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/pytorch/mixed_precision/configurable_weights_quantizer.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/pytorch/pruning/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/pytorch/pruning/pruning_pytorch_implementation.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/pytorch/pytorch_device_config.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/pytorch/pytorch_node_prior_info.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/pytorch/quantizer/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/pytorch/quantizer/fake_quant_builder.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/pytorch/quantizer/lut_fake_quant.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/pytorch/reader/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/pytorch/reader/graph_builders.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/pytorch/reader/node_holders.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/pytorch/reader/reader.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/pytorch/resource_utilization_data_facade.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/pytorch/statistics_correction/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/pytorch/statistics_correction/apply_second_moment_correction.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/pytorch/statistics_correction/pytorch_compute_activation_bias_correction_of_graph.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/pytorch/utils.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/quantization_prep_runner.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/core/runner.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/data_generation/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/data_generation/common/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/data_generation/common/constants.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/data_generation/common/data_generation.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/data_generation/common/data_generation_config.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/data_generation/common/enums.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/data_generation/common/image_pipeline.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/data_generation/common/model_info_exctractors.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/data_generation/common/optimization_utils.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/data_generation/keras/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/data_generation/keras/constants.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/data_generation/keras/image_operations.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/data_generation/keras/image_pipeline.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/data_generation/keras/keras_data_generation.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/data_generation/keras/model_info_exctractors.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/data_generation/keras/optimization_functions/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/data_generation/keras/optimization_functions/batchnorm_alignment_functions.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/data_generation/keras/optimization_functions/bn_layer_weighting_functions.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/data_generation/keras/optimization_functions/image_initilization.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/data_generation/keras/optimization_functions/lr_scheduler.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/data_generation/keras/optimization_functions/output_loss_functions.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/data_generation/keras/optimization_functions/scheduler_step_functions.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/data_generation/keras/optimization_utils.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/data_generation/pytorch/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/data_generation/pytorch/constants.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/data_generation/pytorch/image_operations.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/data_generation/pytorch/image_pipeline.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/data_generation/pytorch/model_info_exctractors.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/data_generation/pytorch/optimization_functions/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/data_generation/pytorch/optimization_functions/batchnorm_alignment_functions.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/data_generation/pytorch/optimization_functions/bn_layer_weighting_functions.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/data_generation/pytorch/optimization_functions/image_initilization.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/data_generation/pytorch/optimization_functions/lr_scheduler.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/data_generation/pytorch/optimization_functions/output_loss_functions.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/data_generation/pytorch/optimization_functions/scheduler_step_functions.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/data_generation/pytorch/optimization_utils.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/data_generation/pytorch/pytorch_data_generation.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/defaultdict.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/exporter/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/exporter/model_exporter/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/exporter/model_exporter/fw_agonstic/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/exporter/model_exporter/fw_agonstic/exporter.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/exporter/model_exporter/fw_agonstic/quantization_format.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/exporter/model_exporter/keras/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/exporter/model_exporter/keras/base_keras_exporter.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/exporter/model_exporter/keras/export_serialization_format.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/exporter/model_exporter/keras/fakely_quant_keras_exporter.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/exporter/model_exporter/keras/fakely_quant_tflite_exporter.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/exporter/model_exporter/keras/int8_tflite_exporter.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/exporter/model_exporter/keras/keras_export_facade.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/exporter/model_exporter/keras/mctq_keras_exporter.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/exporter/model_exporter/pytorch/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/exporter/model_exporter/pytorch/base_pytorch_exporter.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/exporter/model_exporter/pytorch/export_serialization_format.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/exporter/model_exporter/pytorch/fakely_quant_onnx_pytorch_exporter.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/exporter/model_exporter/pytorch/fakely_quant_torchscript_pytorch_exporter.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/exporter/model_exporter/pytorch/pytorch_export_facade.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/exporter/model_wrapper/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/exporter/model_wrapper/fw_agnostic/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/exporter/model_wrapper/fw_agnostic/get_inferable_quantizers.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/exporter/model_wrapper/keras/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/exporter/model_wrapper/keras/builder/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/exporter/model_wrapper/keras/builder/fully_quantized_model_builder.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/exporter/model_wrapper/keras/builder/node_to_quantizer.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/exporter/model_wrapper/keras/validate_layer.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/exporter/model_wrapper/pytorch/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/exporter/model_wrapper/pytorch/builder/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/exporter/model_wrapper/pytorch/builder/fully_quantized_model_builder.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/exporter/model_wrapper/pytorch/builder/node_to_quantizer.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/exporter/model_wrapper/pytorch/validate_layer.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/gptq/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/gptq/common/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/gptq/common/gptq_config.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/gptq/common/gptq_constants.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/gptq/common/gptq_framework_implementation.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/gptq/common/gptq_graph.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/gptq/common/gptq_training.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/gptq/common/gradual_activation_quantization.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/gptq/common/regularization_factory.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/gptq/keras/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/gptq/keras/gptq_keras_implementation.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/gptq/keras/gptq_loss.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/gptq/keras/gptq_training.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/gptq/keras/graph_info.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/gptq/keras/quantization_facade.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/gptq/keras/quantizer/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/gptq/keras/quantizer/base_keras_gptq_quantizer.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/gptq/keras/quantizer/quant_utils.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/gptq/keras/quantizer/quantization_builder.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/gptq/keras/quantizer/soft_rounding/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/gptq/keras/quantizer/soft_rounding/soft_quantizer_reg.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/gptq/keras/quantizer/soft_rounding/symmetric_soft_quantizer.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/gptq/keras/quantizer/soft_rounding/uniform_soft_quantizer.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/gptq/keras/quantizer/ste_rounding/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/gptq/keras/quantizer/ste_rounding/symmetric_ste.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/gptq/pytorch/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/gptq/pytorch/gptq_loss.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/gptq/pytorch/gptq_pytorch_implementation.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/gptq/pytorch/gptq_training.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/gptq/pytorch/graph_info.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/gptq/pytorch/quantization_facade.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/gptq/pytorch/quantizer/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/gptq/pytorch/quantizer/base_pytorch_gptq_quantizer.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/gptq/pytorch/quantizer/quant_utils.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/gptq/pytorch/quantizer/quantization_builder.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/gptq/pytorch/quantizer/soft_rounding/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/gptq/pytorch/quantizer/soft_rounding/soft_quantizer_reg.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/gptq/pytorch/quantizer/soft_rounding/symmetric_soft_quantizer.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/gptq/pytorch/quantizer/soft_rounding/uniform_soft_quantizer.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/gptq/pytorch/quantizer/ste_rounding/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/gptq/pytorch/quantizer/ste_rounding/symmetric_ste.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/gptq/runner.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/logger.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/metadata.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/pruning/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/pruning/keras/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/pruning/keras/pruning_facade.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/pruning/pytorch/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/pruning/pytorch/pruning_facade.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/ptq/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/ptq/keras/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/ptq/keras/quantization_facade.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/ptq/pytorch/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/ptq/pytorch/quantization_facade.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/ptq/runner.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/qat/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/qat/common/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/qat/common/qat_config.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/qat/keras/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/qat/keras/quantization_facade.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/qat/keras/quantizer/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/qat/keras/quantizer/base_keras_qat_weight_quantizer.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/qat/keras/quantizer/lsq/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/qat/keras/quantizer/lsq/symmetric_lsq.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/qat/keras/quantizer/lsq/uniform_lsq.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/qat/keras/quantizer/quant_utils.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/qat/keras/quantizer/quantization_builder.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/qat/keras/quantizer/ste_rounding/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/qat/keras/quantizer/ste_rounding/symmetric_ste.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/qat/keras/quantizer/ste_rounding/uniform_ste.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/qat/pytorch/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/qat/pytorch/quantization_facade.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/qat/pytorch/quantizer/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/qat/pytorch/quantizer/base_pytorch_qat_weight_quantizer.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/qat/pytorch/quantizer/lsq/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/qat/pytorch/quantizer/lsq/symmetric_lsq.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/qat/pytorch/quantizer/lsq/uniform_lsq.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/qat/pytorch/quantizer/quantization_builder.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/qat/pytorch/quantizer/ste_rounding/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/qat/pytorch/quantizer/ste_rounding/symmetric_ste.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/qat/pytorch/quantizer/ste_rounding/uniform_ste.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/target_platform_capabilities/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/target_platform_capabilities/constants.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/target_platform_capabilities/immutable.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/target_platform_capabilities/schema/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/target_platform_capabilities/schema/mct_current_schema.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/target_platform_capabilities/schema/schema_functions.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/target_platform_capabilities/schema/v1.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/target_platform_capabilities/target_platform/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/target_platform_capabilities/target_platform/current_tp_model.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/target_platform_capabilities/target_platform/target_platform_model.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/attribute_filter.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/current_tpc.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/layer_filter_params.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/operations_to_layers.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/target_platform_capabilities.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/target_platform_capabilities_component.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/target_platform_capabilities/tpc_models/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/target_platform_capabilities/tpc_models/get_target_platform_capabilities.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/latest/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/target_platform_capabilities.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1/tp_model.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1/tpc_keras.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1/tpc_pytorch.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_lut/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_lut/tp_model.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_lut/tpc_keras.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_lut/tpc_pytorch.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_pot/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_pot/tp_model.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_pot/tpc_keras.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_pot/tpc_pytorch.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2/tp_model.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2/tpc_keras.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2/tpc_pytorch.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2_lut/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2_lut/tp_model.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2_lut/tpc_keras.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2_lut/tpc_pytorch.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v3/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v3/tp_model.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v3/tpc_keras.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v3/tpc_pytorch.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v3_lut/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v3_lut/tp_model.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v3_lut/tpc_keras.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v3_lut/tpc_pytorch.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v4/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v4/tp_model.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v4/tpc_keras.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v4/tpc_pytorch.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/latest/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/target_platform_capabilities.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/v1/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/v1/tp_model.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/v1/tpc_keras.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/v1/tpc_pytorch.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/latest/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/target_platform_capabilities.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/v1/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/v1/tp_model.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/v1/tpc_keras.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/v1/tpc_pytorch.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/trainable_infrastructure/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/trainable_infrastructure/common/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/trainable_infrastructure/common/annealing_schedulers.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/trainable_infrastructure/common/base_trainable_quantizer.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/trainable_infrastructure/common/constants.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/trainable_infrastructure/common/get_quantizer_config.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/trainable_infrastructure/common/get_quantizers.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/trainable_infrastructure/common/quant_utils.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/trainable_infrastructure/common/trainable_quantizer_config.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/trainable_infrastructure/common/training_method.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/trainable_infrastructure/common/util.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/trainable_infrastructure/keras/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/trainable_infrastructure/keras/activation_quantizers/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/trainable_infrastructure/keras/activation_quantizers/base_activation_quantizer.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/trainable_infrastructure/keras/activation_quantizers/lsq/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/trainable_infrastructure/keras/activation_quantizers/lsq/symmetric_lsq.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/trainable_infrastructure/keras/activation_quantizers/lsq/uniform_lsq.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/trainable_infrastructure/keras/activation_quantizers/ste/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/trainable_infrastructure/keras/activation_quantizers/ste/symmetric_ste.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/trainable_infrastructure/keras/activation_quantizers/ste/uniform_ste.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/trainable_infrastructure/keras/annealing_schedulers.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/trainable_infrastructure/keras/base_keras_quantizer.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/trainable_infrastructure/keras/config_serialization.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/trainable_infrastructure/keras/load_model.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/trainable_infrastructure/keras/quantize_wrapper.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/trainable_infrastructure/keras/quantizer_utils.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/trainable_infrastructure/pytorch/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/trainable_infrastructure/pytorch/activation_quantizers/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/trainable_infrastructure/pytorch/activation_quantizers/base_activation_quantizer.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/trainable_infrastructure/pytorch/activation_quantizers/lsq/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/trainable_infrastructure/pytorch/activation_quantizers/lsq/symmetric_lsq.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/trainable_infrastructure/pytorch/activation_quantizers/lsq/uniform_lsq.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/trainable_infrastructure/pytorch/activation_quantizers/ste/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/trainable_infrastructure/pytorch/activation_quantizers/ste/symmetric_ste.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/trainable_infrastructure/pytorch/activation_quantizers/ste/uniform_ste.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/trainable_infrastructure/pytorch/annealing_schedulers.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/trainable_infrastructure/pytorch/base_pytorch_quantizer.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/trainable_infrastructure/pytorch/quantizer_utils.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/verify_packages.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/xquant/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/xquant/common/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/xquant/common/constants.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/xquant/common/core_report_generator.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/xquant/common/dataset_utils.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/xquant/common/framework_report_utils.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/xquant/common/model_analyzer.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/xquant/common/model_folding_utils.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/xquant/common/similarity_calculator.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/xquant/common/similarity_functions.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/xquant/common/tensorboard_utils.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/xquant/common/xquant_config.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/xquant/keras/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/xquant/keras/dataset_utils.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/xquant/keras/facade_xquant_report.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/xquant/keras/keras_report_utils.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/xquant/keras/model_analyzer.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/xquant/keras/similarity_functions.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/xquant/keras/tensorboard_utils.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/xquant/pytorch/__init__.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/xquant/pytorch/dataset_utils.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/xquant/pytorch/facade_xquant_report.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/xquant/pytorch/model_analyzer.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/xquant/pytorch/pytorch_report_utils.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/xquant/pytorch/similarity_functions.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/model_compression_toolkit/xquant/pytorch/tensorboard_utils.py +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/setup.cfg +0 -0
- {mct-nightly-2.2.0.20241202.131715 → mct-nightly-2.2.0.20241204.524}/setup.py +0 -0
@@ -27,4 +27,4 @@ from model_compression_toolkit import data_generation
|
|
27
27
|
from model_compression_toolkit import pruning
|
28
28
|
from model_compression_toolkit.trainable_infrastructure.keras.load_model import keras_load_quantized_model
|
29
29
|
|
30
|
-
__version__ = "2.2.0.
|
30
|
+
__version__ = "2.2.0.20241204.000524"
|
@@ -542,9 +542,14 @@ class Graph(nx.MultiDiGraph, GraphSearches):
|
|
542
542
|
"""
|
543
543
|
# configurability is only relevant for kernel attribute quantization
|
544
544
|
potential_conf_nodes = [n for n in list(self) if fw_info.is_kernel_op(n.type)]
|
545
|
-
|
546
|
-
|
547
|
-
|
545
|
+
|
546
|
+
def is_configurable(n):
|
547
|
+
kernel_attr = fw_info.get_kernel_op_attributes(n.type)[0]
|
548
|
+
return (n.is_weights_quantization_enabled(kernel_attr) and
|
549
|
+
not n.is_all_weights_candidates_equal(kernel_attr) and
|
550
|
+
(not n.reuse or include_reused_nodes))
|
551
|
+
|
552
|
+
return [n for n in potential_conf_nodes if is_configurable(n)]
|
548
553
|
|
549
554
|
def get_sorted_weights_configurable_nodes(self,
|
550
555
|
fw_info: FrameworkInfo,
|
@@ -571,8 +576,7 @@ class Graph(nx.MultiDiGraph, GraphSearches):
|
|
571
576
|
Returns:
|
572
577
|
A list of nodes that their activation can be configured (namely, has one or more activation qc candidate).
|
573
578
|
"""
|
574
|
-
return list(
|
575
|
-
and not n.is_all_activation_candidates_equal(), list(self)))
|
579
|
+
return [n for n in list(self) if n.is_activation_quantization_enabled() and not n.is_all_activation_candidates_equal()]
|
576
580
|
|
577
581
|
def get_sorted_activation_configurable_nodes(self) -> List[BaseNode]:
|
578
582
|
"""
|
@@ -384,9 +384,8 @@ class BaseNode:
|
|
384
384
|
"""
|
385
385
|
# note that if the given attribute name does not exist in the node's attributes mapping,
|
386
386
|
# the inner method would log an exception.
|
387
|
-
|
388
|
-
|
389
|
-
for attr_candidate in self.get_all_weights_attr_candidates(attr))
|
387
|
+
candidates = self.get_all_weights_attr_candidates(attr)
|
388
|
+
return all(candidate == candidates[0] for candidate in candidates[1:])
|
390
389
|
|
391
390
|
def has_kernel_weight_to_quantize(self, fw_info):
|
392
391
|
"""
|
@@ -0,0 +1,77 @@
|
|
1
|
+
# Copyright 2024 Sony Semiconductor Israel, Inc. All rights reserved.
|
2
|
+
#
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at
|
6
|
+
#
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
# ==============================================================================
|
15
|
+
import numpy as np
|
16
|
+
|
17
|
+
from model_compression_toolkit.core import ResourceUtilization, FrameworkInfo
|
18
|
+
from model_compression_toolkit.core.common import Graph
|
19
|
+
from model_compression_toolkit.logger import Logger
|
20
|
+
from model_compression_toolkit.target_platform_capabilities.target_platform import TargetPlatformCapabilities
|
21
|
+
|
22
|
+
|
23
|
+
def filter_candidates_for_mixed_precision(graph: Graph,
|
24
|
+
target_resource_utilization: ResourceUtilization,
|
25
|
+
fw_info: FrameworkInfo,
|
26
|
+
tpc: TargetPlatformCapabilities):
|
27
|
+
"""
|
28
|
+
Filters out candidates in case of mixed precision search for only weights or activation compression.
|
29
|
+
For instance, if running only weights compression - filters out candidates of activation configurable nodes
|
30
|
+
such that only a single candidate would remain, with the bitwidth equal to the one defined in the matching layer's
|
31
|
+
base config in the TPC.
|
32
|
+
|
33
|
+
Note" This function modifies the graph inplace!
|
34
|
+
|
35
|
+
Args:
|
36
|
+
graph: A graph representation of the model to be quantized.
|
37
|
+
target_resource_utilization: The resource utilization of the target device.
|
38
|
+
fw_info: fw_info: Information needed for quantization about the specific framework.
|
39
|
+
tpc: TargetPlatformCapabilities object that describes the desired inference target platform.
|
40
|
+
|
41
|
+
"""
|
42
|
+
|
43
|
+
tru = target_resource_utilization
|
44
|
+
if tru.total_mem_restricted() or tru.bops_restricted():
|
45
|
+
return
|
46
|
+
|
47
|
+
if tru.weight_restricted() and not tru.activation_restricted():
|
48
|
+
# Running mixed precision for weights compression only -
|
49
|
+
# filter out candidates activation only configurable node
|
50
|
+
weights_conf = graph.get_weights_configurable_nodes(fw_info)
|
51
|
+
activation_configurable_nodes = [n for n in graph.get_activation_configurable_nodes() if n not in weights_conf]
|
52
|
+
for n in activation_configurable_nodes:
|
53
|
+
base_cfg_nbits = n.get_qco(tpc).base_config.activation_n_bits
|
54
|
+
filtered_conf = [c for c in n.candidates_quantization_cfg if
|
55
|
+
c.activation_quantization_cfg.enable_activation_quantization and
|
56
|
+
c.activation_quantization_cfg.activation_n_bits == base_cfg_nbits]
|
57
|
+
|
58
|
+
if len(filtered_conf) != 1:
|
59
|
+
Logger.critical(f"Running weights only mixed precision failed on layer {n.name} with multiple "
|
60
|
+
f"activation quantization configurations.") # pragma: no cover
|
61
|
+
n.candidates_quantization_cfg = filtered_conf
|
62
|
+
|
63
|
+
elif tru.activation_restricted() and not tru.weight_restricted():
|
64
|
+
# Running mixed precision for activation compression only -
|
65
|
+
# filter out candidates weights only configurable node
|
66
|
+
activation_conf = graph.get_activation_configurable_nodes()
|
67
|
+
weight_configurable_nodes = [n for n in graph.get_weights_configurable_nodes(fw_info) if n not in activation_conf]
|
68
|
+
for n in weight_configurable_nodes:
|
69
|
+
kernel_attr = graph.fw_info.get_kernel_op_attributes(n.type)[0]
|
70
|
+
base_cfg_nbits = n.get_qco(tpc).base_config.attr_weights_configs_mapping[kernel_attr].weights_n_bits
|
71
|
+
filtered_conf = [c for c in n.candidates_quantization_cfg if
|
72
|
+
c.weights_quantization_cfg.get_attr_config(kernel_attr).enable_weights_quantization and
|
73
|
+
c.weights_quantization_cfg.get_attr_config(kernel_attr).weights_n_bits == base_cfg_nbits]
|
74
|
+
if len(filtered_conf) != 1:
|
75
|
+
Logger.critical(f"Running activation only mixed precision failed on layer {n.name} with multiple "
|
76
|
+
f"weights quantization configurations.") # pragma: no cover
|
77
|
+
n.candidates_quantization_cfg = filtered_conf
|
@@ -83,16 +83,17 @@ def search_bit_width(graph_to_search_cfg: Graph,
|
|
83
83
|
|
84
84
|
# Set graph for MP search
|
85
85
|
graph = copy.deepcopy(graph_to_search_cfg) # Copy graph before searching
|
86
|
-
if target_resource_utilization.
|
86
|
+
if target_resource_utilization.bops_restricted():
|
87
87
|
# Since Bit-operations count target resource utilization is set, we need to reconstruct the graph for the MP search
|
88
88
|
graph = substitute(graph, fw_impl.get_substitutions_virtual_weights_activation_coupling())
|
89
89
|
|
90
90
|
# If we only run weights compression with MP than no need to consider activation quantization when computing the
|
91
91
|
# MP metric (it adds noise to the computation)
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
92
|
+
tru = target_resource_utilization
|
93
|
+
weight_only_restricted = tru.weight_restricted() and not (tru.activation_restricted() or
|
94
|
+
tru.total_mem_restricted() or
|
95
|
+
tru.bops_restricted())
|
96
|
+
disable_activation_for_metric = weight_only_restricted or graph_to_search_cfg.is_single_activation_cfg()
|
96
97
|
|
97
98
|
# Set Sensitivity Evaluator for MP search. It should always work with the original MP graph,
|
98
99
|
# even if a virtual graph was created (and is used only for BOPS utilization computation purposes)
|
@@ -117,11 +118,10 @@ def search_bit_width(graph_to_search_cfg: Graph,
|
|
117
118
|
target_resource_utilization,
|
118
119
|
original_graph=graph_to_search_cfg)
|
119
120
|
|
120
|
-
if search_method in search_methods:
|
121
|
-
|
122
|
-
else:
|
123
|
-
raise NotImplemented # pragma: no cover
|
121
|
+
if search_method not in search_methods:
|
122
|
+
raise NotImplementedError() # pragma: no cover
|
124
123
|
|
124
|
+
search_method_fn = search_methods[search_method]
|
125
125
|
# Search for the desired mixed-precision configuration
|
126
126
|
result_bit_cfg = search_method_fn(search_manager,
|
127
127
|
target_resource_utilization)
|
@@ -211,14 +211,8 @@ class MixedPrecisionSearchManager:
|
|
211
211
|
Returns: Node's resource utilization vector.
|
212
212
|
|
213
213
|
"""
|
214
|
-
|
215
|
-
|
216
|
-
self.min_ru_config,
|
217
|
-
conf_node_idx,
|
218
|
-
candidate_idx),
|
219
|
-
self.graph,
|
220
|
-
self.fw_info,
|
221
|
-
self.fw_impl)
|
214
|
+
cfg = self.replace_config_in_index(self.min_ru_config, conf_node_idx, candidate_idx)
|
215
|
+
return self.compute_ru_functions[target].metric_fn(cfg, self.graph, self.fw_info, self.fw_impl)
|
222
216
|
|
223
217
|
@staticmethod
|
224
218
|
def replace_config_in_index(mp_cfg: List[int], idx: int, value: int) -> List[int]:
|
@@ -253,7 +247,7 @@ class MixedPrecisionSearchManager:
|
|
253
247
|
if target == RUTarget.BOPS:
|
254
248
|
ru_vector = None
|
255
249
|
else:
|
256
|
-
ru_vector = self.compute_ru_functions[target]
|
250
|
+
ru_vector = self.compute_ru_functions[target].metric_fn([], self.graph, self.fw_info, self.fw_impl)
|
257
251
|
|
258
252
|
non_conf_ru_dict[target] = ru_vector
|
259
253
|
|
@@ -282,9 +276,9 @@ class MixedPrecisionSearchManager:
|
|
282
276
|
configurable_nodes_ru_vector = ru_fns[0](config, self.original_graph, self.fw_info, self.fw_impl)
|
283
277
|
non_configurable_nodes_ru_vector = self.non_conf_ru_dict.get(ru_target)
|
284
278
|
if non_configurable_nodes_ru_vector is None or len(non_configurable_nodes_ru_vector) == 0:
|
285
|
-
ru_ru = self.compute_ru_functions[ru_target]
|
279
|
+
ru_ru = self.compute_ru_functions[ru_target].aggregate_fn(configurable_nodes_ru_vector, False)
|
286
280
|
else:
|
287
|
-
ru_ru = self.compute_ru_functions[ru_target]
|
281
|
+
ru_ru = self.compute_ru_functions[ru_target].aggregate_fn(
|
288
282
|
np.concatenate([configurable_nodes_ru_vector, non_configurable_nodes_ru_vector]), False)
|
289
283
|
|
290
284
|
ru_dict[ru_target] = ru_ru[0]
|
@@ -72,6 +72,18 @@ class ResourceUtilization:
|
|
72
72
|
f"Total_memory: {self.total_memory}, " \
|
73
73
|
f"BOPS: {self.bops}"
|
74
74
|
|
75
|
+
def weight_restricted(self):
|
76
|
+
return self.weights_memory < np.inf
|
77
|
+
|
78
|
+
def activation_restricted(self):
|
79
|
+
return self.activation_memory < np.inf
|
80
|
+
|
81
|
+
def total_mem_restricted(self):
|
82
|
+
return self.total_memory < np.inf
|
83
|
+
|
84
|
+
def bops_restricted(self):
|
85
|
+
return self.bops < np.inf
|
86
|
+
|
75
87
|
def get_resource_utilization_dict(self) -> Dict[RUTarget, float]:
|
76
88
|
"""
|
77
89
|
Returns: a dictionary with the ResourceUtilization object's values for each resource utilization target.
|
@@ -12,6 +12,8 @@
|
|
12
12
|
# See the License for the specific language governing permissions and
|
13
13
|
# limitations under the License.
|
14
14
|
# ==============================================================================
|
15
|
+
from typing import NamedTuple
|
16
|
+
|
15
17
|
from model_compression_toolkit.core.common.mixed_precision.resource_utilization_tools.resource_utilization import RUTarget
|
16
18
|
from model_compression_toolkit.core.common.mixed_precision.resource_utilization_tools.ru_aggregation_methods import MpRuAggregation
|
17
19
|
from model_compression_toolkit.core.common.mixed_precision.resource_utilization_tools.ru_methods import MpRuMetric
|
@@ -20,7 +22,12 @@ from model_compression_toolkit.core.common.mixed_precision.resource_utilization_
|
|
20
22
|
# When adding a RUTarget that we want to consider in our mp search,
|
21
23
|
# a matching pair of resource_utilization_tools computation function and a resource_utilization_tools
|
22
24
|
# aggregation function should be added to this dictionary
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
25
|
+
class RuFunctions(NamedTuple):
|
26
|
+
metric_fn: MpRuMetric
|
27
|
+
aggregate_fn: MpRuAggregation
|
28
|
+
|
29
|
+
|
30
|
+
ru_functions_mapping = {RUTarget.WEIGHTS: RuFunctions(MpRuMetric.WEIGHTS_SIZE, MpRuAggregation.SUM),
|
31
|
+
RUTarget.ACTIVATION: RuFunctions(MpRuMetric.ACTIVATION_OUTPUT_SIZE, MpRuAggregation.MAX),
|
32
|
+
RUTarget.TOTAL: RuFunctions(MpRuMetric.TOTAL_WEIGHTS_ACTIVATION_SIZE, MpRuAggregation.TOTAL),
|
33
|
+
RUTarget.BOPS: RuFunctions(MpRuMetric.BOPS_COUNT, MpRuAggregation.SUM)}
|
@@ -221,9 +221,9 @@ def _add_set_of_ru_constraints(search_manager: MixedPrecisionSearchManager,
|
|
221
221
|
# search_manager.compute_ru_functions contains a pair of ru_metric and ru_aggregation for each ru target
|
222
222
|
# get aggregated ru, considering both configurable and non-configurable nodes
|
223
223
|
if non_conf_ru_vector is None or len(non_conf_ru_vector) == 0:
|
224
|
-
aggr_ru = search_manager.compute_ru_functions[target]
|
224
|
+
aggr_ru = search_manager.compute_ru_functions[target].aggregate_fn(ru_sum_vector)
|
225
225
|
else:
|
226
|
-
aggr_ru = search_manager.compute_ru_functions[target]
|
226
|
+
aggr_ru = search_manager.compute_ru_functions[target].aggregate_fn(np.concatenate([ru_sum_vector, non_conf_ru_vector]))
|
227
227
|
|
228
228
|
for v in aggr_ru:
|
229
229
|
if isinstance(v, float):
|
@@ -261,9 +261,7 @@ def _build_layer_to_metrics_mapping(search_manager: MixedPrecisionSearchManager,
|
|
261
261
|
Logger.info('Starting to evaluate metrics')
|
262
262
|
layer_to_metrics_mapping = {}
|
263
263
|
|
264
|
-
|
265
|
-
|
266
|
-
if is_bops_target_resource_utilization:
|
264
|
+
if target_resource_utilization.bops_restricted():
|
267
265
|
origin_max_config = search_manager.config_reconstruction_helper.reconstruct_config_from_virtual_graph(search_manager.max_ru_config)
|
268
266
|
max_config_value = search_manager.compute_metric_fn(origin_max_config)
|
269
267
|
else:
|
@@ -284,7 +282,7 @@ def _build_layer_to_metrics_mapping(search_manager: MixedPrecisionSearchManager,
|
|
284
282
|
mp_model_configuration[node_idx] = bitwidth_idx
|
285
283
|
|
286
284
|
# Build a distance matrix using the function we got from the framework implementation.
|
287
|
-
if
|
285
|
+
if target_resource_utilization.bops_restricted():
|
288
286
|
# Reconstructing original graph's configuration from virtual graph's configuration
|
289
287
|
origin_mp_model_configuration = \
|
290
288
|
search_manager.config_reconstruction_helper.reconstruct_config_from_virtual_graph(
|
@@ -90,7 +90,7 @@ class SensitivityEvaluation:
|
|
90
90
|
quant_config.num_interest_points_factor)
|
91
91
|
|
92
92
|
# We use normalized MSE when not running hessian-based. For Hessian-based normalized MSE is not needed
|
93
|
-
#
|
93
|
+
# because hessian weights already do normalization.
|
94
94
|
use_normalized_mse = self.quant_config.use_hessian_based_scores is False
|
95
95
|
self.ips_distance_fns, self.ips_axis = self._init_metric_points_lists(self.interest_points, use_normalized_mse)
|
96
96
|
|
@@ -116,14 +116,11 @@ class SensitivityEvaluation:
|
|
116
116
|
# Build images batches for inference comparison
|
117
117
|
self.images_batches = self._get_images_batches(quant_config.num_of_images)
|
118
118
|
|
119
|
-
# Get baseline model inference on all samples
|
120
|
-
self.baseline_tensors_list = [] # setting from outside scope
|
121
|
-
|
122
119
|
# Casting images tensors to the framework tensor type.
|
123
|
-
self.images_batches =
|
120
|
+
self.images_batches = [self.fw_impl.to_tensor(img) for img in self.images_batches]
|
124
121
|
|
125
122
|
# Initiating baseline_tensors_list since it is not initiated in SensitivityEvaluationManager init.
|
126
|
-
self._init_baseline_tensors_list()
|
123
|
+
self.baseline_tensors_list = self._init_baseline_tensors_list()
|
127
124
|
|
128
125
|
# Computing Hessian-based scores for weighted average distance metric computation (only if requested),
|
129
126
|
# and assigning distance_weighting method accordingly.
|
@@ -193,11 +190,9 @@ class SensitivityEvaluation:
|
|
193
190
|
|
194
191
|
def _init_baseline_tensors_list(self):
|
195
192
|
"""
|
196
|
-
Evaluates the baseline model on all images and
|
197
|
-
Initiates a class variable self.baseline_tensors_list
|
193
|
+
Evaluates the baseline model on all images and returns the obtained lists of tensors in a list for later use.
|
198
194
|
"""
|
199
|
-
|
200
|
-
images))
|
195
|
+
return [self.fw_impl.to_numpy(self.fw_impl.sensitivity_eval_inference(self.baseline_model, images))
|
201
196
|
for images in self.images_batches]
|
202
197
|
|
203
198
|
def _build_models(self) -> Any:
|
@@ -454,7 +449,7 @@ def get_mp_interest_points(graph: Graph,
|
|
454
449
|
|
455
450
|
"""
|
456
451
|
sorted_nodes = graph.get_topo_sorted_nodes()
|
457
|
-
ip_nodes =
|
452
|
+
ip_nodes = [n for n in sorted_nodes if interest_points_classifier(n)]
|
458
453
|
|
459
454
|
interest_points_nodes = bound_num_interest_points(ip_nodes, num_ip_factor)
|
460
455
|
|
@@ -92,11 +92,8 @@ class MixedPrecisionKerasModelBuilder(KerasModelBuilder):
|
|
92
92
|
if kernel_attr is not None and n.is_weights_quantization_enabled(kernel_attr):
|
93
93
|
weights_conf_nodes_names = [node.name for node in self.graph.get_weights_configurable_nodes(self.fw_info)]
|
94
94
|
if n.name in weights_conf_nodes_names:
|
95
|
-
|
96
|
-
|
97
|
-
kernel_attr: ConfigurableWeightsQuantizer(
|
98
|
-
**self._get_weights_configurable_quantizer_kwargs(n,
|
99
|
-
kernel_attr))})
|
95
|
+
wq = ConfigurableWeightsQuantizer(**self._get_weights_configurable_quantizer_kwargs(n, kernel_attr))
|
96
|
+
return KerasQuantizationWrapper(layer, weights_quantizers={kernel_attr: wq})
|
100
97
|
else:
|
101
98
|
# TODO: Do we want to include other quantized attributes that are not
|
102
99
|
# the kernel attribute in the mixed precision model?
|
@@ -106,12 +103,12 @@ class MixedPrecisionKerasModelBuilder(KerasModelBuilder):
|
|
106
103
|
if not len(node_weights_qc) == 1:
|
107
104
|
Logger.critical(f"Expected a unique weights configuration for node {n.name}, but found {len(node_weights_qc)} configurations.")# pragma: no cover
|
108
105
|
|
106
|
+
weights_quant_cfg = node_weights_qc[0].weights_quantization_cfg
|
107
|
+
weights_quant_method = weights_quant_cfg.get_attr_config(kernel_attr).weights_quantization_method
|
109
108
|
quantier_for_node = get_inferable_quantizer_class(QuantizationTarget.Weights,
|
110
|
-
|
111
|
-
.get_attr_config(kernel_attr)
|
112
|
-
.weights_quantization_method,
|
109
|
+
weights_quant_method,
|
113
110
|
BaseKerasInferableQuantizer)
|
114
|
-
kwargs = get_inferable_quantizer_kwargs(
|
111
|
+
kwargs = get_inferable_quantizer_kwargs(weights_quant_cfg,
|
115
112
|
QuantizationTarget.Weights,
|
116
113
|
kernel_attr)
|
117
114
|
|
@@ -438,17 +438,11 @@ class KerasImplementation(FrameworkImplementation):
|
|
438
438
|
node: Node to indicate whether it needs to be part of the interest points set.
|
439
439
|
Returns: True if the node should be considered an interest point, False otherwise.
|
440
440
|
"""
|
441
|
-
|
442
|
-
if node.is_match_type(Activation):
|
443
|
-
node_type_name = node.framework_attr[keras_constants.ACTIVATION]
|
444
|
-
if node_type_name in [keras_constants.SOFTMAX, keras_constants.SIGMOID]:
|
445
|
-
return True
|
446
|
-
elif any([node.is_match_type(_type) for _type in [tf.nn.softmax, tf.keras.layers.Softmax, tf.nn.sigmoid, Conv2D,
|
447
|
-
DepthwiseConv2D, Conv2DTranspose, Dense, Concatenate, tf.concat,
|
448
|
-
Add, tf.add]]):
|
441
|
+
if self.is_softmax(node) or self.is_sigmoid(node):
|
449
442
|
return True
|
450
443
|
|
451
|
-
return
|
444
|
+
return any([node.is_match_type(_type) for _type in [Conv2D, DepthwiseConv2D, Conv2DTranspose, Dense,
|
445
|
+
Concatenate, tf.concat, Add, tf.add]])
|
452
446
|
|
453
447
|
def get_mp_node_distance_fn(self, n: BaseNode,
|
454
448
|
compute_distance_fn: Callable = None,
|
@@ -466,32 +460,34 @@ class KerasImplementation(FrameworkImplementation):
|
|
466
460
|
Returns: A distance function between two tensors and a axis on which the distance is computed (if exists).
|
467
461
|
"""
|
468
462
|
|
469
|
-
axis = n.framework_attr.get(keras_constants.AXIS)
|
470
|
-
if not isinstance(n, FunctionalNode) else n.op_call_kwargs.get(keras_constants.AXIS)
|
471
|
-
|
472
|
-
layer_class = n.layer_class
|
473
|
-
framework_attrs = n.framework_attr
|
463
|
+
axis = n.op_call_kwargs.get(keras_constants.AXIS) if isinstance(n, FunctionalNode) else n.framework_attr.get(keras_constants.AXIS)
|
474
464
|
|
475
465
|
if compute_distance_fn is not None:
|
476
466
|
return compute_distance_fn, axis
|
477
467
|
|
478
|
-
if
|
479
|
-
|
480
|
-
if node_type_name == SOFTMAX and axis is not None:
|
481
|
-
return compute_kl_divergence, axis
|
482
|
-
elif node_type_name == SIGMOID:
|
483
|
-
return compute_cs, axis
|
484
|
-
elif axis is not None and (layer_class == tf.nn.softmax or layer_class == tf.keras.layers.Softmax
|
485
|
-
or (layer_class == TFOpLambda and
|
486
|
-
SOFTMAX in framework_attrs[keras_constants.FUNCTION])):
|
468
|
+
# TODO should we really return mse if axis is None? Error? Fill default?
|
469
|
+
if self.is_softmax(n) and axis is not None:
|
487
470
|
return compute_kl_divergence, axis
|
488
|
-
|
489
|
-
|
490
|
-
return compute_cs, axis
|
491
|
-
elif layer_class == Dense:
|
471
|
+
|
472
|
+
if self.is_sigmoid(n) or n.layer_class == Dense:
|
492
473
|
return compute_cs, axis
|
474
|
+
|
493
475
|
return partial(compute_mse, norm=norm_mse), axis
|
494
476
|
|
477
|
+
@staticmethod
|
478
|
+
def is_sigmoid(node: BaseNode):
|
479
|
+
cls = node.layer_class
|
480
|
+
return ((cls == Activation and node.framework_attr[ACTIVATION] == SIGMOID) or
|
481
|
+
cls == tf.nn.sigmoid or
|
482
|
+
cls == TFOpLambda and SIGMOID in node.framework_attr[keras_constants.FUNCTION])
|
483
|
+
|
484
|
+
@staticmethod
|
485
|
+
def is_softmax(node: BaseNode):
|
486
|
+
cls = node.layer_class
|
487
|
+
return ((cls == Activation and node.framework_attr[ACTIVATION] == SOFTMAX) or
|
488
|
+
cls in [tf.nn.softmax, tf.keras.layers.Softmax] or
|
489
|
+
cls == TFOpLambda and SOFTMAX in node.framework_attr[keras_constants.FUNCTION])
|
490
|
+
|
495
491
|
def get_hessian_scores_calculator(self,
|
496
492
|
graph: Graph,
|
497
493
|
input_images: List[Any],
|
@@ -427,10 +427,8 @@ class PytorchImplementation(FrameworkImplementation):
|
|
427
427
|
Returns: True if the node should be considered an interest point, False otherwise.
|
428
428
|
"""
|
429
429
|
|
430
|
-
|
431
|
-
|
432
|
-
return True
|
433
|
-
return False
|
430
|
+
return any(node.is_match_type(_type) for _type in [Conv2d, Linear, ConvTranspose2d, Sigmoid, sigmoid, Softmax,
|
431
|
+
softmax, operator.add, add, cat, operator.concat])
|
434
432
|
|
435
433
|
def get_mp_node_distance_fn(self, n: BaseNode,
|
436
434
|
compute_distance_fn: Callable = None,
|
@@ -1,80 +0,0 @@
|
|
1
|
-
# Copyright 2024 Sony Semiconductor Israel, Inc. All rights reserved.
|
2
|
-
#
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
-
# you may not use this file except in compliance with the License.
|
5
|
-
# You may obtain a copy of the License at
|
6
|
-
#
|
7
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
-
#
|
9
|
-
# Unless required by applicable law or agreed to in writing, software
|
10
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
-
# See the License for the specific language governing permissions and
|
13
|
-
# limitations under the License.
|
14
|
-
# ==============================================================================
|
15
|
-
import numpy as np
|
16
|
-
|
17
|
-
from model_compression_toolkit.core import ResourceUtilization, FrameworkInfo
|
18
|
-
from model_compression_toolkit.core.common import Graph
|
19
|
-
from model_compression_toolkit.logger import Logger
|
20
|
-
from model_compression_toolkit.target_platform_capabilities.target_platform import TargetPlatformCapabilities
|
21
|
-
|
22
|
-
|
23
|
-
def filter_candidates_for_mixed_precision(graph: Graph,
|
24
|
-
target_resource_utilization: ResourceUtilization,
|
25
|
-
fw_info: FrameworkInfo,
|
26
|
-
tpc: TargetPlatformCapabilities):
|
27
|
-
"""
|
28
|
-
Filters out candidates in case of mixed precision search for only weights or activation compression.
|
29
|
-
For instance, if running only weights compression - filters out candidates of activation configurable nodes
|
30
|
-
such that only a single candidate would remain, with the bitwidth equal to the one defined in the matching layer's
|
31
|
-
base config in the TPC.
|
32
|
-
|
33
|
-
Note" This function modifies the graph inplace!
|
34
|
-
|
35
|
-
Args:
|
36
|
-
graph: A graph representation of the model to be quantized.
|
37
|
-
target_resource_utilization: The resource utilization of the target device.
|
38
|
-
fw_info: fw_info: Information needed for quantization about the specific framework.
|
39
|
-
tpc: TargetPlatformCapabilities object that describes the desired inference target platform.
|
40
|
-
|
41
|
-
"""
|
42
|
-
|
43
|
-
no_total_restrictions = (target_resource_utilization.total_memory == np.inf and
|
44
|
-
target_resource_utilization.bops == np.inf)
|
45
|
-
|
46
|
-
if target_resource_utilization.weights_memory < np.inf:
|
47
|
-
if target_resource_utilization.activation_memory == np.inf and no_total_restrictions:
|
48
|
-
# Running mixed precision for weights compression only -
|
49
|
-
# filter out candidates activation only configurable node
|
50
|
-
weights_conf = graph.get_weights_configurable_nodes(fw_info)
|
51
|
-
for n in graph.get_activation_configurable_nodes():
|
52
|
-
if n not in weights_conf:
|
53
|
-
base_cfg_nbits = n.get_qco(tpc).base_config.activation_n_bits
|
54
|
-
filtered_conf = [c for c in n.candidates_quantization_cfg if
|
55
|
-
c.activation_quantization_cfg.enable_activation_quantization and
|
56
|
-
c.activation_quantization_cfg.activation_n_bits == base_cfg_nbits]
|
57
|
-
|
58
|
-
if len(filtered_conf) != 1:
|
59
|
-
Logger.critical(f"Running weights only mixed precision failed on layer {n.name} with multiple "
|
60
|
-
f"activation quantization configurations.") # pragma: no cover
|
61
|
-
n.candidates_quantization_cfg = filtered_conf
|
62
|
-
|
63
|
-
elif target_resource_utilization.activation_memory < np.inf:
|
64
|
-
if target_resource_utilization.weights_memory == np.inf and no_total_restrictions:
|
65
|
-
# Running mixed precision for activation compression only -
|
66
|
-
# filter out candidates weights only configurable node
|
67
|
-
activation_conf = graph.get_activation_configurable_nodes()
|
68
|
-
for n in graph.get_weights_configurable_nodes(fw_info):
|
69
|
-
if n not in activation_conf:
|
70
|
-
kernel_attr = graph.fw_info.get_kernel_op_attributes(n.type)[0]
|
71
|
-
base_cfg_nbits = n.get_qco(tpc).base_config.attr_weights_configs_mapping[kernel_attr].weights_n_bits
|
72
|
-
filtered_conf = [c for c in n.candidates_quantization_cfg if
|
73
|
-
c.weights_quantization_cfg.get_attr_config(
|
74
|
-
kernel_attr).enable_weights_quantization and
|
75
|
-
c.weights_quantization_cfg.get_attr_config(
|
76
|
-
kernel_attr).weights_n_bits == base_cfg_nbits]
|
77
|
-
if len(filtered_conf) != 1:
|
78
|
-
Logger.critical(f"Running activation only mixed precision failed on layer {n.name} with multiple "
|
79
|
-
f"weights quantization configurations.") # pragma: no cover
|
80
|
-
n.candidates_quantization_cfg = filtered_conf
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|