mct-nightly 1.11.0.20240131.post412__tar.gz → 1.11.0.20240201.post434__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 (487) hide show
  1. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/PKG-INFO +1 -1
  2. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/mct_nightly.egg-info/PKG-INFO +1 -1
  3. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/constants.py +1 -0
  4. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/graph/base_graph.py +1 -1
  5. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/quantization/candidate_node_quantization_config.py +4 -2
  6. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/quantization/node_quantization_config.py +11 -6
  7. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/quantization/quantization_config.py +5 -13
  8. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/quantization/set_node_quantization_config.py +40 -17
  9. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/exporter/model_exporter/keras/fakely_quant_tflite_exporter.py +14 -7
  10. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/exporter/model_exporter/pytorch/fakely_quant_onnx_pytorch_exporter.py +4 -1
  11. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/target_platform_capabilities/constants.py +18 -1
  12. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/target_platform_capabilities/target_platform/__init__.py +1 -1
  13. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/target_platform_capabilities/target_platform/op_quantization_config.py +175 -33
  14. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/operations_to_layers.py +7 -3
  15. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/target_platform_capabilities.py +11 -1
  16. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1/tp_model.py +64 -18
  17. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1/tpc_keras.py +24 -8
  18. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1/tpc_pytorch.py +15 -2
  19. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_lut/tp_model.py +64 -20
  20. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_lut/tpc_keras.py +24 -7
  21. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_lut/tpc_pytorch.py +15 -2
  22. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_pot/tp_model.py +60 -18
  23. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_pot/tpc_keras.py +24 -7
  24. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_pot/tpc_pytorch.py +15 -2
  25. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/v1/tp_model.py +52 -11
  26. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/v1/tpc_keras.py +25 -8
  27. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/v1/tpc_pytorch.py +15 -2
  28. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/v1/tp_model.py +52 -13
  29. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/v1/tpc_keras.py +12 -1
  30. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/v1/tpc_pytorch.py +12 -1
  31. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/setup.cfg +1 -1
  32. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/LICENSE.md +0 -0
  33. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/README.md +0 -0
  34. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/mct_nightly.egg-info/SOURCES.txt +0 -0
  35. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/mct_nightly.egg-info/dependency_links.txt +0 -0
  36. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/mct_nightly.egg-info/requires.txt +0 -0
  37. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/mct_nightly.egg-info/top_level.txt +0 -0
  38. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/__init__.py +0 -0
  39. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/__init__.py +0 -0
  40. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/analyzer.py +0 -0
  41. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/__init__.py +0 -0
  42. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/back2framework/__init__.py +0 -0
  43. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/back2framework/base_model_builder.py +0 -0
  44. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/base_substitutions.py +0 -0
  45. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/collectors/__init__.py +0 -0
  46. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/collectors/base_collector.py +0 -0
  47. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/collectors/histogram_collector.py +0 -0
  48. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/collectors/mean_collector.py +0 -0
  49. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/collectors/min_max_per_channel_collector.py +0 -0
  50. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/collectors/statistics_collector.py +0 -0
  51. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/collectors/statistics_collector_generator.py +0 -0
  52. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/data_loader.py +0 -0
  53. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/framework_implementation.py +0 -0
  54. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/framework_info.py +0 -0
  55. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/fusion/__init__.py +0 -0
  56. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/fusion/layer_fusing.py +0 -0
  57. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/graph/__init__.py +0 -0
  58. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/graph/base_node.py +0 -0
  59. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/graph/edge.py +0 -0
  60. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/graph/functional_node.py +0 -0
  61. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/graph/graph_matchers.py +0 -0
  62. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/graph/graph_searches.py +0 -0
  63. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/graph/memory_graph/__init__.py +0 -0
  64. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/graph/memory_graph/bipartite_graph.py +0 -0
  65. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/graph/memory_graph/compute_graph_max_cut.py +0 -0
  66. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/graph/memory_graph/cut.py +0 -0
  67. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/graph/memory_graph/max_cut_astar.py +0 -0
  68. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/graph/memory_graph/memory_element.py +0 -0
  69. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/graph/memory_graph/memory_graph.py +0 -0
  70. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/graph/virtual_activation_weights_node.py +0 -0
  71. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/hessian/__init__.py +0 -0
  72. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/hessian/hessian_info_service.py +0 -0
  73. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/hessian/hessian_info_utils.py +0 -0
  74. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/hessian/trace_hessian_calculator.py +0 -0
  75. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/hessian/trace_hessian_request.py +0 -0
  76. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/matchers/__init__.py +0 -0
  77. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/matchers/base_graph_filter.py +0 -0
  78. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/matchers/base_matcher.py +0 -0
  79. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/matchers/edge_matcher.py +0 -0
  80. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/matchers/function.py +0 -0
  81. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/matchers/node_matcher.py +0 -0
  82. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/matchers/walk_matcher.py +0 -0
  83. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/memory_computation.py +0 -0
  84. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/mixed_precision/__init__.py +0 -0
  85. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/mixed_precision/bit_width_setter.py +0 -0
  86. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/mixed_precision/configurable_quant_id.py +0 -0
  87. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/mixed_precision/configurable_quantizer_utils.py +0 -0
  88. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/mixed_precision/distance_weighting.py +0 -0
  89. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/mixed_precision/kpi_tools/__init__.py +0 -0
  90. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/mixed_precision/kpi_tools/kpi.py +0 -0
  91. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/mixed_precision/kpi_tools/kpi_aggregation_methods.py +0 -0
  92. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/mixed_precision/kpi_tools/kpi_data.py +0 -0
  93. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/mixed_precision/kpi_tools/kpi_functions_mapping.py +0 -0
  94. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/mixed_precision/kpi_tools/kpi_methods.py +0 -0
  95. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/mixed_precision/mixed_precision_quantization_config.py +0 -0
  96. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/mixed_precision/mixed_precision_search_facade.py +0 -0
  97. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/mixed_precision/mixed_precision_search_manager.py +0 -0
  98. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/mixed_precision/search_methods/__init__.py +0 -0
  99. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/mixed_precision/search_methods/linear_programming.py +0 -0
  100. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/mixed_precision/sensitivity_evaluation.py +0 -0
  101. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/mixed_precision/set_layer_to_bitwidth.py +0 -0
  102. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/mixed_precision/solution_refinement_procedure.py +0 -0
  103. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/model_builder_mode.py +0 -0
  104. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/model_collector.py +0 -0
  105. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/model_validation.py +0 -0
  106. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/network_editors/__init__.py +0 -0
  107. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/network_editors/actions.py +0 -0
  108. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/network_editors/edit_network.py +0 -0
  109. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/network_editors/node_filters.py +0 -0
  110. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/node_prior_info.py +0 -0
  111. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/pruning/__init__.py +0 -0
  112. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/pruning/channels_grouping.py +0 -0
  113. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/pruning/greedy_mask_calculator.py +0 -0
  114. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/pruning/importance_metrics/__init__.py +0 -0
  115. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/pruning/importance_metrics/base_importance_metric.py +0 -0
  116. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/pruning/importance_metrics/importance_metric_factory.py +0 -0
  117. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/pruning/importance_metrics/lfh_importance_metric.py +0 -0
  118. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/pruning/mask/__init__.py +0 -0
  119. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/pruning/mask/per_channel_mask.py +0 -0
  120. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/pruning/mask/per_simd_group_mask.py +0 -0
  121. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/pruning/memory_calculator.py +0 -0
  122. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/pruning/prune_graph.py +0 -0
  123. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/pruning/pruner.py +0 -0
  124. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/pruning/pruning_config.py +0 -0
  125. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/pruning/pruning_framework_implementation.py +0 -0
  126. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/pruning/pruning_info.py +0 -0
  127. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/pruning/pruning_section.py +0 -0
  128. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/quantization/__init__.py +0 -0
  129. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/quantization/core_config.py +0 -0
  130. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/quantization/debug_config.py +0 -0
  131. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/quantization/filter_nodes_candidates.py +0 -0
  132. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/quantization/quantization_analyzer.py +0 -0
  133. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/quantization/quantization_fn_selection.py +0 -0
  134. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/quantization/quantization_params_fn_selection.py +0 -0
  135. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/quantization/quantization_params_generation/__init__.py +0 -0
  136. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/quantization/quantization_params_generation/error_functions.py +0 -0
  137. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/quantization/quantization_params_generation/kmeans_params.py +0 -0
  138. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/quantization/quantization_params_generation/lut_kmeans_params.py +0 -0
  139. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/quantization/quantization_params_generation/outlier_filter.py +0 -0
  140. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/quantization/quantization_params_generation/power_of_two_selection.py +0 -0
  141. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/quantization/quantization_params_generation/qparams_activations_computation.py +0 -0
  142. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/quantization/quantization_params_generation/qparams_computation.py +0 -0
  143. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/quantization/quantization_params_generation/qparams_search.py +0 -0
  144. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/quantization/quantization_params_generation/qparams_weights_computation.py +0 -0
  145. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/quantization/quantization_params_generation/symmetric_selection.py +0 -0
  146. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/quantization/quantization_params_generation/uniform_selection.py +0 -0
  147. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/quantization/quantize_graph_weights.py +0 -0
  148. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/quantization/quantize_node.py +0 -0
  149. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/quantization/quantizers/__init__.py +0 -0
  150. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/quantization/quantizers/kmeans_quantizer.py +0 -0
  151. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/quantization/quantizers/lut_kmeans_quantizer.py +0 -0
  152. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/quantization/quantizers/quantizers_helpers.py +0 -0
  153. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/quantization/quantizers/uniform_quantizers.py +0 -0
  154. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/similarity_analyzer.py +0 -0
  155. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/statistics_correction/__init__.py +0 -0
  156. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/statistics_correction/apply_bias_correction_to_graph.py +0 -0
  157. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/statistics_correction/apply_second_moment_correction_to_graph.py +0 -0
  158. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/statistics_correction/compute_bias_correction_of_graph.py +0 -0
  159. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/statistics_correction/statistics_correction.py +0 -0
  160. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/substitutions/__init__.py +0 -0
  161. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/substitutions/apply_substitutions.py +0 -0
  162. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/substitutions/batchnorm_folding.py +0 -0
  163. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/substitutions/batchnorm_reconstruction.py +0 -0
  164. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/substitutions/batchnorm_refusing.py +0 -0
  165. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/substitutions/linear_collapsing.py +0 -0
  166. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/substitutions/linear_collapsing_substitution.py +0 -0
  167. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/substitutions/residual_collapsing.py +0 -0
  168. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/substitutions/scale_equalization.py +0 -0
  169. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/substitutions/shift_negative_activation.py +0 -0
  170. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/substitutions/softmax_shift.py +0 -0
  171. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/substitutions/virtual_activation_weights_composition.py +0 -0
  172. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/substitutions/weights_activation_split.py +0 -0
  173. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/user_info.py +0 -0
  174. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/visualization/__init__.py +0 -0
  175. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/visualization/final_config_visualizer.py +0 -0
  176. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/visualization/nn_visualizer.py +0 -0
  177. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/common/visualization/tensorboard_writer.py +0 -0
  178. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/exporter.py +0 -0
  179. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/graph_prep_runner.py +0 -0
  180. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/keras/__init__.py +0 -0
  181. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/keras/back2framework/__init__.py +0 -0
  182. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/keras/back2framework/factory_model_builder.py +0 -0
  183. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/keras/back2framework/float_model_builder.py +0 -0
  184. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/keras/back2framework/instance_builder.py +0 -0
  185. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/keras/back2framework/keras_model_builder.py +0 -0
  186. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/keras/back2framework/mixed_precision_model_builder.py +0 -0
  187. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/keras/back2framework/quantized_model_builder.py +0 -0
  188. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/keras/constants.py +0 -0
  189. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/keras/custom_layer_validation.py +0 -0
  190. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/keras/default_framework_info.py +0 -0
  191. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/keras/graph_substitutions/__init__.py +0 -0
  192. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/__init__.py +0 -0
  193. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/activation_decomposition.py +0 -0
  194. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/batchnorm_folding.py +0 -0
  195. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/batchnorm_reconstruction.py +0 -0
  196. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/batchnorm_refusing.py +0 -0
  197. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/dwconv_to_conv.py +0 -0
  198. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/input_scaling.py +0 -0
  199. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/linear_collapsing.py +0 -0
  200. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/matmul_substitution.py +0 -0
  201. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/multi_head_attention_decomposition.py +0 -0
  202. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/relu_bound_to_power_of_2.py +0 -0
  203. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/remove_relu_upper_bound.py +0 -0
  204. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/residual_collapsing.py +0 -0
  205. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/scale_equalization.py +0 -0
  206. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/separableconv_decomposition.py +0 -0
  207. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/shift_negative_activation.py +0 -0
  208. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/softmax_shift.py +0 -0
  209. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/virtual_activation_weights_composition.py +0 -0
  210. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/weights_activation_split.py +0 -0
  211. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/keras/hessian/__init__.py +0 -0
  212. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/keras/hessian/activation_trace_hessian_calculator_keras.py +0 -0
  213. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/keras/hessian/trace_hessian_calculator_keras.py +0 -0
  214. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/keras/hessian/weights_trace_hessian_calculator_keras.py +0 -0
  215. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/keras/keras_implementation.py +0 -0
  216. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/keras/keras_model_validation.py +0 -0
  217. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/keras/keras_node_prior_info.py +0 -0
  218. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/keras/kpi_data_facade.py +0 -0
  219. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/keras/mixed_precision/__init__.py +0 -0
  220. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/keras/mixed_precision/configurable_activation_quantizer.py +0 -0
  221. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/keras/mixed_precision/configurable_weights_quantizer.py +0 -0
  222. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/keras/pruning/__init__.py +0 -0
  223. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/keras/pruning/pruning_keras_implementation.py +0 -0
  224. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/keras/quantizer/__init__.py +0 -0
  225. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/keras/quantizer/base_quantizer.py +0 -0
  226. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/keras/quantizer/fake_quant_builder.py +0 -0
  227. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/keras/quantizer/lut_fake_quant.py +0 -0
  228. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/keras/reader/__init__.py +0 -0
  229. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/keras/reader/common.py +0 -0
  230. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/keras/reader/connectivity_handler.py +0 -0
  231. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/keras/reader/nested_model/__init__.py +0 -0
  232. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/keras/reader/nested_model/edges_merger.py +0 -0
  233. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/keras/reader/nested_model/nested_model_handler.py +0 -0
  234. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/keras/reader/nested_model/nodes_merger.py +0 -0
  235. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/keras/reader/nested_model/outputs_merger.py +0 -0
  236. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/keras/reader/node_builder.py +0 -0
  237. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/keras/reader/reader.py +0 -0
  238. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/keras/statistics_correction/__init__.py +0 -0
  239. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/keras/statistics_correction/apply_second_moment_correction.py +0 -0
  240. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/keras/tf_tensor_numpy.py +0 -0
  241. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/keras/visualization/__init__.py +0 -0
  242. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/pytorch/__init__.py +0 -0
  243. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/pytorch/back2framework/__init__.py +0 -0
  244. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/pytorch/back2framework/factory_model_builder.py +0 -0
  245. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/pytorch/back2framework/float_model_builder.py +0 -0
  246. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/pytorch/back2framework/instance_builder.py +0 -0
  247. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/pytorch/back2framework/mixed_precision_model_builder.py +0 -0
  248. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/pytorch/back2framework/pytorch_model_builder.py +0 -0
  249. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/pytorch/back2framework/quantization_wrapper/__init__.py +0 -0
  250. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/pytorch/back2framework/quantization_wrapper/quantized_layer_wrapper.py +0 -0
  251. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/pytorch/back2framework/quantization_wrapper/wrapper_quantize_config.py +0 -0
  252. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/pytorch/back2framework/quantized_model_builder.py +0 -0
  253. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/pytorch/constants.py +0 -0
  254. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/pytorch/default_framework_info.py +0 -0
  255. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/pytorch/graph_substitutions/__init__.py +0 -0
  256. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/__init__.py +0 -0
  257. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/batchnorm_folding.py +0 -0
  258. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/batchnorm_reconstruction.py +0 -0
  259. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/batchnorm_refusing.py +0 -0
  260. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/const_holder_conv.py +0 -0
  261. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/functional_batch_norm.py +0 -0
  262. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/functional_layer_norm.py +0 -0
  263. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/linear_collapsing.py +0 -0
  264. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/multi_head_attention_decomposition.py +0 -0
  265. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/permute_call_method.py +0 -0
  266. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/relu_bound_to_power_of_2.py +0 -0
  267. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/reshape_with_static_shapes.py +0 -0
  268. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/residual_collapsing.py +0 -0
  269. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/scale_equalization.py +0 -0
  270. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/shift_negative_activation.py +0 -0
  271. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/softmax_shift.py +0 -0
  272. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/virtual_activation_weights_composition.py +0 -0
  273. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/weights_activation_split.py +0 -0
  274. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/pytorch/hessian/__init__.py +0 -0
  275. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/pytorch/hessian/activation_trace_hessian_calculator_pytorch.py +0 -0
  276. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/pytorch/hessian/trace_hessian_calculator_pytorch.py +0 -0
  277. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/pytorch/hessian/weights_trace_hessian_calculator_pytorch.py +0 -0
  278. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/pytorch/kpi_data_facade.py +0 -0
  279. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/pytorch/mixed_precision/__init__.py +0 -0
  280. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/pytorch/mixed_precision/configurable_activation_quantizer.py +0 -0
  281. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/pytorch/mixed_precision/configurable_weights_quantizer.py +0 -0
  282. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/pytorch/pytorch_device_config.py +0 -0
  283. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/pytorch/pytorch_implementation.py +0 -0
  284. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/pytorch/pytorch_node_prior_info.py +0 -0
  285. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/pytorch/quantizer/__init__.py +0 -0
  286. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/pytorch/quantizer/fake_quant_builder.py +0 -0
  287. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/pytorch/quantizer/lut_fake_quant.py +0 -0
  288. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/pytorch/reader/__init__.py +0 -0
  289. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/pytorch/reader/graph_builders.py +0 -0
  290. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/pytorch/reader/node_holders.py +0 -0
  291. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/pytorch/reader/reader.py +0 -0
  292. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/pytorch/statistics_correction/__init__.py +0 -0
  293. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/pytorch/statistics_correction/apply_second_moment_correction.py +0 -0
  294. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/pytorch/utils.py +0 -0
  295. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/quantization_prep_runner.py +0 -0
  296. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/core/runner.py +0 -0
  297. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/data_generation/__init__.py +0 -0
  298. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/data_generation/common/__init__.py +0 -0
  299. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/data_generation/common/constants.py +0 -0
  300. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/data_generation/common/data_generation.py +0 -0
  301. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/data_generation/common/data_generation_config.py +0 -0
  302. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/data_generation/common/enums.py +0 -0
  303. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/data_generation/common/image_pipeline.py +0 -0
  304. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/data_generation/common/model_info_exctractors.py +0 -0
  305. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/data_generation/common/optimization_utils.py +0 -0
  306. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/data_generation/keras/__init__.py +0 -0
  307. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/data_generation/keras/constants.py +0 -0
  308. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/data_generation/keras/image_pipeline.py +0 -0
  309. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/data_generation/keras/keras_data_generation.py +0 -0
  310. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/data_generation/keras/model_info_exctractors.py +0 -0
  311. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/data_generation/keras/optimization_functions/__init__.py +0 -0
  312. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/data_generation/keras/optimization_functions/batchnorm_alignment_functions.py +0 -0
  313. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/data_generation/keras/optimization_functions/bn_layer_weighting_functions.py +0 -0
  314. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/data_generation/keras/optimization_functions/image_initilization.py +0 -0
  315. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/data_generation/keras/optimization_functions/output_loss_functions.py +0 -0
  316. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/data_generation/keras/optimization_functions/scheduler_step_functions.py +0 -0
  317. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/data_generation/keras/optimization_utils.py +0 -0
  318. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/data_generation/pytorch/__init__.py +0 -0
  319. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/data_generation/pytorch/constants.py +0 -0
  320. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/data_generation/pytorch/image_pipeline.py +0 -0
  321. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/data_generation/pytorch/model_info_exctractors.py +0 -0
  322. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/data_generation/pytorch/optimization_functions/__init__.py +0 -0
  323. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/data_generation/pytorch/optimization_functions/batchnorm_alignment_functions.py +0 -0
  324. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/data_generation/pytorch/optimization_functions/bn_layer_weighting_functions.py +0 -0
  325. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/data_generation/pytorch/optimization_functions/image_initilization.py +0 -0
  326. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/data_generation/pytorch/optimization_functions/output_loss_functions.py +0 -0
  327. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/data_generation/pytorch/optimization_functions/scheduler_step_functions.py +0 -0
  328. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/data_generation/pytorch/optimization_utils.py +0 -0
  329. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/data_generation/pytorch/pytorch_data_generation.py +0 -0
  330. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/defaultdict.py +0 -0
  331. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/exporter/__init__.py +0 -0
  332. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/exporter/model_exporter/__init__.py +0 -0
  333. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/exporter/model_exporter/fw_agonstic/__init__.py +0 -0
  334. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/exporter/model_exporter/fw_agonstic/exporter.py +0 -0
  335. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/exporter/model_exporter/fw_agonstic/quantization_format.py +0 -0
  336. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/exporter/model_exporter/keras/__init__.py +0 -0
  337. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/exporter/model_exporter/keras/base_keras_exporter.py +0 -0
  338. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/exporter/model_exporter/keras/export_serialization_format.py +0 -0
  339. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/exporter/model_exporter/keras/fakely_quant_keras_exporter.py +0 -0
  340. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/exporter/model_exporter/keras/int8_tflite_exporter.py +0 -0
  341. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/exporter/model_exporter/keras/keras_export_facade.py +0 -0
  342. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/exporter/model_exporter/keras/mctq_keras_exporter.py +0 -0
  343. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/exporter/model_exporter/pytorch/__init__.py +0 -0
  344. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/exporter/model_exporter/pytorch/base_pytorch_exporter.py +0 -0
  345. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/exporter/model_exporter/pytorch/export_serialization_format.py +0 -0
  346. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/exporter/model_exporter/pytorch/fakely_quant_torchscript_pytorch_exporter.py +0 -0
  347. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/exporter/model_exporter/pytorch/pytorch_export_facade.py +0 -0
  348. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/exporter/model_wrapper/__init__.py +0 -0
  349. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/exporter/model_wrapper/keras/__init__.py +0 -0
  350. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/exporter/model_wrapper/keras/builder/__init__.py +0 -0
  351. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/exporter/model_wrapper/keras/builder/fully_quantized_model_builder.py +0 -0
  352. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/exporter/model_wrapper/keras/builder/node_to_quantizer.py +0 -0
  353. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/exporter/model_wrapper/keras/builder/node_to_quantizers.py +0 -0
  354. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/exporter/model_wrapper/keras/validate_layer.py +0 -0
  355. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/exporter/model_wrapper/pytorch/__init__.py +0 -0
  356. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/exporter/model_wrapper/pytorch/builder/__init__.py +0 -0
  357. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/exporter/model_wrapper/pytorch/builder/fully_quantized_model_builder.py +0 -0
  358. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/exporter/model_wrapper/pytorch/builder/node_to_quantizer.py +0 -0
  359. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/exporter/model_wrapper/pytorch/builder/node_to_quantizers.py +0 -0
  360. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/exporter/model_wrapper/pytorch/validate_layer.py +0 -0
  361. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/gptq/__init__.py +0 -0
  362. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/gptq/common/__init__.py +0 -0
  363. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/gptq/common/gptq_config.py +0 -0
  364. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/gptq/common/gptq_constants.py +0 -0
  365. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/gptq/common/gptq_framework_implementation.py +0 -0
  366. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/gptq/common/gptq_graph.py +0 -0
  367. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/gptq/common/gptq_training.py +0 -0
  368. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/gptq/keras/__init__.py +0 -0
  369. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/gptq/keras/gptq_keras_implementation.py +0 -0
  370. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/gptq/keras/gptq_loss.py +0 -0
  371. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/gptq/keras/gptq_training.py +0 -0
  372. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/gptq/keras/graph_info.py +0 -0
  373. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/gptq/keras/quantization_facade.py +0 -0
  374. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/gptq/keras/quantizer/__init__.py +0 -0
  375. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/gptq/keras/quantizer/base_keras_gptq_quantizer.py +0 -0
  376. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/gptq/keras/quantizer/quant_utils.py +0 -0
  377. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/gptq/keras/quantizer/quantization_builder.py +0 -0
  378. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/gptq/keras/quantizer/regularization_factory.py +0 -0
  379. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/gptq/keras/quantizer/soft_rounding/__init__.py +0 -0
  380. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/gptq/keras/quantizer/soft_rounding/soft_quantizer_reg.py +0 -0
  381. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/gptq/keras/quantizer/soft_rounding/symmetric_soft_quantizer.py +0 -0
  382. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/gptq/keras/quantizer/soft_rounding/uniform_soft_quantizer.py +0 -0
  383. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/gptq/keras/quantizer/ste_rounding/__init__.py +0 -0
  384. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/gptq/keras/quantizer/ste_rounding/symmetric_ste.py +0 -0
  385. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/gptq/pytorch/__init__.py +0 -0
  386. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/gptq/pytorch/gptq_loss.py +0 -0
  387. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/gptq/pytorch/gptq_pytorch_implementation.py +0 -0
  388. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/gptq/pytorch/gptq_training.py +0 -0
  389. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/gptq/pytorch/graph_info.py +0 -0
  390. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/gptq/pytorch/quantization_facade.py +0 -0
  391. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/gptq/pytorch/quantizer/__init__.py +0 -0
  392. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/gptq/pytorch/quantizer/base_pytorch_gptq_quantizer.py +0 -0
  393. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/gptq/pytorch/quantizer/quant_utils.py +0 -0
  394. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/gptq/pytorch/quantizer/quantization_builder.py +0 -0
  395. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/gptq/pytorch/quantizer/regularization_factory.py +0 -0
  396. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/gptq/pytorch/quantizer/soft_rounding/__init__.py +0 -0
  397. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/gptq/pytorch/quantizer/soft_rounding/soft_quantizer_reg.py +0 -0
  398. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/gptq/pytorch/quantizer/soft_rounding/symmetric_soft_quantizer.py +0 -0
  399. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/gptq/pytorch/quantizer/soft_rounding/uniform_soft_quantizer.py +0 -0
  400. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/gptq/pytorch/quantizer/ste_rounding/__init__.py +0 -0
  401. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/gptq/pytorch/quantizer/ste_rounding/symmetric_ste.py +0 -0
  402. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/gptq/runner.py +0 -0
  403. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/legacy/__init__.py +0 -0
  404. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/legacy/keras_quantization_facade.py +0 -0
  405. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/legacy/pytorch_quantization_facade.py +0 -0
  406. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/logger.py +0 -0
  407. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/pruning/__init__.py +0 -0
  408. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/pruning/keras/__init__.py +0 -0
  409. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/pruning/keras/pruning_facade.py +0 -0
  410. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/ptq/__init__.py +0 -0
  411. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/ptq/keras/__init__.py +0 -0
  412. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/ptq/keras/quantization_facade.py +0 -0
  413. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/ptq/pytorch/__init__.py +0 -0
  414. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/ptq/pytorch/quantization_facade.py +0 -0
  415. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/ptq/runner.py +0 -0
  416. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/qat/__init__.py +0 -0
  417. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/qat/common/__init__.py +0 -0
  418. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/qat/common/qat_config.py +0 -0
  419. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/qat/keras/__init__.py +0 -0
  420. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/qat/keras/quantization_facade.py +0 -0
  421. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/qat/keras/quantizer/__init__.py +0 -0
  422. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/qat/keras/quantizer/base_keras_qat_quantizer.py +0 -0
  423. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/qat/keras/quantizer/lsq/__init__.py +0 -0
  424. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/qat/keras/quantizer/lsq/symmetric_lsq.py +0 -0
  425. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/qat/keras/quantizer/lsq/uniform_lsq.py +0 -0
  426. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/qat/keras/quantizer/quant_utils.py +0 -0
  427. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/qat/keras/quantizer/quantization_builder.py +0 -0
  428. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/qat/keras/quantizer/ste_rounding/__init__.py +0 -0
  429. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/qat/keras/quantizer/ste_rounding/symmetric_ste.py +0 -0
  430. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/qat/keras/quantizer/ste_rounding/uniform_ste.py +0 -0
  431. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/qat/pytorch/__init__.py +0 -0
  432. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/qat/pytorch/quantization_facade.py +0 -0
  433. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/qat/pytorch/quantizer/__init__.py +0 -0
  434. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/qat/pytorch/quantizer/base_pytorch_qat_quantizer.py +0 -0
  435. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/qat/pytorch/quantizer/lsq/__init__.py +0 -0
  436. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/qat/pytorch/quantizer/lsq/symmetric_lsq.py +0 -0
  437. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/qat/pytorch/quantizer/lsq/uniform_lsq.py +0 -0
  438. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/qat/pytorch/quantizer/quantization_builder.py +0 -0
  439. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/qat/pytorch/quantizer/quantizer_utils.py +0 -0
  440. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/qat/pytorch/quantizer/ste_rounding/__init__.py +0 -0
  441. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/qat/pytorch/quantizer/ste_rounding/symmetric_ste.py +0 -0
  442. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/qat/pytorch/quantizer/ste_rounding/uniform_ste.py +0 -0
  443. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/target_platform_capabilities/__init__.py +0 -0
  444. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/target_platform_capabilities/immutable.py +0 -0
  445. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/target_platform_capabilities/target_platform/current_tp_model.py +0 -0
  446. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/target_platform_capabilities/target_platform/fusing.py +0 -0
  447. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/target_platform_capabilities/target_platform/operators.py +0 -0
  448. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/target_platform_capabilities/target_platform/target_platform_model.py +0 -0
  449. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/target_platform_capabilities/target_platform/target_platform_model_component.py +0 -0
  450. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/__init__.py +0 -0
  451. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/attribute_filter.py +0 -0
  452. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/current_tpc.py +0 -0
  453. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/layer_filter_params.py +0 -0
  454. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/target_platform_capabilities_component.py +0 -0
  455. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/target_platform_capabilities/tpc_models/__init__.py +0 -0
  456. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/target_platform_capabilities/tpc_models/get_target_platform_capabilities.py +0 -0
  457. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/__init__.py +0 -0
  458. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/latest/__init__.py +0 -0
  459. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/target_platform_capabilities.py +0 -0
  460. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1/__init__.py +0 -0
  461. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_lut/__init__.py +0 -0
  462. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_pot/__init__.py +0 -0
  463. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/__init__.py +0 -0
  464. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/latest/__init__.py +0 -0
  465. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/target_platform_capabilities.py +0 -0
  466. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/v1/__init__.py +0 -0
  467. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/__init__.py +0 -0
  468. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/latest/__init__.py +0 -0
  469. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/target_platform_capabilities.py +0 -0
  470. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/v1/__init__.py +0 -0
  471. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/trainable_infrastructure/__init__.py +0 -0
  472. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/trainable_infrastructure/common/__init__.py +0 -0
  473. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/trainable_infrastructure/common/base_trainable_quantizer.py +0 -0
  474. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/trainable_infrastructure/common/constants.py +0 -0
  475. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/trainable_infrastructure/common/get_quantizer_config.py +0 -0
  476. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/trainable_infrastructure/common/get_quantizers.py +0 -0
  477. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/trainable_infrastructure/common/quant_utils.py +0 -0
  478. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/trainable_infrastructure/common/trainable_quantizer_config.py +0 -0
  479. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/trainable_infrastructure/keras/__init__.py +0 -0
  480. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/trainable_infrastructure/keras/base_keras_quantizer.py +0 -0
  481. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/trainable_infrastructure/keras/config_serialization.py +0 -0
  482. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/trainable_infrastructure/keras/load_model.py +0 -0
  483. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/trainable_infrastructure/keras/quantize_wrapper.py +0 -0
  484. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/trainable_infrastructure/keras/quantizer_utils.py +0 -0
  485. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/trainable_infrastructure/pytorch/__init__.py +0 -0
  486. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/model_compression_toolkit/trainable_infrastructure/pytorch/base_pytorch_quantizer.py +0 -0
  487. {mct-nightly-1.11.0.20240131.post412 → mct-nightly-1.11.0.20240201.post434}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mct-nightly
3
- Version: 1.11.0.20240131.post412
3
+ Version: 1.11.0.20240201.post434
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: 1.11.0.20240131.post412
3
+ Version: 1.11.0.20240201.post434
4
4
  Summary: A Model Compression Toolkit for neural networks
5
5
  Home-page: UNKNOWN
6
6
  License: UNKNOWN
@@ -114,6 +114,7 @@ WEIGHTS_QUANTIZATION_FN = 'weights_quantization_fn'
114
114
  ACTIVATION_QUANT_PARAMS_FN = 'activation_quantization_params_fn'
115
115
  WEIGHTS_QUANT_PARAMS_FN = 'weights_quantization_params_fn'
116
116
  WEIGHTS_CHANNELS_AXIS = 'weights_channels_axis'
117
+ WEIGHTS_CFG = 'weights_cfg'
117
118
 
118
119
  # Memory graph constants
119
120
  DUMMY_NODE = 'dummy_node'
@@ -104,7 +104,7 @@ class Graph(nx.MultiDiGraph, GraphSearches):
104
104
  if not is_node_in_tpc:
105
105
  Logger.error(f'MCT does not support optimizing Keras custom layers, but found layer of type {n.type}. '
106
106
  f'Please add the custom layer to TPC or file a feature request or an issue if you believe this is an issue.')
107
- if any([qc.enable_weights_quantization for qc in n.get_qco(tpc).quantization_config_list]):
107
+ if any([qc.default_weight_attr_config.enable_weights_quantization for qc in n.get_qco(tpc).quantization_config_list]):
108
108
  Logger.error(f'MCT does not support optimizing Keras custom layers with weights quantization. Layer: {n.type}')
109
109
 
110
110
  self.tpc = tpc
@@ -14,9 +14,10 @@
14
14
  # ==============================================================================
15
15
  from model_compression_toolkit.constants import ACTIVATION_QUANTIZATION_CFG, WEIGHTS_QUANTIZATION_CFG, QC, \
16
16
  OP_CFG, ACTIVATION_QUANTIZATION_FN, WEIGHTS_QUANTIZATION_FN, ACTIVATION_QUANT_PARAMS_FN, WEIGHTS_QUANT_PARAMS_FN, \
17
- WEIGHTS_CHANNELS_AXIS
17
+ WEIGHTS_CHANNELS_AXIS, WEIGHTS_CFG
18
18
  from model_compression_toolkit.core.common.quantization.node_quantization_config import BaseNodeQuantizationConfig, \
19
19
  NodeWeightsQuantizationConfig, NodeActivationQuantizationConfig
20
+ from model_compression_toolkit.target_platform_capabilities.constants import KERNEL_ATTR
20
21
 
21
22
 
22
23
  ##########################################
@@ -47,4 +48,5 @@ class CandidateNodeQuantizationConfig(BaseNodeQuantizationConfig):
47
48
  kwargs.get(OP_CFG),
48
49
  kwargs.get(WEIGHTS_QUANTIZATION_FN),
49
50
  kwargs.get(WEIGHTS_QUANT_PARAMS_FN),
50
- kwargs.get(WEIGHTS_CHANNELS_AXIS))
51
+ kwargs.get(WEIGHTS_CHANNELS_AXIS),
52
+ kwargs.get(WEIGHTS_CFG))
@@ -24,7 +24,8 @@ from model_compression_toolkit.core.common.quantization.quantization_params_fn_s
24
24
 
25
25
  from model_compression_toolkit.core.common.quantization.quantization_config import QuantizationConfig, \
26
26
  QuantizationErrorMethod
27
- from model_compression_toolkit.target_platform_capabilities.target_platform import OpQuantizationConfig
27
+ from model_compression_toolkit.target_platform_capabilities.target_platform import OpQuantizationConfig, \
28
+ AttributeQuantizationConfig
28
29
 
29
30
 
30
31
  ##########################################
@@ -236,7 +237,8 @@ class NodeWeightsQuantizationConfig(BaseNodeQuantizationConfig):
236
237
  op_cfg: OpQuantizationConfig,
237
238
  weights_quantization_fn: Callable,
238
239
  weights_quantization_params_fn: Callable,
239
- weights_channels_axis: int):
240
+ weights_channels_axis: int,
241
+ weights_cfg: AttributeQuantizationConfig):
240
242
  """
241
243
 
242
244
  Args:
@@ -245,19 +247,22 @@ class NodeWeightsQuantizationConfig(BaseNodeQuantizationConfig):
245
247
  weights_quantization_fn: Function to use when quantizing the node's weights.
246
248
  weights_quantization_params_fn: Function to use when computing the threshold for quantizing a node's weights.
247
249
  weights_channels_axis: Axis to quantize a node's kernel when quantizing per-channel.
250
+ weights_cfg: Weights attribute quantization config.
248
251
  """
249
252
 
253
+ # TODO: after refactoring to enable attributes quantization, all weights quantization arguments
254
+ # should be taken per attribute, and not from the weights config
250
255
  self.weights_quantization_fn = weights_quantization_fn
251
256
  self.weights_quantization_params_fn = weights_quantization_params_fn
252
257
  self.weights_channels_axis = weights_channels_axis
253
258
  self.weights_quantization_params = {}
254
- self.weights_quantization_method = op_cfg.weights_quantization_method
259
+ self.weights_quantization_method = weights_cfg.weights_quantization_method
255
260
  self.weights_error_method = qc.weights_error_method
256
- self.weights_n_bits = op_cfg.weights_n_bits
261
+ self.weights_n_bits = weights_cfg.weights_n_bits
257
262
  self.weights_bias_correction = qc.weights_bias_correction
258
263
  self.weights_second_moment_correction = qc.weights_second_moment_correction
259
- self.weights_per_channel_threshold = op_cfg.weights_per_channel_threshold
260
- self.enable_weights_quantization = op_cfg.enable_weights_quantization
264
+ self.weights_per_channel_threshold = weights_cfg.weights_per_channel_threshold
265
+ self.enable_weights_quantization = weights_cfg.enable_weights_quantization
261
266
  self.min_threshold = qc.min_threshold
262
267
  self.l_p_value = qc.l_p_value
263
268
  self.simd_size = op_cfg.simd_size
@@ -50,7 +50,6 @@ class QuantizationConfig:
50
50
  weights_error_method: QuantizationErrorMethod = QuantizationErrorMethod.MSE,
51
51
  relu_bound_to_power_of_2: bool = False,
52
52
  weights_bias_correction: bool = True,
53
- weights_per_channel_threshold: bool = True,
54
53
  weights_second_moment_correction: bool = False,
55
54
  input_scaling: bool = False,
56
55
  softmax_shift: bool = False,
@@ -73,7 +72,6 @@ class QuantizationConfig:
73
72
  relu_bound_to_power_of_2 (bool): Whether to use relu to power of 2 scaling correction or not.
74
73
  weights_bias_correction (bool): Whether to use weights bias correction or not.
75
74
  weights_second_moment_correction (bool): Whether to use weights second_moment correction or not.
76
- weights_per_channel_threshold (bool): Whether to quantize the weights per-channel or not (per-tensor).
77
75
  input_scaling (bool): Whether to use input scaling or not.
78
76
  softmax_shift (bool): Whether to use softmax shift or not.
79
77
  shift_negative_activation_correction (bool): Whether to use shifting negative activation correction or not.
@@ -90,11 +88,11 @@ class QuantizationConfig:
90
88
  One may create a quantization configuration to quantize a model according to.
91
89
  For example, to quantize a model's weights and activation using thresholds, such that
92
90
  weights threshold selection is done using MSE, activation threshold selection is done using NOCLIPPING (min/max),
93
- enabling relu_bound_to_power_of_2, weights_bias_correction, and quantizing the weights per-channel,
91
+ enabling relu_bound_to_power_of_2, weights_bias_correction,
94
92
  one can instantiate a quantization configuration:
95
93
 
96
94
  >>> import model_compression_toolkit as mct
97
- >>> qc = mct.core.QuantizationConfig(activation_error_method=mct.core.QuantizationErrorMethod.NOCLIPPING,weights_error_method=mct.core.QuantizationErrorMethod.MSE,relu_bound_to_power_of_2=True,weights_bias_correction=True,weights_per_channel_threshold=True)
95
+ >>> qc = mct.core.QuantizationConfig(activation_error_method=mct.core.QuantizationErrorMethod.NOCLIPPING, weights_error_method=mct.core.QuantizationErrorMethod.MSE, relu_bound_to_power_of_2=True, weights_bias_correction=True)
98
96
 
99
97
 
100
98
  The QuantizationConfig instanse can then be passed to
@@ -107,7 +105,6 @@ class QuantizationConfig:
107
105
  self.relu_bound_to_power_of_2 = relu_bound_to_power_of_2
108
106
  self.weights_bias_correction = weights_bias_correction
109
107
  self.weights_second_moment_correction = weights_second_moment_correction
110
- self.weights_per_channel_threshold = weights_per_channel_threshold
111
108
  self.activation_channel_equalization = activation_channel_equalization
112
109
  self.input_scaling = input_scaling
113
110
  self.softmax_shift = softmax_shift
@@ -126,11 +123,6 @@ class QuantizationConfig:
126
123
 
127
124
 
128
125
  # Default quantization configuration the library use.
129
- DEFAULTCONFIG = QuantizationConfig(QuantizationErrorMethod.MSE,
130
- QuantizationErrorMethod.MSE,
131
- relu_bound_to_power_of_2=False,
132
- weights_bias_correction=True,
133
- weights_second_moment_correction=False,
134
- weights_per_channel_threshold=True,
135
- input_scaling=False,
136
- softmax_shift=False)
126
+ DEFAULTCONFIG = QuantizationConfig(QuantizationErrorMethod.MSE, QuantizationErrorMethod.MSE,
127
+ relu_bound_to_power_of_2=False, weights_bias_correction=True,
128
+ weights_second_moment_correction=False, input_scaling=False, softmax_shift=False)
@@ -81,6 +81,7 @@ def set_quantization_configs_to_node(node: BaseNode,
81
81
  fw_info,
82
82
  weight_channel_axis,
83
83
  node_qc_options,
84
+ node.type,
84
85
  mixed_precision_enable=mixed_precision_enable)
85
86
 
86
87
  for candidate_qc in node.candidates_quantization_cfg:
@@ -118,10 +119,11 @@ def create_node_activation_qc(qc: QuantizationConfig,
118
119
  activation_quantization_params_fn)
119
120
 
120
121
 
121
- def create_node_qc_candidate(qc: QuantizationConfig,
122
- fw_info: FrameworkInfo,
123
- weight_channel_axis: int,
124
- op_cfg: OpQuantizationConfig) -> CandidateNodeQuantizationConfig:
122
+ def _create_node_single_candidate_qc(qc: QuantizationConfig,
123
+ fw_info: FrameworkInfo,
124
+ weight_channel_axis: int,
125
+ op_cfg: OpQuantizationConfig,
126
+ kernel_attr: str) -> CandidateNodeQuantizationConfig:
125
127
  """
126
128
  Create quantization configuration candidate from a QuantizationConfig object.
127
129
  Creates both weights and activation quantization configurations
@@ -133,18 +135,26 @@ def create_node_qc_candidate(qc: QuantizationConfig,
133
135
  weights/activations should be quantized)
134
136
  weight_channel_axis: Output channel index of the node's kernel.
135
137
  op_cfg: OpQuantizationConfig of the node with quantizers types to use when creating node quantization configuration.
138
+ kernel_attr: The name of the kernel attribute of the node,
139
+ TODO: kernel_attr should be removed once enabling attributes quantization (because this function would create
140
+ candidate for all attributes not specifically for the kernel
136
141
 
137
142
  Returns: a CandidateNodeQuantizationConfig object with both weights and activation quantization config objects.
138
143
 
139
144
  """
140
145
 
141
- # get attributes for weights quantization
142
- weights_quantization_fn = get_weights_quantization_fn(op_cfg.weights_quantization_method)
146
+ # get attributes for weights quantization.
147
+ # if the node doesn't have a specified kernel config we use the default attribute config for quantization.
148
+ # TODO: This should be the behavior for all attributes that are not specified in the attribute config mapping,
149
+ # which currently disables the quantization of the weights attribute.
150
+ weights_cfg = op_cfg.attr_weights_configs_mapping.get(kernel_attr, op_cfg.default_weight_attr_config)
151
+
152
+ weights_quantization_fn = get_weights_quantization_fn(weights_cfg.weights_quantization_method)
143
153
 
144
154
  if weights_quantization_fn is None:
145
- Logger.critical('Unknown quantization method for weights') # pragma: no cover
155
+ Logger.critical(f'Unknown quantization method for weights for quantizing attribute: {kernel_attr}') # pragma: no cover
146
156
 
147
- weights_quantization_params_fn = get_weights_quantization_params_fn(op_cfg.weights_quantization_method)
157
+ weights_quantization_params_fn = get_weights_quantization_params_fn(weights_cfg.weights_quantization_method)
148
158
 
149
159
  # get attributes for activation quantization
150
160
  activation_quantization_fn = fw_info.activation_quantizer_mapping.get(op_cfg.activation_quantization_method)
@@ -159,13 +169,15 @@ def create_node_qc_candidate(qc: QuantizationConfig,
159
169
  activation_quantization_params_fn=activation_quantization_params_fn,
160
170
  weights_quantization_fn=weights_quantization_fn,
161
171
  weights_quantization_params_fn=weights_quantization_params_fn,
162
- weight_channel_axis=weight_channel_axis)
172
+ weight_channel_axis=weight_channel_axis,
173
+ weights_cfg=weights_cfg)
163
174
 
164
175
 
165
176
  def _create_node_candidates_qc(qc: QuantizationConfig,
166
177
  fw_info: FrameworkInfo,
167
178
  weight_channel_axis: int,
168
179
  node_qc_options: QuantizationConfigOptions,
180
+ node_type: type,
169
181
  mixed_precision_enable: bool = False) -> List[CandidateNodeQuantizationConfig]:
170
182
  """
171
183
  Create a list of candidates of weights and activation quantization configurations for a node.
@@ -175,6 +187,7 @@ def _create_node_candidates_qc(qc: QuantizationConfig,
175
187
  fw_info: Framework information (e.g., which layers should have their kernels' quantized).
176
188
  weight_channel_axis: Output channel index of the node's kernel.
177
189
  node_qc_options: QuantizationConfigOptions for the node with quantization candidates information.
190
+ node_type: The type of the layer that the node represents.
178
191
  mixed_precision_enable: is mixed precision enabled
179
192
 
180
193
  Returns:
@@ -182,21 +195,31 @@ def _create_node_candidates_qc(qc: QuantizationConfig,
182
195
  """
183
196
 
184
197
  candidates = []
198
+
199
+ # TODO: Currently, we are using fw_info to get the kernel attribute, but this would changed once we enable multi
200
+ # attribute quantization via AttributeQuantizationConfig class (needs to be implemented)
201
+
202
+ kernel_attr = fw_info.get_kernel_op_attributes(node_type)
203
+ assert len(kernel_attr) == 1
204
+ kernel_attr = kernel_attr[0]
205
+
185
206
  if mixed_precision_enable:
186
207
  for op_cfg in node_qc_options.quantization_config_list:
187
208
  candidate_nbits_qc = copy.deepcopy(qc)
188
- candidates.append(create_node_qc_candidate(candidate_nbits_qc,
189
- fw_info,
190
- weight_channel_axis,
191
- op_cfg))
209
+ candidates.append(_create_node_single_candidate_qc(candidate_nbits_qc,
210
+ fw_info,
211
+ weight_channel_axis,
212
+ op_cfg,
213
+ kernel_attr))
192
214
  # sorting the candidates by weights number of bits first and then by activation number of bits
193
215
  # (in reversed order)
194
216
  candidates.sort(key=lambda c: (c.weights_quantization_cfg.weights_n_bits,
195
217
  c.activation_quantization_cfg.activation_n_bits), reverse=True)
196
218
  else:
197
- candidates.append(create_node_qc_candidate(qc,
198
- fw_info,
199
- weight_channel_axis,
200
- node_qc_options.base_config))
219
+ candidates.append(_create_node_single_candidate_qc(qc,
220
+ fw_info,
221
+ weight_channel_axis,
222
+ node_qc_options.base_config,
223
+ kernel_attr))
201
224
 
202
225
  return candidates
@@ -13,6 +13,7 @@
13
13
  # limitations under the License.
14
14
  # ==============================================================================
15
15
  import os
16
+ from pathlib import Path
16
17
  import tempfile
17
18
  from typing import Callable
18
19
 
@@ -56,14 +57,20 @@ class FakelyQuantTFLiteExporter(FakelyQuantKerasExporter):
56
57
 
57
58
  """
58
59
  # Use Keras exporter to quantize model's weights before converting it to TFLite.
59
- # Since exporter saves the model, we use a tmp path for saving, and then we delete it automatically.
60
- with tempfile.NamedTemporaryFile(suffix=DEFAULT_KERAS_EXPORT_EXTENTION) as tmp_file:
61
- FakelyQuantKerasExporter(self.model,
62
- self.is_layer_exportable_fn,
63
- tmp_file.name,
64
- verbose=False).export()
60
+ # Since exporter saves the model, we use a tmp path for saving, and then we delete it.
61
+ handle, tmp_file = tempfile.mkstemp(DEFAULT_KERAS_EXPORT_EXTENTION)
62
+ # Close handle right away, the file is going to be reopenned by Keras exporter
63
+ os.close(handle)
64
+ try:
65
+ custom_objects = FakelyQuantKerasExporter(self.model,
66
+ self.is_layer_exportable_fn,
67
+ tmp_file,
68
+ verbose=False).export()
65
69
 
66
- model = keras_load_quantized_model(tmp_file.name)
70
+ model = keras_load_quantized_model(tmp_file)
71
+ # Ensures artifact is removed even in case of error
72
+ finally:
73
+ Path(tmp_file).unlink(missing_ok=True)
67
74
 
68
75
  self.exported_model = tf.lite.TFLiteConverter.from_keras_model(model).convert()
69
76
  Logger.info(f'Exporting FQ tflite model to: {self.save_model_path}')
@@ -26,8 +26,11 @@ from mct_quantizers import pytorch_quantizers
26
26
  # ONNX opset version 16 is supported from PyTorch 1.12
27
27
  if version.parse(torch.__version__) < version.parse("1.12"):
28
28
  OPSET_VERSION = 15
29
- else:
29
+ elif version.parse("1.12.0") <= version.parse(torch.__version__) < version.parse("1.13.0"):
30
30
  OPSET_VERSION = 16
31
+ else:
32
+ # ONNX opset version 17 is supported from PyTorch 1.13
33
+ OPSET_VERSION = 17
31
34
 
32
35
 
33
36
  class FakelyQuantONNXPyTorchExporter(BasePyTorchExporter):
@@ -24,4 +24,21 @@ LATEST = 'latest'
24
24
  DEFAULT_TP_MODEL = 'default'
25
25
  IMX500_TP_MODEL = 'imx500'
26
26
  TFLITE_TP_MODEL = 'tflite'
27
- QNNPACK_TP_MODEL = 'qnnpack'
27
+ QNNPACK_TP_MODEL = 'qnnpack'
28
+
29
+ # TP Attributes
30
+ KERNEL_ATTR = "kernel_attr"
31
+ BIAS_ATTR = "bias_attr"
32
+
33
+ # TODO: this is duplicated from the core frameworks constants files, because the original consts can't be used here
34
+ # duo to circular dependency. It might be best to extract the constants from the core file and put them here (in a
35
+ # separate changeset, because it affects the entire code)
36
+ KERAS_KERNEL = "kernel"
37
+ KERAS_DEPTHWISE_KERNEL = "depthwise_kernel"
38
+ BIAS = "bias"
39
+ PYTORCH_KERNEL = "weight"
40
+
41
+ # Configuration attributes names
42
+
43
+ WEIGHTS_N_BITS = 'weights_n_bits'
44
+ WEIGHTS_QUANTIZATION_METHOD = 'weights_quantization_method'
@@ -21,7 +21,7 @@ from model_compression_toolkit.target_platform_capabilities.target_platform.targ
21
21
  get_default_quantization_config_options, TargetPlatformModel
22
22
 
23
23
  from model_compression_toolkit.target_platform_capabilities.target_platform.op_quantization_config import OpQuantizationConfig, \
24
- QuantizationConfigOptions
24
+ QuantizationConfigOptions, AttributeQuantizationConfig
25
25
  from model_compression_toolkit.target_platform_capabilities.target_platform.operators import OperatorsSet, OperatorSetConcat
26
26
 
27
27
  from mct_quantizers import QuantizationMethod
@@ -14,58 +14,135 @@
14
14
  # ==============================================================================
15
15
 
16
16
  import copy
17
- from typing import List
17
+ from typing import List, Dict, Union, Any
18
18
 
19
19
  from mct_quantizers import QuantizationMethod
20
+ from model_compression_toolkit.logger import Logger
20
21
 
21
22
 
22
- class OpQuantizationConfig:
23
+ def clone_and_edit_object_params(obj: Any, **kwargs: Dict) -> Any:
23
24
  """
24
- OpQuantizationConfig is a class to configure the quantization parameters of an operator.
25
+ Clones the given object and edit some of its parameters.
26
+
27
+ Args:
28
+ obj: An object to clone.
29
+ **kwargs: Keyword arguments to edit in the cloned object.
30
+
31
+ Returns:
32
+ Edited copy of the given object.
25
33
  """
26
34
 
35
+ obj_copy = copy.deepcopy(obj)
36
+ for k, v in kwargs.items():
37
+ assert hasattr(obj_copy,
38
+ k), f'Edit parameter is possible only for existing parameters in the given object, ' \
39
+ f'but {k} is not a parameter of {obj_copy}.'
40
+ setattr(obj_copy, k, v)
41
+ return obj_copy
42
+
43
+
44
+ class AttributeQuantizationConfig:
45
+ """
46
+ Hold the quantization configuration of a weight attribute of a layer.
47
+ """
27
48
  def __init__(self,
28
- activation_quantization_method: QuantizationMethod,
29
49
  weights_quantization_method: QuantizationMethod,
30
- activation_n_bits: int,
31
50
  weights_n_bits: int,
32
51
  weights_per_channel_threshold: bool,
33
52
  enable_weights_quantization: bool,
53
+ lut_values_bitwidth: Union[int, None], # If None - set 8 in hptq, o.w use it
54
+ ):
55
+ """
56
+ Initializes an attribute quantization config.
57
+
58
+ Args:
59
+ weights_quantization_method (QuantizationMethod): Which method to use from QuantizationMethod for weights quantization.
60
+ weights_n_bits (int): Number of bits to quantize the coefficients.
61
+ weights_per_channel_threshold (bool): Whether to quantize the weights per-channel or not (per-tensor).
62
+ enable_weights_quantization (bool): Whether to quantize the model weights or not.
63
+ lut_values_bitwidth (int): Number of bits to use when quantizing in look-up-table.
64
+
65
+ """
66
+
67
+ self.weights_quantization_method = weights_quantization_method
68
+ self.weights_n_bits = weights_n_bits
69
+ self.weights_per_channel_threshold = weights_per_channel_threshold
70
+ self.enable_weights_quantization = enable_weights_quantization
71
+ self.lut_values_bitwidth = lut_values_bitwidth
72
+
73
+ def clone_and_edit(self, **kwargs):
74
+ """
75
+ Clone the quantization config and edit some of its attributes.
76
+
77
+ Args:
78
+ **kwargs: Keyword arguments to edit the configuration to clone.
79
+
80
+ Returns:
81
+ Edited quantization configuration.
82
+ """
83
+
84
+ return clone_and_edit_object_params(self, **kwargs)
85
+
86
+ def __eq__(self, other):
87
+ """
88
+ Is this configuration equal to another object.
89
+
90
+ Args:
91
+ other: Object to compare.
92
+
93
+ Returns:
94
+
95
+ Whether this configuration is equal to another object or not.
96
+ """
97
+ if not isinstance(other, AttributeQuantizationConfig):
98
+ return False
99
+ return self.weights_quantization_method == other.weights_quantization_method and \
100
+ self.weights_n_bits == other.weights_n_bits and \
101
+ self.weights_per_channel_threshold == other.weights_per_channel_threshold and \
102
+ self.enable_weights_quantization == other.enable_weights_quantization and \
103
+ self.lut_values_bitwidth == other.lut_values_bitwidth
104
+
105
+
106
+ class OpQuantizationConfig:
107
+ """
108
+ OpQuantizationConfig is a class to configure the quantization parameters of an operator.
109
+ """
110
+
111
+ def __init__(self,
112
+ default_weight_attr_config: AttributeQuantizationConfig,
113
+ attr_weights_configs_mapping: Dict[str, AttributeQuantizationConfig],
114
+ activation_quantization_method: QuantizationMethod,
115
+ activation_n_bits: int,
34
116
  enable_activation_quantization: bool,
35
117
  quantization_preserving: bool,
36
118
  fixed_scale: float,
37
119
  fixed_zero_point: int,
38
- weights_multiplier_nbits: int, # If None - set 8 in hptq, o.w use it
39
- simd_size: int):
120
+ simd_size: int
121
+ ):
40
122
  """
41
123
 
42
124
  Args:
125
+ default_weight_attr_config (AttributeQuantizationConfig): A default attribute quantization configuration for the operation.
126
+ attr_weights_configs_mapping (dict): A mapping between an op attribute name and its quantization configuration.
43
127
  activation_quantization_method (QuantizationMethod): Which method to use from QuantizationMethod for activation quantization.
44
- weights_quantization_method (QuantizationMethod): Which method to use from QuantizationMethod for weights quantization.
45
128
  activation_n_bits (int): Number of bits to quantize the activations.
46
- weights_n_bits (int): Number of bits to quantize the coefficients.
47
- weights_per_channel_threshold (bool): Whether to quantize the weights per-channel or not (per-tensor).
48
- enable_weights_quantization (bool): Whether to quantize the model weights or not.
49
129
  enable_activation_quantization (bool): Whether to quantize the model activations or not.
50
130
  quantization_preserving (bool): Whether quantization parameters should be the same for an operator's input and output.
51
131
  fixed_scale (float): Scale to use for an operator quantization parameters.
52
132
  fixed_zero_point (int): Zero-point to use for an operator quantization parameters.
53
- weights_multiplier_nbits (int): Number of bits to use when quantizing in look-up-table.
54
- simd_size (int): An integer representing the Single Instruction, Multiple Data (SIMD) width of an operator. It indicates the number of data elements that can be fetched and processed simultaneously in a single instruction.
133
+ simd_size (int): Per op integer representing the Single Instruction, Multiple Data (SIMD) width of an operator. It indicates the number of data elements that can be fetched and processed simultaneously in a single instruction.
55
134
 
56
135
  """
57
136
 
137
+ self.default_weight_attr_config = default_weight_attr_config
138
+ self.attr_weights_configs_mapping = attr_weights_configs_mapping
139
+
58
140
  self.activation_quantization_method = activation_quantization_method
59
- self.weights_quantization_method = weights_quantization_method
60
141
  self.activation_n_bits = activation_n_bits
61
- self.weights_n_bits = weights_n_bits
62
- self.weights_per_channel_threshold = weights_per_channel_threshold
63
- self.enable_weights_quantization = enable_weights_quantization
64
142
  self.enable_activation_quantization = enable_activation_quantization
65
143
  self.quantization_preserving = quantization_preserving
66
144
  self.fixed_scale = fixed_scale
67
145
  self.fixed_zero_point = fixed_zero_point
68
- self.eights_lut_values_bitwidth = weights_multiplier_nbits
69
146
  self.simd_size = simd_size
70
147
 
71
148
  def get_info(self):
@@ -76,22 +153,28 @@ class OpQuantizationConfig:
76
153
  """
77
154
  return self.__dict__
78
155
 
79
- def clone_and_edit(self, **kwargs):
156
+ def clone_and_edit(self, attr_to_edit: Dict[str, Dict[str, Any]] = {}, **kwargs):
80
157
  """
81
158
  Clone the quantization config and edit some of its attributes.
82
159
  Args:
160
+ attr_to_edit: A mapping between attributes names to edit and their parameters that
161
+ should be edited to a new value.
83
162
  **kwargs: Keyword arguments to edit the configuration to clone.
84
163
 
85
164
  Returns:
86
165
  Edited quantization configuration.
87
166
  """
88
167
 
89
- qc = copy.deepcopy(self)
90
- for k, v in kwargs.items():
91
- assert hasattr(qc,
92
- k), f'Edit attributes is possible only for existing attributes in configuration, ' \
93
- f'but {k} is not an attribute of {qc}'
94
- setattr(qc, k, v)
168
+ qc = clone_and_edit_object_params(self, **kwargs)
169
+
170
+ # optionally: editing specific parameters in the config of specified attributes
171
+ edited_attrs = copy.deepcopy(qc.attr_weights_configs_mapping)
172
+ for attr_name, attr_cfg in qc.attr_weights_configs_mapping.items():
173
+ if attr_name in attr_to_edit:
174
+ edited_attrs[attr_name] = attr_cfg.clone_and_edit(**attr_to_edit[attr_name])
175
+
176
+ qc.attr_weights_configs_mapping = edited_attrs
177
+
95
178
  return qc
96
179
 
97
180
  def __eq__(self, other):
@@ -105,14 +188,12 @@ class OpQuantizationConfig:
105
188
  """
106
189
  if not isinstance(other, OpQuantizationConfig):
107
190
  return False
108
- return self.activation_quantization_method == other.activation_quantization_method and \
109
- self.weights_quantization_method == other.weights_quantization_method and \
110
- self.activation_n_bits == other.activation_n_bits and \
111
- self.weights_n_bits == other.weights_n_bits and \
112
- self.weights_per_channel_threshold == other.weights_per_channel_threshold and \
113
- self.enable_weights_quantization == other.enable_weights_quantization and \
114
- self.enable_activation_quantization == other.enable_activation_quantization and \
115
- self.simd_size==other.simd_size
191
+ return self.default_weight_attr_config == other.default_weight_attr_config and \
192
+ self.attr_weights_configs_mapping == other.attr_weights_configs_mapping and \
193
+ self.activation_quantization_method == other.activation_quantization_method and \
194
+ self.activation_n_bits == other.activation_n_bits and \
195
+ self.enable_activation_quantization == other.enable_activation_quantization and \
196
+ self.simd_size == other.simd_size
116
197
 
117
198
 
118
199
  class QuantizationConfigOptions(object):
@@ -177,6 +258,67 @@ class QuantizationConfigOptions(object):
177
258
  self.__edit_quantization_configuration(qc, kwargs)
178
259
  return qc_options
179
260
 
261
+ def clone_and_edit_weight_attribute(self, attrs: List[str] = None, **kwargs):
262
+ """
263
+ Clones the quantization configurations and edits some of their attributes' parameters.
264
+
265
+ Args:
266
+ attrs: attributes names to clone their configurations. If None is provided, updating the configurations
267
+ of all attributes in the operation attributes config mapping.
268
+ **kwargs: Keyword arguments to edit in the attributes configuration.
269
+
270
+ Returns:
271
+ QuantizationConfigOptions with edited attributes configurations.
272
+
273
+ """
274
+
275
+ qc_options = copy.deepcopy(self)
276
+
277
+ for qc in qc_options.quantization_config_list:
278
+ if attrs is None:
279
+ attrs_to_update = list(qc.attr_weights_configs_mapping.keys())
280
+ else:
281
+ if not isinstance(attrs, List):
282
+ Logger.error(f"Expecting a list of attribute but got {type(attrs)}.")
283
+ attrs_to_update = attrs
284
+
285
+ for attr in attrs_to_update:
286
+ if qc.attr_weights_configs_mapping.get(attr) is None:
287
+ Logger.error(f'Edit attributes is possible only for existing attributes '
288
+ f'in the configuration weights config mapping, but {attr} is not an attribute of {qc}.')
289
+ self.__edit_quantization_configuration(qc.attr_weights_configs_mapping[attr], kwargs)
290
+ return qc_options
291
+
292
+ def clone_and_map_weights_attr_keys(self, layer_attrs_mapping: Union[Dict[str, str], None]):
293
+ """
294
+ Clones the quantization configuration options and edits the keys in each configuration attributes config mapping,
295
+ based on the given attributes names mapping.
296
+
297
+ Args:
298
+ layer_attrs_mapping: A mapping between attributes names.
299
+
300
+ Returns:
301
+ QuantizationConfigOptions with edited attributes names.
302
+
303
+ """
304
+ qc_options = copy.deepcopy(self)
305
+
306
+ for qc in qc_options.quantization_config_list:
307
+ if layer_attrs_mapping is None:
308
+ qc.attr_weights_configs_mapping = {}
309
+ else:
310
+ new_attr_mapping = {}
311
+ for attr in list(qc.attr_weights_configs_mapping.keys()):
312
+ new_key = layer_attrs_mapping.get(attr)
313
+ if new_key is None:
314
+ Logger.error(f"Attribute {attr} does not exist in the given attribute mapping.")
315
+
316
+ new_attr_mapping[new_key] = qc.attr_weights_configs_mapping.pop(attr)
317
+
318
+ qc.attr_weights_configs_mapping.update(new_attr_mapping)
319
+
320
+ return qc_options
321
+
180
322
  def __edit_quantization_configuration(self, qc, kwargs):
181
323
  for k, v in kwargs.items():
182
324
  assert hasattr(qc,