mct-nightly 2.1.0.20240813.141729__tar.gz → 2.1.0.20240815.452__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (543) hide show
  1. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/PKG-INFO +1 -1
  2. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/mct_nightly.egg-info/PKG-INFO +1 -1
  3. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/mct_nightly.egg-info/SOURCES.txt +3 -0
  4. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/__init__.py +1 -1
  5. mct-nightly-2.1.0.20240815.452/model_compression_toolkit/core/common/mixed_precision/mixed_precision_candidates_filter.py +80 -0
  6. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/keras/constants.py +4 -1
  7. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/keras/default_framework_info.py +3 -2
  8. mct-nightly-2.1.0.20240815.452/model_compression_toolkit/core/keras/graph_substitutions/substitutions/conv_funcs_to_layer.py +241 -0
  9. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/linear_collapsing.py +2 -2
  10. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/matmul_substitution.py +2 -0
  11. mct-nightly-2.1.0.20240815.452/model_compression_toolkit/core/keras/graph_substitutions/substitutions/sigmoid_mul_to_swish.py +89 -0
  12. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/keras/keras_implementation.py +7 -1
  13. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/pytorch/default_framework_info.py +8 -3
  14. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/shift_negative_activation.py +5 -3
  15. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/runner.py +3 -0
  16. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/LICENSE.md +0 -0
  17. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/README.md +0 -0
  18. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/mct_nightly.egg-info/dependency_links.txt +0 -0
  19. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/mct_nightly.egg-info/requires.txt +0 -0
  20. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/mct_nightly.egg-info/top_level.txt +0 -0
  21. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/constants.py +0 -0
  22. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/__init__.py +0 -0
  23. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/analyzer.py +0 -0
  24. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/__init__.py +0 -0
  25. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/back2framework/__init__.py +0 -0
  26. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/back2framework/base_model_builder.py +0 -0
  27. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/base_substitutions.py +0 -0
  28. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/collectors/__init__.py +0 -0
  29. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/collectors/base_collector.py +0 -0
  30. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/collectors/histogram_collector.py +0 -0
  31. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/collectors/mean_collector.py +0 -0
  32. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/collectors/min_max_per_channel_collector.py +0 -0
  33. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/collectors/statistics_collector.py +0 -0
  34. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/framework_implementation.py +0 -0
  35. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/framework_info.py +0 -0
  36. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/fusion/__init__.py +0 -0
  37. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/fusion/graph_fuser.py +0 -0
  38. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/fusion/layer_fusing.py +0 -0
  39. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/graph/__init__.py +0 -0
  40. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/graph/base_graph.py +0 -0
  41. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/graph/base_node.py +0 -0
  42. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/graph/edge.py +0 -0
  43. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/graph/functional_node.py +0 -0
  44. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/graph/graph_matchers.py +0 -0
  45. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/graph/graph_searches.py +0 -0
  46. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/graph/memory_graph/__init__.py +0 -0
  47. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/graph/memory_graph/bipartite_graph.py +0 -0
  48. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/graph/memory_graph/compute_graph_max_cut.py +0 -0
  49. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/graph/memory_graph/cut.py +0 -0
  50. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/graph/memory_graph/max_cut_astar.py +0 -0
  51. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/graph/memory_graph/memory_element.py +0 -0
  52. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/graph/memory_graph/memory_graph.py +0 -0
  53. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/graph/virtual_activation_weights_node.py +0 -0
  54. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/hessian/__init__.py +0 -0
  55. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/hessian/hessian_info_service.py +0 -0
  56. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/hessian/hessian_info_utils.py +0 -0
  57. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/hessian/hessian_scores_calculator.py +0 -0
  58. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/hessian/hessian_scores_request.py +0 -0
  59. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/matchers/__init__.py +0 -0
  60. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/matchers/base_graph_filter.py +0 -0
  61. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/matchers/base_matcher.py +0 -0
  62. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/matchers/edge_matcher.py +0 -0
  63. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/matchers/function.py +0 -0
  64. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/matchers/node_matcher.py +0 -0
  65. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/matchers/walk_matcher.py +0 -0
  66. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/memory_computation.py +0 -0
  67. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/mixed_precision/__init__.py +0 -0
  68. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/mixed_precision/bit_width_setter.py +0 -0
  69. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/mixed_precision/configurable_quant_id.py +0 -0
  70. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/mixed_precision/configurable_quantizer_utils.py +0 -0
  71. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/mixed_precision/distance_weighting.py +0 -0
  72. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/mixed_precision/mixed_precision_quantization_config.py +0 -0
  73. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/mixed_precision/mixed_precision_search_facade.py +0 -0
  74. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/mixed_precision/mixed_precision_search_manager.py +0 -0
  75. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/mixed_precision/resource_utilization_tools/__init__.py +0 -0
  76. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/mixed_precision/resource_utilization_tools/resource_utilization.py +0 -0
  77. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/mixed_precision/resource_utilization_tools/resource_utilization_data.py +0 -0
  78. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/mixed_precision/resource_utilization_tools/ru_aggregation_methods.py +0 -0
  79. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/mixed_precision/resource_utilization_tools/ru_functions_mapping.py +0 -0
  80. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/mixed_precision/resource_utilization_tools/ru_methods.py +0 -0
  81. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/mixed_precision/search_methods/__init__.py +0 -0
  82. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/mixed_precision/search_methods/linear_programming.py +0 -0
  83. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/mixed_precision/sensitivity_evaluation.py +0 -0
  84. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/mixed_precision/set_layer_to_bitwidth.py +0 -0
  85. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/mixed_precision/solution_refinement_procedure.py +0 -0
  86. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/model_builder_mode.py +0 -0
  87. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/model_collector.py +0 -0
  88. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/model_validation.py +0 -0
  89. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/network_editors/__init__.py +0 -0
  90. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/network_editors/actions.py +0 -0
  91. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/network_editors/edit_network.py +0 -0
  92. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/network_editors/node_filters.py +0 -0
  93. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/node_prior_info.py +0 -0
  94. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/pruning/__init__.py +0 -0
  95. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/pruning/channels_grouping.py +0 -0
  96. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/pruning/greedy_mask_calculator.py +0 -0
  97. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/pruning/importance_metrics/__init__.py +0 -0
  98. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/pruning/importance_metrics/base_importance_metric.py +0 -0
  99. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/pruning/importance_metrics/importance_metric_factory.py +0 -0
  100. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/pruning/importance_metrics/lfh_importance_metric.py +0 -0
  101. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/pruning/mask/__init__.py +0 -0
  102. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/pruning/mask/per_channel_mask.py +0 -0
  103. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/pruning/mask/per_simd_group_mask.py +0 -0
  104. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/pruning/memory_calculator.py +0 -0
  105. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/pruning/prune_graph.py +0 -0
  106. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/pruning/pruner.py +0 -0
  107. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/pruning/pruning_config.py +0 -0
  108. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/pruning/pruning_framework_implementation.py +0 -0
  109. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/pruning/pruning_info.py +0 -0
  110. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/pruning/pruning_section.py +0 -0
  111. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/quantization/__init__.py +0 -0
  112. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/quantization/bit_width_config.py +0 -0
  113. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/quantization/candidate_node_quantization_config.py +0 -0
  114. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/quantization/core_config.py +0 -0
  115. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/quantization/debug_config.py +0 -0
  116. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/quantization/filter_nodes_candidates.py +0 -0
  117. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/quantization/node_quantization_config.py +0 -0
  118. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/quantization/quantization_config.py +0 -0
  119. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/quantization/quantization_fn_selection.py +0 -0
  120. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/quantization/quantization_params_fn_selection.py +0 -0
  121. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/quantization/quantization_params_generation/__init__.py +0 -0
  122. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/quantization/quantization_params_generation/error_functions.py +0 -0
  123. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/quantization/quantization_params_generation/lut_kmeans_params.py +0 -0
  124. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/quantization/quantization_params_generation/outlier_filter.py +0 -0
  125. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/quantization/quantization_params_generation/power_of_two_selection.py +0 -0
  126. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/quantization/quantization_params_generation/qparams_activations_computation.py +0 -0
  127. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/quantization/quantization_params_generation/qparams_computation.py +0 -0
  128. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/quantization/quantization_params_generation/qparams_search.py +0 -0
  129. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/quantization/quantization_params_generation/qparams_weights_computation.py +0 -0
  130. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/quantization/quantization_params_generation/symmetric_selection.py +0 -0
  131. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/quantization/quantization_params_generation/uniform_selection.py +0 -0
  132. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/quantization/quantize_graph_weights.py +0 -0
  133. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/quantization/quantize_node.py +0 -0
  134. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/quantization/quantizers/__init__.py +0 -0
  135. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/quantization/quantizers/lut_kmeans_quantizer.py +0 -0
  136. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/quantization/quantizers/quantizers_helpers.py +0 -0
  137. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/quantization/quantizers/uniform_quantizers.py +0 -0
  138. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/quantization/set_node_quantization_config.py +0 -0
  139. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/similarity_analyzer.py +0 -0
  140. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/statistics_correction/__init__.py +0 -0
  141. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/statistics_correction/apply_bias_correction_to_graph.py +0 -0
  142. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/statistics_correction/apply_second_moment_correction_to_graph.py +0 -0
  143. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/statistics_correction/compute_bias_correction_of_graph.py +0 -0
  144. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/statistics_correction/statistics_correction.py +0 -0
  145. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/substitutions/__init__.py +0 -0
  146. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/substitutions/apply_substitutions.py +0 -0
  147. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/substitutions/batchnorm_folding.py +0 -0
  148. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/substitutions/batchnorm_reconstruction.py +0 -0
  149. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/substitutions/batchnorm_refusing.py +0 -0
  150. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/substitutions/linear_collapsing.py +0 -0
  151. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/substitutions/linear_collapsing_substitution.py +0 -0
  152. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/substitutions/remove_identity.py +0 -0
  153. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/substitutions/residual_collapsing.py +0 -0
  154. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/substitutions/scale_equalization.py +0 -0
  155. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/substitutions/shift_negative_activation.py +0 -0
  156. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/substitutions/softmax_shift.py +0 -0
  157. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/substitutions/virtual_activation_weights_composition.py +0 -0
  158. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/substitutions/weights_activation_split.py +0 -0
  159. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/user_info.py +0 -0
  160. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/visualization/__init__.py +0 -0
  161. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/visualization/final_config_visualizer.py +0 -0
  162. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/visualization/nn_visualizer.py +0 -0
  163. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/common/visualization/tensorboard_writer.py +0 -0
  164. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/graph_prep_runner.py +0 -0
  165. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/keras/__init__.py +0 -0
  166. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/keras/back2framework/__init__.py +0 -0
  167. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/keras/back2framework/factory_model_builder.py +0 -0
  168. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/keras/back2framework/float_model_builder.py +0 -0
  169. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/keras/back2framework/instance_builder.py +0 -0
  170. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/keras/back2framework/keras_model_builder.py +0 -0
  171. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/keras/back2framework/mixed_precision_model_builder.py +0 -0
  172. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/keras/back2framework/quantized_model_builder.py +0 -0
  173. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/keras/custom_layer_validation.py +0 -0
  174. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/keras/graph_substitutions/__init__.py +0 -0
  175. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/__init__.py +0 -0
  176. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/activation_decomposition.py +0 -0
  177. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/batchnorm_folding.py +0 -0
  178. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/batchnorm_reconstruction.py +0 -0
  179. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/batchnorm_refusing.py +0 -0
  180. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/concat_threshold_update.py +0 -0
  181. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/dwconv_to_conv.py +0 -0
  182. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/input_scaling.py +0 -0
  183. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/multi_head_attention_decomposition.py +0 -0
  184. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/relu_bound_to_power_of_2.py +0 -0
  185. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/remove_identity.py +0 -0
  186. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/residual_collapsing.py +0 -0
  187. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/scale_equalization.py +0 -0
  188. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/separableconv_decomposition.py +0 -0
  189. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/shift_negative_activation.py +0 -0
  190. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/softmax_shift.py +0 -0
  191. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/virtual_activation_weights_composition.py +0 -0
  192. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/weights_activation_split.py +0 -0
  193. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/keras/hessian/__init__.py +0 -0
  194. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/keras/hessian/activation_hessian_scores_calculator_keras.py +0 -0
  195. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/keras/hessian/hessian_scores_calculator_keras.py +0 -0
  196. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/keras/hessian/weights_hessian_scores_calculator_keras.py +0 -0
  197. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/keras/keras_model_validation.py +0 -0
  198. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/keras/keras_node_prior_info.py +0 -0
  199. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/keras/mixed_precision/__init__.py +0 -0
  200. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/keras/mixed_precision/configurable_activation_quantizer.py +0 -0
  201. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/keras/mixed_precision/configurable_weights_quantizer.py +0 -0
  202. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/keras/pruning/__init__.py +0 -0
  203. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/keras/pruning/pruning_keras_implementation.py +0 -0
  204. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/keras/quantizer/__init__.py +0 -0
  205. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/keras/quantizer/base_quantizer.py +0 -0
  206. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/keras/quantizer/fake_quant_builder.py +0 -0
  207. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/keras/quantizer/lut_fake_quant.py +0 -0
  208. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/keras/reader/__init__.py +0 -0
  209. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/keras/reader/common.py +0 -0
  210. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/keras/reader/connectivity_handler.py +0 -0
  211. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/keras/reader/nested_model/__init__.py +0 -0
  212. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/keras/reader/nested_model/edges_merger.py +0 -0
  213. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/keras/reader/nested_model/nested_model_handler.py +0 -0
  214. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/keras/reader/nested_model/nodes_merger.py +0 -0
  215. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/keras/reader/nested_model/outputs_merger.py +0 -0
  216. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/keras/reader/node_builder.py +0 -0
  217. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/keras/reader/reader.py +0 -0
  218. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/keras/resource_utilization_data_facade.py +0 -0
  219. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/keras/statistics_correction/__init__.py +0 -0
  220. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/keras/statistics_correction/apply_second_moment_correction.py +0 -0
  221. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/keras/tf_tensor_numpy.py +0 -0
  222. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/keras/visualization/__init__.py +0 -0
  223. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/pytorch/__init__.py +0 -0
  224. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/pytorch/back2framework/__init__.py +0 -0
  225. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/pytorch/back2framework/factory_model_builder.py +0 -0
  226. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/pytorch/back2framework/float_model_builder.py +0 -0
  227. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/pytorch/back2framework/instance_builder.py +0 -0
  228. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/pytorch/back2framework/mixed_precision_model_builder.py +0 -0
  229. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/pytorch/back2framework/pytorch_model_builder.py +0 -0
  230. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/pytorch/back2framework/quantization_wrapper/__init__.py +0 -0
  231. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/pytorch/back2framework/quantization_wrapper/quantized_layer_wrapper.py +0 -0
  232. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/pytorch/back2framework/quantization_wrapper/wrapper_quantize_config.py +0 -0
  233. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/pytorch/back2framework/quantized_model_builder.py +0 -0
  234. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/pytorch/constants.py +0 -0
  235. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/pytorch/graph_substitutions/__init__.py +0 -0
  236. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/__init__.py +0 -0
  237. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/batchnorm_folding.py +0 -0
  238. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/batchnorm_reconstruction.py +0 -0
  239. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/batchnorm_refusing.py +0 -0
  240. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/concat_threshold_update.py +0 -0
  241. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/const_holder_conv.py +0 -0
  242. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/functional_batch_norm.py +0 -0
  243. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/functional_layer_norm.py +0 -0
  244. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/linear_collapsing.py +0 -0
  245. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/multi_head_attention_decomposition.py +0 -0
  246. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/relu_bound_to_power_of_2.py +0 -0
  247. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/remove_identity.py +0 -0
  248. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/reshape_with_static_shapes.py +0 -0
  249. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/residual_collapsing.py +0 -0
  250. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/scale_equalization.py +0 -0
  251. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/softmax_shift.py +0 -0
  252. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/transform_function_call_method.py +0 -0
  253. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/virtual_activation_weights_composition.py +0 -0
  254. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/weights_activation_split.py +0 -0
  255. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/pytorch/hessian/__init__.py +0 -0
  256. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/pytorch/hessian/activation_hessian_scores_calculator_pytorch.py +0 -0
  257. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/pytorch/hessian/hessian_scores_calculator_pytorch.py +0 -0
  258. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/pytorch/hessian/weights_hessian_scores_calculator_pytorch.py +0 -0
  259. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/pytorch/mixed_precision/__init__.py +0 -0
  260. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/pytorch/mixed_precision/configurable_activation_quantizer.py +0 -0
  261. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/pytorch/mixed_precision/configurable_weights_quantizer.py +0 -0
  262. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/pytorch/pruning/__init__.py +0 -0
  263. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/pytorch/pruning/pruning_pytorch_implementation.py +0 -0
  264. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/pytorch/pytorch_device_config.py +0 -0
  265. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/pytorch/pytorch_implementation.py +0 -0
  266. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/pytorch/pytorch_node_prior_info.py +0 -0
  267. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/pytorch/quantizer/__init__.py +0 -0
  268. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/pytorch/quantizer/fake_quant_builder.py +0 -0
  269. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/pytorch/quantizer/lut_fake_quant.py +0 -0
  270. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/pytorch/reader/__init__.py +0 -0
  271. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/pytorch/reader/graph_builders.py +0 -0
  272. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/pytorch/reader/node_holders.py +0 -0
  273. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/pytorch/reader/reader.py +0 -0
  274. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/pytorch/resource_utilization_data_facade.py +0 -0
  275. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/pytorch/statistics_correction/__init__.py +0 -0
  276. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/pytorch/statistics_correction/apply_second_moment_correction.py +0 -0
  277. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/pytorch/utils.py +0 -0
  278. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/core/quantization_prep_runner.py +0 -0
  279. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/data_generation/__init__.py +0 -0
  280. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/data_generation/common/__init__.py +0 -0
  281. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/data_generation/common/constants.py +0 -0
  282. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/data_generation/common/data_generation.py +0 -0
  283. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/data_generation/common/data_generation_config.py +0 -0
  284. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/data_generation/common/enums.py +0 -0
  285. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/data_generation/common/image_pipeline.py +0 -0
  286. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/data_generation/common/model_info_exctractors.py +0 -0
  287. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/data_generation/common/optimization_utils.py +0 -0
  288. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/data_generation/keras/__init__.py +0 -0
  289. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/data_generation/keras/constants.py +0 -0
  290. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/data_generation/keras/image_operations.py +0 -0
  291. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/data_generation/keras/image_pipeline.py +0 -0
  292. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/data_generation/keras/keras_data_generation.py +0 -0
  293. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/data_generation/keras/model_info_exctractors.py +0 -0
  294. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/data_generation/keras/optimization_functions/__init__.py +0 -0
  295. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/data_generation/keras/optimization_functions/batchnorm_alignment_functions.py +0 -0
  296. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/data_generation/keras/optimization_functions/bn_layer_weighting_functions.py +0 -0
  297. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/data_generation/keras/optimization_functions/image_initilization.py +0 -0
  298. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/data_generation/keras/optimization_functions/lr_scheduler.py +0 -0
  299. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/data_generation/keras/optimization_functions/output_loss_functions.py +0 -0
  300. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/data_generation/keras/optimization_functions/scheduler_step_functions.py +0 -0
  301. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/data_generation/keras/optimization_utils.py +0 -0
  302. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/data_generation/pytorch/__init__.py +0 -0
  303. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/data_generation/pytorch/constants.py +0 -0
  304. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/data_generation/pytorch/image_operations.py +0 -0
  305. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/data_generation/pytorch/image_pipeline.py +0 -0
  306. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/data_generation/pytorch/model_info_exctractors.py +0 -0
  307. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/data_generation/pytorch/optimization_functions/__init__.py +0 -0
  308. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/data_generation/pytorch/optimization_functions/batchnorm_alignment_functions.py +0 -0
  309. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/data_generation/pytorch/optimization_functions/bn_layer_weighting_functions.py +0 -0
  310. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/data_generation/pytorch/optimization_functions/image_initilization.py +0 -0
  311. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/data_generation/pytorch/optimization_functions/lr_scheduler.py +0 -0
  312. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/data_generation/pytorch/optimization_functions/output_loss_functions.py +0 -0
  313. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/data_generation/pytorch/optimization_functions/scheduler_step_functions.py +0 -0
  314. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/data_generation/pytorch/optimization_utils.py +0 -0
  315. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/data_generation/pytorch/pytorch_data_generation.py +0 -0
  316. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/defaultdict.py +0 -0
  317. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/exporter/__init__.py +0 -0
  318. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/exporter/model_exporter/__init__.py +0 -0
  319. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/exporter/model_exporter/fw_agonstic/__init__.py +0 -0
  320. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/exporter/model_exporter/fw_agonstic/exporter.py +0 -0
  321. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/exporter/model_exporter/fw_agonstic/quantization_format.py +0 -0
  322. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/exporter/model_exporter/keras/__init__.py +0 -0
  323. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/exporter/model_exporter/keras/base_keras_exporter.py +0 -0
  324. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/exporter/model_exporter/keras/export_serialization_format.py +0 -0
  325. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/exporter/model_exporter/keras/fakely_quant_keras_exporter.py +0 -0
  326. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/exporter/model_exporter/keras/fakely_quant_tflite_exporter.py +0 -0
  327. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/exporter/model_exporter/keras/int8_tflite_exporter.py +0 -0
  328. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/exporter/model_exporter/keras/keras_export_facade.py +0 -0
  329. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/exporter/model_exporter/keras/mctq_keras_exporter.py +0 -0
  330. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/exporter/model_exporter/pytorch/__init__.py +0 -0
  331. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/exporter/model_exporter/pytorch/base_pytorch_exporter.py +0 -0
  332. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/exporter/model_exporter/pytorch/export_serialization_format.py +0 -0
  333. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/exporter/model_exporter/pytorch/fakely_quant_onnx_pytorch_exporter.py +0 -0
  334. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/exporter/model_exporter/pytorch/fakely_quant_torchscript_pytorch_exporter.py +0 -0
  335. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/exporter/model_exporter/pytorch/pytorch_export_facade.py +0 -0
  336. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/exporter/model_wrapper/__init__.py +0 -0
  337. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/exporter/model_wrapper/fw_agnostic/__init__.py +0 -0
  338. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/exporter/model_wrapper/fw_agnostic/get_inferable_quantizers.py +0 -0
  339. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/exporter/model_wrapper/keras/__init__.py +0 -0
  340. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/exporter/model_wrapper/keras/builder/__init__.py +0 -0
  341. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/exporter/model_wrapper/keras/builder/fully_quantized_model_builder.py +0 -0
  342. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/exporter/model_wrapper/keras/builder/node_to_quantizer.py +0 -0
  343. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/exporter/model_wrapper/keras/validate_layer.py +0 -0
  344. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/exporter/model_wrapper/pytorch/__init__.py +0 -0
  345. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/exporter/model_wrapper/pytorch/builder/__init__.py +0 -0
  346. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/exporter/model_wrapper/pytorch/builder/fully_quantized_model_builder.py +0 -0
  347. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/exporter/model_wrapper/pytorch/builder/node_to_quantizer.py +0 -0
  348. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/exporter/model_wrapper/pytorch/validate_layer.py +0 -0
  349. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/gptq/__init__.py +0 -0
  350. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/gptq/common/__init__.py +0 -0
  351. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/gptq/common/gptq_config.py +0 -0
  352. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/gptq/common/gptq_constants.py +0 -0
  353. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/gptq/common/gptq_framework_implementation.py +0 -0
  354. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/gptq/common/gptq_graph.py +0 -0
  355. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/gptq/common/gptq_training.py +0 -0
  356. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/gptq/keras/__init__.py +0 -0
  357. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/gptq/keras/gptq_keras_implementation.py +0 -0
  358. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/gptq/keras/gptq_loss.py +0 -0
  359. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/gptq/keras/gptq_training.py +0 -0
  360. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/gptq/keras/graph_info.py +0 -0
  361. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/gptq/keras/quantization_facade.py +0 -0
  362. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/gptq/keras/quantizer/__init__.py +0 -0
  363. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/gptq/keras/quantizer/base_keras_gptq_quantizer.py +0 -0
  364. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/gptq/keras/quantizer/quant_utils.py +0 -0
  365. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/gptq/keras/quantizer/quantization_builder.py +0 -0
  366. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/gptq/keras/quantizer/regularization_factory.py +0 -0
  367. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/gptq/keras/quantizer/soft_rounding/__init__.py +0 -0
  368. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/gptq/keras/quantizer/soft_rounding/soft_quantizer_reg.py +0 -0
  369. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/gptq/keras/quantizer/soft_rounding/symmetric_soft_quantizer.py +0 -0
  370. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/gptq/keras/quantizer/soft_rounding/uniform_soft_quantizer.py +0 -0
  371. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/gptq/keras/quantizer/ste_rounding/__init__.py +0 -0
  372. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/gptq/keras/quantizer/ste_rounding/symmetric_ste.py +0 -0
  373. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/gptq/pytorch/__init__.py +0 -0
  374. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/gptq/pytorch/gptq_loss.py +0 -0
  375. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/gptq/pytorch/gptq_pytorch_implementation.py +0 -0
  376. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/gptq/pytorch/gptq_training.py +0 -0
  377. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/gptq/pytorch/graph_info.py +0 -0
  378. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/gptq/pytorch/quantization_facade.py +0 -0
  379. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/gptq/pytorch/quantizer/__init__.py +0 -0
  380. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/gptq/pytorch/quantizer/base_pytorch_gptq_quantizer.py +0 -0
  381. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/gptq/pytorch/quantizer/quant_utils.py +0 -0
  382. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/gptq/pytorch/quantizer/quantization_builder.py +0 -0
  383. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/gptq/pytorch/quantizer/regularization_factory.py +0 -0
  384. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/gptq/pytorch/quantizer/soft_rounding/__init__.py +0 -0
  385. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/gptq/pytorch/quantizer/soft_rounding/soft_quantizer_reg.py +0 -0
  386. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/gptq/pytorch/quantizer/soft_rounding/symmetric_soft_quantizer.py +0 -0
  387. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/gptq/pytorch/quantizer/soft_rounding/uniform_soft_quantizer.py +0 -0
  388. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/gptq/pytorch/quantizer/ste_rounding/__init__.py +0 -0
  389. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/gptq/pytorch/quantizer/ste_rounding/symmetric_ste.py +0 -0
  390. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/gptq/runner.py +0 -0
  391. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/logger.py +0 -0
  392. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/metadata.py +0 -0
  393. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/pruning/__init__.py +0 -0
  394. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/pruning/keras/__init__.py +0 -0
  395. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/pruning/keras/pruning_facade.py +0 -0
  396. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/pruning/pytorch/__init__.py +0 -0
  397. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/pruning/pytorch/pruning_facade.py +0 -0
  398. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/ptq/__init__.py +0 -0
  399. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/ptq/keras/__init__.py +0 -0
  400. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/ptq/keras/quantization_facade.py +0 -0
  401. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/ptq/pytorch/__init__.py +0 -0
  402. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/ptq/pytorch/quantization_facade.py +0 -0
  403. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/ptq/runner.py +0 -0
  404. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/qat/__init__.py +0 -0
  405. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/qat/common/__init__.py +0 -0
  406. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/qat/common/qat_config.py +0 -0
  407. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/qat/keras/__init__.py +0 -0
  408. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/qat/keras/quantization_facade.py +0 -0
  409. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/qat/keras/quantizer/__init__.py +0 -0
  410. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/qat/keras/quantizer/base_keras_qat_quantizer.py +0 -0
  411. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/qat/keras/quantizer/lsq/__init__.py +0 -0
  412. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/qat/keras/quantizer/lsq/symmetric_lsq.py +0 -0
  413. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/qat/keras/quantizer/lsq/uniform_lsq.py +0 -0
  414. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/qat/keras/quantizer/quant_utils.py +0 -0
  415. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/qat/keras/quantizer/quantization_builder.py +0 -0
  416. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/qat/keras/quantizer/ste_rounding/__init__.py +0 -0
  417. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/qat/keras/quantizer/ste_rounding/symmetric_ste.py +0 -0
  418. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/qat/keras/quantizer/ste_rounding/uniform_ste.py +0 -0
  419. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/qat/pytorch/__init__.py +0 -0
  420. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/qat/pytorch/quantization_facade.py +0 -0
  421. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/qat/pytorch/quantizer/__init__.py +0 -0
  422. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/qat/pytorch/quantizer/base_pytorch_qat_quantizer.py +0 -0
  423. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/qat/pytorch/quantizer/lsq/__init__.py +0 -0
  424. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/qat/pytorch/quantizer/lsq/symmetric_lsq.py +0 -0
  425. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/qat/pytorch/quantizer/lsq/uniform_lsq.py +0 -0
  426. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/qat/pytorch/quantizer/quantization_builder.py +0 -0
  427. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/qat/pytorch/quantizer/quantizer_utils.py +0 -0
  428. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/qat/pytorch/quantizer/ste_rounding/__init__.py +0 -0
  429. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/qat/pytorch/quantizer/ste_rounding/symmetric_ste.py +0 -0
  430. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/qat/pytorch/quantizer/ste_rounding/uniform_ste.py +0 -0
  431. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/target_platform_capabilities/__init__.py +0 -0
  432. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/target_platform_capabilities/constants.py +0 -0
  433. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/target_platform_capabilities/immutable.py +0 -0
  434. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/target_platform_capabilities/target_platform/__init__.py +0 -0
  435. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/target_platform_capabilities/target_platform/current_tp_model.py +0 -0
  436. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/target_platform_capabilities/target_platform/fusing.py +0 -0
  437. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/target_platform_capabilities/target_platform/op_quantization_config.py +0 -0
  438. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/target_platform_capabilities/target_platform/operators.py +0 -0
  439. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/target_platform_capabilities/target_platform/target_platform_model.py +0 -0
  440. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/target_platform_capabilities/target_platform/target_platform_model_component.py +0 -0
  441. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/__init__.py +0 -0
  442. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/attribute_filter.py +0 -0
  443. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/current_tpc.py +0 -0
  444. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/layer_filter_params.py +0 -0
  445. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/operations_to_layers.py +0 -0
  446. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/target_platform_capabilities.py +0 -0
  447. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/target_platform_capabilities_component.py +0 -0
  448. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/target_platform_capabilities/tpc_models/__init__.py +0 -0
  449. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/target_platform_capabilities/tpc_models/get_target_platform_capabilities.py +0 -0
  450. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/__init__.py +0 -0
  451. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/latest/__init__.py +0 -0
  452. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/target_platform_capabilities.py +0 -0
  453. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1/__init__.py +0 -0
  454. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1/tp_model.py +0 -0
  455. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1/tpc_keras.py +0 -0
  456. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1/tpc_pytorch.py +0 -0
  457. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_lut/__init__.py +0 -0
  458. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_lut/tp_model.py +0 -0
  459. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_lut/tpc_keras.py +0 -0
  460. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_lut/tpc_pytorch.py +0 -0
  461. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_pot/__init__.py +0 -0
  462. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_pot/tp_model.py +0 -0
  463. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_pot/tpc_keras.py +0 -0
  464. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_pot/tpc_pytorch.py +0 -0
  465. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2/__init__.py +0 -0
  466. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2/tp_model.py +0 -0
  467. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2/tpc_keras.py +0 -0
  468. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2/tpc_pytorch.py +0 -0
  469. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2_lut/__init__.py +0 -0
  470. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2_lut/tp_model.py +0 -0
  471. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2_lut/tpc_keras.py +0 -0
  472. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2_lut/tpc_pytorch.py +0 -0
  473. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v3/__init__.py +0 -0
  474. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v3/tp_model.py +0 -0
  475. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v3/tpc_keras.py +0 -0
  476. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v3/tpc_pytorch.py +0 -0
  477. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v3_lut/__init__.py +0 -0
  478. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v3_lut/tp_model.py +0 -0
  479. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v3_lut/tpc_keras.py +0 -0
  480. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v3_lut/tpc_pytorch.py +0 -0
  481. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v4/__init__.py +0 -0
  482. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v4/tp_model.py +0 -0
  483. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v4/tpc_keras.py +0 -0
  484. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v4/tpc_pytorch.py +0 -0
  485. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/__init__.py +0 -0
  486. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/latest/__init__.py +0 -0
  487. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/target_platform_capabilities.py +0 -0
  488. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/v1/__init__.py +0 -0
  489. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/v1/tp_model.py +0 -0
  490. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/v1/tpc_keras.py +0 -0
  491. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/v1/tpc_pytorch.py +0 -0
  492. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/__init__.py +0 -0
  493. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/latest/__init__.py +0 -0
  494. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/target_platform_capabilities.py +0 -0
  495. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/v1/__init__.py +0 -0
  496. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/v1/tp_model.py +0 -0
  497. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/v1/tpc_keras.py +0 -0
  498. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/v1/tpc_pytorch.py +0 -0
  499. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/trainable_infrastructure/__init__.py +0 -0
  500. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/trainable_infrastructure/common/__init__.py +0 -0
  501. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/trainable_infrastructure/common/base_trainable_quantizer.py +0 -0
  502. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/trainable_infrastructure/common/constants.py +0 -0
  503. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/trainable_infrastructure/common/get_quantizer_config.py +0 -0
  504. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/trainable_infrastructure/common/get_quantizers.py +0 -0
  505. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/trainable_infrastructure/common/quant_utils.py +0 -0
  506. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/trainable_infrastructure/common/trainable_quantizer_config.py +0 -0
  507. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/trainable_infrastructure/keras/__init__.py +0 -0
  508. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/trainable_infrastructure/keras/base_keras_quantizer.py +0 -0
  509. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/trainable_infrastructure/keras/config_serialization.py +0 -0
  510. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/trainable_infrastructure/keras/load_model.py +0 -0
  511. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/trainable_infrastructure/keras/quantize_wrapper.py +0 -0
  512. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/trainable_infrastructure/keras/quantizer_utils.py +0 -0
  513. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/trainable_infrastructure/pytorch/__init__.py +0 -0
  514. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/trainable_infrastructure/pytorch/base_pytorch_quantizer.py +0 -0
  515. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/verify_packages.py +0 -0
  516. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/xquant/__init__.py +0 -0
  517. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/xquant/common/__init__.py +0 -0
  518. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/xquant/common/constants.py +0 -0
  519. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/xquant/common/core_report_generator.py +0 -0
  520. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/xquant/common/dataset_utils.py +0 -0
  521. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/xquant/common/framework_report_utils.py +0 -0
  522. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/xquant/common/model_analyzer.py +0 -0
  523. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/xquant/common/model_folding_utils.py +0 -0
  524. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/xquant/common/similarity_calculator.py +0 -0
  525. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/xquant/common/similarity_functions.py +0 -0
  526. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/xquant/common/tensorboard_utils.py +0 -0
  527. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/xquant/common/xquant_config.py +0 -0
  528. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/xquant/keras/__init__.py +0 -0
  529. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/xquant/keras/dataset_utils.py +0 -0
  530. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/xquant/keras/facade_xquant_report.py +0 -0
  531. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/xquant/keras/keras_report_utils.py +0 -0
  532. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/xquant/keras/model_analyzer.py +0 -0
  533. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/xquant/keras/similarity_functions.py +0 -0
  534. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/xquant/keras/tensorboard_utils.py +0 -0
  535. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/xquant/pytorch/__init__.py +0 -0
  536. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/xquant/pytorch/dataset_utils.py +0 -0
  537. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/xquant/pytorch/facade_xquant_report.py +0 -0
  538. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/xquant/pytorch/model_analyzer.py +0 -0
  539. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/xquant/pytorch/pytorch_report_utils.py +0 -0
  540. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/xquant/pytorch/similarity_functions.py +0 -0
  541. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/model_compression_toolkit/xquant/pytorch/tensorboard_utils.py +0 -0
  542. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/setup.cfg +0 -0
  543. {mct-nightly-2.1.0.20240813.141729 → mct-nightly-2.1.0.20240815.452}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mct-nightly
3
- Version: 2.1.0.20240813.141729
3
+ Version: 2.1.0.20240815.452
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.20240813.141729
3
+ Version: 2.1.0.20240815.452
4
4
  Summary: A Model Compression Toolkit for neural networks
5
5
  Home-page: UNKNOWN
6
6
  License: UNKNOWN
@@ -72,6 +72,7 @@ model_compression_toolkit/core/common/mixed_precision/bit_width_setter.py
72
72
  model_compression_toolkit/core/common/mixed_precision/configurable_quant_id.py
73
73
  model_compression_toolkit/core/common/mixed_precision/configurable_quantizer_utils.py
74
74
  model_compression_toolkit/core/common/mixed_precision/distance_weighting.py
75
+ model_compression_toolkit/core/common/mixed_precision/mixed_precision_candidates_filter.py
75
76
  model_compression_toolkit/core/common/mixed_precision/mixed_precision_quantization_config.py
76
77
  model_compression_toolkit/core/common/mixed_precision/mixed_precision_search_facade.py
77
78
  model_compression_toolkit/core/common/mixed_precision/mixed_precision_search_manager.py
@@ -181,6 +182,7 @@ model_compression_toolkit/core/keras/graph_substitutions/substitutions/batchnorm
181
182
  model_compression_toolkit/core/keras/graph_substitutions/substitutions/batchnorm_reconstruction.py
182
183
  model_compression_toolkit/core/keras/graph_substitutions/substitutions/batchnorm_refusing.py
183
184
  model_compression_toolkit/core/keras/graph_substitutions/substitutions/concat_threshold_update.py
185
+ model_compression_toolkit/core/keras/graph_substitutions/substitutions/conv_funcs_to_layer.py
184
186
  model_compression_toolkit/core/keras/graph_substitutions/substitutions/dwconv_to_conv.py
185
187
  model_compression_toolkit/core/keras/graph_substitutions/substitutions/input_scaling.py
186
188
  model_compression_toolkit/core/keras/graph_substitutions/substitutions/linear_collapsing.py
@@ -192,6 +194,7 @@ model_compression_toolkit/core/keras/graph_substitutions/substitutions/residual_
192
194
  model_compression_toolkit/core/keras/graph_substitutions/substitutions/scale_equalization.py
193
195
  model_compression_toolkit/core/keras/graph_substitutions/substitutions/separableconv_decomposition.py
194
196
  model_compression_toolkit/core/keras/graph_substitutions/substitutions/shift_negative_activation.py
197
+ model_compression_toolkit/core/keras/graph_substitutions/substitutions/sigmoid_mul_to_swish.py
195
198
  model_compression_toolkit/core/keras/graph_substitutions/substitutions/softmax_shift.py
196
199
  model_compression_toolkit/core/keras/graph_substitutions/substitutions/virtual_activation_weights_composition.py
197
200
  model_compression_toolkit/core/keras/graph_substitutions/substitutions/weights_activation_split.py
@@ -27,4 +27,4 @@ from model_compression_toolkit import data_generation
27
27
  from model_compression_toolkit import pruning
28
28
  from model_compression_toolkit.trainable_infrastructure.keras.load_model import keras_load_quantized_model
29
29
 
30
- __version__ = "2.1.0.20240813.141729"
30
+ __version__ = "2.1.0.20240815.000452"
@@ -0,0 +1,80 @@
1
+ # Copyright 2024 Sony Semiconductor Israel, Inc. All rights reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+ # ==============================================================================
15
+ import numpy as np
16
+
17
+ from model_compression_toolkit.core import ResourceUtilization, FrameworkInfo
18
+ from model_compression_toolkit.core.common import Graph
19
+ from model_compression_toolkit.logger import Logger
20
+ from model_compression_toolkit.target_platform_capabilities.target_platform import TargetPlatformCapabilities
21
+
22
+
23
+ def filter_candidates_for_mixed_precision(graph: Graph,
24
+ target_resource_utilization: ResourceUtilization,
25
+ fw_info: FrameworkInfo,
26
+ tpc: TargetPlatformCapabilities):
27
+ """
28
+ Filters out candidates in case of mixed precision search for only weights or activation compression.
29
+ For instance, if running only weights compression - filters out candidates of activation configurable nodes
30
+ such that only a single candidate would remain, with the bitwidth equal to the one defined in the matching layer's
31
+ base config in the TPC.
32
+
33
+ Note" This function modifies the graph inplace!
34
+
35
+ Args:
36
+ graph: A graph representation of the model to be quantized.
37
+ target_resource_utilization: The resource utilization of the target device.
38
+ fw_info: fw_info: Information needed for quantization about the specific framework.
39
+ tpc: TargetPlatformCapabilities object that describes the desired inference target platform.
40
+
41
+ """
42
+
43
+ no_total_restrictions = (target_resource_utilization.total_memory == np.inf and
44
+ target_resource_utilization.bops == np.inf)
45
+
46
+ if target_resource_utilization.weights_memory < np.inf:
47
+ if target_resource_utilization.activation_memory == np.inf and no_total_restrictions:
48
+ # Running mixed precision for weights compression only -
49
+ # filter out candidates activation only configurable node
50
+ weights_conf = graph.get_weights_configurable_nodes(fw_info)
51
+ for n in graph.get_activation_configurable_nodes():
52
+ if n not in weights_conf:
53
+ base_cfg_nbits = n.get_qco(tpc).base_config.activation_n_bits
54
+ filtered_conf = [c for c in n.candidates_quantization_cfg if
55
+ c.activation_quantization_cfg.enable_activation_quantization and
56
+ c.activation_quantization_cfg.activation_n_bits == base_cfg_nbits]
57
+
58
+ if len(filtered_conf) != 1:
59
+ Logger.critical(f"Running weights only mixed precision failed on layer {n.name} with multiple "
60
+ f"activation quantization configurations.") # pragma: no cover
61
+ n.candidates_quantization_cfg = filtered_conf
62
+
63
+ elif target_resource_utilization.activation_memory < np.inf:
64
+ if target_resource_utilization.weights_memory == np.inf and no_total_restrictions:
65
+ # Running mixed precision for activation compression only -
66
+ # filter out candidates weights only configurable node
67
+ activation_conf = graph.get_activation_configurable_nodes()
68
+ for n in graph.get_weights_configurable_nodes(fw_info):
69
+ if n not in activation_conf:
70
+ kernel_attr = graph.fw_info.get_kernel_op_attributes(n.type)[0]
71
+ base_cfg_nbits = n.get_qco(tpc).base_config.attr_weights_configs_mapping[kernel_attr].weights_n_bits
72
+ filtered_conf = [c for c in n.candidates_quantization_cfg if
73
+ c.weights_quantization_cfg.get_attr_config(
74
+ kernel_attr).enable_weights_quantization and
75
+ c.weights_quantization_cfg.get_attr_config(
76
+ kernel_attr).weights_n_bits == base_cfg_nbits]
77
+ if len(filtered_conf) != 1:
78
+ Logger.critical(f"Running activation only mixed precision failed on layer {n.name} with multiple "
79
+ f"weights quantization configurations.") # pragma: no cover
80
+ n.candidates_quantization_cfg = filtered_conf
@@ -31,7 +31,8 @@ KERNEL_SIZE = 'kernel_size'
31
31
  PADDING = 'padding'
32
32
  GROUPS = 'groups'
33
33
  STRIDES = 'strides'
34
- DILATIONS = 'dilation_rate'
34
+ DILATION_RATE = 'dilation_rate'
35
+ DILATIONS = 'dilations'
35
36
  DATA_FORMAT = 'data_format'
36
37
  LAYER_NAME = 'name'
37
38
  TRAINABLE = 'trainable'
@@ -62,6 +63,7 @@ DEPTHWISE_CONSTRAINT = 'depthwise_constraint'
62
63
  KERNEL_INITIALIZER = 'kernel_initializer'
63
64
  KERNEL_REGULARIZER = 'kernel_regularizer'
64
65
  KERNEL_CONSTRAINT = 'kernel_constraint'
66
+ RATE = 'rate'
65
67
 
66
68
  # functional nodes attributes
67
69
  FUNCTION = 'function'
@@ -71,6 +73,7 @@ F_MATMUL = 'matmul'
71
73
  F_STACK = 'stack'
72
74
  F_STRIDED_SLICE_BEGIN = 'begin_mask'
73
75
  F_STRIDED_SLICE_END = 'end_mask'
76
+ F_SWISH = 'nn.silu'
74
77
 
75
78
  # Layers variables names:
76
79
  KERNEL: str = 'kernel'
@@ -29,7 +29,7 @@ from model_compression_toolkit.core.common.framework_info import FrameworkInfo
29
29
  from model_compression_toolkit.target_platform_capabilities.target_platform import QuantizationMethod
30
30
  from model_compression_toolkit.constants import SOFTMAX_THRESHOLD
31
31
  from model_compression_toolkit.core.keras.constants import SOFTMAX, LINEAR, RELU, SWISH, SIGMOID, IDENTITY, TANH, SELU, \
32
- KERNEL, DEPTHWISE_KERNEL
32
+ KERNEL, DEPTHWISE_KERNEL, GELU
33
33
  from model_compression_toolkit.core.keras.quantizer.fake_quant_builder import power_of_two_quantization, symmetric_quantization, uniform_quantization
34
34
 
35
35
  """
@@ -75,7 +75,8 @@ ACTIVATION2MINMAX = {SOFTMAX: (0, SOFTMAX_THRESHOLD),
75
75
  TANH: (-1, 1),
76
76
  SWISH: (-0.279, None),
77
77
  RELU: (0, None),
78
- SELU: (None, None),
78
+ SELU: (-1.76, None),
79
+ GELU: (-0.17, None),
79
80
  }
80
81
 
81
82
  """
@@ -0,0 +1,241 @@
1
+ # Copyright 2024 Sony Semiconductor Israel, Inc. All rights reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+ # ==============================================================================
15
+
16
+ import numpy as np
17
+ import tensorflow as tf
18
+ from packaging import version
19
+ if version.parse(tf.__version__) >= version.parse("2.13"):
20
+ from keras.src.layers.core import TFOpLambda
21
+ from keras.src.layers import Conv2D, DepthwiseConv2D
22
+ else:
23
+ from keras.layers.core import TFOpLambda
24
+ from keras.layers import Conv2D, DepthwiseConv2D
25
+ from model_compression_toolkit.logger import Logger
26
+ from model_compression_toolkit.core import common
27
+ from model_compression_toolkit.core.common.graph.base_graph import Graph, BaseNode, OutTensor
28
+ from model_compression_toolkit.core.common.graph.functional_node import FunctionalNode
29
+ from model_compression_toolkit.core.common.graph.graph_matchers import NodeOperationMatcher
30
+ from model_compression_toolkit.constants import REUSE, REUSE_GROUP
31
+ from model_compression_toolkit.core.keras.constants import KERNEL, BIAS, USE_BIAS, FILTERS, PADDING, \
32
+ KERNEL_SIZE, DEPTH_MULTIPLIER, STRIDES, DILATIONS, DILATION_RATE, DEPTHWISE_KERNEL, RATE
33
+
34
+
35
+ def extract_bias_node_data(_node: FunctionalNode, _graph: Graph) -> np.ndarray:
36
+ """
37
+ Check is can extract bias from next node.
38
+
39
+ Args:
40
+ _node: conv node to check for subsequent add\bias_add node to extract bias from.
41
+ _graph: model graph.
42
+
43
+ Returns:
44
+ The bias weight. None if couldn't extract bias.
45
+
46
+ """
47
+ b = None
48
+ next_nodes = _graph.get_next_nodes(_node)
49
+ if len(next_nodes) == 1 and len(_graph.get_prev_nodes(next_nodes[0])) == 1:
50
+ # Found pattern in graph: conv_node->next_node. Check if next node is add\bias_add that can be absorbed as bias.
51
+ if next_nodes[0].is_match_type(tf.add):
52
+ b = next_nodes[0].weights.get(0, next_nodes[0].weights.get(1))
53
+ if b is not None and len(b.shape) != 1:
54
+ # Constant input to Add node (bias) has irregular shape. Expecting a 1-D array.
55
+ b = None # pragma: no cover
56
+ elif next_nodes[0].is_match_type(tf.nn.bias_add):
57
+ # In bias_add, weight is always 1-D array. Extract weight from weights or kwargs.
58
+ if 1 in next_nodes[0].weights:
59
+ b = next_nodes[0].weights[1]
60
+ elif BIAS in _node.op_call_kwargs:
61
+ b = np.array(_node.op_call_kwargs[BIAS], dtype=np.float32)
62
+
63
+ return b
64
+
65
+
66
+ def replace_conv_node(graph: Graph, new_node: BaseNode, old_node: FunctionalNode, remove_add_node: bool):
67
+ """
68
+ Replace in-place a functional conv node (and possibly subsequent add node) with Conv layer.
69
+ Args:
70
+ graph: model Graph.
71
+ new_node: Conv layer node.
72
+ old_node: conv function node.
73
+ remove_add_node: whether to remove subsequent add node or not.
74
+ """
75
+ graph.add_node(new_node)
76
+
77
+ # Replace functional conv node (and potentially add node) with Conv node.
78
+ graph.reconnect_in_edges(old_node, new_node)
79
+ if remove_add_node:
80
+ next_nodes = graph.get_next_nodes(old_node)
81
+ graph.reconnect_out_edges(next_nodes[0], new_node)
82
+ graph.replace_output_node(current_node=next_nodes[0], new_node=new_node)
83
+ graph.remove_edge(old_node, next_nodes[0])
84
+ graph.remove_node(next_nodes[0])
85
+ else:
86
+ graph.reconnect_out_edges(old_node, new_node)
87
+ graph.replace_output_node(current_node=old_node, new_node=new_node)
88
+ graph.remove_node(old_node)
89
+
90
+
91
+ class Conv2dFuncToConv2dLayer(common.BaseSubstitution):
92
+ """
93
+ Substitutes tf.nn.conv2d, tf.compat.v1.nn.conv2d, tf.nn.convolution, tf.compat.v1.nn.convolution functions with a Conv2D layer.
94
+ """
95
+
96
+ def __init__(self):
97
+ """
98
+ Initializes the Conv2dFuncToConv2dLayer substitution matcher instance.
99
+ """
100
+ conv2d_matcher = NodeOperationMatcher(tf.nn.conv2d) | NodeOperationMatcher(tf.compat.v1.nn.conv2d)
101
+ convolution_matcher = NodeOperationMatcher(tf.nn.convolution) | NodeOperationMatcher(tf.compat.v1.nn.convolution)
102
+ super().__init__(matcher_instance=conv2d_matcher | convolution_matcher)
103
+
104
+ def substitute(self,
105
+ graph: Graph,
106
+ conv_func_node: FunctionalNode) -> Graph:
107
+ """
108
+ Substitutes conv functions with a Conv2D layer.
109
+
110
+ Args:
111
+ graph: The graph on which the substitution is applied.
112
+ conv_func_node: The functional node to be replaced.
113
+
114
+ Returns:
115
+ The modified graph after applying the substitution.
116
+ """
117
+
118
+ if 1 in conv_func_node.weights:
119
+ k = conv_func_node.weights[1]
120
+ elif FILTERS in conv_func_node.op_call_kwargs:
121
+ k = np.array(conv_func_node.op_call_kwargs[FILTERS], dtype=np.float32)
122
+ else:
123
+ # Conv weight isn't a constant -> skip substitution.
124
+ return graph # pragma: no cover
125
+
126
+ if len(k.shape) != 4:
127
+ # Conv dimension doesn't match conv2d dimension (K1 x K2 x Cin x Cout) -> skip substitution.
128
+ return graph # pragma: no cover
129
+
130
+ # Check if can extract bias from next node.
131
+ b = extract_bias_node_data(conv_func_node, graph)
132
+
133
+ weights = {KERNEL: k}
134
+ # Create Conv2D layer attributes.
135
+ conv_fw_attr = {FILTERS: k.shape[3], KERNEL_SIZE: k.shape[:2]}
136
+ if len(conv_func_node.op_call_args) > 0:
137
+ Logger.critical(f"node {conv_func_node.name} expected to have only kwargs but got args={conv_func_node.op_call_args}.") # pragma: no cover
138
+ if STRIDES in conv_func_node.op_call_kwargs:
139
+ strides = conv_func_node.op_call_kwargs[STRIDES]
140
+ if len(strides) == 4:
141
+ if strides[0] > 1 or strides[3] > 1:
142
+ # Non-standard strides -> skip substitution.
143
+ return graph # pragma: no cover
144
+ conv_fw_attr[STRIDES] = strides[1:3]
145
+ else:
146
+ conv_fw_attr[STRIDES] = strides
147
+ if PADDING in conv_func_node.op_call_kwargs:
148
+ padding = conv_func_node.op_call_kwargs[PADDING]
149
+ if not isinstance(padding, str):
150
+ # Non-standard padding, Layer only support either 'valid' or 'same' -> skip substitution.
151
+ return graph # pragma: no cover
152
+ conv_fw_attr[PADDING] = padding
153
+ if DILATIONS in conv_func_node.op_call_kwargs and conv_func_node.op_call_kwargs[DILATIONS] is not None:
154
+ dilations = conv_func_node.op_call_kwargs[DILATIONS]
155
+ if isinstance(dilations, (list, tuple)) and len(dilations) == 4:
156
+ if dilations[0] > 1 or dilations[3] > 1:
157
+ # Non-standard dilations -> skip substitution.
158
+ return graph # pragma: no cover
159
+ conv_fw_attr[DILATION_RATE] = dilations[1:3]
160
+ else:
161
+ conv_fw_attr[DILATION_RATE] = dilations
162
+ if b is None:
163
+ conv_fw_attr[USE_BIAS] = False
164
+ else:
165
+ weights[BIAS] = b
166
+
167
+ _reuse_params = {REUSE: conv_func_node.reuse, REUSE_GROUP: conv_func_node.reuse_group}
168
+ conv_node = BaseNode(conv_func_node.name, conv_fw_attr, conv_func_node.input_shape, conv_func_node.output_shape,
169
+ weights, Conv2D, **_reuse_params)
170
+
171
+ replace_conv_node(graph, conv_node, conv_func_node, remove_add_node=b is not None)
172
+ return graph
173
+
174
+
175
+ class DwConv2dFuncToDwConv2dLayer(common.BaseSubstitution):
176
+ """
177
+ Substitutes tf.nn.depthwise_conv2d & tf.compat.v1.nn.depthwise_conv2d functions with a DepthwiseConv2D layer.
178
+ """
179
+
180
+ def __init__(self):
181
+ """
182
+ Initializes the DwConv2dFuncToDwConv2dLayer substitution matcher.
183
+ """
184
+ matcher = NodeOperationMatcher(tf.nn.depthwise_conv2d) | NodeOperationMatcher(tf.compat.v1.nn.depthwise_conv2d)
185
+ super().__init__(matcher_instance=matcher)
186
+
187
+ def substitute(self,
188
+ graph: Graph,
189
+ dwconv_func_node: FunctionalNode) -> Graph:
190
+ """
191
+ Substitutes dw-conv2d functions with a DepthwiseConv2D layer.
192
+
193
+ Args:
194
+ graph: The graph on which the substitution is applied.
195
+ dwconv_func_node: The DepthwiseConv2D node to be replaced.
196
+
197
+ Returns:
198
+ The modified graph after applying the substitution.
199
+ """
200
+
201
+ if 1 not in dwconv_func_node.weights:
202
+ # Conv weight isn't a constant -> skip substitution.
203
+ return graph # pragma: no cover
204
+
205
+ k = dwconv_func_node.weights[1]
206
+
207
+ # Check is can extract bias from next node.
208
+ b = extract_bias_node_data(dwconv_func_node, graph)
209
+
210
+ weights = {DEPTHWISE_KERNEL: k}
211
+ k_shape = k.shape
212
+ conv_fw_attr = {DEPTH_MULTIPLIER: k_shape[3], KERNEL_SIZE: k_shape[:2]}
213
+ if len(dwconv_func_node.op_call_args) > 0:
214
+ Logger.critical(f"node {dwconv_func_node.name} expected to have only kwargs but got args={dwconv_func_node.op_call_args}.") # pragma: no cover
215
+ if STRIDES in dwconv_func_node.op_call_kwargs:
216
+ strides = dwconv_func_node.op_call_kwargs[STRIDES]
217
+ if strides[0] > 1 or strides[3] > 1:
218
+ # Non-standard strides -> skip substitution.
219
+ return graph # pragma: no cover
220
+ conv_fw_attr[STRIDES] = strides[1:3]
221
+ if PADDING in dwconv_func_node.op_call_kwargs:
222
+ padding = dwconv_func_node.op_call_kwargs[PADDING]
223
+ if not isinstance(padding, str):
224
+ # Non-standard padding, Layer only support either 'valid' or 'same' -> skip substitution.
225
+ return graph # pragma: no cover
226
+ conv_fw_attr[PADDING] = padding
227
+ if RATE in dwconv_func_node.op_call_kwargs and dwconv_func_node.op_call_kwargs[RATE] is not None:
228
+ conv_fw_attr[DILATION_RATE] = dwconv_func_node.op_call_kwargs[RATE]
229
+ elif DILATIONS in dwconv_func_node.op_call_kwargs and dwconv_func_node.op_call_kwargs[DILATIONS] is not None:
230
+ conv_fw_attr[DILATION_RATE] = dwconv_func_node.op_call_kwargs[DILATIONS]
231
+ if b is None:
232
+ conv_fw_attr[USE_BIAS] = False
233
+ else:
234
+ weights[BIAS] = b
235
+
236
+ _reuse_params = {REUSE: dwconv_func_node.reuse, REUSE_GROUP: dwconv_func_node.reuse_group}
237
+ conv_node = BaseNode(dwconv_func_node.name, conv_fw_attr, dwconv_func_node.input_shape, dwconv_func_node.output_shape,
238
+ weights, DepthwiseConv2D, **_reuse_params)
239
+
240
+ replace_conv_node(graph, conv_node, dwconv_func_node, remove_add_node=b is not None)
241
+ return graph
@@ -23,7 +23,7 @@ else:
23
23
  from model_compression_toolkit.core.common import BaseNode
24
24
  from model_compression_toolkit.core.common.graph.graph_matchers import NodeOperationMatcher, NodeFrameworkAttrMatcher
25
25
  from model_compression_toolkit.core.common.substitutions.linear_collapsing import Conv2DCollapsing, Op2DAddConstCollapsing
26
- from model_compression_toolkit.core.keras.constants import KERNEL, KERNEL_SIZE, STRIDES, DILATIONS, LINEAR, \
26
+ from model_compression_toolkit.core.keras.constants import KERNEL, KERNEL_SIZE, STRIDES, DILATION_RATE, LINEAR, \
27
27
  ACTIVATION, BIAS, USE_BIAS, LAYER_NAME, FILTERS, PADDING, GROUPS, DATA_FORMAT
28
28
  from model_compression_toolkit.logger import Logger
29
29
 
@@ -122,7 +122,7 @@ def keras_linear_collapsing() -> Conv2DCollapsing:
122
122
  USE_BIAS,
123
123
  STRIDES,
124
124
  PADDING,
125
- DILATIONS,
125
+ DILATION_RATE,
126
126
  GROUPS,
127
127
  FILTERS,
128
128
  data_format_str=DATA_FORMAT,
@@ -65,6 +65,8 @@ class MatmulToDenseSubstitution(common.BaseSubstitution):
65
65
 
66
66
  # read const from matmul inputs
67
67
  w = matmul_node.weights.get(1)
68
+ if w is None:
69
+ w = np.array(matmul_node.op_call_kwargs['b'], dtype=np.float32) if 'b' in matmul_node.op_call_kwargs else None
68
70
  if w is None:
69
71
  Logger.critical(f"Matmul substitution failed: Unable to locate weight for node {matmul_node.name}.") # pragma: no cover
70
72
 
@@ -0,0 +1,89 @@
1
+ # Copyright 2024 Sony Semiconductors Israel, Inc. All rights reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+ # ==============================================================================
15
+
16
+ from typing import Tuple, Union
17
+ import numpy as np
18
+ import tensorflow as tf
19
+ from packaging import version
20
+ if version.parse(tf.__version__) >= version.parse("2.13"):
21
+ from keras.src.layers.core import TFOpLambda
22
+ from keras.src.layers import Multiply, Activation
23
+ else:
24
+ from keras.layers.core import TFOpLambda
25
+ from keras.layers import Multiply, Activation
26
+ from model_compression_toolkit.core import common
27
+ from model_compression_toolkit.core.common.graph.base_graph import Graph, BaseNode, OutTensor
28
+ from model_compression_toolkit.core.common.graph.functional_node import FunctionalNode
29
+ from model_compression_toolkit.core.common.graph.graph_matchers import NodeOperationMatcher, \
30
+ EdgeMatcher, NodeFrameworkAttrMatcher
31
+ from model_compression_toolkit.constants import REUSE, REUSE_GROUP
32
+ from model_compression_toolkit.core.keras.constants import FUNCTION, F_SWISH, ACTIVATION, SIGMOID
33
+
34
+
35
+ class MulSigmoidToSwish(common.BaseSubstitution):
36
+ """
37
+ Substitutes mul(x, sigmoid(x)) with swish.
38
+ """
39
+
40
+ def __init__(self):
41
+ """
42
+ Initializes the MulSigmoidToSwish substitution matcher instance.
43
+ """
44
+ mul_matcher = NodeOperationMatcher(tf.math.multiply) | NodeOperationMatcher(Multiply)
45
+ activation_sigmoid = NodeOperationMatcher(Activation) & NodeFrameworkAttrMatcher(ACTIVATION, SIGMOID)
46
+ sigmoid_matcher = NodeOperationMatcher(tf.sigmoid) | activation_sigmoid
47
+ super().__init__(matcher_instance=EdgeMatcher(sigmoid_matcher, mul_matcher))
48
+
49
+ def substitute(self,
50
+ graph: Graph,
51
+ sigmoid_mul_edge: Tuple[FunctionalNode, Union[FunctionalNode, BaseNode], int]) -> Graph:
52
+ """
53
+ Substitutes mul(x, sigmoid(x)) with swish.
54
+
55
+ Args:
56
+ graph: The graph on which the substitution is applied.
57
+ sigmoid_mul_edge: edge between sigmoid and multiply nodes
58
+
59
+ Returns:
60
+ The modified graph after applying the substitution.
61
+ """
62
+
63
+ sigmoid_node, mul_node, _ = sigmoid_mul_edge
64
+ if sigmoid_node in [o.node for o in graph.output_nodes]:
65
+ # Sigmoid node in outputs -> Skip substitution.
66
+ return graph
67
+
68
+ input_node = graph.get_prev_nodes(sigmoid_node)[0]
69
+ if len(graph.get_next_nodes(sigmoid_node)) > 1 or input_node not in graph.get_prev_nodes(mul_node):
70
+ # Structure isn't mul(x, sigmoid(x)) -> Skip substitution.
71
+ return graph
72
+ _reuse_params = {REUSE: mul_node.reuse, REUSE_GROUP: mul_node.reuse_group}
73
+ swish_node = FunctionalNode(f'swish__{sigmoid_node.name}_{mul_node.name}', {FUNCTION: F_SWISH},
74
+ sigmoid_node.input_shape, mul_node.output_shape, {}, TFOpLambda,
75
+ op_call_args=[], op_call_kwargs={}, functional_op=tf.nn.silu, **_reuse_params)
76
+
77
+ graph.add_node(swish_node)
78
+
79
+ # Replace functional conv node (and potentially add node) with Conv node.
80
+ graph.reconnect_in_edges(sigmoid_node, swish_node)
81
+ graph.reconnect_out_edges(mul_node, swish_node)
82
+ graph.replace_output_node(current_node=mul_node, new_node=swish_node)
83
+ graph.remove_edge(input_node, mul_node)
84
+ graph.remove_edge(sigmoid_node, mul_node)
85
+ graph.remove_node(sigmoid_node)
86
+ graph.remove_node(mul_node)
87
+
88
+ return graph
89
+
@@ -69,6 +69,9 @@ from model_compression_toolkit.core.keras.graph_substitutions.substitutions.acti
69
69
  ActivationDecomposition
70
70
  from model_compression_toolkit.core.keras.graph_substitutions.substitutions.matmul_substitution import \
71
71
  MatmulToDenseSubstitution
72
+ from model_compression_toolkit.core.keras.graph_substitutions.substitutions.sigmoid_mul_to_swish import MulSigmoidToSwish
73
+ from model_compression_toolkit.core.keras.graph_substitutions.substitutions.conv_funcs_to_layer import \
74
+ Conv2dFuncToConv2dLayer, DwConv2dFuncToDwConv2dLayer
72
75
  from model_compression_toolkit.core.keras.graph_substitutions.substitutions.softmax_shift import \
73
76
  keras_softmax_shift
74
77
  from model_compression_toolkit.core.keras.graph_substitutions.substitutions.batchnorm_folding import \
@@ -242,8 +245,11 @@ class KerasImplementation(FrameworkImplementation):
242
245
  Returns: A list of the framework substitutions used to prepare the graph.
243
246
 
244
247
  """
245
- return [SeparableConvDecomposition(),
248
+ return [MulSigmoidToSwish(),
249
+ SeparableConvDecomposition(),
246
250
  MatmulToDenseSubstitution(),
251
+ Conv2dFuncToConv2dLayer(),
252
+ DwConv2dFuncToDwConv2dLayer(),
247
253
  MultiHeadAttentionDecomposition(),
248
254
  ActivationDecomposition(),
249
255
  DwconvToConv(),
@@ -12,8 +12,8 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
  # ==============================================================================
15
- from torch.nn import Hardsigmoid, ReLU, ReLU6, Softmax, Sigmoid
16
- from torch.nn.functional import hardsigmoid, relu, relu6, softmax
15
+ from torch.nn import Hardsigmoid, ReLU, ReLU6, Softmax, Sigmoid, GELU, SELU
16
+ from torch.nn.functional import hardsigmoid, relu, relu6, softmax, gelu, selu
17
17
  from torch.nn import Conv2d, ConvTranspose2d, Linear
18
18
  from torch import sigmoid
19
19
 
@@ -74,7 +74,12 @@ LAYER2MINMAX = {Softmax: (0, SOFTMAX_THRESHOLD),
74
74
  ReLU: (0, None),
75
75
  relu: (0, None),
76
76
  ReLU6: (0, None),
77
- relu6: (0, None)}
77
+ relu6: (0, None),
78
+ GELU: (-0.17, None),
79
+ gelu: (-0.17, None),
80
+ SELU: (-1.76, None),
81
+ selu: (-1.76, None),
82
+ }
78
83
 
79
84
  """
80
85
  Mapping from a QuantizationMethod to an activation quantizer function.
@@ -17,9 +17,9 @@ from typing import Tuple, Any, Callable
17
17
 
18
18
  import numpy as np
19
19
  import torch.nn.functional
20
- from torch.nn import Conv2d, Linear, PReLU, ELU, Hardswish, Dropout, ZeroPad2d, SiLU
20
+ from torch.nn import Conv2d, Linear, PReLU, ELU, Hardswish, Dropout, ZeroPad2d, SiLU, GELU
21
21
  from torch import reshape
22
- from torch.nn.functional import hardswish, silu, prelu, elu
22
+ from torch.nn.functional import hardswish, silu, prelu, elu, gelu
23
23
  from torch.nn.functional import avg_pool2d
24
24
 
25
25
  from model_compression_toolkit.core import CoreConfig, FrameworkInfo
@@ -68,7 +68,9 @@ def shift_negative_activation_node_matchers():
68
68
  NodeOperationMatcher(Hardswish) | \
69
69
  NodeOperationMatcher(hardswish) | \
70
70
  NodeOperationMatcher(SiLU) | \
71
- NodeOperationMatcher(silu)
71
+ NodeOperationMatcher(silu) | \
72
+ NodeOperationMatcher(GELU) | \
73
+ NodeOperationMatcher(gelu)
72
74
 
73
75
  # Match linear layers where we can add a correction.
74
76
  linear_node = NodeOperationMatcher(Conv2d) | \
@@ -27,6 +27,8 @@ from model_compression_toolkit.core.common.graph.memory_graph.compute_graph_max_
27
27
  SchedulerInfo
28
28
  from model_compression_toolkit.core.common.graph.memory_graph.memory_graph import MemoryGraph
29
29
  from model_compression_toolkit.core.common.hessian.hessian_info_service import HessianInfoService
30
+ from model_compression_toolkit.core.common.mixed_precision.mixed_precision_candidates_filter import \
31
+ filter_candidates_for_mixed_precision
30
32
  from model_compression_toolkit.core.common.mixed_precision.resource_utilization_tools.resource_utilization_data import \
31
33
  requires_mixed_precision
32
34
  from model_compression_toolkit.core.graph_prep_runner import graph_preparation_runner
@@ -137,6 +139,7 @@ def core_runner(in_model: Any,
137
139
  if core_config.mixed_precision_enable:
138
140
  if core_config.mixed_precision_config.configuration_overwrite is None:
139
141
 
142
+ filter_candidates_for_mixed_precision(graph, target_resource_utilization, fw_info, tpc)
140
143
  bit_widths_config = search_bit_width(tg,
141
144
  fw_info,
142
145
  fw_impl,