mct-nightly 2.1.0.20240731.414__tar.gz → 2.1.0.20240801.515__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 (533) hide show
  1. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/PKG-INFO +1 -1
  2. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/mct_nightly.egg-info/PKG-INFO +1 -1
  3. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/__init__.py +1 -1
  4. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/framework_implementation.py +5 -9
  5. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/graph/base_graph.py +1 -23
  6. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/graph/base_node.py +2 -28
  7. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/mixed_precision/sensitivity_evaluation.py +12 -12
  8. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/quantization/candidate_node_quantization_config.py +2 -2
  9. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/quantization/node_quantization_config.py +16 -38
  10. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/quantization/quantization_params_generation/qparams_weights_computation.py +5 -27
  11. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/quantization/quantizers/quantizers_helpers.py +1 -65
  12. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/keras/back2framework/factory_model_builder.py +3 -3
  13. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/keras/keras_implementation.py +21 -17
  14. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/keras/tf_tensor_numpy.py +2 -2
  15. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/pytorch/back2framework/factory_model_builder.py +3 -3
  16. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/pytorch/pytorch_implementation.py +15 -14
  17. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/pytorch/reader/node_holders.py +1 -1
  18. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/runner.py +1 -0
  19. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/exporter/model_wrapper/keras/validate_layer.py +2 -2
  20. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/gptq/common/gptq_training.py +0 -35
  21. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/qat/keras/quantizer/base_keras_qat_quantizer.py +1 -1
  22. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/qat/pytorch/quantizer/base_pytorch_qat_quantizer.py +1 -1
  23. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/target_platform_capabilities/target_platform/op_quantization_config.py +7 -6
  24. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/target_platform_capabilities/target_platform/target_platform_model.py +2 -2
  25. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/LICENSE.md +0 -0
  26. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/README.md +0 -0
  27. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/mct_nightly.egg-info/SOURCES.txt +0 -0
  28. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/mct_nightly.egg-info/dependency_links.txt +0 -0
  29. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/mct_nightly.egg-info/requires.txt +0 -0
  30. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/mct_nightly.egg-info/top_level.txt +0 -0
  31. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/constants.py +0 -0
  32. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/__init__.py +0 -0
  33. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/analyzer.py +0 -0
  34. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/__init__.py +0 -0
  35. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/back2framework/__init__.py +0 -0
  36. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/back2framework/base_model_builder.py +0 -0
  37. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/base_substitutions.py +0 -0
  38. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/collectors/__init__.py +0 -0
  39. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/collectors/base_collector.py +0 -0
  40. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/collectors/histogram_collector.py +0 -0
  41. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/collectors/mean_collector.py +0 -0
  42. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/collectors/min_max_per_channel_collector.py +0 -0
  43. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/collectors/statistics_collector.py +0 -0
  44. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/framework_info.py +0 -0
  45. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/fusion/__init__.py +0 -0
  46. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/fusion/layer_fusing.py +0 -0
  47. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/graph/__init__.py +0 -0
  48. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/graph/edge.py +0 -0
  49. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/graph/functional_node.py +0 -0
  50. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/graph/graph_matchers.py +0 -0
  51. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/graph/graph_searches.py +0 -0
  52. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/graph/memory_graph/__init__.py +0 -0
  53. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/graph/memory_graph/bipartite_graph.py +0 -0
  54. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/graph/memory_graph/compute_graph_max_cut.py +0 -0
  55. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/graph/memory_graph/cut.py +0 -0
  56. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/graph/memory_graph/max_cut_astar.py +0 -0
  57. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/graph/memory_graph/memory_element.py +0 -0
  58. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/graph/memory_graph/memory_graph.py +0 -0
  59. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/graph/virtual_activation_weights_node.py +0 -0
  60. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/hessian/__init__.py +0 -0
  61. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/hessian/hessian_info_service.py +0 -0
  62. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/hessian/hessian_info_utils.py +0 -0
  63. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/hessian/hessian_scores_calculator.py +0 -0
  64. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/hessian/hessian_scores_request.py +0 -0
  65. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/matchers/__init__.py +0 -0
  66. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/matchers/base_graph_filter.py +0 -0
  67. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/matchers/base_matcher.py +0 -0
  68. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/matchers/edge_matcher.py +0 -0
  69. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/matchers/function.py +0 -0
  70. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/matchers/node_matcher.py +0 -0
  71. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/matchers/walk_matcher.py +0 -0
  72. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/memory_computation.py +0 -0
  73. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/mixed_precision/__init__.py +0 -0
  74. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/mixed_precision/bit_width_setter.py +0 -0
  75. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/mixed_precision/configurable_quant_id.py +0 -0
  76. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/mixed_precision/configurable_quantizer_utils.py +0 -0
  77. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/mixed_precision/distance_weighting.py +0 -0
  78. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/mixed_precision/mixed_precision_quantization_config.py +0 -0
  79. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/mixed_precision/mixed_precision_search_facade.py +0 -0
  80. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/mixed_precision/mixed_precision_search_manager.py +0 -0
  81. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/mixed_precision/resource_utilization_tools/__init__.py +0 -0
  82. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/mixed_precision/resource_utilization_tools/resource_utilization.py +0 -0
  83. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/mixed_precision/resource_utilization_tools/resource_utilization_data.py +0 -0
  84. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/mixed_precision/resource_utilization_tools/ru_aggregation_methods.py +0 -0
  85. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/mixed_precision/resource_utilization_tools/ru_functions_mapping.py +0 -0
  86. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/mixed_precision/resource_utilization_tools/ru_methods.py +0 -0
  87. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/mixed_precision/search_methods/__init__.py +0 -0
  88. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/mixed_precision/search_methods/linear_programming.py +0 -0
  89. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/mixed_precision/set_layer_to_bitwidth.py +0 -0
  90. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/mixed_precision/solution_refinement_procedure.py +0 -0
  91. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/model_builder_mode.py +0 -0
  92. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/model_collector.py +0 -0
  93. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/model_validation.py +0 -0
  94. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/network_editors/__init__.py +0 -0
  95. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/network_editors/actions.py +0 -0
  96. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/network_editors/edit_network.py +0 -0
  97. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/network_editors/node_filters.py +0 -0
  98. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/node_prior_info.py +0 -0
  99. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/pruning/__init__.py +0 -0
  100. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/pruning/channels_grouping.py +0 -0
  101. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/pruning/greedy_mask_calculator.py +0 -0
  102. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/pruning/importance_metrics/__init__.py +0 -0
  103. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/pruning/importance_metrics/base_importance_metric.py +0 -0
  104. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/pruning/importance_metrics/importance_metric_factory.py +0 -0
  105. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/pruning/importance_metrics/lfh_importance_metric.py +0 -0
  106. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/pruning/mask/__init__.py +0 -0
  107. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/pruning/mask/per_channel_mask.py +0 -0
  108. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/pruning/mask/per_simd_group_mask.py +0 -0
  109. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/pruning/memory_calculator.py +0 -0
  110. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/pruning/prune_graph.py +0 -0
  111. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/pruning/pruner.py +0 -0
  112. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/pruning/pruning_config.py +0 -0
  113. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/pruning/pruning_framework_implementation.py +0 -0
  114. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/pruning/pruning_info.py +0 -0
  115. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/pruning/pruning_section.py +0 -0
  116. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/quantization/__init__.py +0 -0
  117. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/quantization/core_config.py +0 -0
  118. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/quantization/debug_config.py +0 -0
  119. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/quantization/filter_nodes_candidates.py +0 -0
  120. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/quantization/quantization_config.py +0 -0
  121. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/quantization/quantization_fn_selection.py +0 -0
  122. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/quantization/quantization_params_fn_selection.py +0 -0
  123. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/quantization/quantization_params_generation/__init__.py +0 -0
  124. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/quantization/quantization_params_generation/error_functions.py +0 -0
  125. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/quantization/quantization_params_generation/lut_kmeans_params.py +0 -0
  126. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/quantization/quantization_params_generation/outlier_filter.py +0 -0
  127. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/quantization/quantization_params_generation/power_of_two_selection.py +0 -0
  128. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/quantization/quantization_params_generation/qparams_activations_computation.py +0 -0
  129. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/quantization/quantization_params_generation/qparams_computation.py +0 -0
  130. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/quantization/quantization_params_generation/qparams_search.py +0 -0
  131. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/quantization/quantization_params_generation/symmetric_selection.py +0 -0
  132. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/quantization/quantization_params_generation/uniform_selection.py +0 -0
  133. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/quantization/quantize_graph_weights.py +0 -0
  134. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/quantization/quantize_node.py +0 -0
  135. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/quantization/quantizers/__init__.py +0 -0
  136. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/quantization/quantizers/lut_kmeans_quantizer.py +0 -0
  137. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/quantization/quantizers/uniform_quantizers.py +0 -0
  138. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/quantization/set_node_quantization_config.py +0 -0
  139. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/similarity_analyzer.py +0 -0
  140. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/statistics_correction/__init__.py +0 -0
  141. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/statistics_correction/apply_bias_correction_to_graph.py +0 -0
  142. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/statistics_correction/apply_second_moment_correction_to_graph.py +0 -0
  143. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/statistics_correction/compute_bias_correction_of_graph.py +0 -0
  144. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/statistics_correction/statistics_correction.py +0 -0
  145. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/substitutions/__init__.py +0 -0
  146. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/substitutions/apply_substitutions.py +0 -0
  147. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/substitutions/batchnorm_folding.py +0 -0
  148. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/substitutions/batchnorm_reconstruction.py +0 -0
  149. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/substitutions/batchnorm_refusing.py +0 -0
  150. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/substitutions/linear_collapsing.py +0 -0
  151. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/substitutions/linear_collapsing_substitution.py +0 -0
  152. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/substitutions/remove_identity.py +0 -0
  153. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/substitutions/residual_collapsing.py +0 -0
  154. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/substitutions/scale_equalization.py +0 -0
  155. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/substitutions/shift_negative_activation.py +0 -0
  156. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/substitutions/softmax_shift.py +0 -0
  157. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/substitutions/virtual_activation_weights_composition.py +0 -0
  158. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/substitutions/weights_activation_split.py +0 -0
  159. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/user_info.py +0 -0
  160. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/visualization/__init__.py +0 -0
  161. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/visualization/final_config_visualizer.py +0 -0
  162. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/visualization/nn_visualizer.py +0 -0
  163. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/common/visualization/tensorboard_writer.py +0 -0
  164. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/graph_prep_runner.py +0 -0
  165. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/keras/__init__.py +0 -0
  166. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/keras/back2framework/__init__.py +0 -0
  167. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/keras/back2framework/float_model_builder.py +0 -0
  168. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/keras/back2framework/instance_builder.py +0 -0
  169. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/keras/back2framework/keras_model_builder.py +0 -0
  170. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/keras/back2framework/mixed_precision_model_builder.py +0 -0
  171. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/keras/back2framework/quantized_model_builder.py +0 -0
  172. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/keras/constants.py +0 -0
  173. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/keras/custom_layer_validation.py +0 -0
  174. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/keras/default_framework_info.py +0 -0
  175. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/keras/graph_substitutions/__init__.py +0 -0
  176. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/__init__.py +0 -0
  177. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/activation_decomposition.py +0 -0
  178. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/batchnorm_folding.py +0 -0
  179. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/batchnorm_reconstruction.py +0 -0
  180. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/batchnorm_refusing.py +0 -0
  181. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/concat_threshold_update.py +0 -0
  182. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/dwconv_to_conv.py +0 -0
  183. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/input_scaling.py +0 -0
  184. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/linear_collapsing.py +0 -0
  185. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/matmul_substitution.py +0 -0
  186. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/multi_head_attention_decomposition.py +0 -0
  187. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/relu_bound_to_power_of_2.py +0 -0
  188. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/remove_identity.py +0 -0
  189. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/residual_collapsing.py +0 -0
  190. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/scale_equalization.py +0 -0
  191. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/separableconv_decomposition.py +0 -0
  192. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/shift_negative_activation.py +0 -0
  193. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/softmax_shift.py +0 -0
  194. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/virtual_activation_weights_composition.py +0 -0
  195. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/weights_activation_split.py +0 -0
  196. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/keras/hessian/__init__.py +0 -0
  197. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/keras/hessian/activation_hessian_scores_calculator_keras.py +0 -0
  198. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/keras/hessian/hessian_scores_calculator_keras.py +0 -0
  199. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/keras/hessian/weights_hessian_scores_calculator_keras.py +0 -0
  200. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/keras/keras_model_validation.py +0 -0
  201. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/keras/keras_node_prior_info.py +0 -0
  202. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/keras/mixed_precision/__init__.py +0 -0
  203. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/keras/mixed_precision/configurable_activation_quantizer.py +0 -0
  204. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/keras/mixed_precision/configurable_weights_quantizer.py +0 -0
  205. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/keras/pruning/__init__.py +0 -0
  206. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/keras/pruning/pruning_keras_implementation.py +0 -0
  207. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/keras/quantizer/__init__.py +0 -0
  208. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/keras/quantizer/base_quantizer.py +0 -0
  209. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/keras/quantizer/fake_quant_builder.py +0 -0
  210. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/keras/quantizer/lut_fake_quant.py +0 -0
  211. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/keras/reader/__init__.py +0 -0
  212. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/keras/reader/common.py +0 -0
  213. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/keras/reader/connectivity_handler.py +0 -0
  214. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/keras/reader/nested_model/__init__.py +0 -0
  215. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/keras/reader/nested_model/edges_merger.py +0 -0
  216. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/keras/reader/nested_model/nested_model_handler.py +0 -0
  217. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/keras/reader/nested_model/nodes_merger.py +0 -0
  218. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/keras/reader/nested_model/outputs_merger.py +0 -0
  219. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/keras/reader/node_builder.py +0 -0
  220. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/keras/reader/reader.py +0 -0
  221. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/keras/resource_utilization_data_facade.py +0 -0
  222. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/keras/statistics_correction/__init__.py +0 -0
  223. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/keras/statistics_correction/apply_second_moment_correction.py +0 -0
  224. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/keras/visualization/__init__.py +0 -0
  225. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/pytorch/__init__.py +0 -0
  226. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/pytorch/back2framework/__init__.py +0 -0
  227. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/pytorch/back2framework/float_model_builder.py +0 -0
  228. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/pytorch/back2framework/instance_builder.py +0 -0
  229. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/pytorch/back2framework/mixed_precision_model_builder.py +0 -0
  230. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/pytorch/back2framework/pytorch_model_builder.py +0 -0
  231. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/pytorch/back2framework/quantization_wrapper/__init__.py +0 -0
  232. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/pytorch/back2framework/quantization_wrapper/quantized_layer_wrapper.py +0 -0
  233. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/pytorch/back2framework/quantization_wrapper/wrapper_quantize_config.py +0 -0
  234. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/pytorch/back2framework/quantized_model_builder.py +0 -0
  235. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/pytorch/constants.py +0 -0
  236. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/pytorch/default_framework_info.py +0 -0
  237. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/pytorch/graph_substitutions/__init__.py +0 -0
  238. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/__init__.py +0 -0
  239. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/batchnorm_folding.py +0 -0
  240. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/batchnorm_reconstruction.py +0 -0
  241. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/batchnorm_refusing.py +0 -0
  242. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/concat_threshold_update.py +0 -0
  243. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/const_holder_conv.py +0 -0
  244. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/functional_batch_norm.py +0 -0
  245. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/functional_layer_norm.py +0 -0
  246. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/linear_collapsing.py +0 -0
  247. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/multi_head_attention_decomposition.py +0 -0
  248. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/relu_bound_to_power_of_2.py +0 -0
  249. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/remove_identity.py +0 -0
  250. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/reshape_with_static_shapes.py +0 -0
  251. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/residual_collapsing.py +0 -0
  252. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/scale_equalization.py +0 -0
  253. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/shift_negative_activation.py +0 -0
  254. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/softmax_shift.py +0 -0
  255. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/transform_function_call_method.py +0 -0
  256. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/virtual_activation_weights_composition.py +0 -0
  257. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/weights_activation_split.py +0 -0
  258. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/pytorch/hessian/__init__.py +0 -0
  259. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/pytorch/hessian/activation_hessian_scores_calculator_pytorch.py +0 -0
  260. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/pytorch/hessian/hessian_scores_calculator_pytorch.py +0 -0
  261. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/pytorch/hessian/weights_hessian_scores_calculator_pytorch.py +0 -0
  262. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/pytorch/mixed_precision/__init__.py +0 -0
  263. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/pytorch/mixed_precision/configurable_activation_quantizer.py +0 -0
  264. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/pytorch/mixed_precision/configurable_weights_quantizer.py +0 -0
  265. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/pytorch/pruning/__init__.py +0 -0
  266. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/pytorch/pruning/pruning_pytorch_implementation.py +0 -0
  267. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/pytorch/pytorch_device_config.py +0 -0
  268. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/pytorch/pytorch_node_prior_info.py +0 -0
  269. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/pytorch/quantizer/__init__.py +0 -0
  270. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/pytorch/quantizer/fake_quant_builder.py +0 -0
  271. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/pytorch/quantizer/lut_fake_quant.py +0 -0
  272. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/pytorch/reader/__init__.py +0 -0
  273. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/pytorch/reader/graph_builders.py +0 -0
  274. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/pytorch/reader/reader.py +0 -0
  275. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/pytorch/resource_utilization_data_facade.py +0 -0
  276. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/pytorch/statistics_correction/__init__.py +0 -0
  277. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/pytorch/statistics_correction/apply_second_moment_correction.py +0 -0
  278. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/pytorch/utils.py +0 -0
  279. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/core/quantization_prep_runner.py +0 -0
  280. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/data_generation/__init__.py +0 -0
  281. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/data_generation/common/__init__.py +0 -0
  282. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/data_generation/common/constants.py +0 -0
  283. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/data_generation/common/data_generation.py +0 -0
  284. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/data_generation/common/data_generation_config.py +0 -0
  285. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/data_generation/common/enums.py +0 -0
  286. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/data_generation/common/image_pipeline.py +0 -0
  287. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/data_generation/common/model_info_exctractors.py +0 -0
  288. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/data_generation/common/optimization_utils.py +0 -0
  289. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/data_generation/keras/__init__.py +0 -0
  290. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/data_generation/keras/constants.py +0 -0
  291. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/data_generation/keras/image_operations.py +0 -0
  292. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/data_generation/keras/image_pipeline.py +0 -0
  293. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/data_generation/keras/keras_data_generation.py +0 -0
  294. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/data_generation/keras/model_info_exctractors.py +0 -0
  295. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/data_generation/keras/optimization_functions/__init__.py +0 -0
  296. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/data_generation/keras/optimization_functions/batchnorm_alignment_functions.py +0 -0
  297. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/data_generation/keras/optimization_functions/bn_layer_weighting_functions.py +0 -0
  298. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/data_generation/keras/optimization_functions/image_initilization.py +0 -0
  299. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/data_generation/keras/optimization_functions/lr_scheduler.py +0 -0
  300. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/data_generation/keras/optimization_functions/output_loss_functions.py +0 -0
  301. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/data_generation/keras/optimization_functions/scheduler_step_functions.py +0 -0
  302. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/data_generation/keras/optimization_utils.py +0 -0
  303. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/data_generation/pytorch/__init__.py +0 -0
  304. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/data_generation/pytorch/constants.py +0 -0
  305. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/data_generation/pytorch/image_operations.py +0 -0
  306. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/data_generation/pytorch/image_pipeline.py +0 -0
  307. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/data_generation/pytorch/model_info_exctractors.py +0 -0
  308. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/data_generation/pytorch/optimization_functions/__init__.py +0 -0
  309. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/data_generation/pytorch/optimization_functions/batchnorm_alignment_functions.py +0 -0
  310. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/data_generation/pytorch/optimization_functions/bn_layer_weighting_functions.py +0 -0
  311. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/data_generation/pytorch/optimization_functions/image_initilization.py +0 -0
  312. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/data_generation/pytorch/optimization_functions/lr_scheduler.py +0 -0
  313. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/data_generation/pytorch/optimization_functions/output_loss_functions.py +0 -0
  314. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/data_generation/pytorch/optimization_functions/scheduler_step_functions.py +0 -0
  315. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/data_generation/pytorch/optimization_utils.py +0 -0
  316. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/data_generation/pytorch/pytorch_data_generation.py +0 -0
  317. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/defaultdict.py +0 -0
  318. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/exporter/__init__.py +0 -0
  319. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/exporter/model_exporter/__init__.py +0 -0
  320. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/exporter/model_exporter/fw_agonstic/__init__.py +0 -0
  321. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/exporter/model_exporter/fw_agonstic/exporter.py +0 -0
  322. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/exporter/model_exporter/fw_agonstic/quantization_format.py +0 -0
  323. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/exporter/model_exporter/keras/__init__.py +0 -0
  324. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/exporter/model_exporter/keras/base_keras_exporter.py +0 -0
  325. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/exporter/model_exporter/keras/export_serialization_format.py +0 -0
  326. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/exporter/model_exporter/keras/fakely_quant_keras_exporter.py +0 -0
  327. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/exporter/model_exporter/keras/fakely_quant_tflite_exporter.py +0 -0
  328. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/exporter/model_exporter/keras/int8_tflite_exporter.py +0 -0
  329. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/exporter/model_exporter/keras/keras_export_facade.py +0 -0
  330. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/exporter/model_exporter/keras/mctq_keras_exporter.py +0 -0
  331. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/exporter/model_exporter/pytorch/__init__.py +0 -0
  332. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/exporter/model_exporter/pytorch/base_pytorch_exporter.py +0 -0
  333. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/exporter/model_exporter/pytorch/export_serialization_format.py +0 -0
  334. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/exporter/model_exporter/pytorch/fakely_quant_onnx_pytorch_exporter.py +0 -0
  335. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/exporter/model_exporter/pytorch/fakely_quant_torchscript_pytorch_exporter.py +0 -0
  336. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/exporter/model_exporter/pytorch/pytorch_export_facade.py +0 -0
  337. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/exporter/model_wrapper/__init__.py +0 -0
  338. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/exporter/model_wrapper/fw_agnostic/__init__.py +0 -0
  339. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/exporter/model_wrapper/fw_agnostic/get_inferable_quantizers.py +0 -0
  340. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/exporter/model_wrapper/keras/__init__.py +0 -0
  341. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/exporter/model_wrapper/keras/builder/__init__.py +0 -0
  342. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/exporter/model_wrapper/keras/builder/fully_quantized_model_builder.py +0 -0
  343. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/exporter/model_wrapper/keras/builder/node_to_quantizer.py +0 -0
  344. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/exporter/model_wrapper/pytorch/__init__.py +0 -0
  345. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/exporter/model_wrapper/pytorch/builder/__init__.py +0 -0
  346. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/exporter/model_wrapper/pytorch/builder/fully_quantized_model_builder.py +0 -0
  347. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/exporter/model_wrapper/pytorch/builder/node_to_quantizer.py +0 -0
  348. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/exporter/model_wrapper/pytorch/validate_layer.py +0 -0
  349. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/gptq/__init__.py +0 -0
  350. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/gptq/common/__init__.py +0 -0
  351. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/gptq/common/gptq_config.py +0 -0
  352. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/gptq/common/gptq_constants.py +0 -0
  353. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/gptq/common/gptq_framework_implementation.py +0 -0
  354. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/gptq/common/gptq_graph.py +0 -0
  355. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/gptq/keras/__init__.py +0 -0
  356. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/gptq/keras/gptq_keras_implementation.py +0 -0
  357. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/gptq/keras/gptq_loss.py +0 -0
  358. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/gptq/keras/gptq_training.py +0 -0
  359. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/gptq/keras/graph_info.py +0 -0
  360. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/gptq/keras/quantization_facade.py +0 -0
  361. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/gptq/keras/quantizer/__init__.py +0 -0
  362. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/gptq/keras/quantizer/base_keras_gptq_quantizer.py +0 -0
  363. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/gptq/keras/quantizer/quant_utils.py +0 -0
  364. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/gptq/keras/quantizer/quantization_builder.py +0 -0
  365. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/gptq/keras/quantizer/regularization_factory.py +0 -0
  366. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/gptq/keras/quantizer/soft_rounding/__init__.py +0 -0
  367. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/gptq/keras/quantizer/soft_rounding/soft_quantizer_reg.py +0 -0
  368. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/gptq/keras/quantizer/soft_rounding/symmetric_soft_quantizer.py +0 -0
  369. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/gptq/keras/quantizer/soft_rounding/uniform_soft_quantizer.py +0 -0
  370. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/gptq/keras/quantizer/ste_rounding/__init__.py +0 -0
  371. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/gptq/keras/quantizer/ste_rounding/symmetric_ste.py +0 -0
  372. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/gptq/pytorch/__init__.py +0 -0
  373. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/gptq/pytorch/gptq_loss.py +0 -0
  374. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/gptq/pytorch/gptq_pytorch_implementation.py +0 -0
  375. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/gptq/pytorch/gptq_training.py +0 -0
  376. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/gptq/pytorch/graph_info.py +0 -0
  377. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/gptq/pytorch/quantization_facade.py +0 -0
  378. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/gptq/pytorch/quantizer/__init__.py +0 -0
  379. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/gptq/pytorch/quantizer/base_pytorch_gptq_quantizer.py +0 -0
  380. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/gptq/pytorch/quantizer/quant_utils.py +0 -0
  381. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/gptq/pytorch/quantizer/quantization_builder.py +0 -0
  382. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/gptq/pytorch/quantizer/regularization_factory.py +0 -0
  383. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/gptq/pytorch/quantizer/soft_rounding/__init__.py +0 -0
  384. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/gptq/pytorch/quantizer/soft_rounding/soft_quantizer_reg.py +0 -0
  385. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/gptq/pytorch/quantizer/soft_rounding/symmetric_soft_quantizer.py +0 -0
  386. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/gptq/pytorch/quantizer/soft_rounding/uniform_soft_quantizer.py +0 -0
  387. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/gptq/pytorch/quantizer/ste_rounding/__init__.py +0 -0
  388. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/gptq/pytorch/quantizer/ste_rounding/symmetric_ste.py +0 -0
  389. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/gptq/runner.py +0 -0
  390. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/logger.py +0 -0
  391. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/metadata.py +0 -0
  392. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/pruning/__init__.py +0 -0
  393. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/pruning/keras/__init__.py +0 -0
  394. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/pruning/keras/pruning_facade.py +0 -0
  395. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/pruning/pytorch/__init__.py +0 -0
  396. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/pruning/pytorch/pruning_facade.py +0 -0
  397. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/ptq/__init__.py +0 -0
  398. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/ptq/keras/__init__.py +0 -0
  399. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/ptq/keras/quantization_facade.py +0 -0
  400. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/ptq/pytorch/__init__.py +0 -0
  401. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/ptq/pytorch/quantization_facade.py +0 -0
  402. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/ptq/runner.py +0 -0
  403. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/qat/__init__.py +0 -0
  404. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/qat/common/__init__.py +0 -0
  405. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/qat/common/qat_config.py +0 -0
  406. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/qat/keras/__init__.py +0 -0
  407. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/qat/keras/quantization_facade.py +0 -0
  408. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/qat/keras/quantizer/__init__.py +0 -0
  409. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/qat/keras/quantizer/lsq/__init__.py +0 -0
  410. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/qat/keras/quantizer/lsq/symmetric_lsq.py +0 -0
  411. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/qat/keras/quantizer/lsq/uniform_lsq.py +0 -0
  412. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/qat/keras/quantizer/quant_utils.py +0 -0
  413. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/qat/keras/quantizer/quantization_builder.py +0 -0
  414. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/qat/keras/quantizer/ste_rounding/__init__.py +0 -0
  415. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/qat/keras/quantizer/ste_rounding/symmetric_ste.py +0 -0
  416. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/qat/keras/quantizer/ste_rounding/uniform_ste.py +0 -0
  417. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/qat/pytorch/__init__.py +0 -0
  418. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/qat/pytorch/quantization_facade.py +0 -0
  419. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/qat/pytorch/quantizer/__init__.py +0 -0
  420. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/qat/pytorch/quantizer/lsq/__init__.py +0 -0
  421. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/qat/pytorch/quantizer/lsq/symmetric_lsq.py +0 -0
  422. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/qat/pytorch/quantizer/lsq/uniform_lsq.py +0 -0
  423. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/qat/pytorch/quantizer/quantization_builder.py +0 -0
  424. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/qat/pytorch/quantizer/quantizer_utils.py +0 -0
  425. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/qat/pytorch/quantizer/ste_rounding/__init__.py +0 -0
  426. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/qat/pytorch/quantizer/ste_rounding/symmetric_ste.py +0 -0
  427. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/qat/pytorch/quantizer/ste_rounding/uniform_ste.py +0 -0
  428. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/target_platform_capabilities/__init__.py +0 -0
  429. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/target_platform_capabilities/constants.py +0 -0
  430. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/target_platform_capabilities/immutable.py +0 -0
  431. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/target_platform_capabilities/target_platform/__init__.py +0 -0
  432. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/target_platform_capabilities/target_platform/current_tp_model.py +0 -0
  433. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/target_platform_capabilities/target_platform/fusing.py +0 -0
  434. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/target_platform_capabilities/target_platform/operators.py +0 -0
  435. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/target_platform_capabilities/target_platform/target_platform_model_component.py +0 -0
  436. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/__init__.py +0 -0
  437. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/attribute_filter.py +0 -0
  438. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/current_tpc.py +0 -0
  439. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/layer_filter_params.py +0 -0
  440. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/operations_to_layers.py +0 -0
  441. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/target_platform_capabilities.py +0 -0
  442. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/target_platform_capabilities_component.py +0 -0
  443. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/target_platform_capabilities/tpc_models/__init__.py +0 -0
  444. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/target_platform_capabilities/tpc_models/get_target_platform_capabilities.py +0 -0
  445. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/__init__.py +0 -0
  446. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/latest/__init__.py +0 -0
  447. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/target_platform_capabilities.py +0 -0
  448. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1/__init__.py +0 -0
  449. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1/tp_model.py +0 -0
  450. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1/tpc_keras.py +0 -0
  451. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1/tpc_pytorch.py +0 -0
  452. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_lut/__init__.py +0 -0
  453. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_lut/tp_model.py +0 -0
  454. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_lut/tpc_keras.py +0 -0
  455. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_lut/tpc_pytorch.py +0 -0
  456. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_pot/__init__.py +0 -0
  457. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_pot/tp_model.py +0 -0
  458. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_pot/tpc_keras.py +0 -0
  459. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_pot/tpc_pytorch.py +0 -0
  460. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2/__init__.py +0 -0
  461. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2/tp_model.py +0 -0
  462. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2/tpc_keras.py +0 -0
  463. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2/tpc_pytorch.py +0 -0
  464. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2_lut/__init__.py +0 -0
  465. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2_lut/tp_model.py +0 -0
  466. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2_lut/tpc_keras.py +0 -0
  467. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2_lut/tpc_pytorch.py +0 -0
  468. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v3/__init__.py +0 -0
  469. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v3/tp_model.py +0 -0
  470. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v3/tpc_keras.py +0 -0
  471. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v3/tpc_pytorch.py +0 -0
  472. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v3_lut/__init__.py +0 -0
  473. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v3_lut/tp_model.py +0 -0
  474. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v3_lut/tpc_keras.py +0 -0
  475. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v3_lut/tpc_pytorch.py +0 -0
  476. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/__init__.py +0 -0
  477. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/latest/__init__.py +0 -0
  478. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/target_platform_capabilities.py +0 -0
  479. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/v1/__init__.py +0 -0
  480. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/v1/tp_model.py +0 -0
  481. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/v1/tpc_keras.py +0 -0
  482. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/v1/tpc_pytorch.py +0 -0
  483. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/__init__.py +0 -0
  484. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/latest/__init__.py +0 -0
  485. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/target_platform_capabilities.py +0 -0
  486. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/v1/__init__.py +0 -0
  487. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/v1/tp_model.py +0 -0
  488. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/v1/tpc_keras.py +0 -0
  489. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/v1/tpc_pytorch.py +0 -0
  490. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/trainable_infrastructure/__init__.py +0 -0
  491. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/trainable_infrastructure/common/__init__.py +0 -0
  492. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/trainable_infrastructure/common/base_trainable_quantizer.py +0 -0
  493. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/trainable_infrastructure/common/constants.py +0 -0
  494. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/trainable_infrastructure/common/get_quantizer_config.py +0 -0
  495. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/trainable_infrastructure/common/get_quantizers.py +0 -0
  496. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/trainable_infrastructure/common/quant_utils.py +0 -0
  497. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/trainable_infrastructure/common/trainable_quantizer_config.py +0 -0
  498. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/trainable_infrastructure/keras/__init__.py +0 -0
  499. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/trainable_infrastructure/keras/base_keras_quantizer.py +0 -0
  500. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/trainable_infrastructure/keras/config_serialization.py +0 -0
  501. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/trainable_infrastructure/keras/load_model.py +0 -0
  502. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/trainable_infrastructure/keras/quantize_wrapper.py +0 -0
  503. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/trainable_infrastructure/keras/quantizer_utils.py +0 -0
  504. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/trainable_infrastructure/pytorch/__init__.py +0 -0
  505. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/trainable_infrastructure/pytorch/base_pytorch_quantizer.py +0 -0
  506. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/xquant/__init__.py +0 -0
  507. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/xquant/common/__init__.py +0 -0
  508. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/xquant/common/constants.py +0 -0
  509. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/xquant/common/core_report_generator.py +0 -0
  510. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/xquant/common/dataset_utils.py +0 -0
  511. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/xquant/common/framework_report_utils.py +0 -0
  512. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/xquant/common/model_analyzer.py +0 -0
  513. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/xquant/common/model_folding_utils.py +0 -0
  514. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/xquant/common/similarity_calculator.py +0 -0
  515. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/xquant/common/similarity_functions.py +0 -0
  516. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/xquant/common/tensorboard_utils.py +0 -0
  517. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/xquant/common/xquant_config.py +0 -0
  518. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/xquant/keras/__init__.py +0 -0
  519. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/xquant/keras/dataset_utils.py +0 -0
  520. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/xquant/keras/facade_xquant_report.py +0 -0
  521. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/xquant/keras/keras_report_utils.py +0 -0
  522. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/xquant/keras/model_analyzer.py +0 -0
  523. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/xquant/keras/similarity_functions.py +0 -0
  524. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/xquant/keras/tensorboard_utils.py +0 -0
  525. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/xquant/pytorch/__init__.py +0 -0
  526. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/xquant/pytorch/dataset_utils.py +0 -0
  527. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/xquant/pytorch/facade_xquant_report.py +0 -0
  528. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/xquant/pytorch/model_analyzer.py +0 -0
  529. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/xquant/pytorch/pytorch_report_utils.py +0 -0
  530. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/xquant/pytorch/similarity_functions.py +0 -0
  531. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/model_compression_toolkit/xquant/pytorch/tensorboard_utils.py +0 -0
  532. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/setup.cfg +0 -0
  533. {mct-nightly-2.1.0.20240731.414 → mct-nightly-2.1.0.20240801.515}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mct-nightly
3
- Version: 2.1.0.20240731.414
3
+ Version: 2.1.0.20240801.515
4
4
  Summary: A Model Compression Toolkit for neural networks
5
5
  Home-page: UNKNOWN
6
6
  License: UNKNOWN
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mct-nightly
3
- Version: 2.1.0.20240731.414
3
+ Version: 2.1.0.20240801.515
4
4
  Summary: A Model Compression Toolkit for neural networks
5
5
  Home-page: UNKNOWN
6
6
  License: UNKNOWN
@@ -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.1.0.20240731.000414"
30
+ __version__ = "2.1.0.20240801.000515"
@@ -348,24 +348,20 @@ class FrameworkImplementation(ABC):
348
348
  raise NotImplemented(f'{self.__class__.__name__} have to implement the '
349
349
  f'framework\'s count_node_for_mixed_precision_interest_points method.') # pragma: no cover
350
350
 
351
- def get_mp_node_distance_fn(self, layer_class: type,
352
- framework_attrs: Dict[str, Any],
353
- compute_distance_fn: Callable = None,
354
- axis: int = None,
355
- norm_mse: bool = False) -> Callable:
351
+ def get_mp_node_distance_fn(self, n: BaseNode,
352
+ compute_distance_fn: Callable = None,
353
+ norm_mse: bool = False) -> Tuple[Callable, int]:
356
354
  """
357
355
  A mapping between layers' types and a distance function for computing the distance between
358
356
  two tensors in mixed precision (for loss computation purposes). Returns a specific function if node of specific types is
359
357
  given, or a default (normalized MSE) function otherwise.
360
358
 
361
359
  Args:
362
- layer_class: Class path of a model's layer.
363
- framework_attrs: Framework attributes the layer had which the graph node holds.
360
+ n: Node to choose distance function for.
364
361
  compute_distance_fn: An optional distance function to use globally for all nodes.
365
- axis: The axis on which the operation is preformed (if specified).
366
362
  norm_mse: whether to normalize mse distance function.
367
363
 
368
- Returns: A distance function between two tensors.
364
+ Returns: A distance function between two tensors and a axis on which the distance is computed (if exists).
369
365
  """
370
366
 
371
367
  raise NotImplemented(f'{self.__class__.__name__} have to implement the '
@@ -440,7 +440,7 @@ class Graph(nx.MultiDiGraph, GraphSearches):
440
440
 
441
441
  output_nodes = [ot.node for ot in self.get_outputs()] # get output nodes from namedtuples
442
442
  if node_to_remove in output_nodes: # If node is in the graph's outputs, the outputs should be updated
443
- if new_graph_outputs is None:
443
+ if new_graph_outputs is None: # pragma: no cover
444
444
  Logger.critical(
445
445
  f"{node_to_remove.name} is among the graph outputs; however, it cannot be removed without providing a new output.") # pragma: no cover
446
446
  self.set_outputs(new_graph_outputs)
@@ -506,28 +506,6 @@ class Graph(nx.MultiDiGraph, GraphSearches):
506
506
  output_edges.sort(key=lambda e: getattr(e, sort_by_attr))
507
507
  return output_edges
508
508
 
509
- def get_memory(self) -> float:
510
- """
511
-
512
- Returns: Total memory consumption of the graph in bytes.
513
-
514
- """
515
- memory = 0
516
- for n in self.nodes:
517
- memory += n.get_memory_bytes(self.fw_info)
518
- return memory
519
-
520
- def get_float_memory(self) -> float:
521
- """
522
-
523
- Returns: Total memory consumption of the float graph in bytes.
524
-
525
- """
526
- memory = 0
527
- for n in self.nodes:
528
- memory += n.get_float_memory_bytes(self.fw_info)
529
- return memory
530
-
531
509
  def get_configurable_sorted_nodes_names(self,
532
510
  fw_info: FrameworkInfo,
533
511
  include_reused_nodes: bool = False) -> List[str]:
@@ -297,18 +297,6 @@ class BaseNode:
297
297
 
298
298
  return memory
299
299
 
300
- def get_float_memory_bytes(self, fw_info) -> float:
301
- """
302
- Compute the number of bytes the node's memory requires.
303
-
304
- Args:
305
- fw_info: Framework info to decide which attributes should be quantized.
306
-
307
- Returns: Number of bytes the node's memory requires when in floating point (32 bit).
308
-
309
- """
310
- q_params, f_params = self.get_num_parameters(fw_info)
311
- return (f_params + q_params) * FP32_BYTES_PER_PARAMETER
312
300
 
313
301
  def get_unified_weights_candidates_dict(self, fw_info) -> Dict[str, Any]:
314
302
  """
@@ -436,20 +424,6 @@ class BaseNode:
436
424
 
437
425
  return sum([np.prod([x for x in output_shape if x is not None]) for output_shape in output_shapes])
438
426
 
439
- def get_total_input_params(self) -> float:
440
- """
441
- Calculates the total parameters in the node's input tensors.
442
-
443
- Returns: Input size (i.e., total number of parameters).
444
- """
445
-
446
- input_shapes = self.input_shape if isinstance(self.input_shape, List) else [self.input_shape]
447
-
448
- # remove batch size (first element) from input shape
449
- input_shapes = [s[1:] for s in input_shapes]
450
-
451
- return sum([np.prod([x for x in input_shape if x is not None]) for input_shape in input_shapes])
452
-
453
427
  def find_min_candidates_indices(self) -> List[int]:
454
428
  """
455
429
  Returns a list with potential minimal candidates.
@@ -644,10 +618,10 @@ class BaseNode:
644
618
  if len(simd_list) > 1:
645
619
  Logger.warning(f"More than one pruning SIMD option is available."
646
620
  f" Min SIMD is used: {min(simd_list)}")
647
- if len(simd_list) == 0:
621
+ if len(simd_list) == 0: # pragma: no cover
648
622
  Logger.critical(f"No SIMD option is available for {self}")
649
623
  _simd = min(simd_list)
650
- if _simd <= 0 or int(_simd) != _simd:
624
+ if _simd <= 0 or int(_simd) != _simd: # pragma: no cover
651
625
  Logger.critical(f"SIMD is expected to be a non-positive integer but found: {_simd}")
652
626
  return _simd
653
627
 
@@ -77,7 +77,8 @@ class SensitivityEvaluation:
77
77
  self.disable_activation_for_metric = disable_activation_for_metric
78
78
  if self.quant_config.use_hessian_based_scores:
79
79
  if not isinstance(hessian_info_service, HessianInfoService):
80
- Logger.critical(f"When using Hessian-based approximations for sensitivity evaluation, a valid HessianInfoService object is required; found {type(hessian_info_service)}.")
80
+ Logger.critical(
81
+ f"When using Hessian-based approximations for sensitivity evaluation, a valid HessianInfoService object is required; found {type(hessian_info_service)}.")
81
82
  self.hessian_info_service = hessian_info_service
82
83
 
83
84
  self.sorted_configurable_nodes_names = graph.get_configurable_sorted_nodes_names(self.fw_info)
@@ -94,7 +95,8 @@ class SensitivityEvaluation:
94
95
  self.ips_distance_fns, self.ips_axis = self._init_metric_points_lists(self.interest_points, use_normalized_mse)
95
96
 
96
97
  self.output_points = get_output_nodes_for_metric(graph)
97
- self.out_ps_distance_fns, self.out_ps_axis = self._init_metric_points_lists(self.output_points, use_normalized_mse)
98
+ self.out_ps_distance_fns, self.out_ps_axis = self._init_metric_points_lists(self.output_points,
99
+ use_normalized_mse)
98
100
 
99
101
  # Setting lists with relative position of the interest points
100
102
  # and output points in the list of all mp model activation tensors
@@ -130,7 +132,8 @@ class SensitivityEvaluation:
130
132
  self.interest_points_hessians = self._compute_hessian_based_scores()
131
133
  self.quant_config.distance_weighting_method = lambda d: self.interest_points_hessians
132
134
 
133
- def _init_metric_points_lists(self, points: List[BaseNode], norm_mse: bool = False) -> Tuple[List[Callable], List[int]]:
135
+ def _init_metric_points_lists(self, points: List[BaseNode], norm_mse: bool = False) -> Tuple[
136
+ List[Callable], List[int]]:
134
137
  """
135
138
  Initiates required lists for future use when computing the sensitivity metric.
136
139
  Each point on which the metric is computed uses a dedicated distance function based on its type.
@@ -146,16 +149,12 @@ class SensitivityEvaluation:
146
149
  distance_fns_list = []
147
150
  axis_list = []
148
151
  for n in points:
149
- axis = n.framework_attr.get(AXIS) if not isinstance(n, FunctionalNode) else n.op_call_kwargs.get(AXIS)
150
- distance_fn = self.fw_impl.get_mp_node_distance_fn(
151
- layer_class=n.layer_class,
152
- framework_attrs=n.framework_attr,
153
- compute_distance_fn=self.quant_config.compute_distance_fn,
154
- axis=axis,
155
- norm_mse=norm_mse)
152
+ distance_fn, axis = self.fw_impl.get_mp_node_distance_fn(n,
153
+ compute_distance_fn=self.quant_config.compute_distance_fn,
154
+ norm_mse=norm_mse)
156
155
  distance_fns_list.append(distance_fn)
157
156
  # Axis is needed only for KL Divergence calculation, otherwise we use per-tensor computation
158
- axis_list.append(axis if distance_fn==compute_kl_divergence else None)
157
+ axis_list.append(axis if distance_fn == compute_kl_divergence else None)
159
158
  return distance_fns_list, axis_list
160
159
 
161
160
  def compute_metric(self,
@@ -300,7 +299,8 @@ class SensitivityEvaluation:
300
299
  node_name = sorted_configurable_nodes_names[node_idx_to_configure]
301
300
  layers_to_config = self.conf_node2layers.get(node_name, None)
302
301
  if layers_to_config is None:
303
- Logger.critical(f"Matching layers for node {node_name} not found in the mixed precision model configuration.") # pragma: no cover
302
+ Logger.critical(
303
+ f"Matching layers for node {node_name} not found in the mixed precision model configuration.") # pragma: no cover
304
304
 
305
305
  for current_layer in layers_to_config:
306
306
  self.set_layer_to_bitwidth(current_layer, mp_model_configuration[node_idx_to_configure])
@@ -58,7 +58,7 @@ class CandidateNodeQuantizationConfig(BaseNodeQuantizationConfig):
58
58
  if activation_quantization_cfg is not None:
59
59
  self.activation_quantization_cfg = activation_quantization_cfg
60
60
  else:
61
- if any(v is None for v in (qc, op_cfg, activation_quantization_fn, activation_quantization_params_fn)):
61
+ if any(v is None for v in (qc, op_cfg, activation_quantization_fn, activation_quantization_params_fn)): # pragma: no cover
62
62
  Logger.critical(
63
63
  "Missing required arguments to initialize a node activation quantization configuration. "
64
64
  "Ensure QuantizationConfig, OpQuantizationConfig, activation quantization function, "
@@ -72,7 +72,7 @@ class CandidateNodeQuantizationConfig(BaseNodeQuantizationConfig):
72
72
  if weights_quantization_cfg is not None:
73
73
  self.weights_quantization_cfg = weights_quantization_cfg
74
74
  else:
75
- if any(v is None for v in (qc, op_cfg, node_attrs_list)):
75
+ if any(v is None for v in (qc, op_cfg, node_attrs_list)): # pragma: no cover
76
76
  Logger.critical("Missing required arguments to initialize a node weights quantization configuration. "
77
77
  "Ensure QuantizationConfig, OpQuantizationConfig, weights quantization function, "
78
78
  "parameters function, and weights attribute quantization config are provided.")
@@ -178,20 +178,6 @@ class NodeActivationQuantizationConfig(BaseNodeQuantizationConfig):
178
178
  for param_name, param_value in activation_params.items():
179
179
  self.activation_quantization_params[param_name] = param_value
180
180
 
181
- def has_activation_quantization_params(self) -> bool:
182
- """
183
-
184
- Returns: Whether NodeQuantizationConfig has a activation quantization params or not.
185
-
186
- """
187
- return len(self.activation_quantization_params) > 0
188
-
189
- def no_quantization(self) -> bool:
190
- """
191
- Returns: Whether NodeQuantizationConfig does not have activation params.
192
- """
193
- return (not self.has_activation_quantization_params())
194
-
195
181
  def __eq__(self, other: Any) -> bool:
196
182
  """
197
183
  Compares the object to another object to find if they are equal.
@@ -203,7 +189,7 @@ class NodeActivationQuantizationConfig(BaseNodeQuantizationConfig):
203
189
 
204
190
  """
205
191
  if not isinstance(other, NodeActivationQuantizationConfig):
206
- return False
192
+ return False # pragma: no cover
207
193
 
208
194
  return self.activation_quantization_fn == other.activation_quantization_fn and \
209
195
  self.activation_quantization_params_fn == other.activation_quantization_params_fn and \
@@ -340,14 +326,6 @@ class WeightsAttrQuantizationConfig:
340
326
  else:
341
327
  self.set_weights_quantization_param({})
342
328
 
343
- def has_weights_quantization_params(self) -> bool:
344
- """
345
-
346
- Returns: Whether NodeQuantizationConfig has weights quantization params or not.
347
-
348
- """
349
- return len(self.weights_quantization_params) > 0
350
-
351
329
  def __eq__(self, other: Any) -> bool:
352
330
  """
353
331
  Compares the object to another object to find if they are equal.
@@ -359,7 +337,7 @@ class WeightsAttrQuantizationConfig:
359
337
 
360
338
  """
361
339
  if not isinstance(other, WeightsAttrQuantizationConfig):
362
- return False
340
+ return False # pragma: no cover
363
341
 
364
342
  return self.weights_quantization_fn == other.weights_quantization_fn and \
365
343
  self.weights_quantization_params_fn == other.weights_quantization_params_fn and \
@@ -419,11 +397,11 @@ class NodeWeightsQuantizationConfig(BaseNodeQuantizationConfig):
419
397
  # In Tensorflow, the attribute name is composed of the framework attribute name and the layer name,
420
398
  # therefore, we need to look for the attribute in the op_cfg that is contained in the node attribute's name.
421
399
  attrs_included_in_name = {k: v for k, v in op_cfg.attr_weights_configs_mapping.items() if k in attr}
422
- if len(attrs_included_in_name) > 1:
423
- Logger.error(f"Found multiple attribute in TPC OpConfig that are contained "
424
- f"in the attribute name '{attr}'."
425
- f"Please fix the TPC attribute names mapping such that each operator's attribute would "
426
- f"have a unique matching name.")
400
+ if len(attrs_included_in_name) > 1: # pragma: no cover
401
+ Logger.critical(f"Found multiple attribute in TPC OpConfig that are contained "
402
+ f"in the attribute name '{attr}'."
403
+ f"Please fix the TPC attribute names mapping such that each operator's attribute would "
404
+ f"have a unique matching name.")
427
405
  if len(attrs_included_in_name) == 0:
428
406
  attr_cfg = op_cfg.default_weight_attr_config
429
407
  else:
@@ -446,8 +424,8 @@ class NodeWeightsQuantizationConfig(BaseNodeQuantizationConfig):
446
424
  Returns: An attribute quantization configuration.
447
425
 
448
426
  """
449
- if attr_name is None:
450
- Logger.error("Got 'None' attribute name for retrieving weights attribute quantization configuration.")
427
+ if attr_name is None: # pragma: no cover
428
+ Logger.critical("Got 'None' attribute name for retrieving weights attribute quantization configuration.")
451
429
 
452
430
  if isinstance(attr_name, int):
453
431
  # this is a positional attribute
@@ -463,8 +441,8 @@ class NodeWeightsQuantizationConfig(BaseNodeQuantizationConfig):
463
441
  # If no attribute with the exact name then an error would be thrown
464
442
  attr_cfg = self.attributes_config_mapping.get(attr_name)
465
443
 
466
- if attr_cfg is None:
467
- Logger.error(f"Weight attribute '{attr_name}' config could not be found.")
444
+ if attr_cfg is None: # pragma: no cover
445
+ Logger.critical(f"Weight attribute '{attr_name}' config could not be found.")
468
446
 
469
447
  return attr_cfg
470
448
 
@@ -519,8 +497,8 @@ class NodeWeightsQuantizationConfig(BaseNodeQuantizationConfig):
519
497
  f"{list(attrs_with_name.keys())}.")
520
498
  return attrs_with_name
521
499
 
522
- def set_quant_config_attr(self, config_parameter_name: str, config_parameter_value: Any, attr_name: str = None,
523
- *args: List[Any], **kwargs: Dict[str, Any]):
500
+ def set_quant_config_attr(self, config_parameter_name: str, config_parameter_value: Any,
501
+ attr_name: Union[str, int] = None, *args: List[Any], **kwargs: Dict[str, Any]):
524
502
  """
525
503
  This method overrides the parent class set_quant_config_attr to enable setting a specific weights
526
504
  attribute config parameter.
@@ -546,8 +524,8 @@ class NodeWeightsQuantizationConfig(BaseNodeQuantizationConfig):
546
524
  else:
547
525
  Logger.warning(f"Parameter {config_parameter_name} could not be found in the node quantization config of "
548
526
  f"weights attribute {attr_name} and was not updated!")
549
- else:
550
- Logger.error(f"Weights attribute {attr_name} could not be found to set parameter {config_parameter_name}.")
527
+ else: # pragma: no cover
528
+ Logger.critical(f"Weights attribute {attr_name} could not be found to set parameter {config_parameter_name}.")
551
529
 
552
530
  def __eq__(self, other: Any) -> bool:
553
531
  """
@@ -560,7 +538,7 @@ class NodeWeightsQuantizationConfig(BaseNodeQuantizationConfig):
560
538
 
561
539
  """
562
540
  if not isinstance(other, NodeWeightsQuantizationConfig):
563
- return False
541
+ return False # pragma: no cover
564
542
 
565
543
  return self.min_threshold == other.min_threshold and \
566
544
  self.simd_size == other.simd_size and \
@@ -22,10 +22,7 @@ from model_compression_toolkit.defaultdict import DefaultDict
22
22
  from model_compression_toolkit.core.common.framework_info import FrameworkInfo
23
23
  from model_compression_toolkit.core.common.quantization.node_quantization_config import NodeWeightsQuantizationConfig, \
24
24
  WeightsAttrQuantizationConfig
25
-
26
- # If the quantization config does not contain kernel channel mapping or the weights
27
- # quantization is not per-channel, we use a dummy channel mapping.
28
- dummy_channel_mapping = DefaultDict(default_value=(None, None))
25
+ from model_compression_toolkit.logger import Logger
29
26
 
30
27
 
31
28
  def get_weights_qparams(weights_attr_values: np.ndarray,
@@ -64,29 +61,10 @@ def get_weights_qparams(weights_attr_values: np.ndarray,
64
61
  node=node,
65
62
  hessian_info_service=hessian_info_service,
66
63
  num_hessian_samples=num_hessian_samples)
67
- else:
64
+ else: # pragma: no cover
65
+ Logger.error(f"Requested weights quantization parameters computation for node {node.name} without providing a "
66
+ f"weights_quantization_params_fn."
67
+ f"Returning an empty dictionary since no quantization parameters were computed.")
68
68
  weights_params = {}
69
69
 
70
70
  return weights_params, output_channels_axis
71
-
72
-
73
- def _get_kernel_channels_mapping(fw_info:FrameworkInfo,
74
- use_dummy: bool) -> DefaultDict:
75
- """
76
- Get a kernel channel mapping from the framework info, or use dummy mapping (which returns a
77
- tuple of Nones) if use_use_dummy is True.
78
-
79
- Args:
80
- fw_info: Framework info which contains a kernel channels mapping.
81
- use_dummy: Whether to use a dummy mapping or not.
82
-
83
- Returns:
84
- Kernel channels mapping.
85
- """
86
-
87
- # Set a kernel channels mapping
88
- if use_dummy: # If kernel mapping is missing, we use a dummy channels mapping
89
- kernel_channels_mapping = dummy_channel_mapping
90
- else:
91
- kernel_channels_mapping = fw_info.kernel_channels_mapping
92
- return kernel_channels_mapping
@@ -60,33 +60,6 @@ def calculate_delta(threshold: np.ndarray,
60
60
  return threshold / (2 ** (n_bits - int(signed)))
61
61
 
62
62
 
63
- def calculate_min_max_values(threshold: np.ndarray,
64
- n_bits: int = 8,
65
- signed: bool = False) -> Tuple[np.ndarray, np.ndarray]:
66
- """
67
- Compute the min/max values of a quantization range according to the threshold,
68
- number of bits and whether its signed or unsigned.
69
-
70
- Args:
71
- threshold: Threshold of quantization range to compute its min/max values.
72
- n_bits: Number of bits used in the quantization.
73
- signed: Whether the quantization range is signed or not.
74
-
75
- Returns:
76
- Min/max values of quantization range.
77
- """
78
-
79
- delta = calculate_delta(threshold,
80
- n_bits=n_bits,
81
- signed=signed)
82
-
83
- # If unsigned: min=0, otherwise its -threshold
84
- min_value = int(signed) * -threshold
85
- max_value = threshold - delta
86
-
87
- return min_value, max_value
88
-
89
-
90
63
  def quantize_tensor(tensor_data: np.ndarray,
91
64
  threshold: np.ndarray,
92
65
  n_bits: int,
@@ -238,7 +211,7 @@ def get_tensor_max(tensor_data: np.ndarray,
238
211
 
239
212
  """
240
213
  if n_bits < 1:
241
- Logger.critical(f"Parameter n_bits must be positive; however 'n_bits'={n_bits} was provided.")
214
+ Logger.critical(f"Parameter n_bits must be positive; however 'n_bits'={n_bits} was provided.") # pragma: no cover
242
215
  if is_uniform_quantization:
243
216
  expansion_factor = 1.0
244
217
  elif n_bits == 1:
@@ -337,40 +310,3 @@ def get_output_shape(tensor_shape, channel_axis):
337
310
 
338
311
  """
339
312
  return [-1 if i is channel_axis else 1 for i in range(len(tensor_shape))]
340
-
341
-
342
- def get_range_bounds(tensor_min, tensor_max):
343
- """
344
- Gets bounds on the quantization range limits for the minimization process.
345
- Calculates the bounds in a way that would leave a gap between the possible optimized values
346
- and the tensor min-max values.
347
-
348
- Args:
349
- tensor_min: min value of a tensor.
350
- tensor_max: max value of a tensor.
351
-
352
- Returns: An array with (lbound, ubound) pairs on the quantization range limit values.
353
-
354
- """
355
- # choosing bounds that have some gap from the original tensor min/max values.
356
- l_bound = tensor_min / 2 if tensor_min > 0 else tensor_min * 2
357
- u_bound = tensor_max * 2 if tensor_max > 0 else tensor_min / 2
358
- return [(l_bound, u_bound), (l_bound, u_bound)]
359
-
360
-
361
- def get_threshold_bounds(min_threshold, max_threshold):
362
- """
363
- Gets bounds on the threshold for the minimization process.
364
- Calculates the bounds in a way that would leave a gap between the possible optimized threshold
365
- and the tensor max values. We use min_threshold as lower-bound to prevent the selected threshold
366
- from being zero or negative.
367
-
368
- Args:
369
- min_threshold: minimal threshold to use if threshold is too small (not used for this method).
370
- max_threshold: maximal threshold to be used in quantization.
371
-
372
- Returns: An array with a pair of (lbound, ubound) on the quantization threshold limit values.
373
-
374
- """
375
- max_threshold = max(min_threshold, max_threshold)
376
- return [(min_threshold, 2 * max_threshold)]
@@ -37,10 +37,10 @@ def get_keras_model_builder(mode: ModelBuilderMode) -> type:
37
37
  Keras model builder for the given mode.
38
38
  """
39
39
 
40
- if not isinstance(mode, ModelBuilderMode):
40
+ if not isinstance(mode, ModelBuilderMode): # pragma: no cover
41
41
  Logger.critical(f"Expected a ModelBuilderMode type for 'mode', but received {type(mode)} instead.")
42
- if mode is None:
42
+ if mode is None: # pragma: no cover
43
43
  Logger.critical(f"get_keras_model_builder received 'mode' is None")
44
- if mode not in keras_model_builders.keys():
44
+ if mode not in keras_model_builders.keys(): # pragma: no cover
45
45
  Logger.critical(f"'mode' {mode} is not recognized in the Keras model builders factory.")
46
46
  return keras_model_builders.get(mode)
@@ -21,6 +21,7 @@ from mct_quantizers import KerasQuantizationWrapper, KerasActivationQuantization
21
21
  from tensorflow.keras.models import Model
22
22
 
23
23
  from model_compression_toolkit.constants import HESSIAN_NUM_ITERATIONS
24
+ from model_compression_toolkit.core.common.graph.functional_node import FunctionalNode
24
25
  from model_compression_toolkit.core.common.hessian import HessianScoresRequest, HessianMode, HessianInfoService
25
26
  from model_compression_toolkit.core.keras.graph_substitutions.substitutions.remove_identity import RemoveIdentity
26
27
  from model_compression_toolkit.core.keras.hessian.activation_hessian_scores_calculator_keras import \
@@ -421,44 +422,47 @@ class KerasImplementation(FrameworkImplementation):
421
422
 
422
423
  return False
423
424
 
424
- def get_mp_node_distance_fn(self, layer_class: type,
425
- framework_attrs: Dict[str, Any],
426
- compute_distance_fn: Callable = None,
427
- axis: int = None,
428
- norm_mse: bool = False) -> Callable:
425
+ def get_mp_node_distance_fn(self, n: BaseNode,
426
+ compute_distance_fn: Callable = None,
427
+ norm_mse: bool = False) -> Tuple[Callable, int]:
429
428
  """
430
429
  A mapping between layers' types and a distance function for computing the distance between
431
430
  two tensors in mixed precision (for loss computation purposes). Returns a specific function if node of specific types is
432
431
  given, or a default (normalized MSE) function otherwise.
433
432
 
434
433
  Args:
435
- layer_class: Class path of a model's layer.
436
- framework_attrs: Framework attributes the layer had which the graph node holds.
434
+ n: Node to choose distance function for.
437
435
  compute_distance_fn: An optional distance function to use globally for all nodes.
438
- axis: The axis on which the operation is preformed (if specified).
439
436
  norm_mse: whether to normalize mse distance function.
440
437
 
441
- Returns: A distance function between two tensors.
438
+ Returns: A distance function between two tensors and a axis on which the distance is computed (if exists).
442
439
  """
443
440
 
441
+ axis = n.framework_attr.get(keras_constants.AXIS) \
442
+ if not isinstance(n, FunctionalNode) else n.op_call_kwargs.get(keras_constants.AXIS)
443
+
444
+ layer_class = n.layer_class
445
+ framework_attrs = n.framework_attr
446
+
444
447
  if compute_distance_fn is not None:
445
- return compute_distance_fn
448
+ return compute_distance_fn, axis
446
449
 
447
450
  if layer_class == Activation:
448
451
  node_type_name = framework_attrs[ACTIVATION]
449
452
  if node_type_name == SOFTMAX and axis is not None:
450
- return compute_kl_divergence
453
+ return compute_kl_divergence, axis
451
454
  elif node_type_name == SIGMOID:
452
- return compute_cs
455
+ return compute_cs, axis
453
456
  elif axis is not None and (layer_class == tf.nn.softmax or layer_class == tf.keras.layers.Softmax
454
457
  or (layer_class == TFOpLambda and
455
458
  SOFTMAX in framework_attrs[keras_constants.FUNCTION])):
456
- return compute_kl_divergence
457
- elif layer_class == tf.nn.sigmoid:
458
- return compute_cs
459
+ return compute_kl_divergence, axis
460
+ elif layer_class == tf.nn.sigmoid or (layer_class == TFOpLambda and
461
+ SIGMOID in framework_attrs[keras_constants.FUNCTION]):
462
+ return compute_cs, axis
459
463
  elif layer_class == Dense:
460
- return compute_cs
461
- return partial(compute_mse, norm=norm_mse)
464
+ return compute_cs, axis
465
+ return partial(compute_mse, norm=norm_mse), axis
462
466
 
463
467
  def get_hessian_scores_calculator(self,
464
468
  graph: Graph,
@@ -36,7 +36,7 @@ def to_tf_tensor(tensor):
36
36
  return (to_tf_tensor(t) for t in tensor)
37
37
  elif isinstance(tensor, np.ndarray):
38
38
  return tf.convert_to_tensor(tensor.astype(np.float32))
39
- else:
39
+ else: # pragma: no cover
40
40
  Logger.critical(f'Unsupported type for conversion to TF tensor: {type(tensor)}.')
41
41
 
42
42
 
@@ -69,5 +69,5 @@ def tf_tensor_to_numpy(tensor: Union[List, Tuple, np.ndarray, tf.Tensor, float],
69
69
  return np.array([np_tensor]) if np.isscalar(np_tensor) else np_tensor
70
70
  elif isinstance(tensor, float):
71
71
  return np.array([tensor])
72
- else:
72
+ else: # pragma: no cover
73
73
  Logger.critical(f'Unsupported type for conversion to Numpy array: {type(tensor)}.')
@@ -37,10 +37,10 @@ def get_pytorch_model_builder(mode: ModelBuilderMode) -> type:
37
37
  PyTorch model builder for the given mode.
38
38
  """
39
39
 
40
- if not isinstance(mode, ModelBuilderMode):
40
+ if not isinstance(mode, ModelBuilderMode): # pragma: no cover
41
41
  Logger.critical(f"Expected a ModelBuilderMode type for 'mode' parameter; received {type(mode)} instead.")
42
- if mode is None:
42
+ if mode is None: # pragma: no cover
43
43
  Logger.critical(f"Received 'mode' parameter is None.")
44
- if mode not in pytorch_model_builders.keys():
44
+ if mode not in pytorch_model_builders.keys(): # pragma: no cover
45
45
  Logger.critical(f"'mode' parameter {mode} is not supported by the PyTorch model builders factory.")
46
46
  return pytorch_model_builders.get(mode)