mct-nightly 2.4.0.20250705.556__tar.gz → 2.4.0.20250707.643__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.
Files changed (543) hide show
  1. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/PKG-INFO +1 -1
  2. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/mct_nightly.egg-info/PKG-INFO +1 -1
  3. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/mct_nightly.egg-info/SOURCES.txt +0 -2
  4. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/__init__.py +1 -1
  5. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/collectors/base_collector.py +4 -1
  6. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/collectors/mean_collector.py +7 -4
  7. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/collectors/min_max_per_channel_collector.py +7 -4
  8. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/model_collector.py +11 -0
  9. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/pruning/memory_calculator.py +1 -1
  10. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/quantization/node_quantization_config.py +22 -87
  11. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/quantization/quantization_config.py +0 -1
  12. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/quantization/quantization_params_generation/qparams_activations_computation.py +23 -17
  13. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/quantization/quantization_params_generation/qparams_computation.py +26 -48
  14. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/quantization/quantization_params_generation/qparams_weights_computation.py +12 -7
  15. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/statistics_correction/apply_bias_correction_to_graph.py +4 -14
  16. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/statistics_correction/apply_second_moment_correction_to_graph.py +2 -1
  17. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/statistics_correction/compute_bias_correction_of_graph.py +4 -13
  18. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/statistics_correction/statistics_correction.py +3 -3
  19. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/substitutions/batchnorm_reconstruction.py +5 -7
  20. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/substitutions/shift_negative_activation.py +7 -5
  21. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/graph_prep_runner.py +1 -11
  22. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/keras/default_framework_info.py +1 -1
  23. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/input_scaling.py +21 -11
  24. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/keras/keras_implementation.py +2 -2
  25. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/keras/pruning/pruning_keras_implementation.py +8 -0
  26. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/pytorch/default_framework_info.py +1 -1
  27. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/pytorch/pruning/pruning_pytorch_implementation.py +9 -1
  28. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/quantization_prep_runner.py +2 -2
  29. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/gptq/keras/quantization_facade.py +0 -3
  30. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/ptq/keras/quantization_facade.py +0 -3
  31. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/qat/keras/quantization_facade.py +0 -3
  32. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/trainable_infrastructure/common/get_quantizer_config.py +0 -2
  33. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/trainable_infrastructure/common/trainable_quantizer_config.py +0 -6
  34. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/trainable_infrastructure/keras/config_serialization.py +2 -4
  35. mct_nightly-2.4.0.20250705.556/model_compression_toolkit/core/common/model_validation.py +0 -41
  36. mct_nightly-2.4.0.20250705.556/model_compression_toolkit/core/keras/keras_model_validation.py +0 -37
  37. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/LICENSE.md +0 -0
  38. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/README.md +0 -0
  39. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/mct_nightly.egg-info/dependency_links.txt +0 -0
  40. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/mct_nightly.egg-info/requires.txt +0 -0
  41. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/mct_nightly.egg-info/top_level.txt +0 -0
  42. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/constants.py +0 -0
  43. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/__init__.py +0 -0
  44. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/analyzer.py +0 -0
  45. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/__init__.py +0 -0
  46. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/back2framework/__init__.py +0 -0
  47. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/back2framework/base_model_builder.py +0 -0
  48. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/base_substitutions.py +0 -0
  49. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/collectors/__init__.py +0 -0
  50. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/collectors/histogram_collector.py +0 -0
  51. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/collectors/statistics_collector.py +0 -0
  52. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/collectors/weighted_histogram_collector.py +0 -0
  53. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/framework_implementation.py +0 -0
  54. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/framework_info.py +0 -0
  55. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/fusion/__init__.py +0 -0
  56. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/fusion/fusing_info.py +0 -0
  57. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/fusion/graph_fuser.py +0 -0
  58. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/graph/__init__.py +0 -0
  59. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/graph/base_graph.py +0 -0
  60. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/graph/base_node.py +0 -0
  61. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/graph/edge.py +0 -0
  62. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/graph/functional_node.py +0 -0
  63. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/graph/graph_matchers.py +0 -0
  64. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/graph/graph_searches.py +0 -0
  65. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/graph/memory_graph/__init__.py +0 -0
  66. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/graph/memory_graph/bipartite_graph.py +0 -0
  67. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/graph/memory_graph/compute_graph_max_cut.py +0 -0
  68. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/graph/memory_graph/cut.py +0 -0
  69. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/graph/memory_graph/max_cut_astar.py +0 -0
  70. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/graph/memory_graph/memory_element.py +0 -0
  71. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/graph/memory_graph/memory_graph.py +0 -0
  72. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/graph/virtual_activation_weights_node.py +0 -0
  73. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/hessian/__init__.py +0 -0
  74. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/hessian/hessian_info_service.py +0 -0
  75. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/hessian/hessian_info_utils.py +0 -0
  76. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/hessian/hessian_scores_calculator.py +0 -0
  77. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/hessian/hessian_scores_request.py +0 -0
  78. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/matchers/__init__.py +0 -0
  79. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/matchers/base_graph_filter.py +0 -0
  80. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/matchers/base_matcher.py +0 -0
  81. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/matchers/edge_matcher.py +0 -0
  82. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/matchers/function.py +0 -0
  83. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/matchers/node_matcher.py +0 -0
  84. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/matchers/walk_matcher.py +0 -0
  85. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/memory_computation.py +0 -0
  86. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/mixed_precision/__init__.py +0 -0
  87. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/mixed_precision/bit_width_setter.py +0 -0
  88. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/mixed_precision/configurable_quant_id.py +0 -0
  89. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/mixed_precision/configurable_quantizer_utils.py +0 -0
  90. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/mixed_precision/mixed_precision_candidates_filter.py +0 -0
  91. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/mixed_precision/mixed_precision_quantization_config.py +0 -0
  92. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/mixed_precision/mixed_precision_ru_helper.py +0 -0
  93. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/mixed_precision/mixed_precision_search_facade.py +0 -0
  94. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/mixed_precision/mixed_precision_search_manager.py +0 -0
  95. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/mixed_precision/resource_utilization_tools/__init__.py +0 -0
  96. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/mixed_precision/resource_utilization_tools/resource_utilization.py +0 -0
  97. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/mixed_precision/resource_utilization_tools/resource_utilization_calculator.py +0 -0
  98. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/mixed_precision/resource_utilization_tools/resource_utilization_data.py +0 -0
  99. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/mixed_precision/search_methods/__init__.py +0 -0
  100. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/mixed_precision/search_methods/linear_programming.py +0 -0
  101. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/mixed_precision/sensitivity_eval/__init__.py +0 -0
  102. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/mixed_precision/sensitivity_eval/metric_calculators.py +0 -0
  103. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/mixed_precision/sensitivity_eval/sensitivity_evaluation.py +0 -0
  104. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/mixed_precision/sensitivity_eval/set_layer_to_bitwidth.py +0 -0
  105. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/mixed_precision/solution_refinement_procedure.py +0 -0
  106. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/model_builder_mode.py +0 -0
  107. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/network_editors/__init__.py +0 -0
  108. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/network_editors/actions.py +0 -0
  109. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/network_editors/edit_network.py +0 -0
  110. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/network_editors/node_filters.py +0 -0
  111. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/node_prior_info.py +0 -0
  112. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/pruning/__init__.py +0 -0
  113. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/pruning/channels_grouping.py +0 -0
  114. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/pruning/greedy_mask_calculator.py +0 -0
  115. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/pruning/importance_metrics/__init__.py +0 -0
  116. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/pruning/importance_metrics/base_importance_metric.py +0 -0
  117. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/pruning/importance_metrics/importance_metric_factory.py +0 -0
  118. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/pruning/importance_metrics/lfh_importance_metric.py +0 -0
  119. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/pruning/mask/__init__.py +0 -0
  120. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/pruning/mask/per_channel_mask.py +0 -0
  121. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/pruning/mask/per_simd_group_mask.py +0 -0
  122. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/pruning/prune_graph.py +0 -0
  123. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/pruning/pruner.py +0 -0
  124. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/pruning/pruning_config.py +0 -0
  125. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/pruning/pruning_framework_implementation.py +0 -0
  126. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/pruning/pruning_info.py +0 -0
  127. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/pruning/pruning_section.py +0 -0
  128. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/quantization/__init__.py +0 -0
  129. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/quantization/bit_width_config.py +0 -0
  130. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/quantization/candidate_node_quantization_config.py +0 -0
  131. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/quantization/core_config.py +0 -0
  132. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/quantization/debug_config.py +0 -0
  133. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/quantization/filter_nodes_candidates.py +0 -0
  134. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/quantization/quantization_fn_selection.py +0 -0
  135. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/quantization/quantization_params_generation/__init__.py +0 -0
  136. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/quantization/quantization_params_generation/error_functions.py +0 -0
  137. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/quantization/quantization_params_generation/lut_kmeans_params.py +0 -0
  138. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/quantization/quantization_params_generation/outlier_filter.py +0 -0
  139. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/quantization/quantization_params_generation/power_of_two_selection.py +0 -0
  140. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/quantization/quantization_params_generation/qparams_search.py +0 -0
  141. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/quantization/quantization_params_generation/symmetric_selection.py +0 -0
  142. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/quantization/quantization_params_generation/uniform_selection.py +0 -0
  143. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/quantization/quantize_graph_weights.py +0 -0
  144. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/quantization/quantize_node.py +0 -0
  145. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/quantization/quantizers/__init__.py +0 -0
  146. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/quantization/quantizers/lut_kmeans_quantizer.py +0 -0
  147. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/quantization/quantizers/quantizers_helpers.py +0 -0
  148. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/quantization/quantizers/uniform_quantizers.py +0 -0
  149. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/quantization/set_node_quantization_config.py +0 -0
  150. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/similarity_analyzer.py +0 -0
  151. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/statistics_correction/__init__.py +0 -0
  152. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/statistics_correction/apply_activation_bias_correction_to_graph.py +0 -0
  153. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/statistics_correction/compute_activation_bias_correction_of_graph.py +0 -0
  154. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/substitutions/__init__.py +0 -0
  155. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/substitutions/apply_substitutions.py +0 -0
  156. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/substitutions/batchnorm_folding.py +0 -0
  157. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/substitutions/batchnorm_refusing.py +0 -0
  158. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/substitutions/linear_collapsing.py +0 -0
  159. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/substitutions/linear_collapsing_substitution.py +0 -0
  160. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/substitutions/remove_identity.py +0 -0
  161. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/substitutions/residual_collapsing.py +0 -0
  162. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/substitutions/scale_equalization.py +0 -0
  163. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/substitutions/softmax_shift.py +0 -0
  164. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/substitutions/virtual_activation_weights_composition.py +0 -0
  165. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/substitutions/weights_activation_split.py +0 -0
  166. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/user_info.py +0 -0
  167. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/visualization/__init__.py +0 -0
  168. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/visualization/final_config_visualizer.py +0 -0
  169. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/visualization/nn_visualizer.py +0 -0
  170. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/common/visualization/tensorboard_writer.py +0 -0
  171. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/keras/__init__.py +0 -0
  172. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/keras/back2framework/__init__.py +0 -0
  173. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/keras/back2framework/factory_model_builder.py +0 -0
  174. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/keras/back2framework/float_model_builder.py +0 -0
  175. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/keras/back2framework/instance_builder.py +0 -0
  176. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/keras/back2framework/keras_model_builder.py +0 -0
  177. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/keras/back2framework/mixed_precision_model_builder.py +0 -0
  178. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/keras/back2framework/quantized_model_builder.py +0 -0
  179. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/keras/constants.py +0 -0
  180. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/keras/custom_layer_validation.py +0 -0
  181. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/keras/data_util.py +0 -0
  182. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/keras/graph_substitutions/__init__.py +0 -0
  183. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/__init__.py +0 -0
  184. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/activation_decomposition.py +0 -0
  185. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/batchnorm_folding.py +0 -0
  186. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/batchnorm_reconstruction.py +0 -0
  187. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/batchnorm_refusing.py +0 -0
  188. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/concat_threshold_update.py +0 -0
  189. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/conv_funcs_to_layer.py +0 -0
  190. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/dwconv_to_conv.py +0 -0
  191. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/linear_collapsing.py +0 -0
  192. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/matmul_substitution.py +0 -0
  193. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/multi_head_attention_decomposition.py +0 -0
  194. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/relu_bound_to_power_of_2.py +0 -0
  195. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/remove_identity.py +0 -0
  196. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/residual_collapsing.py +0 -0
  197. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/scale_equalization.py +0 -0
  198. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/separableconv_decomposition.py +0 -0
  199. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/shift_negative_activation.py +0 -0
  200. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/sigmoid_mul_to_swish.py +0 -0
  201. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/softmax_shift.py +0 -0
  202. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/virtual_activation_weights_composition.py +0 -0
  203. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/weights_activation_split.py +0 -0
  204. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/keras/hessian/__init__.py +0 -0
  205. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/keras/hessian/activation_hessian_scores_calculator_keras.py +0 -0
  206. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/keras/hessian/hessian_scores_calculator_keras.py +0 -0
  207. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/keras/hessian/weights_hessian_scores_calculator_keras.py +0 -0
  208. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/keras/keras_node_prior_info.py +0 -0
  209. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/keras/mixed_precision/__init__.py +0 -0
  210. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/keras/mixed_precision/configurable_activation_quantizer.py +0 -0
  211. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/keras/mixed_precision/configurable_weights_quantizer.py +0 -0
  212. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/keras/pruning/__init__.py +0 -0
  213. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/keras/quantization/__init__.py +0 -0
  214. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/keras/quantization/activation_quantization_fn_factory.py +0 -0
  215. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/keras/quantization/fake_quant_builder.py +0 -0
  216. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/keras/quantization/lut_fake_quant.py +0 -0
  217. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/keras/reader/__init__.py +0 -0
  218. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/keras/reader/common.py +0 -0
  219. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/keras/reader/connectivity_handler.py +0 -0
  220. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/keras/reader/nested_model/__init__.py +0 -0
  221. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/keras/reader/nested_model/edges_merger.py +0 -0
  222. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/keras/reader/nested_model/nested_model_handler.py +0 -0
  223. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/keras/reader/nested_model/nodes_merger.py +0 -0
  224. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/keras/reader/nested_model/outputs_merger.py +0 -0
  225. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/keras/reader/node_builder.py +0 -0
  226. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/keras/reader/reader.py +0 -0
  227. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/keras/resource_utilization_data_facade.py +0 -0
  228. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/keras/statistics_correction/__init__.py +0 -0
  229. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/keras/statistics_correction/apply_second_moment_correction.py +0 -0
  230. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/keras/statistics_correction/keras_compute_activation_bias_correction_of_graph.py +0 -0
  231. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/keras/tf_tensor_numpy.py +0 -0
  232. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/keras/visualization/__init__.py +0 -0
  233. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/pytorch/__init__.py +0 -0
  234. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/pytorch/back2framework/__init__.py +0 -0
  235. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/pytorch/back2framework/factory_model_builder.py +0 -0
  236. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/pytorch/back2framework/float_model_builder.py +0 -0
  237. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/pytorch/back2framework/instance_builder.py +0 -0
  238. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/pytorch/back2framework/mixed_precision_model_builder.py +0 -0
  239. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/pytorch/back2framework/pytorch_model_builder.py +0 -0
  240. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/pytorch/back2framework/quantization_wrapper/__init__.py +0 -0
  241. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/pytorch/back2framework/quantization_wrapper/quantized_layer_wrapper.py +0 -0
  242. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/pytorch/back2framework/quantization_wrapper/wrapper_quantize_config.py +0 -0
  243. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/pytorch/back2framework/quantized_model_builder.py +0 -0
  244. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/pytorch/constants.py +0 -0
  245. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/pytorch/data_util.py +0 -0
  246. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/pytorch/graph_substitutions/__init__.py +0 -0
  247. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/__init__.py +0 -0
  248. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/batchnorm_folding.py +0 -0
  249. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/batchnorm_reconstruction.py +0 -0
  250. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/batchnorm_refusing.py +0 -0
  251. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/concat_threshold_update.py +0 -0
  252. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/const_holder_conv.py +0 -0
  253. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/convtranspose_dynamic_padding.py +0 -0
  254. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/functional_batch_norm.py +0 -0
  255. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/functional_layer_norm.py +0 -0
  256. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/functional_linear.py +0 -0
  257. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/linear_collapsing.py +0 -0
  258. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/matmul_decomposition.py +0 -0
  259. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/multi_head_attention_decomposition.py +0 -0
  260. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/relu_bound_to_power_of_2.py +0 -0
  261. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/remove_identity.py +0 -0
  262. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/reshape_with_static_shapes.py +0 -0
  263. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/residual_collapsing.py +0 -0
  264. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/scale_equalization.py +0 -0
  265. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/scaled_dot_product_attention.py +0 -0
  266. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/shift_negative_activation.py +0 -0
  267. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/softmax_shift.py +0 -0
  268. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/transform_function_call_method.py +0 -0
  269. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/virtual_activation_weights_composition.py +0 -0
  270. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/weights_activation_split.py +0 -0
  271. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/pytorch/hessian/__init__.py +0 -0
  272. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/pytorch/hessian/activation_hessian_scores_calculator_pytorch.py +0 -0
  273. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/pytorch/hessian/hessian_scores_calculator_pytorch.py +0 -0
  274. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/pytorch/hessian/weights_hessian_scores_calculator_pytorch.py +0 -0
  275. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/pytorch/mixed_precision/__init__.py +0 -0
  276. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/pytorch/mixed_precision/configurable_activation_quantizer.py +0 -0
  277. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/pytorch/mixed_precision/configurable_weights_quantizer.py +0 -0
  278. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/pytorch/pruning/__init__.py +0 -0
  279. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/pytorch/pytorch_device_config.py +0 -0
  280. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/pytorch/pytorch_implementation.py +0 -0
  281. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/pytorch/pytorch_node_prior_info.py +0 -0
  282. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/pytorch/quantization/__init__.py +0 -0
  283. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/pytorch/quantization/activation_quantization_fn_factory.py +0 -0
  284. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/pytorch/quantization/fake_quant_builder.py +0 -0
  285. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/pytorch/quantization/lut_fake_quant.py +0 -0
  286. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/pytorch/reader/__init__.py +0 -0
  287. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/pytorch/reader/graph_builders.py +0 -0
  288. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/pytorch/reader/node_holders.py +0 -0
  289. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/pytorch/reader/reader.py +0 -0
  290. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/pytorch/resource_utilization_data_facade.py +0 -0
  291. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/pytorch/statistics_correction/__init__.py +0 -0
  292. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/pytorch/statistics_correction/apply_second_moment_correction.py +0 -0
  293. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/pytorch/statistics_correction/pytorch_compute_activation_bias_correction_of_graph.py +0 -0
  294. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/pytorch/utils.py +0 -0
  295. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/core/runner.py +0 -0
  296. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/data_generation/__init__.py +0 -0
  297. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/data_generation/common/__init__.py +0 -0
  298. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/data_generation/common/constants.py +0 -0
  299. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/data_generation/common/data_generation.py +0 -0
  300. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/data_generation/common/data_generation_config.py +0 -0
  301. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/data_generation/common/enums.py +0 -0
  302. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/data_generation/common/image_pipeline.py +0 -0
  303. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/data_generation/common/model_info_exctractors.py +0 -0
  304. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/data_generation/common/optimization_utils.py +0 -0
  305. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/data_generation/keras/__init__.py +0 -0
  306. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/data_generation/keras/constants.py +0 -0
  307. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/data_generation/keras/image_operations.py +0 -0
  308. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/data_generation/keras/image_pipeline.py +0 -0
  309. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/data_generation/keras/keras_data_generation.py +0 -0
  310. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/data_generation/keras/model_info_exctractors.py +0 -0
  311. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/data_generation/keras/optimization_functions/__init__.py +0 -0
  312. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/data_generation/keras/optimization_functions/batchnorm_alignment_functions.py +0 -0
  313. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/data_generation/keras/optimization_functions/bn_layer_weighting_functions.py +0 -0
  314. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/data_generation/keras/optimization_functions/image_initilization.py +0 -0
  315. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/data_generation/keras/optimization_functions/lr_scheduler.py +0 -0
  316. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/data_generation/keras/optimization_functions/output_loss_functions.py +0 -0
  317. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/data_generation/keras/optimization_functions/scheduler_step_functions.py +0 -0
  318. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/data_generation/keras/optimization_utils.py +0 -0
  319. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/data_generation/pytorch/__init__.py +0 -0
  320. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/data_generation/pytorch/constants.py +0 -0
  321. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/data_generation/pytorch/image_operations.py +0 -0
  322. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/data_generation/pytorch/image_pipeline.py +0 -0
  323. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/data_generation/pytorch/model_info_exctractors.py +0 -0
  324. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/data_generation/pytorch/optimization_functions/__init__.py +0 -0
  325. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/data_generation/pytorch/optimization_functions/batchnorm_alignment_functions.py +0 -0
  326. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/data_generation/pytorch/optimization_functions/bn_layer_weighting_functions.py +0 -0
  327. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/data_generation/pytorch/optimization_functions/image_initilization.py +0 -0
  328. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/data_generation/pytorch/optimization_functions/lr_scheduler.py +0 -0
  329. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/data_generation/pytorch/optimization_functions/output_loss_functions.py +0 -0
  330. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/data_generation/pytorch/optimization_functions/scheduler_step_functions.py +0 -0
  331. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/data_generation/pytorch/optimization_utils.py +0 -0
  332. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/data_generation/pytorch/pytorch_data_generation.py +0 -0
  333. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/defaultdict.py +0 -0
  334. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/exporter/__init__.py +0 -0
  335. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/exporter/model_exporter/__init__.py +0 -0
  336. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/exporter/model_exporter/fw_agonstic/__init__.py +0 -0
  337. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/exporter/model_exporter/fw_agonstic/exporter.py +0 -0
  338. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/exporter/model_exporter/fw_agonstic/quantization_format.py +0 -0
  339. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/exporter/model_exporter/keras/__init__.py +0 -0
  340. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/exporter/model_exporter/keras/base_keras_exporter.py +0 -0
  341. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/exporter/model_exporter/keras/export_serialization_format.py +0 -0
  342. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/exporter/model_exporter/keras/fakely_quant_keras_exporter.py +0 -0
  343. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/exporter/model_exporter/keras/fakely_quant_tflite_exporter.py +0 -0
  344. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/exporter/model_exporter/keras/int8_tflite_exporter.py +0 -0
  345. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/exporter/model_exporter/keras/keras_export_facade.py +0 -0
  346. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/exporter/model_exporter/keras/mctq_keras_exporter.py +0 -0
  347. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/exporter/model_exporter/pytorch/__init__.py +0 -0
  348. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/exporter/model_exporter/pytorch/base_pytorch_exporter.py +0 -0
  349. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/exporter/model_exporter/pytorch/export_serialization_format.py +0 -0
  350. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/exporter/model_exporter/pytorch/fakely_quant_onnx_pytorch_exporter.py +0 -0
  351. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/exporter/model_exporter/pytorch/fakely_quant_torchscript_pytorch_exporter.py +0 -0
  352. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/exporter/model_exporter/pytorch/pytorch_export_facade.py +0 -0
  353. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/exporter/model_wrapper/__init__.py +0 -0
  354. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/exporter/model_wrapper/fw_agnostic/__init__.py +0 -0
  355. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/exporter/model_wrapper/fw_agnostic/get_inferable_quantizers.py +0 -0
  356. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/exporter/model_wrapper/keras/__init__.py +0 -0
  357. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/exporter/model_wrapper/keras/builder/__init__.py +0 -0
  358. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/exporter/model_wrapper/keras/builder/fully_quantized_model_builder.py +0 -0
  359. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/exporter/model_wrapper/keras/builder/node_to_quantizer.py +0 -0
  360. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/exporter/model_wrapper/keras/validate_layer.py +0 -0
  361. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/exporter/model_wrapper/pytorch/__init__.py +0 -0
  362. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/exporter/model_wrapper/pytorch/builder/__init__.py +0 -0
  363. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/exporter/model_wrapper/pytorch/builder/fully_quantized_model_builder.py +0 -0
  364. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/exporter/model_wrapper/pytorch/builder/node_to_quantizer.py +0 -0
  365. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/exporter/model_wrapper/pytorch/validate_layer.py +0 -0
  366. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/gptq/__init__.py +0 -0
  367. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/gptq/common/__init__.py +0 -0
  368. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/gptq/common/gptq_config.py +0 -0
  369. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/gptq/common/gptq_constants.py +0 -0
  370. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/gptq/common/gptq_framework_implementation.py +0 -0
  371. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/gptq/common/gptq_graph.py +0 -0
  372. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/gptq/common/gptq_training.py +0 -0
  373. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/gptq/common/gradual_activation_quantization.py +0 -0
  374. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/gptq/common/regularization_factory.py +0 -0
  375. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/gptq/keras/__init__.py +0 -0
  376. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/gptq/keras/gptq_keras_implementation.py +0 -0
  377. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/gptq/keras/gptq_loss.py +0 -0
  378. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/gptq/keras/gptq_training.py +0 -0
  379. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/gptq/keras/graph_info.py +0 -0
  380. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/gptq/keras/quantizer/__init__.py +0 -0
  381. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/gptq/keras/quantizer/base_keras_gptq_quantizer.py +0 -0
  382. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/gptq/keras/quantizer/quant_utils.py +0 -0
  383. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/gptq/keras/quantizer/quantization_builder.py +0 -0
  384. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/gptq/keras/quantizer/soft_rounding/__init__.py +0 -0
  385. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/gptq/keras/quantizer/soft_rounding/soft_quantizer_reg.py +0 -0
  386. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/gptq/keras/quantizer/soft_rounding/symmetric_soft_quantizer.py +0 -0
  387. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/gptq/keras/quantizer/soft_rounding/uniform_soft_quantizer.py +0 -0
  388. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/gptq/keras/quantizer/ste_rounding/__init__.py +0 -0
  389. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/gptq/keras/quantizer/ste_rounding/symmetric_ste.py +0 -0
  390. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/gptq/pytorch/__init__.py +0 -0
  391. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/gptq/pytorch/gptq_loss.py +0 -0
  392. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/gptq/pytorch/gptq_pytorch_implementation.py +0 -0
  393. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/gptq/pytorch/gptq_training.py +0 -0
  394. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/gptq/pytorch/graph_info.py +0 -0
  395. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/gptq/pytorch/quantization_facade.py +0 -0
  396. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/gptq/pytorch/quantizer/__init__.py +0 -0
  397. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/gptq/pytorch/quantizer/base_pytorch_gptq_quantizer.py +0 -0
  398. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/gptq/pytorch/quantizer/quant_utils.py +0 -0
  399. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/gptq/pytorch/quantizer/quantization_builder.py +0 -0
  400. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/gptq/pytorch/quantizer/soft_rounding/__init__.py +0 -0
  401. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/gptq/pytorch/quantizer/soft_rounding/soft_quantizer_reg.py +0 -0
  402. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/gptq/pytorch/quantizer/soft_rounding/symmetric_soft_quantizer.py +0 -0
  403. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/gptq/pytorch/quantizer/soft_rounding/uniform_soft_quantizer.py +0 -0
  404. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/gptq/pytorch/quantizer/ste_rounding/__init__.py +0 -0
  405. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/gptq/pytorch/quantizer/ste_rounding/symmetric_ste.py +0 -0
  406. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/gptq/runner.py +0 -0
  407. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/logger.py +0 -0
  408. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/metadata.py +0 -0
  409. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/pruning/__init__.py +0 -0
  410. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/pruning/keras/__init__.py +0 -0
  411. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/pruning/keras/pruning_facade.py +0 -0
  412. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/pruning/pytorch/__init__.py +0 -0
  413. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/pruning/pytorch/pruning_facade.py +0 -0
  414. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/ptq/__init__.py +0 -0
  415. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/ptq/keras/__init__.py +0 -0
  416. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/ptq/pytorch/__init__.py +0 -0
  417. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/ptq/pytorch/quantization_facade.py +0 -0
  418. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/ptq/runner.py +0 -0
  419. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/qat/__init__.py +0 -0
  420. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/qat/common/__init__.py +0 -0
  421. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/qat/common/qat_config.py +0 -0
  422. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/qat/keras/__init__.py +0 -0
  423. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/qat/keras/quantizer/__init__.py +0 -0
  424. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/qat/keras/quantizer/base_keras_qat_weight_quantizer.py +0 -0
  425. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/qat/keras/quantizer/lsq/__init__.py +0 -0
  426. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/qat/keras/quantizer/lsq/symmetric_lsq.py +0 -0
  427. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/qat/keras/quantizer/lsq/uniform_lsq.py +0 -0
  428. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/qat/keras/quantizer/quant_utils.py +0 -0
  429. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/qat/keras/quantizer/quantization_builder.py +0 -0
  430. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/qat/keras/quantizer/ste_rounding/__init__.py +0 -0
  431. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/qat/keras/quantizer/ste_rounding/symmetric_ste.py +0 -0
  432. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/qat/keras/quantizer/ste_rounding/uniform_ste.py +0 -0
  433. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/qat/pytorch/__init__.py +0 -0
  434. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/qat/pytorch/quantization_facade.py +0 -0
  435. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/qat/pytorch/quantizer/__init__.py +0 -0
  436. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/qat/pytorch/quantizer/base_pytorch_qat_weight_quantizer.py +0 -0
  437. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/qat/pytorch/quantizer/lsq/__init__.py +0 -0
  438. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/qat/pytorch/quantizer/lsq/symmetric_lsq.py +0 -0
  439. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/qat/pytorch/quantizer/lsq/uniform_lsq.py +0 -0
  440. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/qat/pytorch/quantizer/quantization_builder.py +0 -0
  441. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/qat/pytorch/quantizer/ste_rounding/__init__.py +0 -0
  442. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/qat/pytorch/quantizer/ste_rounding/symmetric_ste.py +0 -0
  443. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/qat/pytorch/quantizer/ste_rounding/uniform_ste.py +0 -0
  444. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/quantization_preparation/__init__.py +0 -0
  445. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/quantization_preparation/load_fqc.py +0 -0
  446. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/target_platform_capabilities/__init__.py +0 -0
  447. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/target_platform_capabilities/constants.py +0 -0
  448. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/target_platform_capabilities/immutable.py +0 -0
  449. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/target_platform_capabilities/schema/__init__.py +0 -0
  450. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/target_platform_capabilities/schema/mct_current_schema.py +0 -0
  451. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/target_platform_capabilities/schema/schema_compatability.py +0 -0
  452. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/target_platform_capabilities/schema/schema_functions.py +0 -0
  453. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/target_platform_capabilities/schema/v1.py +0 -0
  454. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/target_platform_capabilities/schema/v2.py +0 -0
  455. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/target_platform_capabilities/targetplatform2framework/__init__.py +0 -0
  456. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/target_platform_capabilities/targetplatform2framework/attach2fw.py +0 -0
  457. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/target_platform_capabilities/targetplatform2framework/attach2keras.py +0 -0
  458. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/target_platform_capabilities/targetplatform2framework/attach2pytorch.py +0 -0
  459. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/target_platform_capabilities/targetplatform2framework/attribute_filter.py +0 -0
  460. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/target_platform_capabilities/targetplatform2framework/current_tpc.py +0 -0
  461. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/target_platform_capabilities/targetplatform2framework/framework_quantization_capabilities.py +0 -0
  462. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/target_platform_capabilities/targetplatform2framework/framework_quantization_capabilities_component.py +0 -0
  463. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/target_platform_capabilities/targetplatform2framework/layer_filter_params.py +0 -0
  464. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/target_platform_capabilities/targetplatform2framework/operations_to_layers.py +0 -0
  465. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/target_platform_capabilities/tpc_io_handler.py +0 -0
  466. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/target_platform_capabilities/tpc_models/__init__.py +0 -0
  467. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/target_platform_capabilities/tpc_models/get_target_platform_capabilities.py +0 -0
  468. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/__init__.py +0 -0
  469. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/latest/__init__.py +0 -0
  470. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1/__init__.py +0 -0
  471. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1/tpc.py +0 -0
  472. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/__init__.py +0 -0
  473. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/latest/__init__.py +0 -0
  474. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/v1/__init__.py +0 -0
  475. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/v1/tpc.py +0 -0
  476. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/__init__.py +0 -0
  477. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/latest/__init__.py +0 -0
  478. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/v1/__init__.py +0 -0
  479. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/v1/tpc.py +0 -0
  480. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/trainable_infrastructure/__init__.py +0 -0
  481. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/trainable_infrastructure/common/__init__.py +0 -0
  482. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/trainable_infrastructure/common/annealing_schedulers.py +0 -0
  483. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/trainable_infrastructure/common/base_trainable_quantizer.py +0 -0
  484. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/trainable_infrastructure/common/constants.py +0 -0
  485. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/trainable_infrastructure/common/get_quantizers.py +0 -0
  486. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/trainable_infrastructure/common/quant_utils.py +0 -0
  487. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/trainable_infrastructure/common/training_method.py +0 -0
  488. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/trainable_infrastructure/common/util.py +0 -0
  489. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/trainable_infrastructure/keras/__init__.py +0 -0
  490. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/trainable_infrastructure/keras/activation_quantizers/__init__.py +0 -0
  491. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/trainable_infrastructure/keras/activation_quantizers/base_activation_quantizer.py +0 -0
  492. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/trainable_infrastructure/keras/activation_quantizers/lsq/__init__.py +0 -0
  493. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/trainable_infrastructure/keras/activation_quantizers/lsq/symmetric_lsq.py +0 -0
  494. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/trainable_infrastructure/keras/activation_quantizers/lsq/uniform_lsq.py +0 -0
  495. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/trainable_infrastructure/keras/activation_quantizers/ste/__init__.py +0 -0
  496. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/trainable_infrastructure/keras/activation_quantizers/ste/symmetric_ste.py +0 -0
  497. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/trainable_infrastructure/keras/activation_quantizers/ste/uniform_ste.py +0 -0
  498. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/trainable_infrastructure/keras/annealing_schedulers.py +0 -0
  499. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/trainable_infrastructure/keras/base_keras_quantizer.py +0 -0
  500. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/trainable_infrastructure/keras/load_model.py +0 -0
  501. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/trainable_infrastructure/keras/quantize_wrapper.py +0 -0
  502. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/trainable_infrastructure/keras/quantizer_utils.py +0 -0
  503. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/trainable_infrastructure/pytorch/__init__.py +0 -0
  504. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/trainable_infrastructure/pytorch/activation_quantizers/__init__.py +0 -0
  505. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/trainable_infrastructure/pytorch/activation_quantizers/base_activation_quantizer.py +0 -0
  506. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/trainable_infrastructure/pytorch/activation_quantizers/lsq/__init__.py +0 -0
  507. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/trainable_infrastructure/pytorch/activation_quantizers/lsq/symmetric_lsq.py +0 -0
  508. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/trainable_infrastructure/pytorch/activation_quantizers/lsq/uniform_lsq.py +0 -0
  509. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/trainable_infrastructure/pytorch/activation_quantizers/ste/__init__.py +0 -0
  510. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/trainable_infrastructure/pytorch/activation_quantizers/ste/symmetric_ste.py +0 -0
  511. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/trainable_infrastructure/pytorch/activation_quantizers/ste/uniform_ste.py +0 -0
  512. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/trainable_infrastructure/pytorch/annealing_schedulers.py +0 -0
  513. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/trainable_infrastructure/pytorch/base_pytorch_quantizer.py +0 -0
  514. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/trainable_infrastructure/pytorch/quantizer_utils.py +0 -0
  515. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/verify_packages.py +0 -0
  516. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/xquant/__init__.py +0 -0
  517. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/xquant/common/__init__.py +0 -0
  518. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/xquant/common/constants.py +0 -0
  519. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/xquant/common/core_report_generator.py +0 -0
  520. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/xquant/common/dataset_utils.py +0 -0
  521. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/xquant/common/framework_report_utils.py +0 -0
  522. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/xquant/common/model_analyzer.py +0 -0
  523. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/xquant/common/model_folding_utils.py +0 -0
  524. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/xquant/common/similarity_calculator.py +0 -0
  525. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/xquant/common/similarity_functions.py +0 -0
  526. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/xquant/common/tensorboard_utils.py +0 -0
  527. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/xquant/common/xquant_config.py +0 -0
  528. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/xquant/keras/__init__.py +0 -0
  529. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/xquant/keras/dataset_utils.py +0 -0
  530. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/xquant/keras/facade_xquant_report.py +0 -0
  531. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/xquant/keras/keras_report_utils.py +0 -0
  532. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/xquant/keras/model_analyzer.py +0 -0
  533. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/xquant/keras/similarity_functions.py +0 -0
  534. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/xquant/keras/tensorboard_utils.py +0 -0
  535. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/xquant/pytorch/__init__.py +0 -0
  536. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/xquant/pytorch/dataset_utils.py +0 -0
  537. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/xquant/pytorch/facade_xquant_report.py +0 -0
  538. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/xquant/pytorch/model_analyzer.py +0 -0
  539. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/xquant/pytorch/pytorch_report_utils.py +0 -0
  540. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/xquant/pytorch/similarity_functions.py +0 -0
  541. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/model_compression_toolkit/xquant/pytorch/tensorboard_utils.py +0 -0
  542. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/setup.cfg +0 -0
  543. {mct_nightly-2.4.0.20250705.556 → mct_nightly-2.4.0.20250707.643}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mct-nightly
3
- Version: 2.4.0.20250705.556
3
+ Version: 2.4.0.20250707.643
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
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mct-nightly
3
- Version: 2.4.0.20250705.556
3
+ Version: 2.4.0.20250707.643
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
@@ -25,7 +25,6 @@ model_compression_toolkit/core/common/framework_info.py
25
25
  model_compression_toolkit/core/common/memory_computation.py
26
26
  model_compression_toolkit/core/common/model_builder_mode.py
27
27
  model_compression_toolkit/core/common/model_collector.py
28
- model_compression_toolkit/core/common/model_validation.py
29
28
  model_compression_toolkit/core/common/node_prior_info.py
30
29
  model_compression_toolkit/core/common/similarity_analyzer.py
31
30
  model_compression_toolkit/core/common/user_info.py
@@ -167,7 +166,6 @@ model_compression_toolkit/core/keras/custom_layer_validation.py
167
166
  model_compression_toolkit/core/keras/data_util.py
168
167
  model_compression_toolkit/core/keras/default_framework_info.py
169
168
  model_compression_toolkit/core/keras/keras_implementation.py
170
- model_compression_toolkit/core/keras/keras_model_validation.py
171
169
  model_compression_toolkit/core/keras/keras_node_prior_info.py
172
170
  model_compression_toolkit/core/keras/resource_utilization_data_facade.py
173
171
  model_compression_toolkit/core/keras/tf_tensor_numpy.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.20250705.000556"
30
+ __version__ = "2.4.0.20250707.000643"
@@ -13,11 +13,12 @@
13
13
  # limitations under the License.
14
14
  # ==============================================================================
15
15
 
16
+ from abc import ABC, abstractmethod
16
17
  import numpy as np
17
18
  from model_compression_toolkit.logger import Logger
18
19
 
19
20
 
20
- class BaseCollector(object):
21
+ class BaseCollector(ABC):
21
22
  """
22
23
  Base class for statistics collection object.
23
24
  """
@@ -26,6 +27,7 @@ class BaseCollector(object):
26
27
  # When manipulation statistics in a granularity they were not collected by, the data is invalid.
27
28
  self.is_legal = True
28
29
 
30
+ @abstractmethod
29
31
  def scale(self, scale_factor: np.ndarray):
30
32
  """
31
33
  Scale all statistics in collector by some factor.
@@ -37,6 +39,7 @@ class BaseCollector(object):
37
39
  raise NotImplemented(
38
40
  f'{self.__class__.__name__} needs to implement scale operation for its state.') # pragma: no cover
39
41
 
42
+ @abstractmethod
40
43
  def shift(self, shift_value: np.ndarray):
41
44
  """
42
45
  Shift all statistics in collector by some value.
@@ -87,10 +87,13 @@ class MeanCollector(BaseCollector):
87
87
  x: Tensor that goes through the mean collector and needs to be considered in the mean computation.
88
88
  """
89
89
  self.i += 1 # Update the iteration index
90
- axis = (len(x.shape) - 1) if self.axis == LAST_AXIS else self.axis
91
- n = x.shape[axis]
92
- transpose_index = [axis, *[i for i in range(len(x.shape)) if i != axis]]
93
- mu = np.mean(np.reshape(np.transpose(x, transpose_index), [n, -1]), axis=-1) # mean per channel for a batch
90
+ if self.axis is None:
91
+ mu = np.mean(np.reshape(x, [1, -1]), axis=-1) # mean per channel for a batch
92
+ else:
93
+ axis = (len(x.shape) - 1) if self.axis == LAST_AXIS else self.axis
94
+ n = x.shape[axis]
95
+ transpose_index = [axis, *[i for i in range(len(x.shape)) if i != axis]]
96
+ mu = np.mean(np.reshape(np.transpose(x, transpose_index), [n, -1]), axis=-1) # mean per channel for a batch
94
97
  self.current_sum += mu # sum of all batches
95
98
  self.current_mean = self.current_sum / self.i # mean of all batches
96
99
 
@@ -130,10 +130,13 @@ class MinMaxPerChannelCollector(BaseCollector):
130
130
  x: Tensor that goes through the collector and needs to be considered in the min/max computation.
131
131
  """
132
132
 
133
- axis = (len(x.shape) - 1) if self.axis == LAST_AXIS else self.axis
134
- n = x.shape[axis]
135
- transpose_index = [axis, *[i for i in range(len(x.shape)) if i != axis]]
136
- x_reshape = np.reshape(np.transpose(x, transpose_index), [n, -1])
133
+ if self.axis is None:
134
+ x_reshape = np.reshape(x, [1, -1])
135
+ else:
136
+ axis = (len(x.shape) - 1) if self.axis == LAST_AXIS else self.axis
137
+ n = x.shape[axis]
138
+ transpose_index = [axis, *[i for i in range(len(x.shape)) if i != axis]]
139
+ x_reshape = np.reshape(np.transpose(x, transpose_index), [n, -1])
137
140
  if self.state is None:
138
141
  x_max = np.max(x_reshape, axis=-1)
139
142
  x_min = np.min(x_reshape, axis=-1)
@@ -157,6 +157,17 @@ class ModelCollector:
157
157
  for n in graph.get_topo_sorted_nodes():
158
158
  quant_node_in_fln = n.is_fln_quantization() and graph.fusing_info.is_quantized_node_in_fln(n)
159
159
  sc = create_stats_collector_for_node(n, quant_node_in_fln=quant_node_in_fln) # Get static collector for the node
160
+ if isinstance(sc, common.StatsCollector) and (sc.mc.axis is None or sc.mpcc.axis is None):
161
+ # Missing output channel axis info, so try to extract it from previous and next nodes output channel axis.
162
+ possible_output_channel_axis_set = {nn.out_channel_axis for nn in graph.get_next_nodes(n) + graph.get_prev_nodes(n)}
163
+ # Filter out None values.
164
+ possible_output_channel_axis_list = list(filter(lambda x: x is not None, possible_output_channel_axis_set))
165
+ if len(possible_output_channel_axis_list) > 0:
166
+ if len(possible_output_channel_axis_list) > 1:
167
+ Logger.warning(f'Ambiguous input channel data from next nodes for {n.name}.')
168
+ sc.mc.axis = possible_output_channel_axis_list[0]
169
+ sc.mpcc.axis = possible_output_channel_axis_list[0]
170
+
160
171
  # If we use bias correction, and the node has kernel weights to quantize, we need to make sure
161
172
  # its previous nodes' tensors are consistent with this node.
162
173
  if qc.weights_bias_correction and n.kernel_attr is not None and n.is_weights_quantization_enabled(
@@ -303,7 +303,7 @@ class MemoryCalculator:
303
303
  num_oc = np.sum(output_mask)
304
304
  else:
305
305
  # Get the node channel axis from framework info
306
- channel_axis = node.out_channel_axis
306
+ channel_axis = self.fw_impl.default_output_channel_axis if node.out_channel_axis is None else node.out_channel_axis
307
307
  if channel_axis is None:
308
308
  Logger.critical(f"The channel axis is undefined. Please ensure the channel axis is explicitly defined for node {node.type} in the framework info.")
309
309
 
@@ -18,7 +18,6 @@ from enum import Enum, auto
18
18
  from model_compression_toolkit.core.common.framework_info import ChannelAxisMapping
19
19
  from model_compression_toolkit.logger import Logger
20
20
 
21
- from model_compression_toolkit.core.common.quantization.quantization_config import QuantizationConfig
22
21
  from model_compression_toolkit.target_platform_capabilities.constants import POSITIONAL_ATTR
23
22
  from model_compression_toolkit.target_platform_capabilities.schema.mct_current_schema import \
24
23
  AttributeQuantizationConfig, OpQuantizationConfig
@@ -41,6 +40,7 @@ class ActivationQuantizationMode(Enum):
41
40
  NO_QUANT = auto()
42
41
  FLN_NO_QUANT = auto()
43
42
 
43
+
44
44
  class BaseNodeQuantizationConfig(object):
45
45
  """
46
46
  Base class for node quantization configuration
@@ -59,12 +59,11 @@ class BaseNodeQuantizationConfig(object):
59
59
  kwargs: A dictionary with additional key arguments.
60
60
 
61
61
  """
62
-
63
62
  if hasattr(self, config_parameter_name):
64
63
  setattr(self, config_parameter_name, config_parameter_value)
65
64
  else:
66
- Logger.warning(f"Parameter {config_parameter_name} could not be found in the node quantization config and "
67
- f"was not updated!")
65
+ raise AttributeError(
66
+ f"Parameter {config_parameter_name} could not be found in the node quantization config.")
68
67
 
69
68
  def __repr__(self) -> str:
70
69
  """
@@ -97,37 +96,9 @@ class NodeActivationQuantizationConfig(BaseNodeQuantizationConfig):
97
96
  self.signedness = op_cfg.signedness
98
97
 
99
98
  self.activation_quantization_params = {}
100
- # TODO irena: computed by compute_activation_bias_correction. shouldnt really be here
99
+ # TODO: computed by compute_activation_bias_correction. Probably shouldnt be here.
101
100
  self.activation_bias_correction_term = None
102
101
 
103
- # TODO irena remove along with set_qc. Keeping for eq and hash to work without set_qc being called
104
- self.activation_error_method = None
105
- self.relu_bound_to_power_of_2 = None
106
- self.activation_channel_equalization = None
107
- self.input_scaling = None
108
- self.min_threshold = None
109
- self.l_p_value = None
110
- self.shift_negative_activation_correction = None
111
- self.z_threshold = None
112
- self.shift_negative_ratio = None
113
- self.shift_negative_threshold_recalculation = None
114
- self.concat_threshold_update = None
115
-
116
- def set_qc(self, qc: QuantizationConfig):
117
- """ TODO irena: temporary keep all the attributes as before not to break all code at once.
118
- Eventually all of them should be removed from here. """
119
- self.activation_error_method = qc.activation_error_method
120
- self.relu_bound_to_power_of_2 = qc.relu_bound_to_power_of_2
121
- self.activation_channel_equalization = qc.activation_channel_equalization
122
- self.input_scaling = qc.input_scaling
123
- self.min_threshold = qc.min_threshold
124
- self.l_p_value = qc.l_p_value
125
- self.shift_negative_activation_correction = qc.shift_negative_activation_correction
126
- self.z_threshold = qc.z_threshold
127
- self.shift_negative_ratio = qc.shift_negative_ratio
128
- self.shift_negative_threshold_recalculation = qc.shift_negative_threshold_recalculation
129
- self.concat_threshold_update = qc.concat_threshold_update
130
-
131
102
  @property
132
103
  def enable_activation_quantization(self):
133
104
  return self.quant_mode == ActivationQuantizationMode.QUANT
@@ -165,32 +136,16 @@ class NodeActivationQuantizationConfig(BaseNodeQuantizationConfig):
165
136
  if not isinstance(other, NodeActivationQuantizationConfig):
166
137
  return False # pragma: no cover
167
138
 
168
- return self.activation_error_method == other.activation_error_method and \
169
- self.activation_quantization_method == other.activation_quantization_method and \
139
+ return self.activation_quantization_method == other.activation_quantization_method and \
170
140
  self.activation_n_bits == other.activation_n_bits and \
171
141
  self.quant_mode == other.quant_mode and \
172
- self.activation_channel_equalization == other.activation_channel_equalization and \
173
- self.input_scaling == other.input_scaling and \
174
- self.min_threshold == other.min_threshold and \
175
- self.l_p_value == other.l_p_value and \
176
- self.shift_negative_activation_correction == other.shift_negative_activation_correction and \
177
- self.z_threshold == other.z_threshold and \
178
- self.shift_negative_ratio == other.shift_negative_ratio and \
179
- self.shift_negative_threshold_recalculation == other.shift_negative_threshold_recalculation
142
+ self.signedness == other.signedness
180
143
 
181
144
  def __hash__(self):
182
- return hash((self.activation_error_method,
183
- self.activation_quantization_method,
145
+ return hash((self.activation_quantization_method,
184
146
  self.activation_n_bits,
185
147
  self.quant_mode,
186
- self.activation_channel_equalization,
187
- self.input_scaling,
188
- self.min_threshold,
189
- self.l_p_value,
190
- self.shift_negative_activation_correction,
191
- self.z_threshold,
192
- self.shift_negative_ratio,
193
- self.shift_negative_threshold_recalculation))
148
+ self.signedness))
194
149
 
195
150
 
196
151
  class WeightsAttrQuantizationConfig:
@@ -211,16 +166,8 @@ class WeightsAttrQuantizationConfig:
211
166
  self.weights_n_bits = weights_attr_cfg.weights_n_bits
212
167
  self.weights_per_channel_threshold = weights_attr_cfg.weights_per_channel_threshold
213
168
  self.enable_weights_quantization = weights_attr_cfg.enable_weights_quantization
214
- self.weights_quantization_params = {}
215
169
 
216
- # TODO irena remove along with set_qc. Keeping for eq and hash to work without set_qc being called
217
- self.weights_error_method = None
218
- self.l_p_value = None
219
-
220
- def set_qc(self, qc: QuantizationConfig):
221
- # TODO irena: temporary keep the fields to not break everything at once.
222
- self.weights_error_method = qc.weights_error_method
223
- self.l_p_value = qc.l_p_value
170
+ self.weights_quantization_params = {}
224
171
 
225
172
  def set_weights_quantization_param(self,
226
173
  weights_params: dict):
@@ -252,18 +199,14 @@ class WeightsAttrQuantizationConfig:
252
199
  self.weights_quantization_method == other.weights_quantization_method and \
253
200
  self.weights_n_bits == other.weights_n_bits and \
254
201
  self.weights_per_channel_threshold == other.weights_per_channel_threshold and \
255
- self.enable_weights_quantization == other.enable_weights_quantization and \
256
- self.weights_error_method == other.weights_error_method and \
257
- self.l_p_value == other.l_p_value
202
+ self.enable_weights_quantization == other.enable_weights_quantization
258
203
 
259
204
  def __hash__(self):
260
205
  return hash((self.weights_channels_axis,
261
- self.weights_error_method,
262
206
  self.weights_quantization_method,
263
207
  self.weights_n_bits,
264
208
  self.weights_per_channel_threshold,
265
- self.enable_weights_quantization,
266
- self.l_p_value))
209
+ self.enable_weights_quantization))
267
210
 
268
211
 
269
212
  class NodeWeightsQuantizationConfig(BaseNodeQuantizationConfig):
@@ -330,16 +273,14 @@ class NodeWeightsQuantizationConfig(BaseNodeQuantizationConfig):
330
273
 
331
274
  self.attributes_config_mapping[attr] = WeightsAttrQuantizationConfig(weights_attr_cfg=attr_cfg,
332
275
  weights_channels_axis=weights_channels_axis)
333
- # TODO irena remove along with set_qc. Keeping for eq and hash to work without set_qc being called
334
- self.min_threshold = None
276
+ # TODO this is set by batch norm reconstruction substitution when folded batch norms are added back, to mark
277
+ # the nodes that the correction should be applied to (for some nodes it gets disabled) and BNs removed.
278
+ # The actual correction is only computed when it's applied in ptq, so it seems that both substitutions could
279
+ # be unified, and no info need to pass between.
335
280
  self.weights_second_moment_correction = None
336
- self.weights_bias_correction = None
337
-
338
- def set_qc(self, qc: QuantizationConfig):
339
- # TODO irena: temporary keep the fields to not break everything at once.
340
- self.min_threshold = qc.min_threshold
341
- self.weights_second_moment_correction = qc.weights_second_moment_correction
342
- self.weights_bias_correction = qc.weights_bias_correction
281
+ # TODO: computed corrected bias is injected to the node config. Probably shouldn't be here. Also it can be
282
+ # computed on the final config, instead of all candidates and then there is no need to save it at all.
283
+ self.bias_corrected = None
343
284
 
344
285
  def get_attr_config(self, attr_name: 'WeightAttrT') -> WeightsAttrQuantizationConfig:
345
286
  """
@@ -476,8 +417,8 @@ class NodeWeightsQuantizationConfig(BaseNodeQuantizationConfig):
476
417
  if hasattr(attr_cfg, config_parameter_name):
477
418
  setattr(attr_cfg, config_parameter_name, config_parameter_value)
478
419
  else:
479
- Logger.warning(f"Parameter {config_parameter_name} could not be found in the node quantization config of "
480
- f"weights attribute {attr_name} and was not updated!")
420
+ raise AttributeError(f"Parameter {config_parameter_name} could not be found in the node quantization config of "
421
+ f"weights attribute {attr_name}.")
481
422
  else: # pragma: no cover
482
423
  Logger.critical(f"Weights attribute {attr_name} could not be found to set parameter {config_parameter_name}.")
483
424
 
@@ -494,10 +435,7 @@ class NodeWeightsQuantizationConfig(BaseNodeQuantizationConfig):
494
435
  if not isinstance(other, NodeWeightsQuantizationConfig):
495
436
  return False # pragma: no cover
496
437
 
497
- return self.min_threshold == other.min_threshold and \
498
- self.simd_size == other.simd_size and \
499
- self.weights_second_moment_correction == other.weights_second_moment_correction and \
500
- self.weights_bias_correction == other.weights_bias_correction and \
438
+ return self.simd_size == other.simd_size and \
501
439
  self.attributes_config_mapping.keys() == other.attributes_config_mapping.keys() and \
502
440
  all([self.attributes_config_mapping[k] == other.attributes_config_mapping[k]
503
441
  for k in self.attributes_config_mapping.keys()]) and \
@@ -506,9 +444,6 @@ class NodeWeightsQuantizationConfig(BaseNodeQuantizationConfig):
506
444
  for k in self.pos_attributes_config_mapping.keys()])
507
445
 
508
446
  def __hash__(self):
509
- return hash((self.min_threshold,
510
- self.simd_size,
511
- self.weights_second_moment_correction,
512
- self.weights_bias_correction,
447
+ return hash((self.simd_size,
513
448
  frozenset(self.attributes_config_mapping),
514
449
  frozenset(self.pos_attributes_config_mapping)))
@@ -90,7 +90,6 @@ class QuantizationConfig:
90
90
  shift_negative_activation_correction: bool = True
91
91
  activation_channel_equalization: bool = False
92
92
  z_threshold: float = math.inf
93
- min_threshold: float = MIN_THRESHOLD
94
93
  l_p_value: int = 2
95
94
  linear_collapsing: bool = True
96
95
  residual_collapsing: bool = True
@@ -18,21 +18,25 @@ from typing import Dict, Union, Optional, Tuple, Callable
18
18
  from mct_quantizers import QuantizationMethod
19
19
 
20
20
  import model_compression_toolkit.core.common.quantization.quantization_params_generation as qpg
21
+ from model_compression_toolkit.constants import MIN_THRESHOLD
21
22
  from model_compression_toolkit.target_platform_capabilities.schema.mct_current_schema import Signedness
22
23
  from model_compression_toolkit.core.common.collectors.statistics_collector import BaseStatsCollector
23
24
  from model_compression_toolkit.core.common.node_prior_info import NodePriorInfo
24
25
  from model_compression_toolkit.core.common.quantization.node_quantization_config import NodeActivationQuantizationConfig
25
- from model_compression_toolkit.core.common.quantization.quantization_config import QuantizationErrorMethod
26
+ from model_compression_toolkit.core.common.quantization.quantization_config import QuantizationErrorMethod, \
27
+ QuantizationConfig
26
28
 
27
29
 
28
- def compute_activation_qparams(activation_quant_cfg: NodeActivationQuantizationConfig,
30
+ def compute_activation_qparams(quant_cfg: QuantizationConfig,
31
+ node_activation_quant_cfg: NodeActivationQuantizationConfig,
29
32
  node_prior_info: NodePriorInfo,
30
33
  out_stats_container: BaseStatsCollector) -> Dict[str, Union[np.ndarray, float, bool]]:
31
34
  """
32
35
  Compute the activations params for a given node in a graph according to a params function.
33
36
 
34
37
  Args:
35
- activation_quant_cfg: node's activation quantization configuration.
38
+ quant_cfg: quantization config.
39
+ node_activation_quant_cfg: node's activation quantization configuration.
36
40
  node_prior_info: Prior info collected for the node that is being quantized.
37
41
  out_stats_container: Tensor containing output statistics of the node.
38
42
 
@@ -40,41 +44,43 @@ def compute_activation_qparams(activation_quant_cfg: NodeActivationQuantizationC
40
44
  The computed activation quantization params.
41
45
  """
42
46
  activation_quantization_params_fn = _get_activation_quantization_params_fn(
43
- activation_quant_cfg.activation_quantization_method, no_clipping=node_prior_info.is_output_bounded())
47
+ node_activation_quant_cfg.activation_quantization_method, no_clipping=node_prior_info.is_output_bounded())
44
48
 
45
49
  # Extract and filter histogram data from the statistics container.
46
- bins_values, bins_counts = _get_histogram_data(activation_quant_cfg, out_stats_container)
50
+ bins_values, bins_counts = _get_histogram_data(out_stats_container,
51
+ activation_error_method=quant_cfg.activation_error_method,
52
+ z_threshold=quant_cfg.z_threshold)
47
53
 
48
54
  # Retrieve the minimum and maximum values from the statistics container.
49
55
  min_value, max_value = out_stats_container.get_min_max_values()
50
56
 
51
57
  # Determine if the activations should be considered signed.
52
- signed = _determine_signedness(activation_quant_cfg, node_prior_info, min_value, bins_values, bins_counts)
58
+ signed = _determine_signedness(node_activation_quant_cfg, node_prior_info, min_value, bins_values, bins_counts)
53
59
 
54
60
  # Compute and return the activation quantization parameters.
55
61
  return activation_quantization_params_fn(
56
62
  bins_values,
57
63
  bins_counts,
58
- activation_quant_cfg.l_p_value,
59
- activation_quant_cfg.activation_n_bits,
64
+ quant_cfg.l_p_value,
65
+ node_activation_quant_cfg.activation_n_bits,
60
66
  min_value,
61
67
  max_value,
62
- min_threshold=activation_quant_cfg.min_threshold,
63
- quant_error_method=activation_quant_cfg.activation_error_method,
68
+ min_threshold=MIN_THRESHOLD,
69
+ quant_error_method=quant_cfg.activation_error_method,
64
70
  is_signed=signed
65
71
  )
66
72
 
67
73
 
68
- def _get_histogram_data(
69
- activation_quant_cfg: NodeActivationQuantizationConfig,
70
- out_stats_container: BaseStatsCollector
71
- ) -> Tuple[Optional[np.ndarray], Optional[np.ndarray]]:
74
+ def _get_histogram_data(out_stats_container: BaseStatsCollector,
75
+ activation_error_method: QuantizationErrorMethod,
76
+ z_threshold: float) -> Tuple[Optional[np.ndarray], Optional[np.ndarray]]:
72
77
  """
73
78
  Extract and filter the histogram data from the statistics container.
74
79
 
75
80
  Args:
76
- activation_quant_cfg: Node's activation quantization configuration.
77
81
  out_stats_container: Statistics container with histogram data.
82
+ activation_error_method: activation quantization error method.
83
+ z_threshold: z threshold for z-score filtering.
78
84
 
79
85
  Returns:
80
86
  A tuple containing the filtered bins_values and bins_counts.
@@ -83,12 +89,12 @@ def _get_histogram_data(
83
89
  # If the statistics container collected the histogram, we start by filtering outliers using z threshold
84
90
  # filtering, and then computing the threshold based on the filtered histogram.
85
91
  if out_stats_container.require_collection():
86
- if activation_quant_cfg.activation_error_method == QuantizationErrorMethod.HMSE:
92
+ if activation_error_method == QuantizationErrorMethod.HMSE:
87
93
  bins_values, bins_counts = out_stats_container.weighted_hc.get_histogram()
88
94
  else:
89
95
  bins_values, bins_counts = out_stats_container.hc.get_histogram()
90
96
  bins_counts = qpg.z_score_filter(
91
- activation_quant_cfg.z_threshold,
97
+ z_threshold,
92
98
  bins_values,
93
99
  bins_counts
94
100
  )
@@ -18,7 +18,7 @@ from tqdm import tqdm
18
18
  from typing import List, Callable, Generator
19
19
 
20
20
  from model_compression_toolkit.constants import NUM_QPARAM_HESSIAN_SAMPLES
21
- from model_compression_toolkit.core import QuantizationErrorMethod
21
+ from model_compression_toolkit.core import QuantizationErrorMethod, QuantizationConfig
22
22
  from model_compression_toolkit.core.common import Graph, BaseNode
23
23
  from model_compression_toolkit.core.common.framework_info import ChannelAxisMapping
24
24
  from model_compression_toolkit.core.common.framework_implementation import FrameworkImplementation
@@ -31,29 +31,8 @@ from model_compression_toolkit.core.common.quantization.quantization_params_gene
31
31
  from model_compression_toolkit.logger import Logger
32
32
 
33
33
 
34
- def _collect_nodes_for_hmse(nodes_list: List[BaseNode], graph: Graph) -> List[BaseNode]:
35
- """
36
- Collects nodes that are compatiable for parameters selection search using HMSE,
37
- that is, have a kernel attribute that is configured for HMSE error method.
38
-
39
- Args:
40
- nodes_list: A list of nodes to search quantization parameters for.
41
- graph: Graph to compute its nodes' quantization parameters..
42
-
43
- Returns: A (possibly empty) list of nodes.
44
-
45
- """
46
- hmse_nodes = []
47
- for n in nodes_list:
48
- if n.kernel_attr is not None and n.is_weights_quantization_enabled(n.kernel_attr) and \
49
- all([c.weights_quantization_cfg.get_attr_config(n.kernel_attr).weights_error_method ==
50
- QuantizationErrorMethod.HMSE for c in n.candidates_quantization_cfg]):
51
- hmse_nodes.append(n)
52
-
53
- return hmse_nodes
54
-
55
-
56
34
  def calculate_quantization_params(graph: Graph,
35
+ quant_cfg: QuantizationConfig,
57
36
  fw_impl: FrameworkImplementation,
58
37
  repr_data_gen_fn: Callable[[], Generator],
59
38
  nodes: List[BaseNode] = None,
@@ -68,6 +47,7 @@ def calculate_quantization_params(graph: Graph,
68
47
 
69
48
  Args:
70
49
  graph: Graph to compute its nodes' thresholds.
50
+ quant_cfg: quantization config.
71
51
  fw_impl: FrameworkImplementation object.
72
52
  repr_data_gen_fn: callable returning representative dataset generator.
73
53
  nodes: List of nodes to compute their thresholds instead of computing it for all nodes in the graph.
@@ -85,15 +65,16 @@ def calculate_quantization_params(graph: Graph,
85
65
  # Collecting nodes that are configured to search weights quantization parameters using HMSE optimization
86
66
  # and computing required Hessian information to be used for HMSE parameters selection.
87
67
  # The Hessian scores are computed and stored in the hessian_info_service object.
88
- nodes_for_hmse = _collect_nodes_for_hmse(nodes_list, graph)
89
- if len(nodes_for_hmse) > 0:
90
- dataloader = fw_impl.convert_data_gen_to_dataloader(repr_data_gen_fn, batch_size=1)
91
- request = HessianScoresRequest(mode=HessianMode.WEIGHTS,
92
- granularity=HessianScoresGranularity.PER_ELEMENT,
93
- data_loader=dataloader,
94
- n_samples=num_hessian_samples,
95
- target_nodes=nodes_for_hmse)
96
- hessian_info_service.fetch_hessian(request)
68
+ if quant_cfg.weights_error_method == QuantizationErrorMethod.HMSE:
69
+ nodes_for_hmse = [n for n in nodes_list if n.kernel_attr and n.is_weights_quantization_enabled(n.kernel_attr)]
70
+ if nodes_for_hmse:
71
+ dataloader = fw_impl.convert_data_gen_to_dataloader(repr_data_gen_fn, batch_size=1)
72
+ request = HessianScoresRequest(mode=HessianMode.WEIGHTS,
73
+ granularity=HessianScoresGranularity.PER_ELEMENT,
74
+ data_loader=dataloader,
75
+ n_samples=num_hessian_samples,
76
+ target_nodes=nodes_for_hmse)
77
+ hessian_info_service.fetch_hessian(request)
97
78
 
98
79
  for n in tqdm(nodes_list, "Calculating quantization parameters"): # iterate only nodes that we should compute their thresholds
99
80
  for candidate_qc in n.candidates_quantization_cfg:
@@ -101,28 +82,24 @@ def calculate_quantization_params(graph: Graph,
101
82
  if n.is_weights_quantization_enabled(attr):
102
83
  # If the node's weights attribute should be quantized, we compute its quantization parameters
103
84
  attr_cfg = candidate_qc.weights_quantization_cfg.get_attr_config(attr)
104
- channels_axis = attr_cfg.weights_channels_axis
105
- if channels_axis is not None:
106
- output_channels_axis = channels_axis[0]
107
- else:
108
- output_channels_axis = None
109
-
110
- mod_attr_cfg = attr_cfg
85
+ output_channels_axis = attr_cfg.weights_channels_axis.output
111
86
 
112
- if attr_cfg.weights_error_method == QuantizationErrorMethod.HMSE:
87
+ weights_error_method = quant_cfg.weights_error_method
88
+ if weights_error_method == QuantizationErrorMethod.HMSE:
113
89
  # Although we collected nodes for HMSE before running the loop, we keep this verification to
114
90
  # notify the user in case of HMSE configured for node that is not compatible for this method
115
91
  if n.kernel_attr is None or n.kernel_attr not in attr:
116
92
  Logger.warning(f"The HMSE error method for parameters selection is only supported for "
117
93
  f"kernel weights attributes. Running parameters selection for attribute "
118
94
  f"'{attr}' in node '{n.name}' with the default MSE error method instead.")
119
- mod_attr_cfg = copy.deepcopy(attr_cfg)
120
- mod_attr_cfg.weights_error_method = QuantizationErrorMethod.MSE
95
+ weights_error_method = QuantizationErrorMethod.MSE
121
96
 
122
- min_threshold = candidate_qc.weights_quantization_cfg.min_threshold
123
97
  weights_params, output_channels_axis = compute_weights_qparams(n.get_weights_by_keys(attr),
124
- mod_attr_cfg, output_channels_axis,
125
- min_threshold=min_threshold, node=n,
98
+ attr_cfg,
99
+ weights_error_method,
100
+ quant_cfg.l_p_value,
101
+ output_channels_axis,
102
+ node=n,
126
103
  hessian_info_service=hessian_info_service,
127
104
  num_hessian_samples=num_hessian_samples)
128
105
  attr_cfg.weights_channels_axis = ChannelAxisMapping(output_channels_axis, attr_cfg.weights_channels_axis.input)
@@ -130,8 +107,9 @@ def calculate_quantization_params(graph: Graph,
130
107
 
131
108
  if n.is_activation_quantization_enabled():
132
109
  # If node's activations should be quantized as well, we compute its activation quantization parameters
133
- activation_params = compute_activation_qparams(
134
- activation_quant_cfg=candidate_qc.activation_quantization_cfg, node_prior_info=n.prior_info,
135
- out_stats_container=graph.get_out_stats_collector(n))
110
+ activation_params = compute_activation_qparams(quant_cfg=quant_cfg,
111
+ node_activation_quant_cfg=candidate_qc.activation_quantization_cfg,
112
+ node_prior_info=n.prior_info,
113
+ out_stats_container=graph.get_out_stats_collector(n))
136
114
  # Create a NodeQuantizationConfig containing all quantization params and attach it to the node
137
115
  candidate_qc.activation_quantization_cfg.set_activation_quantization_param(activation_params)
@@ -18,7 +18,8 @@ from typing import Dict, Any, Tuple, Callable, TYPE_CHECKING
18
18
  import numpy as np
19
19
  from mct_quantizers import QuantizationMethod
20
20
 
21
- from model_compression_toolkit.constants import NUM_QPARAM_HESSIAN_SAMPLES
21
+ from model_compression_toolkit.constants import NUM_QPARAM_HESSIAN_SAMPLES, MIN_THRESHOLD
22
+ from model_compression_toolkit.core import QuantizationErrorMethod
22
23
  from model_compression_toolkit.core.common.hessian import HessianInfoService
23
24
  from model_compression_toolkit.core.common.quantization.quantization_params_generation import \
24
25
  power_of_two_selection_tensor, lut_kmeans_tensor, symmetric_selection_tensor, uniform_selection_tensor
@@ -28,10 +29,12 @@ if TYPE_CHECKING:
28
29
  from model_compression_toolkit.core.common.quantization.node_quantization_config import WeightsAttrQuantizationConfig
29
30
 
30
31
 
31
- def compute_weights_qparams(weights_attr_values: np.ndarray,
32
+ def compute_weights_qparams(weights_attr_data: np.ndarray,
32
33
  attr_quant_config: 'WeightsAttrQuantizationConfig',
34
+ weights_error_method: QuantizationErrorMethod,
35
+ l_p_value: int,
33
36
  output_channels_axis: int,
34
- min_threshold: float,
37
+ min_threshold: float = MIN_THRESHOLD,
35
38
  node=None,
36
39
  hessian_info_service: HessianInfoService = None,
37
40
  num_hessian_samples: int = NUM_QPARAM_HESSIAN_SAMPLES) -> Tuple[Dict[Any, Any], int]:
@@ -40,8 +43,10 @@ def compute_weights_qparams(weights_attr_values: np.ndarray,
40
43
  instance.
41
44
 
42
45
  Args:
43
- weights_attr_values: Weights attribute parameter to compute the quantization thresholds for.
46
+ weights_attr_data: Weights attribute parameter to compute the quantization thresholds for.
44
47
  attr_quant_config: A specific weights attribute quantization configuration to get its params.
48
+ weights_error_method: quantization error method.
49
+ l_p_value: p-norm to use for the Lp-norm distance.
45
50
  output_channels_axis: Index of the kernel output channels dimension.
46
51
  min_threshold: Minimal threshold to use if threshold is too small.
47
52
  node: The node for which the quantization error is computed (used only with HMSE error method).
@@ -54,13 +59,13 @@ def compute_weights_qparams(weights_attr_values: np.ndarray,
54
59
  """
55
60
  params_fn = _get_weights_quantization_params_fn(attr_quant_config.weights_quantization_method)
56
61
  weights_params, output_channels_axis = params_fn(
57
- weights_attr_values,
58
- p=attr_quant_config.l_p_value,
62
+ weights_attr_data,
63
+ p=l_p_value,
59
64
  n_bits=attr_quant_config.weights_n_bits,
60
65
  per_channel=attr_quant_config.weights_per_channel_threshold,
61
66
  channel_axis=output_channels_axis,
62
67
  min_threshold=min_threshold,
63
- quant_error_method=attr_quant_config.weights_error_method,
68
+ quant_error_method=weights_error_method,
64
69
  node=node,
65
70
  hessian_info_service=hessian_info_service,
66
71
  num_hessian_samples=num_hessian_samples)