mct-nightly 2.4.0.20250630.629__tar.gz → 2.4.0.20250702.605__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.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/PKG-INFO +16 -16
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/README.md +15 -15
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/mct_nightly.egg-info/PKG-INFO +16 -16
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/mct_nightly.egg-info/SOURCES.txt +10 -7
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/__init__.py +1 -1
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/back2framework/base_model_builder.py +0 -1
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/framework_info.py +5 -32
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/fusion/graph_fuser.py +12 -9
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/graph/base_graph.py +20 -37
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/graph/base_node.py +13 -106
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/graph/functional_node.py +1 -1
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/graph/virtual_activation_weights_node.py +12 -10
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/mixed_precision/configurable_quantizer_utils.py +14 -9
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/mixed_precision/mixed_precision_candidates_filter.py +9 -15
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/mixed_precision/sensitivity_eval/metric_calculators.py +2 -3
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/network_editors/__init__.py +8 -1
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/network_editors/actions.py +4 -96
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/quantization/bit_width_config.py +10 -10
- mct_nightly-2.4.0.20250702.605/model_compression_toolkit/core/common/quantization/candidate_node_quantization_config.py +144 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/quantization/filter_nodes_candidates.py +1 -1
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/quantization/node_quantization_config.py +55 -179
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/quantization/quantization_fn_selection.py +21 -1
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/quantization/quantization_params_generation/__init__.py +8 -5
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/quantization/quantization_params_generation/qparams_activations_computation.py +76 -70
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/quantization/quantization_params_generation/qparams_computation.py +10 -12
- mct_nightly-2.4.0.20250702.605/model_compression_toolkit/core/common/quantization/quantization_params_generation/qparams_weights_computation.py +94 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/quantization/quantize_node.py +8 -8
- mct_nightly-2.4.0.20250702.605/model_compression_toolkit/core/common/quantization/set_node_quantization_config.py +199 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/statistics_correction/apply_activation_bias_correction_to_graph.py +2 -5
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/statistics_correction/apply_bias_correction_to_graph.py +2 -4
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/statistics_correction/apply_second_moment_correction_to_graph.py +5 -6
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/statistics_correction/compute_activation_bias_correction_of_graph.py +12 -6
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/statistics_correction/compute_bias_correction_of_graph.py +1 -1
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/substitutions/batchnorm_reconstruction.py +1 -2
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/substitutions/shift_negative_activation.py +33 -33
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/visualization/tensorboard_writer.py +2 -4
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/graph_prep_runner.py +31 -20
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/keras/back2framework/quantized_model_builder.py +5 -2
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/keras/default_framework_info.py +0 -11
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/input_scaling.py +9 -6
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/shift_negative_activation.py +3 -1
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/keras/hessian/weights_hessian_scores_calculator_keras.py +1 -1
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/keras/mixed_precision/configurable_activation_quantizer.py +2 -1
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/keras/pruning/pruning_keras_implementation.py +1 -1
- mct_nightly-2.4.0.20250702.605/model_compression_toolkit/core/keras/quantization/activation_quantization_fn_factory.py +47 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/keras/statistics_correction/keras_compute_activation_bias_correction_of_graph.py +3 -2
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/pytorch/back2framework/quantized_model_builder.py +5 -2
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/pytorch/default_framework_info.py +0 -12
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/relu_bound_to_power_of_2.py +5 -5
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/shift_negative_activation.py +2 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/pytorch/hessian/weights_hessian_scores_calculator_pytorch.py +1 -1
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/pytorch/mixed_precision/configurable_activation_quantizer.py +2 -1
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/pytorch/pruning/pruning_pytorch_implementation.py +1 -1
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/pytorch/pytorch_implementation.py +1 -1
- mct_nightly-2.4.0.20250702.605/model_compression_toolkit/core/pytorch/quantization/activation_quantization_fn_factory.py +45 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/pytorch/statistics_correction/pytorch_compute_activation_bias_correction_of_graph.py +3 -2
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/runner.py +1 -1
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/exporter/model_exporter/pytorch/fakely_quant_onnx_pytorch_exporter.py +7 -3
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/exporter/model_exporter/pytorch/fakely_quant_torchscript_pytorch_exporter.py +1 -1
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/exporter/model_exporter/pytorch/pytorch_export_facade.py +12 -3
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/pruning/keras/pruning_facade.py +5 -9
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/pruning/pytorch/pruning_facade.py +2 -5
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/ptq/keras/quantization_facade.py +1 -1
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/qat/keras/quantization_facade.py +1 -1
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/qat/pytorch/quantization_facade.py +1 -1
- mct_nightly-2.4.0.20250702.605/model_compression_toolkit/quantization_preparation/__init__.py +14 -0
- mct_nightly-2.4.0.20250702.605/model_compression_toolkit/quantization_preparation/load_fqc.py +223 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/target_platform_capabilities/constants.py +1 -1
- mct_nightly-2.4.0.20250630.629/model_compression_toolkit/core/common/quantization/candidate_node_quantization_config.py +0 -84
- mct_nightly-2.4.0.20250630.629/model_compression_toolkit/core/common/quantization/quantization_params_fn_selection.py +0 -78
- mct_nightly-2.4.0.20250630.629/model_compression_toolkit/core/common/quantization/quantization_params_generation/qparams_weights_computation.py +0 -70
- mct_nightly-2.4.0.20250630.629/model_compression_toolkit/core/common/quantization/set_node_quantization_config.py +0 -504
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/LICENSE.md +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/mct_nightly.egg-info/dependency_links.txt +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/mct_nightly.egg-info/requires.txt +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/mct_nightly.egg-info/top_level.txt +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/constants.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/analyzer.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/back2framework/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/base_substitutions.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/collectors/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/collectors/base_collector.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/collectors/histogram_collector.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/collectors/mean_collector.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/collectors/min_max_per_channel_collector.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/collectors/statistics_collector.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/collectors/weighted_histogram_collector.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/framework_implementation.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/fusion/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/fusion/fusing_info.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/graph/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/graph/edge.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/graph/graph_matchers.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/graph/graph_searches.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/graph/memory_graph/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/graph/memory_graph/bipartite_graph.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/graph/memory_graph/compute_graph_max_cut.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/graph/memory_graph/cut.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/graph/memory_graph/max_cut_astar.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/graph/memory_graph/memory_element.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/graph/memory_graph/memory_graph.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/hessian/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/hessian/hessian_info_service.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/hessian/hessian_info_utils.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/hessian/hessian_scores_calculator.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/hessian/hessian_scores_request.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/matchers/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/matchers/base_graph_filter.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/matchers/base_matcher.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/matchers/edge_matcher.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/matchers/function.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/matchers/node_matcher.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/matchers/walk_matcher.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/memory_computation.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/mixed_precision/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/mixed_precision/bit_width_setter.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/mixed_precision/configurable_quant_id.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/mixed_precision/mixed_precision_quantization_config.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/mixed_precision/mixed_precision_ru_helper.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/mixed_precision/mixed_precision_search_facade.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/mixed_precision/mixed_precision_search_manager.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/mixed_precision/resource_utilization_tools/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/mixed_precision/resource_utilization_tools/resource_utilization.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/mixed_precision/resource_utilization_tools/resource_utilization_calculator.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/mixed_precision/resource_utilization_tools/resource_utilization_data.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/mixed_precision/search_methods/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/mixed_precision/search_methods/linear_programming.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/mixed_precision/sensitivity_eval/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/mixed_precision/sensitivity_eval/sensitivity_evaluation.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/mixed_precision/sensitivity_eval/set_layer_to_bitwidth.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/mixed_precision/solution_refinement_procedure.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/model_builder_mode.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/model_collector.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/model_validation.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/network_editors/edit_network.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/network_editors/node_filters.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/node_prior_info.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/pruning/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/pruning/channels_grouping.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/pruning/greedy_mask_calculator.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/pruning/importance_metrics/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/pruning/importance_metrics/base_importance_metric.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/pruning/importance_metrics/importance_metric_factory.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/pruning/importance_metrics/lfh_importance_metric.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/pruning/mask/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/pruning/mask/per_channel_mask.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/pruning/mask/per_simd_group_mask.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/pruning/memory_calculator.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/pruning/prune_graph.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/pruning/pruner.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/pruning/pruning_config.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/pruning/pruning_framework_implementation.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/pruning/pruning_info.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/pruning/pruning_section.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/quantization/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/quantization/core_config.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/quantization/debug_config.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/quantization/quantization_config.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/quantization/quantization_params_generation/error_functions.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/quantization/quantization_params_generation/lut_kmeans_params.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/quantization/quantization_params_generation/outlier_filter.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/quantization/quantization_params_generation/power_of_two_selection.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/quantization/quantization_params_generation/qparams_search.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/quantization/quantization_params_generation/symmetric_selection.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/quantization/quantization_params_generation/uniform_selection.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/quantization/quantize_graph_weights.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/quantization/quantizers/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/quantization/quantizers/lut_kmeans_quantizer.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/quantization/quantizers/quantizers_helpers.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/quantization/quantizers/uniform_quantizers.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/similarity_analyzer.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/statistics_correction/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/statistics_correction/statistics_correction.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/substitutions/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/substitutions/apply_substitutions.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/substitutions/batchnorm_folding.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/substitutions/batchnorm_refusing.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/substitutions/linear_collapsing.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/substitutions/linear_collapsing_substitution.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/substitutions/remove_identity.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/substitutions/residual_collapsing.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/substitutions/scale_equalization.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/substitutions/softmax_shift.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/substitutions/virtual_activation_weights_composition.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/substitutions/weights_activation_split.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/user_info.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/visualization/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/visualization/final_config_visualizer.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/common/visualization/nn_visualizer.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/keras/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/keras/back2framework/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/keras/back2framework/factory_model_builder.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/keras/back2framework/float_model_builder.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/keras/back2framework/instance_builder.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/keras/back2framework/keras_model_builder.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/keras/back2framework/mixed_precision_model_builder.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/keras/constants.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/keras/custom_layer_validation.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/keras/data_util.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/keras/graph_substitutions/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/activation_decomposition.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/batchnorm_folding.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/batchnorm_reconstruction.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/batchnorm_refusing.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/concat_threshold_update.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/conv_funcs_to_layer.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/dwconv_to_conv.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/linear_collapsing.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/matmul_substitution.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/multi_head_attention_decomposition.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/relu_bound_to_power_of_2.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/remove_identity.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/residual_collapsing.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/scale_equalization.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/separableconv_decomposition.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/sigmoid_mul_to_swish.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/softmax_shift.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/virtual_activation_weights_composition.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/weights_activation_split.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/keras/hessian/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/keras/hessian/activation_hessian_scores_calculator_keras.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/keras/hessian/hessian_scores_calculator_keras.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/keras/keras_implementation.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/keras/keras_model_validation.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/keras/keras_node_prior_info.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/keras/mixed_precision/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/keras/mixed_precision/configurable_weights_quantizer.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/keras/pruning/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629/model_compression_toolkit/core/keras/quantizer → mct_nightly-2.4.0.20250702.605/model_compression_toolkit/core/keras/quantization}/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629/model_compression_toolkit/core/keras/quantizer → mct_nightly-2.4.0.20250702.605/model_compression_toolkit/core/keras/quantization}/fake_quant_builder.py +0 -0
- {mct_nightly-2.4.0.20250630.629/model_compression_toolkit/core/keras/quantizer → mct_nightly-2.4.0.20250702.605/model_compression_toolkit/core/keras/quantization}/lut_fake_quant.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/keras/reader/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/keras/reader/common.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/keras/reader/connectivity_handler.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/keras/reader/nested_model/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/keras/reader/nested_model/edges_merger.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/keras/reader/nested_model/nested_model_handler.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/keras/reader/nested_model/nodes_merger.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/keras/reader/nested_model/outputs_merger.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/keras/reader/node_builder.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/keras/reader/reader.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/keras/resource_utilization_data_facade.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/keras/statistics_correction/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/keras/statistics_correction/apply_second_moment_correction.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/keras/tf_tensor_numpy.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/keras/visualization/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/pytorch/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/pytorch/back2framework/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/pytorch/back2framework/factory_model_builder.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/pytorch/back2framework/float_model_builder.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/pytorch/back2framework/instance_builder.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/pytorch/back2framework/mixed_precision_model_builder.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/pytorch/back2framework/pytorch_model_builder.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/pytorch/back2framework/quantization_wrapper/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/pytorch/back2framework/quantization_wrapper/quantized_layer_wrapper.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/pytorch/back2framework/quantization_wrapper/wrapper_quantize_config.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/pytorch/constants.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/pytorch/data_util.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/pytorch/graph_substitutions/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/batchnorm_folding.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/batchnorm_reconstruction.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/batchnorm_refusing.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/concat_threshold_update.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/const_holder_conv.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/convtranspose_dynamic_padding.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/functional_batch_norm.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/functional_layer_norm.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/functional_linear.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/linear_collapsing.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/matmul_decomposition.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/multi_head_attention_decomposition.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/remove_identity.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/reshape_with_static_shapes.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/residual_collapsing.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/scale_equalization.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/scaled_dot_product_attention.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/softmax_shift.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/transform_function_call_method.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/virtual_activation_weights_composition.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/weights_activation_split.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/pytorch/hessian/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/pytorch/hessian/activation_hessian_scores_calculator_pytorch.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/pytorch/hessian/hessian_scores_calculator_pytorch.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/pytorch/mixed_precision/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/pytorch/mixed_precision/configurable_weights_quantizer.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/pytorch/pruning/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/pytorch/pytorch_device_config.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/pytorch/pytorch_node_prior_info.py +0 -0
- {mct_nightly-2.4.0.20250630.629/model_compression_toolkit/core/pytorch/quantizer → mct_nightly-2.4.0.20250702.605/model_compression_toolkit/core/pytorch/quantization}/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629/model_compression_toolkit/core/pytorch/quantizer → mct_nightly-2.4.0.20250702.605/model_compression_toolkit/core/pytorch/quantization}/fake_quant_builder.py +0 -0
- {mct_nightly-2.4.0.20250630.629/model_compression_toolkit/core/pytorch/quantizer → mct_nightly-2.4.0.20250702.605/model_compression_toolkit/core/pytorch/quantization}/lut_fake_quant.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/pytorch/reader/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/pytorch/reader/graph_builders.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/pytorch/reader/node_holders.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/pytorch/reader/reader.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/pytorch/resource_utilization_data_facade.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/pytorch/statistics_correction/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/pytorch/statistics_correction/apply_second_moment_correction.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/pytorch/utils.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/core/quantization_prep_runner.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/data_generation/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/data_generation/common/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/data_generation/common/constants.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/data_generation/common/data_generation.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/data_generation/common/data_generation_config.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/data_generation/common/enums.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/data_generation/common/image_pipeline.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/data_generation/common/model_info_exctractors.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/data_generation/common/optimization_utils.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/data_generation/keras/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/data_generation/keras/constants.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/data_generation/keras/image_operations.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/data_generation/keras/image_pipeline.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/data_generation/keras/keras_data_generation.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/data_generation/keras/model_info_exctractors.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/data_generation/keras/optimization_functions/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/data_generation/keras/optimization_functions/batchnorm_alignment_functions.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/data_generation/keras/optimization_functions/bn_layer_weighting_functions.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/data_generation/keras/optimization_functions/image_initilization.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/data_generation/keras/optimization_functions/lr_scheduler.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/data_generation/keras/optimization_functions/output_loss_functions.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/data_generation/keras/optimization_functions/scheduler_step_functions.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/data_generation/keras/optimization_utils.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/data_generation/pytorch/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/data_generation/pytorch/constants.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/data_generation/pytorch/image_operations.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/data_generation/pytorch/image_pipeline.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/data_generation/pytorch/model_info_exctractors.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/data_generation/pytorch/optimization_functions/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/data_generation/pytorch/optimization_functions/batchnorm_alignment_functions.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/data_generation/pytorch/optimization_functions/bn_layer_weighting_functions.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/data_generation/pytorch/optimization_functions/image_initilization.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/data_generation/pytorch/optimization_functions/lr_scheduler.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/data_generation/pytorch/optimization_functions/output_loss_functions.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/data_generation/pytorch/optimization_functions/scheduler_step_functions.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/data_generation/pytorch/optimization_utils.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/data_generation/pytorch/pytorch_data_generation.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/defaultdict.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/exporter/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/exporter/model_exporter/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/exporter/model_exporter/fw_agonstic/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/exporter/model_exporter/fw_agonstic/exporter.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/exporter/model_exporter/fw_agonstic/quantization_format.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/exporter/model_exporter/keras/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/exporter/model_exporter/keras/base_keras_exporter.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/exporter/model_exporter/keras/export_serialization_format.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/exporter/model_exporter/keras/fakely_quant_keras_exporter.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/exporter/model_exporter/keras/fakely_quant_tflite_exporter.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/exporter/model_exporter/keras/int8_tflite_exporter.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/exporter/model_exporter/keras/keras_export_facade.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/exporter/model_exporter/keras/mctq_keras_exporter.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/exporter/model_exporter/pytorch/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/exporter/model_exporter/pytorch/base_pytorch_exporter.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/exporter/model_exporter/pytorch/export_serialization_format.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/exporter/model_wrapper/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/exporter/model_wrapper/fw_agnostic/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/exporter/model_wrapper/fw_agnostic/get_inferable_quantizers.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/exporter/model_wrapper/keras/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/exporter/model_wrapper/keras/builder/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/exporter/model_wrapper/keras/builder/fully_quantized_model_builder.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/exporter/model_wrapper/keras/builder/node_to_quantizer.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/exporter/model_wrapper/keras/validate_layer.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/exporter/model_wrapper/pytorch/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/exporter/model_wrapper/pytorch/builder/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/exporter/model_wrapper/pytorch/builder/fully_quantized_model_builder.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/exporter/model_wrapper/pytorch/builder/node_to_quantizer.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/exporter/model_wrapper/pytorch/validate_layer.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/gptq/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/gptq/common/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/gptq/common/gptq_config.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/gptq/common/gptq_constants.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/gptq/common/gptq_framework_implementation.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/gptq/common/gptq_graph.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/gptq/common/gptq_training.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/gptq/common/gradual_activation_quantization.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/gptq/common/regularization_factory.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/gptq/keras/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/gptq/keras/gptq_keras_implementation.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/gptq/keras/gptq_loss.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/gptq/keras/gptq_training.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/gptq/keras/graph_info.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/gptq/keras/quantization_facade.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/gptq/keras/quantizer/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/gptq/keras/quantizer/base_keras_gptq_quantizer.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/gptq/keras/quantizer/quant_utils.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/gptq/keras/quantizer/quantization_builder.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/gptq/keras/quantizer/soft_rounding/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/gptq/keras/quantizer/soft_rounding/soft_quantizer_reg.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/gptq/keras/quantizer/soft_rounding/symmetric_soft_quantizer.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/gptq/keras/quantizer/soft_rounding/uniform_soft_quantizer.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/gptq/keras/quantizer/ste_rounding/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/gptq/keras/quantizer/ste_rounding/symmetric_ste.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/gptq/pytorch/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/gptq/pytorch/gptq_loss.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/gptq/pytorch/gptq_pytorch_implementation.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/gptq/pytorch/gptq_training.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/gptq/pytorch/graph_info.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/gptq/pytorch/quantization_facade.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/gptq/pytorch/quantizer/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/gptq/pytorch/quantizer/base_pytorch_gptq_quantizer.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/gptq/pytorch/quantizer/quant_utils.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/gptq/pytorch/quantizer/quantization_builder.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/gptq/pytorch/quantizer/soft_rounding/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/gptq/pytorch/quantizer/soft_rounding/soft_quantizer_reg.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/gptq/pytorch/quantizer/soft_rounding/symmetric_soft_quantizer.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/gptq/pytorch/quantizer/soft_rounding/uniform_soft_quantizer.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/gptq/pytorch/quantizer/ste_rounding/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/gptq/pytorch/quantizer/ste_rounding/symmetric_ste.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/gptq/runner.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/logger.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/metadata.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/pruning/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/pruning/keras/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/pruning/pytorch/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/ptq/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/ptq/keras/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/ptq/pytorch/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/ptq/pytorch/quantization_facade.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/ptq/runner.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/qat/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/qat/common/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/qat/common/qat_config.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/qat/keras/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/qat/keras/quantizer/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/qat/keras/quantizer/base_keras_qat_weight_quantizer.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/qat/keras/quantizer/lsq/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/qat/keras/quantizer/lsq/symmetric_lsq.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/qat/keras/quantizer/lsq/uniform_lsq.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/qat/keras/quantizer/quant_utils.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/qat/keras/quantizer/quantization_builder.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/qat/keras/quantizer/ste_rounding/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/qat/keras/quantizer/ste_rounding/symmetric_ste.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/qat/keras/quantizer/ste_rounding/uniform_ste.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/qat/pytorch/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/qat/pytorch/quantizer/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/qat/pytorch/quantizer/base_pytorch_qat_weight_quantizer.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/qat/pytorch/quantizer/lsq/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/qat/pytorch/quantizer/lsq/symmetric_lsq.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/qat/pytorch/quantizer/lsq/uniform_lsq.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/qat/pytorch/quantizer/quantization_builder.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/qat/pytorch/quantizer/ste_rounding/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/qat/pytorch/quantizer/ste_rounding/symmetric_ste.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/qat/pytorch/quantizer/ste_rounding/uniform_ste.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/target_platform_capabilities/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/target_platform_capabilities/immutable.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/target_platform_capabilities/schema/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/target_platform_capabilities/schema/mct_current_schema.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/target_platform_capabilities/schema/schema_compatability.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/target_platform_capabilities/schema/schema_functions.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/target_platform_capabilities/schema/v1.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/target_platform_capabilities/schema/v2.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/target_platform_capabilities/targetplatform2framework/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/target_platform_capabilities/targetplatform2framework/attach2fw.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/target_platform_capabilities/targetplatform2framework/attach2keras.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/target_platform_capabilities/targetplatform2framework/attach2pytorch.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/target_platform_capabilities/targetplatform2framework/attribute_filter.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/target_platform_capabilities/targetplatform2framework/current_tpc.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/target_platform_capabilities/targetplatform2framework/framework_quantization_capabilities.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/target_platform_capabilities/targetplatform2framework/framework_quantization_capabilities_component.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/target_platform_capabilities/targetplatform2framework/layer_filter_params.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/target_platform_capabilities/targetplatform2framework/operations_to_layers.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/target_platform_capabilities/tpc_io_handler.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/target_platform_capabilities/tpc_models/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/target_platform_capabilities/tpc_models/get_target_platform_capabilities.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/latest/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1/tpc.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/latest/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/v1/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/v1/tpc.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/latest/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/v1/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/v1/tpc.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/trainable_infrastructure/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/trainable_infrastructure/common/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/trainable_infrastructure/common/annealing_schedulers.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/trainable_infrastructure/common/base_trainable_quantizer.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/trainable_infrastructure/common/constants.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/trainable_infrastructure/common/get_quantizer_config.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/trainable_infrastructure/common/get_quantizers.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/trainable_infrastructure/common/quant_utils.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/trainable_infrastructure/common/trainable_quantizer_config.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/trainable_infrastructure/common/training_method.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/trainable_infrastructure/common/util.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/trainable_infrastructure/keras/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/trainable_infrastructure/keras/activation_quantizers/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/trainable_infrastructure/keras/activation_quantizers/base_activation_quantizer.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/trainable_infrastructure/keras/activation_quantizers/lsq/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/trainable_infrastructure/keras/activation_quantizers/lsq/symmetric_lsq.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/trainable_infrastructure/keras/activation_quantizers/lsq/uniform_lsq.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/trainable_infrastructure/keras/activation_quantizers/ste/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/trainable_infrastructure/keras/activation_quantizers/ste/symmetric_ste.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/trainable_infrastructure/keras/activation_quantizers/ste/uniform_ste.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/trainable_infrastructure/keras/annealing_schedulers.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/trainable_infrastructure/keras/base_keras_quantizer.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/trainable_infrastructure/keras/config_serialization.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/trainable_infrastructure/keras/load_model.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/trainable_infrastructure/keras/quantize_wrapper.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/trainable_infrastructure/keras/quantizer_utils.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/trainable_infrastructure/pytorch/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/trainable_infrastructure/pytorch/activation_quantizers/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/trainable_infrastructure/pytorch/activation_quantizers/base_activation_quantizer.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/trainable_infrastructure/pytorch/activation_quantizers/lsq/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/trainable_infrastructure/pytorch/activation_quantizers/lsq/symmetric_lsq.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/trainable_infrastructure/pytorch/activation_quantizers/lsq/uniform_lsq.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/trainable_infrastructure/pytorch/activation_quantizers/ste/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/trainable_infrastructure/pytorch/activation_quantizers/ste/symmetric_ste.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/trainable_infrastructure/pytorch/activation_quantizers/ste/uniform_ste.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/trainable_infrastructure/pytorch/annealing_schedulers.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/trainable_infrastructure/pytorch/base_pytorch_quantizer.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/trainable_infrastructure/pytorch/quantizer_utils.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/verify_packages.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/xquant/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/xquant/common/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/xquant/common/constants.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/xquant/common/core_report_generator.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/xquant/common/dataset_utils.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/xquant/common/framework_report_utils.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/xquant/common/model_analyzer.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/xquant/common/model_folding_utils.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/xquant/common/similarity_calculator.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/xquant/common/similarity_functions.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/xquant/common/tensorboard_utils.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/xquant/common/xquant_config.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/xquant/keras/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/xquant/keras/dataset_utils.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/xquant/keras/facade_xquant_report.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/xquant/keras/keras_report_utils.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/xquant/keras/model_analyzer.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/xquant/keras/similarity_functions.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/xquant/keras/tensorboard_utils.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/xquant/pytorch/__init__.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/xquant/pytorch/dataset_utils.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/xquant/pytorch/facade_xquant_report.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/xquant/pytorch/model_analyzer.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/xquant/pytorch/pytorch_report_utils.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/xquant/pytorch/similarity_functions.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/model_compression_toolkit/xquant/pytorch/tensorboard_utils.py +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/setup.cfg +0 -0
- {mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/setup.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mct-nightly
|
|
3
|
-
Version: 2.4.0.
|
|
3
|
+
Version: 2.4.0.20250702.605
|
|
4
4
|
Summary: A Model Compression Toolkit for neural networks
|
|
5
5
|
Author-email: ssi-dnn-dev@sony.com
|
|
6
6
|
Classifier: Programming Language :: Python :: 3
|
|
@@ -35,7 +35,7 @@ Dynamic: summary
|
|
|
35
35
|
|
|
36
36
|
<div align="center" markdown="1">
|
|
37
37
|
<p>
|
|
38
|
-
<a href="https://
|
|
38
|
+
<a href="https://sonysemiconductorsolutions.github.io/mct-model-optimization/" target="_blank">
|
|
39
39
|
<img src="https://raw.githubusercontent.com/sony/model_optimization/refs/heads/main/docsrc/images/mctHeader1-cropped.svg" width="1000"></a>
|
|
40
40
|
</p>
|
|
41
41
|
|
|
@@ -52,9 +52,9 @@ ______________________________________________________________________
|
|
|
52
52
|
<a href="#license">License</a>
|
|
53
53
|
</p>
|
|
54
54
|
<p align="center">
|
|
55
|
-
<a href="https://
|
|
56
|
-
<a href="https://
|
|
57
|
-
<a href="https://
|
|
55
|
+
<a href="https://sonysemiconductorsolutions.github.io/mct-model-optimization#prerequisites"><img src="https://img.shields.io/badge/pytorch-2.3%20%7C%202.4%20%7C%202.5%20%7C%202.6-blue" /></a>
|
|
56
|
+
<a href="https://sonysemiconductorsolutions.github.io/mct-model-optimization#prerequisites"><img src="https://img.shields.io/badge/tensorflow-2.14%20%7C%202.15-blue" /></a>
|
|
57
|
+
<a href="https://sonysemiconductorsolutions.github.io/mct-model-optimization#prerequisites"><img src="https://img.shields.io/badge/python-3.9%20%7C%203.10%20%7C%203.11%20%7C%203.12-blue" /></a>
|
|
58
58
|
<a href="https://github.com/sony/model_optimization/releases"><img src="https://img.shields.io/github/v/release/sony/model_optimization" /></a>
|
|
59
59
|
<a href="https://github.com/sony/model_optimization/blob/main/LICENSE.md"><img src="https://img.shields.io/badge/license-Apache%202.0-blue" /></a>
|
|
60
60
|
|
|
@@ -85,9 +85,9 @@ MCT supports various quantization methods as appears below.
|
|
|
85
85
|
|
|
86
86
|
Quantization Method | Complexity | Computational Cost | API | Tutorial
|
|
87
87
|
-------------------- | -----------|--------------------|---------|--------
|
|
88
|
-
PTQ (Post Training Quantization) | Low | Low (~1-10 CPU minutes) | [PyTorch API](https://
|
|
89
|
-
GPTQ (parameters fine-tuning using gradients) | Moderate | Moderate (~1-3 GPU hours) | [PyTorch API](https://
|
|
90
|
-
QAT (Quantization Aware Training) | High | High (~12-36 GPU hours) | [QAT API](https://
|
|
88
|
+
PTQ (Post Training Quantization) | Low | Low (~1-10 CPU minutes) | [PyTorch API](https://sonysemiconductorsolutions.github.io/mct-model-optimization/api/api_docs/methods/pytorch_post_training_quantization.html) / [Keras API](https://sonysemiconductorsolutions.github.io/mct-model-optimization/api/api_docs/methods/keras_post_training_quantization.html) | <a href="https://colab.research.google.com/github/sony/model_optimization/blob/main/tutorials/notebooks/mct_features_notebooks/pytorch/example_pytorch_post_training_quantization.ipynb"><img src="https://img.shields.io/badge/Pytorch-green"/></a> <a href="https://colab.research.google.com/github/sony/model_optimization/blob/main/tutorials/notebooks/mct_features_notebooks/keras/example_keras_post-training_quantization.ipynb"><img src="https://img.shields.io/badge/Keras-green"/></a>
|
|
89
|
+
GPTQ (parameters fine-tuning using gradients) | Moderate | Moderate (~1-3 GPU hours) | [PyTorch API](https://sonysemiconductorsolutions.github.io/mct-model-optimization/api/api_docs/methods/pytorch_gradient_post_training_quantization.html) / [Keras API](https://sonysemiconductorsolutions.github.io/mct-model-optimization/api/api_docs/methods/keras_gradient_post_training_quantization.html) | <a href="https://colab.research.google.com/github/sony/model_optimization/blob/main/tutorials/notebooks/mct_features_notebooks/pytorch/example_pytorch_mobilenet_gptq.ipynb"><img src="https://img.shields.io/badge/PyTorch-green"/></a> <a href="https://colab.research.google.com/github/sony/model_optimization/blob/main/tutorials/notebooks/mct_features_notebooks/keras/example_keras_mobilenet_gptq.ipynb"><img src="https://img.shields.io/badge/Keras-green"/></a>
|
|
90
|
+
QAT (Quantization Aware Training) | High | High (~12-36 GPU hours) | [QAT API](https://sonysemiconductorsolutions.github.io/mct-model-optimization/api/api_docs/index.html#qat) | <a href="https://colab.research.google.com/github/sony/model_optimization/blob/main/tutorials/notebooks/mct_features_notebooks/keras/example_keras_qat.ipynb"><img src="https://img.shields.io/badge/Keras-green"/></a>
|
|
91
91
|
|
|
92
92
|
</p>
|
|
93
93
|
</div>
|
|
@@ -130,13 +130,13 @@ Generates synthetic images based on the statistics stored in the model's batch n
|
|
|
130
130
|
The specifications of the method are detailed in the paper: _"**Data Generation for Hardware-Friendly Post-Training Quantization**"_ [5].
|
|
131
131
|
__________________________________________________________________________________________________________
|
|
132
132
|
### Structured Pruning [](https://colab.research.google.com/github/sony/model_optimization/blob/main/tutorials/notebooks/mct_features_notebooks/pytorch/example_pytorch_pruning_mnist.ipynb)
|
|
133
|
-
Reduces model size/complexity and ensures better channels utilization by removing redundant input channels from layers and reconstruction of layer weights. Read more ([Pytorch API](https://
|
|
133
|
+
Reduces model size/complexity and ensures better channels utilization by removing redundant input channels from layers and reconstruction of layer weights. Read more ([Pytorch API](https://sonysemiconductorsolutions.github.io/mct-model-optimization/api/api_docs/methods/pytorch_pruning_experimental.html) / [Keras API](https://sonysemiconductorsolutions.github.io/mct-model-optimization/api/api_docs/methods/keras_pruning_experimental.html)).
|
|
134
134
|
__________________________________________________________________________________________________________
|
|
135
135
|
### **Debugging and Visualization**
|
|
136
136
|
**🎛️ Network Editor (Modify Quantization Configurations)** [](https://colab.research.google.com/github/sony/model_optimization/blob/main/tutorials/notebooks/mct_features_notebooks/keras/example_keras_network_editor.ipynb).
|
|
137
137
|
Modify your model's quantization configuration for specific layers or apply a custom edit rule (e.g adjust layer's bit-width) using MCT’s network editor.
|
|
138
138
|
|
|
139
|
-
**🖥️ Visualization**. Observe useful information for troubleshooting the quantized model's performance using TensorBoard. [Read more](https://
|
|
139
|
+
**🖥️ Visualization**. Observe useful information for troubleshooting the quantized model's performance using TensorBoard. [Read more](https://sonysemiconductorsolutions.github.io/mct-model-optimization/guidelines/visualization.html).
|
|
140
140
|
|
|
141
141
|
**🔑 XQuant (Explainable Quantization)** [](https://colab.research.google.com/github/sony/model_optimization/blob/main/tutorials/notebooks/mct_features_notebooks/pytorch/example_pytorch_xquant.ipynb). Get valuable insights regarding the quality and success of the quantization process of your model. The report includes histograms and similarity metrics between the original float model and the quantized model in key points of the model. The report can be visualized using TensorBoard.
|
|
142
142
|
__________________________________________________________________________________________________________
|
|
@@ -146,15 +146,15 @@ The specifications of the algorithm are detailed in the paper: _"**EPTQ: Enhance
|
|
|
146
146
|
More details on how to use EPTQ via MCT can be found in the [GPTQ guidelines](https://github.com/sony/model_optimization/blob/main/model_compression_toolkit/gptq/README.md).
|
|
147
147
|
|
|
148
148
|
## <div align="center">Resources</div>
|
|
149
|
-
* [User Guide](https://
|
|
149
|
+
* [User Guide](https://sonysemiconductorsolutions.github.io/mct-model-optimization/index.html) contains detailed information about MCT and guides you from installation through optimizing models for your edge AI applications.
|
|
150
150
|
|
|
151
|
-
* MCT's [API Docs](https://
|
|
151
|
+
* MCT's [API Docs](https://sonysemiconductorsolutions.github.io/mct-model-optimization/api/api_docs/) is separated per quantization methods:
|
|
152
152
|
|
|
153
|
-
* [Post-training quantization](https://
|
|
154
|
-
* [Gradient-based post-training quantization](https://
|
|
155
|
-
* [Quantization-aware training](https://
|
|
153
|
+
* [Post-training quantization](https://sonysemiconductorsolutions.github.io/mct-model-optimization/api/api_docs/index.html#ptq) | PTQ API docs
|
|
154
|
+
* [Gradient-based post-training quantization](https://sonysemiconductorsolutions.github.io/mct-model-optimization/api/api_docs/index.html#gptq) | GPTQ API docs
|
|
155
|
+
* [Quantization-aware training](https://sonysemiconductorsolutions.github.io/mct-model-optimization/api/api_docs/index.html#qat) | QAT API docs
|
|
156
156
|
|
|
157
|
-
* [Debug](https://
|
|
157
|
+
* [Debug](https://sonysemiconductorsolutions.github.io/mct-model-optimization/guidelines/visualization.html) – modify optimization process or generate an explainable report
|
|
158
158
|
|
|
159
159
|
* [Release notes](https://github.com/sony/model_optimization/releases)
|
|
160
160
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<div align="center" markdown="1">
|
|
2
2
|
<p>
|
|
3
|
-
<a href="https://
|
|
3
|
+
<a href="https://sonysemiconductorsolutions.github.io/mct-model-optimization/" target="_blank">
|
|
4
4
|
<img src="https://raw.githubusercontent.com/sony/model_optimization/refs/heads/main/docsrc/images/mctHeader1-cropped.svg" width="1000"></a>
|
|
5
5
|
</p>
|
|
6
6
|
|
|
@@ -17,9 +17,9 @@ ______________________________________________________________________
|
|
|
17
17
|
<a href="#license">License</a>
|
|
18
18
|
</p>
|
|
19
19
|
<p align="center">
|
|
20
|
-
<a href="https://
|
|
21
|
-
<a href="https://
|
|
22
|
-
<a href="https://
|
|
20
|
+
<a href="https://sonysemiconductorsolutions.github.io/mct-model-optimization#prerequisites"><img src="https://img.shields.io/badge/pytorch-2.3%20%7C%202.4%20%7C%202.5%20%7C%202.6-blue" /></a>
|
|
21
|
+
<a href="https://sonysemiconductorsolutions.github.io/mct-model-optimization#prerequisites"><img src="https://img.shields.io/badge/tensorflow-2.14%20%7C%202.15-blue" /></a>
|
|
22
|
+
<a href="https://sonysemiconductorsolutions.github.io/mct-model-optimization#prerequisites"><img src="https://img.shields.io/badge/python-3.9%20%7C%203.10%20%7C%203.11%20%7C%203.12-blue" /></a>
|
|
23
23
|
<a href="https://github.com/sony/model_optimization/releases"><img src="https://img.shields.io/github/v/release/sony/model_optimization" /></a>
|
|
24
24
|
<a href="https://github.com/sony/model_optimization/blob/main/LICENSE.md"><img src="https://img.shields.io/badge/license-Apache%202.0-blue" /></a>
|
|
25
25
|
|
|
@@ -50,9 +50,9 @@ MCT supports various quantization methods as appears below.
|
|
|
50
50
|
|
|
51
51
|
Quantization Method | Complexity | Computational Cost | API | Tutorial
|
|
52
52
|
-------------------- | -----------|--------------------|---------|--------
|
|
53
|
-
PTQ (Post Training Quantization) | Low | Low (~1-10 CPU minutes) | [PyTorch API](https://
|
|
54
|
-
GPTQ (parameters fine-tuning using gradients) | Moderate | Moderate (~1-3 GPU hours) | [PyTorch API](https://
|
|
55
|
-
QAT (Quantization Aware Training) | High | High (~12-36 GPU hours) | [QAT API](https://
|
|
53
|
+
PTQ (Post Training Quantization) | Low | Low (~1-10 CPU minutes) | [PyTorch API](https://sonysemiconductorsolutions.github.io/mct-model-optimization/api/api_docs/methods/pytorch_post_training_quantization.html) / [Keras API](https://sonysemiconductorsolutions.github.io/mct-model-optimization/api/api_docs/methods/keras_post_training_quantization.html) | <a href="https://colab.research.google.com/github/sony/model_optimization/blob/main/tutorials/notebooks/mct_features_notebooks/pytorch/example_pytorch_post_training_quantization.ipynb"><img src="https://img.shields.io/badge/Pytorch-green"/></a> <a href="https://colab.research.google.com/github/sony/model_optimization/blob/main/tutorials/notebooks/mct_features_notebooks/keras/example_keras_post-training_quantization.ipynb"><img src="https://img.shields.io/badge/Keras-green"/></a>
|
|
54
|
+
GPTQ (parameters fine-tuning using gradients) | Moderate | Moderate (~1-3 GPU hours) | [PyTorch API](https://sonysemiconductorsolutions.github.io/mct-model-optimization/api/api_docs/methods/pytorch_gradient_post_training_quantization.html) / [Keras API](https://sonysemiconductorsolutions.github.io/mct-model-optimization/api/api_docs/methods/keras_gradient_post_training_quantization.html) | <a href="https://colab.research.google.com/github/sony/model_optimization/blob/main/tutorials/notebooks/mct_features_notebooks/pytorch/example_pytorch_mobilenet_gptq.ipynb"><img src="https://img.shields.io/badge/PyTorch-green"/></a> <a href="https://colab.research.google.com/github/sony/model_optimization/blob/main/tutorials/notebooks/mct_features_notebooks/keras/example_keras_mobilenet_gptq.ipynb"><img src="https://img.shields.io/badge/Keras-green"/></a>
|
|
55
|
+
QAT (Quantization Aware Training) | High | High (~12-36 GPU hours) | [QAT API](https://sonysemiconductorsolutions.github.io/mct-model-optimization/api/api_docs/index.html#qat) | <a href="https://colab.research.google.com/github/sony/model_optimization/blob/main/tutorials/notebooks/mct_features_notebooks/keras/example_keras_qat.ipynb"><img src="https://img.shields.io/badge/Keras-green"/></a>
|
|
56
56
|
|
|
57
57
|
</p>
|
|
58
58
|
</div>
|
|
@@ -95,13 +95,13 @@ Generates synthetic images based on the statistics stored in the model's batch n
|
|
|
95
95
|
The specifications of the method are detailed in the paper: _"**Data Generation for Hardware-Friendly Post-Training Quantization**"_ [5].
|
|
96
96
|
__________________________________________________________________________________________________________
|
|
97
97
|
### Structured Pruning [](https://colab.research.google.com/github/sony/model_optimization/blob/main/tutorials/notebooks/mct_features_notebooks/pytorch/example_pytorch_pruning_mnist.ipynb)
|
|
98
|
-
Reduces model size/complexity and ensures better channels utilization by removing redundant input channels from layers and reconstruction of layer weights. Read more ([Pytorch API](https://
|
|
98
|
+
Reduces model size/complexity and ensures better channels utilization by removing redundant input channels from layers and reconstruction of layer weights. Read more ([Pytorch API](https://sonysemiconductorsolutions.github.io/mct-model-optimization/api/api_docs/methods/pytorch_pruning_experimental.html) / [Keras API](https://sonysemiconductorsolutions.github.io/mct-model-optimization/api/api_docs/methods/keras_pruning_experimental.html)).
|
|
99
99
|
__________________________________________________________________________________________________________
|
|
100
100
|
### **Debugging and Visualization**
|
|
101
101
|
**🎛️ Network Editor (Modify Quantization Configurations)** [](https://colab.research.google.com/github/sony/model_optimization/blob/main/tutorials/notebooks/mct_features_notebooks/keras/example_keras_network_editor.ipynb).
|
|
102
102
|
Modify your model's quantization configuration for specific layers or apply a custom edit rule (e.g adjust layer's bit-width) using MCT’s network editor.
|
|
103
103
|
|
|
104
|
-
**🖥️ Visualization**. Observe useful information for troubleshooting the quantized model's performance using TensorBoard. [Read more](https://
|
|
104
|
+
**🖥️ Visualization**. Observe useful information for troubleshooting the quantized model's performance using TensorBoard. [Read more](https://sonysemiconductorsolutions.github.io/mct-model-optimization/guidelines/visualization.html).
|
|
105
105
|
|
|
106
106
|
**🔑 XQuant (Explainable Quantization)** [](https://colab.research.google.com/github/sony/model_optimization/blob/main/tutorials/notebooks/mct_features_notebooks/pytorch/example_pytorch_xquant.ipynb). Get valuable insights regarding the quality and success of the quantization process of your model. The report includes histograms and similarity metrics between the original float model and the quantized model in key points of the model. The report can be visualized using TensorBoard.
|
|
107
107
|
__________________________________________________________________________________________________________
|
|
@@ -111,15 +111,15 @@ The specifications of the algorithm are detailed in the paper: _"**EPTQ: Enhance
|
|
|
111
111
|
More details on how to use EPTQ via MCT can be found in the [GPTQ guidelines](https://github.com/sony/model_optimization/blob/main/model_compression_toolkit/gptq/README.md).
|
|
112
112
|
|
|
113
113
|
## <div align="center">Resources</div>
|
|
114
|
-
* [User Guide](https://
|
|
114
|
+
* [User Guide](https://sonysemiconductorsolutions.github.io/mct-model-optimization/index.html) contains detailed information about MCT and guides you from installation through optimizing models for your edge AI applications.
|
|
115
115
|
|
|
116
|
-
* MCT's [API Docs](https://
|
|
116
|
+
* MCT's [API Docs](https://sonysemiconductorsolutions.github.io/mct-model-optimization/api/api_docs/) is separated per quantization methods:
|
|
117
117
|
|
|
118
|
-
* [Post-training quantization](https://
|
|
119
|
-
* [Gradient-based post-training quantization](https://
|
|
120
|
-
* [Quantization-aware training](https://
|
|
118
|
+
* [Post-training quantization](https://sonysemiconductorsolutions.github.io/mct-model-optimization/api/api_docs/index.html#ptq) | PTQ API docs
|
|
119
|
+
* [Gradient-based post-training quantization](https://sonysemiconductorsolutions.github.io/mct-model-optimization/api/api_docs/index.html#gptq) | GPTQ API docs
|
|
120
|
+
* [Quantization-aware training](https://sonysemiconductorsolutions.github.io/mct-model-optimization/api/api_docs/index.html#qat) | QAT API docs
|
|
121
121
|
|
|
122
|
-
* [Debug](https://
|
|
122
|
+
* [Debug](https://sonysemiconductorsolutions.github.io/mct-model-optimization/guidelines/visualization.html) – modify optimization process or generate an explainable report
|
|
123
123
|
|
|
124
124
|
* [Release notes](https://github.com/sony/model_optimization/releases)
|
|
125
125
|
|
{mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/mct_nightly.egg-info/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mct-nightly
|
|
3
|
-
Version: 2.4.0.
|
|
3
|
+
Version: 2.4.0.20250702.605
|
|
4
4
|
Summary: A Model Compression Toolkit for neural networks
|
|
5
5
|
Author-email: ssi-dnn-dev@sony.com
|
|
6
6
|
Classifier: Programming Language :: Python :: 3
|
|
@@ -35,7 +35,7 @@ Dynamic: summary
|
|
|
35
35
|
|
|
36
36
|
<div align="center" markdown="1">
|
|
37
37
|
<p>
|
|
38
|
-
<a href="https://
|
|
38
|
+
<a href="https://sonysemiconductorsolutions.github.io/mct-model-optimization/" target="_blank">
|
|
39
39
|
<img src="https://raw.githubusercontent.com/sony/model_optimization/refs/heads/main/docsrc/images/mctHeader1-cropped.svg" width="1000"></a>
|
|
40
40
|
</p>
|
|
41
41
|
|
|
@@ -52,9 +52,9 @@ ______________________________________________________________________
|
|
|
52
52
|
<a href="#license">License</a>
|
|
53
53
|
</p>
|
|
54
54
|
<p align="center">
|
|
55
|
-
<a href="https://
|
|
56
|
-
<a href="https://
|
|
57
|
-
<a href="https://
|
|
55
|
+
<a href="https://sonysemiconductorsolutions.github.io/mct-model-optimization#prerequisites"><img src="https://img.shields.io/badge/pytorch-2.3%20%7C%202.4%20%7C%202.5%20%7C%202.6-blue" /></a>
|
|
56
|
+
<a href="https://sonysemiconductorsolutions.github.io/mct-model-optimization#prerequisites"><img src="https://img.shields.io/badge/tensorflow-2.14%20%7C%202.15-blue" /></a>
|
|
57
|
+
<a href="https://sonysemiconductorsolutions.github.io/mct-model-optimization#prerequisites"><img src="https://img.shields.io/badge/python-3.9%20%7C%203.10%20%7C%203.11%20%7C%203.12-blue" /></a>
|
|
58
58
|
<a href="https://github.com/sony/model_optimization/releases"><img src="https://img.shields.io/github/v/release/sony/model_optimization" /></a>
|
|
59
59
|
<a href="https://github.com/sony/model_optimization/blob/main/LICENSE.md"><img src="https://img.shields.io/badge/license-Apache%202.0-blue" /></a>
|
|
60
60
|
|
|
@@ -85,9 +85,9 @@ MCT supports various quantization methods as appears below.
|
|
|
85
85
|
|
|
86
86
|
Quantization Method | Complexity | Computational Cost | API | Tutorial
|
|
87
87
|
-------------------- | -----------|--------------------|---------|--------
|
|
88
|
-
PTQ (Post Training Quantization) | Low | Low (~1-10 CPU minutes) | [PyTorch API](https://
|
|
89
|
-
GPTQ (parameters fine-tuning using gradients) | Moderate | Moderate (~1-3 GPU hours) | [PyTorch API](https://
|
|
90
|
-
QAT (Quantization Aware Training) | High | High (~12-36 GPU hours) | [QAT API](https://
|
|
88
|
+
PTQ (Post Training Quantization) | Low | Low (~1-10 CPU minutes) | [PyTorch API](https://sonysemiconductorsolutions.github.io/mct-model-optimization/api/api_docs/methods/pytorch_post_training_quantization.html) / [Keras API](https://sonysemiconductorsolutions.github.io/mct-model-optimization/api/api_docs/methods/keras_post_training_quantization.html) | <a href="https://colab.research.google.com/github/sony/model_optimization/blob/main/tutorials/notebooks/mct_features_notebooks/pytorch/example_pytorch_post_training_quantization.ipynb"><img src="https://img.shields.io/badge/Pytorch-green"/></a> <a href="https://colab.research.google.com/github/sony/model_optimization/blob/main/tutorials/notebooks/mct_features_notebooks/keras/example_keras_post-training_quantization.ipynb"><img src="https://img.shields.io/badge/Keras-green"/></a>
|
|
89
|
+
GPTQ (parameters fine-tuning using gradients) | Moderate | Moderate (~1-3 GPU hours) | [PyTorch API](https://sonysemiconductorsolutions.github.io/mct-model-optimization/api/api_docs/methods/pytorch_gradient_post_training_quantization.html) / [Keras API](https://sonysemiconductorsolutions.github.io/mct-model-optimization/api/api_docs/methods/keras_gradient_post_training_quantization.html) | <a href="https://colab.research.google.com/github/sony/model_optimization/blob/main/tutorials/notebooks/mct_features_notebooks/pytorch/example_pytorch_mobilenet_gptq.ipynb"><img src="https://img.shields.io/badge/PyTorch-green"/></a> <a href="https://colab.research.google.com/github/sony/model_optimization/blob/main/tutorials/notebooks/mct_features_notebooks/keras/example_keras_mobilenet_gptq.ipynb"><img src="https://img.shields.io/badge/Keras-green"/></a>
|
|
90
|
+
QAT (Quantization Aware Training) | High | High (~12-36 GPU hours) | [QAT API](https://sonysemiconductorsolutions.github.io/mct-model-optimization/api/api_docs/index.html#qat) | <a href="https://colab.research.google.com/github/sony/model_optimization/blob/main/tutorials/notebooks/mct_features_notebooks/keras/example_keras_qat.ipynb"><img src="https://img.shields.io/badge/Keras-green"/></a>
|
|
91
91
|
|
|
92
92
|
</p>
|
|
93
93
|
</div>
|
|
@@ -130,13 +130,13 @@ Generates synthetic images based on the statistics stored in the model's batch n
|
|
|
130
130
|
The specifications of the method are detailed in the paper: _"**Data Generation for Hardware-Friendly Post-Training Quantization**"_ [5].
|
|
131
131
|
__________________________________________________________________________________________________________
|
|
132
132
|
### Structured Pruning [](https://colab.research.google.com/github/sony/model_optimization/blob/main/tutorials/notebooks/mct_features_notebooks/pytorch/example_pytorch_pruning_mnist.ipynb)
|
|
133
|
-
Reduces model size/complexity and ensures better channels utilization by removing redundant input channels from layers and reconstruction of layer weights. Read more ([Pytorch API](https://
|
|
133
|
+
Reduces model size/complexity and ensures better channels utilization by removing redundant input channels from layers and reconstruction of layer weights. Read more ([Pytorch API](https://sonysemiconductorsolutions.github.io/mct-model-optimization/api/api_docs/methods/pytorch_pruning_experimental.html) / [Keras API](https://sonysemiconductorsolutions.github.io/mct-model-optimization/api/api_docs/methods/keras_pruning_experimental.html)).
|
|
134
134
|
__________________________________________________________________________________________________________
|
|
135
135
|
### **Debugging and Visualization**
|
|
136
136
|
**🎛️ Network Editor (Modify Quantization Configurations)** [](https://colab.research.google.com/github/sony/model_optimization/blob/main/tutorials/notebooks/mct_features_notebooks/keras/example_keras_network_editor.ipynb).
|
|
137
137
|
Modify your model's quantization configuration for specific layers or apply a custom edit rule (e.g adjust layer's bit-width) using MCT’s network editor.
|
|
138
138
|
|
|
139
|
-
**🖥️ Visualization**. Observe useful information for troubleshooting the quantized model's performance using TensorBoard. [Read more](https://
|
|
139
|
+
**🖥️ Visualization**. Observe useful information for troubleshooting the quantized model's performance using TensorBoard. [Read more](https://sonysemiconductorsolutions.github.io/mct-model-optimization/guidelines/visualization.html).
|
|
140
140
|
|
|
141
141
|
**🔑 XQuant (Explainable Quantization)** [](https://colab.research.google.com/github/sony/model_optimization/blob/main/tutorials/notebooks/mct_features_notebooks/pytorch/example_pytorch_xquant.ipynb). Get valuable insights regarding the quality and success of the quantization process of your model. The report includes histograms and similarity metrics between the original float model and the quantized model in key points of the model. The report can be visualized using TensorBoard.
|
|
142
142
|
__________________________________________________________________________________________________________
|
|
@@ -146,15 +146,15 @@ The specifications of the algorithm are detailed in the paper: _"**EPTQ: Enhance
|
|
|
146
146
|
More details on how to use EPTQ via MCT can be found in the [GPTQ guidelines](https://github.com/sony/model_optimization/blob/main/model_compression_toolkit/gptq/README.md).
|
|
147
147
|
|
|
148
148
|
## <div align="center">Resources</div>
|
|
149
|
-
* [User Guide](https://
|
|
149
|
+
* [User Guide](https://sonysemiconductorsolutions.github.io/mct-model-optimization/index.html) contains detailed information about MCT and guides you from installation through optimizing models for your edge AI applications.
|
|
150
150
|
|
|
151
|
-
* MCT's [API Docs](https://
|
|
151
|
+
* MCT's [API Docs](https://sonysemiconductorsolutions.github.io/mct-model-optimization/api/api_docs/) is separated per quantization methods:
|
|
152
152
|
|
|
153
|
-
* [Post-training quantization](https://
|
|
154
|
-
* [Gradient-based post-training quantization](https://
|
|
155
|
-
* [Quantization-aware training](https://
|
|
153
|
+
* [Post-training quantization](https://sonysemiconductorsolutions.github.io/mct-model-optimization/api/api_docs/index.html#ptq) | PTQ API docs
|
|
154
|
+
* [Gradient-based post-training quantization](https://sonysemiconductorsolutions.github.io/mct-model-optimization/api/api_docs/index.html#gptq) | GPTQ API docs
|
|
155
|
+
* [Quantization-aware training](https://sonysemiconductorsolutions.github.io/mct-model-optimization/api/api_docs/index.html#qat) | QAT API docs
|
|
156
156
|
|
|
157
|
-
* [Debug](https://
|
|
157
|
+
* [Debug](https://sonysemiconductorsolutions.github.io/mct-model-optimization/guidelines/visualization.html) – modify optimization process or generate an explainable report
|
|
158
158
|
|
|
159
159
|
* [Release notes](https://github.com/sony/model_optimization/releases)
|
|
160
160
|
|
{mct_nightly-2.4.0.20250630.629 → mct_nightly-2.4.0.20250702.605}/mct_nightly.egg-info/SOURCES.txt
RENAMED
|
@@ -118,7 +118,6 @@ model_compression_toolkit/core/common/quantization/filter_nodes_candidates.py
|
|
|
118
118
|
model_compression_toolkit/core/common/quantization/node_quantization_config.py
|
|
119
119
|
model_compression_toolkit/core/common/quantization/quantization_config.py
|
|
120
120
|
model_compression_toolkit/core/common/quantization/quantization_fn_selection.py
|
|
121
|
-
model_compression_toolkit/core/common/quantization/quantization_params_fn_selection.py
|
|
122
121
|
model_compression_toolkit/core/common/quantization/quantize_graph_weights.py
|
|
123
122
|
model_compression_toolkit/core/common/quantization/quantize_node.py
|
|
124
123
|
model_compression_toolkit/core/common/quantization/set_node_quantization_config.py
|
|
@@ -211,9 +210,10 @@ model_compression_toolkit/core/keras/mixed_precision/configurable_activation_qua
|
|
|
211
210
|
model_compression_toolkit/core/keras/mixed_precision/configurable_weights_quantizer.py
|
|
212
211
|
model_compression_toolkit/core/keras/pruning/__init__.py
|
|
213
212
|
model_compression_toolkit/core/keras/pruning/pruning_keras_implementation.py
|
|
214
|
-
model_compression_toolkit/core/keras/
|
|
215
|
-
model_compression_toolkit/core/keras/
|
|
216
|
-
model_compression_toolkit/core/keras/
|
|
213
|
+
model_compression_toolkit/core/keras/quantization/__init__.py
|
|
214
|
+
model_compression_toolkit/core/keras/quantization/activation_quantization_fn_factory.py
|
|
215
|
+
model_compression_toolkit/core/keras/quantization/fake_quant_builder.py
|
|
216
|
+
model_compression_toolkit/core/keras/quantization/lut_fake_quant.py
|
|
217
217
|
model_compression_toolkit/core/keras/reader/__init__.py
|
|
218
218
|
model_compression_toolkit/core/keras/reader/common.py
|
|
219
219
|
model_compression_toolkit/core/keras/reader/connectivity_handler.py
|
|
@@ -281,9 +281,10 @@ model_compression_toolkit/core/pytorch/mixed_precision/configurable_activation_q
|
|
|
281
281
|
model_compression_toolkit/core/pytorch/mixed_precision/configurable_weights_quantizer.py
|
|
282
282
|
model_compression_toolkit/core/pytorch/pruning/__init__.py
|
|
283
283
|
model_compression_toolkit/core/pytorch/pruning/pruning_pytorch_implementation.py
|
|
284
|
-
model_compression_toolkit/core/pytorch/
|
|
285
|
-
model_compression_toolkit/core/pytorch/
|
|
286
|
-
model_compression_toolkit/core/pytorch/
|
|
284
|
+
model_compression_toolkit/core/pytorch/quantization/__init__.py
|
|
285
|
+
model_compression_toolkit/core/pytorch/quantization/activation_quantization_fn_factory.py
|
|
286
|
+
model_compression_toolkit/core/pytorch/quantization/fake_quant_builder.py
|
|
287
|
+
model_compression_toolkit/core/pytorch/quantization/lut_fake_quant.py
|
|
287
288
|
model_compression_toolkit/core/pytorch/reader/__init__.py
|
|
288
289
|
model_compression_toolkit/core/pytorch/reader/graph_builders.py
|
|
289
290
|
model_compression_toolkit/core/pytorch/reader/node_holders.py
|
|
@@ -439,6 +440,8 @@ model_compression_toolkit/qat/pytorch/quantizer/lsq/uniform_lsq.py
|
|
|
439
440
|
model_compression_toolkit/qat/pytorch/quantizer/ste_rounding/__init__.py
|
|
440
441
|
model_compression_toolkit/qat/pytorch/quantizer/ste_rounding/symmetric_ste.py
|
|
441
442
|
model_compression_toolkit/qat/pytorch/quantizer/ste_rounding/uniform_ste.py
|
|
443
|
+
model_compression_toolkit/quantization_preparation/__init__.py
|
|
444
|
+
model_compression_toolkit/quantization_preparation/load_fqc.py
|
|
442
445
|
model_compression_toolkit/target_platform_capabilities/__init__.py
|
|
443
446
|
model_compression_toolkit/target_platform_capabilities/constants.py
|
|
444
447
|
model_compression_toolkit/target_platform_capabilities/immutable.py
|
|
@@ -27,4 +27,4 @@ from model_compression_toolkit import data_generation
|
|
|
27
27
|
from model_compression_toolkit import pruning
|
|
28
28
|
from model_compression_toolkit.trainable_infrastructure.keras.load_model import keras_load_quantized_model
|
|
29
29
|
|
|
30
|
-
__version__ = "2.4.0.
|
|
30
|
+
__version__ = "2.4.0.20250702.000605"
|
|
@@ -15,7 +15,6 @@
|
|
|
15
15
|
from abc import ABC, abstractmethod
|
|
16
16
|
from typing import Any, Tuple
|
|
17
17
|
|
|
18
|
-
from model_compression_toolkit.core.common.framework_info import FrameworkInfo
|
|
19
18
|
from model_compression_toolkit.core import common
|
|
20
19
|
from model_compression_toolkit.core.common.user_info import UserInformation
|
|
21
20
|
|
|
@@ -13,20 +13,10 @@
|
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
# ==============================================================================
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
from collections.abc import Callable
|
|
18
16
|
from enum import Enum
|
|
19
|
-
from typing import Dict, Any, Tuple, NamedTuple
|
|
17
|
+
from typing import Dict, Any, Tuple, NamedTuple, Optional
|
|
20
18
|
from abc import ABC, abstractmethod
|
|
21
19
|
|
|
22
|
-
from mct_quantizers import QuantizationMethod
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
# Default value to use for ops without kernel.
|
|
26
|
-
# This is a weird default, but it's used all over the place, so for now only extract it to const so that it can be
|
|
27
|
-
# referenced by variable instead of hard-coded.
|
|
28
|
-
DEFAULT_KERNEL_ATTRIBUTE = None
|
|
29
|
-
|
|
30
20
|
|
|
31
21
|
class ChannelAxis(Enum):
|
|
32
22
|
"""
|
|
@@ -58,24 +48,21 @@ class FrameworkInfo(ABC):
|
|
|
58
48
|
no_quantization_ops:Layers that should not get quantized (e.g., Reshape, Transpose, etc.)
|
|
59
49
|
|
|
60
50
|
Fields:
|
|
61
|
-
activation_quantizer_mapping (Dict[QuantizationMethod, Callable]): A dictionary mapping from QuantizationMethod to a quantization function.
|
|
62
51
|
kernel_channels_mapping (Dict): Dictionary from a layer to a tuple of its kernel in/out channels indices.
|
|
63
52
|
kernel_ops_attribute_mapping (Dict): Dictionary from a framework operator to its weight attribute to quantize.
|
|
64
53
|
out_channel_axis_mapping (Dict): Dictionary of output channels of the model's layers (for computing statistics per-channel).
|
|
65
54
|
_layer_min_max_mapping (Dict[Any, tuple]): Dictionary from a layer to its min/max output values.
|
|
66
|
-
|
|
67
55
|
"""
|
|
68
56
|
|
|
69
|
-
activation_quantizer_mapping: Dict[QuantizationMethod, Callable]
|
|
70
|
-
kernel_channels_mapping: Dict[Any, ChannelAxisMapping]
|
|
71
57
|
kernel_ops_attribute_mapping: Dict[Any, str]
|
|
58
|
+
kernel_channels_mapping: Dict[Any, ChannelAxisMapping]
|
|
72
59
|
out_channel_axis_mapping: Dict[Any, int]
|
|
73
|
-
_layer_min_max_mapping: Dict[Any, tuple]
|
|
74
60
|
|
|
61
|
+
_layer_min_max_mapping: Dict[Any, tuple]
|
|
75
62
|
_default_channel_mapping = ChannelAxisMapping(None, None)
|
|
76
63
|
|
|
77
64
|
@classmethod
|
|
78
|
-
def get_kernel_op_attribute(cls, node_type: Any) -> str:
|
|
65
|
+
def get_kernel_op_attribute(cls, node_type: Any) -> Optional[str]:
|
|
79
66
|
"""
|
|
80
67
|
Get attribute of a layer's weight to quantize.
|
|
81
68
|
|
|
@@ -85,20 +72,7 @@ class FrameworkInfo(ABC):
|
|
|
85
72
|
Returns:
|
|
86
73
|
Attribute the layer has and should be quantized.
|
|
87
74
|
"""
|
|
88
|
-
return cls.kernel_ops_attribute_mapping.get(node_type
|
|
89
|
-
|
|
90
|
-
@classmethod
|
|
91
|
-
def is_kernel_op(cls, node_type: Any) -> bool:
|
|
92
|
-
"""
|
|
93
|
-
Check is the node is a kernel operation.
|
|
94
|
-
|
|
95
|
-
Args:
|
|
96
|
-
node_type: Layer to get its attributes.
|
|
97
|
-
|
|
98
|
-
Returns:
|
|
99
|
-
True if node type is a kernel operation, else False.
|
|
100
|
-
"""
|
|
101
|
-
return node_type in cls.kernel_ops_attribute_mapping
|
|
75
|
+
return cls.kernel_ops_attribute_mapping.get(node_type)
|
|
102
76
|
|
|
103
77
|
@classmethod
|
|
104
78
|
def get_layer_min_max(cls, layer: Any, fw_attrs: Dict) -> Tuple[float, float]:
|
|
@@ -169,7 +143,6 @@ def get_fw_info():
|
|
|
169
143
|
Returns: FrameworkInfo class.
|
|
170
144
|
"""
|
|
171
145
|
assert _current_framework_info is not None, "fw_info isn't initialized."
|
|
172
|
-
assert issubclass(_current_framework_info, FrameworkInfo), "fw_info isn't initialized to a FrameworkInfo class."
|
|
173
146
|
return _current_framework_info
|
|
174
147
|
|
|
175
148
|
|
|
@@ -14,12 +14,12 @@
|
|
|
14
14
|
# ==============================================================================
|
|
15
15
|
|
|
16
16
|
import copy
|
|
17
|
-
from typing import
|
|
17
|
+
from typing import Tuple
|
|
18
18
|
|
|
19
19
|
from model_compression_toolkit.core.common.fusion.fusing_info import FusingInfoGenerator
|
|
20
20
|
from model_compression_toolkit.core.common.graph.base_graph import Graph, BaseNode, OutTensor
|
|
21
|
-
from model_compression_toolkit.core.common.quantization.candidate_node_quantization_config import
|
|
22
|
-
|
|
21
|
+
from model_compression_toolkit.core.common.quantization.candidate_node_quantization_config import \
|
|
22
|
+
CandidateNodeQuantizationConfig, NodeQuantizationConfig
|
|
23
23
|
|
|
24
24
|
|
|
25
25
|
class FusedLayerType:
|
|
@@ -30,6 +30,7 @@ class FusedLayerType:
|
|
|
30
30
|
def __init__(self):
|
|
31
31
|
self.__name__ = 'FusedLayer'
|
|
32
32
|
|
|
33
|
+
|
|
33
34
|
class GraphFuser:
|
|
34
35
|
def apply_node_fusion(self, graph: Graph) -> Graph:
|
|
35
36
|
"""
|
|
@@ -64,7 +65,6 @@ class GraphFuser:
|
|
|
64
65
|
|
|
65
66
|
return graph_copy
|
|
66
67
|
|
|
67
|
-
|
|
68
68
|
@staticmethod
|
|
69
69
|
def _create_fused_node(fused_node_id: str, nodes: Tuple[BaseNode]) -> BaseNode:
|
|
70
70
|
"""
|
|
@@ -86,10 +86,15 @@ class GraphFuser:
|
|
|
86
86
|
weights={},
|
|
87
87
|
layer_class=FusedLayerType)
|
|
88
88
|
|
|
89
|
+
base_cfg = CandidateNodeQuantizationConfig(
|
|
90
|
+
activation_quantization_cfg=nodes[-1].quantization_cfg.base_quantization_cfg.activation_quantization_cfg,
|
|
91
|
+
weights_quantization_cfg=None
|
|
92
|
+
)
|
|
89
93
|
activation_cfgs = [c.activation_quantization_cfg for c in nodes[-1].candidates_quantization_cfg]
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
94
|
+
candidates = [CandidateNodeQuantizationConfig(weights_quantization_cfg=None, activation_quantization_cfg=a)
|
|
95
|
+
for a in activation_cfgs]
|
|
96
|
+
fused_node.quantization_cfg = NodeQuantizationConfig(base_quantization_cfg=base_cfg,
|
|
97
|
+
candidates_quantization_cfg=candidates)
|
|
93
98
|
|
|
94
99
|
# Keep the final configurations if they were set already.
|
|
95
100
|
fused_node.final_weights_quantization_cfg = nodes[0].final_weights_quantization_cfg
|
|
@@ -158,5 +163,3 @@ class GraphFuser:
|
|
|
158
163
|
|
|
159
164
|
# Finally, add the new fused node to the graph
|
|
160
165
|
graph.add_node(fused_node)
|
|
161
|
-
|
|
162
|
-
|
|
@@ -39,6 +39,7 @@ from model_compression_toolkit.target_platform_capabilities.targetplatform2frame
|
|
|
39
39
|
from model_compression_toolkit.target_platform_capabilities.targetplatform2framework.framework_quantization_capabilities import \
|
|
40
40
|
FrameworkQuantizationCapabilities
|
|
41
41
|
|
|
42
|
+
|
|
42
43
|
def validate_graph_after_change(method: Callable) -> Callable:
|
|
43
44
|
"""
|
|
44
45
|
Decorator for graph-mutating methods. After the decorated method executes,
|
|
@@ -120,28 +121,13 @@ class Graph(nx.MultiDiGraph, GraphSearches):
|
|
|
120
121
|
def fusing_info(self, fusing_info: FusingInfo):
|
|
121
122
|
self._fusing_info = fusing_info
|
|
122
123
|
|
|
123
|
-
def set_fqc(self,
|
|
124
|
-
fqc: FrameworkQuantizationCapabilities):
|
|
124
|
+
def set_fqc(self, fqc: FrameworkQuantizationCapabilities):
|
|
125
125
|
"""
|
|
126
126
|
Set the graph's FQC.
|
|
127
127
|
Args:
|
|
128
128
|
fqc: FrameworkQuantizationCapabilities object.
|
|
129
129
|
"""
|
|
130
|
-
#
|
|
131
|
-
# Validate graph nodes are either built-in layers from the framework or custom layers defined in the FQC
|
|
132
|
-
fqc_layers = fqc.op_sets_to_layers.get_layers()
|
|
133
|
-
fqc_filtered_layers = [layer for layer in fqc_layers if isinstance(layer, LayerFilterParams)]
|
|
134
|
-
for n in self.nodes:
|
|
135
|
-
is_node_in_fqc = any([n.is_match_type(_type) for _type in fqc_layers]) or \
|
|
136
|
-
any([n.is_match_filter_params(filtered_layer) for filtered_layer in fqc_filtered_layers])
|
|
137
|
-
if n.is_custom:
|
|
138
|
-
if not is_node_in_fqc:
|
|
139
|
-
Logger.critical(f'MCT does not support optimizing Keras custom layers. Found a layer of type {n.type}. '
|
|
140
|
-
' Please add the custom layer to Framework Quantization Capabilities (FQC), or file a feature '
|
|
141
|
-
'request or an issue if you believe this should be supported.') # pragma: no cover
|
|
142
|
-
if any([qc.default_weight_attr_config.enable_weights_quantization for qc in n.get_qco(fqc).quantization_configurations]):
|
|
143
|
-
Logger.critical(f'Layer identified: {n.type}. MCT does not support weight quantization for Keras custom layers.') # pragma: no cover
|
|
144
|
-
|
|
130
|
+
# TODO irena: this is only passed for negative shift activation.
|
|
145
131
|
self.fqc = fqc
|
|
146
132
|
|
|
147
133
|
def get_topo_sorted_nodes(self):
|
|
@@ -578,7 +564,7 @@ class Graph(nx.MultiDiGraph, GraphSearches):
|
|
|
578
564
|
A list of nodes that their weights can be configured (namely, has one or more weight qc candidate).
|
|
579
565
|
"""
|
|
580
566
|
# configurability is only relevant for kernel attribute quantization
|
|
581
|
-
potential_conf_nodes = [n for n in
|
|
567
|
+
potential_conf_nodes = [n for n in self.nodes if n.kernel_attr]
|
|
582
568
|
|
|
583
569
|
def is_configurable(n):
|
|
584
570
|
return n.is_configurable_weight(n.kernel_attr) and (not n.reuse or include_reused_nodes)
|
|
@@ -693,10 +679,8 @@ class Graph(nx.MultiDiGraph, GraphSearches):
|
|
|
693
679
|
"""
|
|
694
680
|
Gets the final number of bits for quantization of each weights' configurable layer.
|
|
695
681
|
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
Returns: A list of pairs of (node type, node's weights quantization bitwidth).
|
|
682
|
+
Returns:
|
|
683
|
+
A list of pairs of (node type, node's weights quantization bitwidth).
|
|
700
684
|
|
|
701
685
|
"""
|
|
702
686
|
sorted_conf_weights = self.get_sorted_weights_configurable_nodes()
|
|
@@ -876,32 +860,31 @@ class Graph(nx.MultiDiGraph, GraphSearches):
|
|
|
876
860
|
|
|
877
861
|
return intermediate_nodes, next_node
|
|
878
862
|
|
|
863
|
+
# TODO irena move to load_fqc and clean up tests (currently tests_pytest/common_tests/unit_tests/core/graph/test_base_graph.py)
|
|
879
864
|
def override_fused_node_activation_quantization_candidates(self):
|
|
880
865
|
"""
|
|
881
866
|
Override fused node activation quantization candidates for all nodes in fused operations,
|
|
882
867
|
except for the last node in each fused group.
|
|
883
868
|
Update the value of quantization_config with the value of op_quaitization_cfg from FusingInfo.
|
|
884
869
|
"""
|
|
885
|
-
from model_compression_toolkit.core.common.quantization.candidate_node_quantization_config import CandidateNodeQuantizationConfig
|
|
886
|
-
|
|
887
870
|
nodes_in_fln = self.fusing_info.get_inner_fln_nodes()
|
|
888
871
|
for node in nodes_in_fln:
|
|
889
872
|
fused_node_op_id = self.fusing_info.get_fused_op_id_for_node(node.name)
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
activation_quantization_fn=org_candidate.activation_quantization_cfg.activation_quantization_fn,
|
|
897
|
-
activation_quantization_params_fn=org_candidate.activation_quantization_cfg.activation_quantization_params_fn)
|
|
898
|
-
activation_quantization_cfg.quant_mode = ActivationQuantizationMode.FLN_QUANT
|
|
899
|
-
for qc in node.candidates_quantization_cfg:
|
|
900
|
-
qc.activation_quantization_cfg = activation_quantization_cfg
|
|
873
|
+
fusing_op_quantization_cfg = self.fusing_info.get_fused_op_quantization_config(fused_node_op_id)
|
|
874
|
+
if fusing_op_quantization_cfg is not None and fusing_op_quantization_cfg.enable_activation_quantization:
|
|
875
|
+
def update(qc):
|
|
876
|
+
qc.activation_quantization_cfg = NodeActivationQuantizationConfig(fusing_op_quantization_cfg)
|
|
877
|
+
qc.activation_quantization_cfg.quant_mode = ActivationQuantizationMode.FLN_QUANT
|
|
878
|
+
node.quantization_cfg.update_all(update, remove_duplicates=True)
|
|
901
879
|
else:
|
|
902
|
-
|
|
880
|
+
node.quantization_cfg.update_activation_quantization_mode(ActivationQuantizationMode.FLN_NO_QUANT)
|
|
881
|
+
# Remove duplicate candidates. We cannot compare whole candidates since activation configs might not
|
|
882
|
+
# be identical, but we do want to treat them as such. So we only check duplication by weight configs.
|
|
883
|
+
uniq_qcs = []
|
|
903
884
|
for qc in node.candidates_quantization_cfg:
|
|
904
|
-
qc.
|
|
885
|
+
if not any(qc.weights_quantization_cfg == uqc.weights_quantization_cfg for uqc in uniq_qcs):
|
|
886
|
+
uniq_qcs.append(qc)
|
|
887
|
+
node.quantization_cfg.candidates_quantization_cfg = uniq_qcs
|
|
905
888
|
|
|
906
889
|
def validate(self):
|
|
907
890
|
"""
|