mct-nightly 2.0.0.20240509.406__tar.gz → 2.0.0.20240510.421__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 (496) hide show
  1. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/PKG-INFO +4 -6
  2. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/README.md +3 -5
  3. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/mct_nightly.egg-info/PKG-INFO +4 -6
  4. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/__init__.py +1 -1
  5. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/constants.py +1 -0
  6. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/visualization/tensorboard_writer.py +8 -2
  7. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/data_generation/__init__.py +2 -2
  8. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/data_generation/pytorch/pytorch_data_generation.py +6 -7
  9. mct-nightly-2.0.0.20240510.421/model_compression_toolkit/exporter/model_exporter/pytorch/fakely_quant_onnx_pytorch_exporter.py +138 -0
  10. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/exporter/model_exporter/pytorch/pytorch_export_facade.py +5 -5
  11. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2/tp_model.py +4 -17
  12. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2_lut/tp_model.py +4 -17
  13. mct-nightly-2.0.0.20240509.406/model_compression_toolkit/exporter/model_exporter/pytorch/fakely_quant_onnx_pytorch_exporter.py +0 -132
  14. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/LICENSE.md +0 -0
  15. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/mct_nightly.egg-info/SOURCES.txt +0 -0
  16. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/mct_nightly.egg-info/dependency_links.txt +0 -0
  17. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/mct_nightly.egg-info/requires.txt +0 -0
  18. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/mct_nightly.egg-info/top_level.txt +0 -0
  19. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/__init__.py +0 -0
  20. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/analyzer.py +0 -0
  21. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/__init__.py +0 -0
  22. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/back2framework/__init__.py +0 -0
  23. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/back2framework/base_model_builder.py +0 -0
  24. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/base_substitutions.py +0 -0
  25. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/collectors/__init__.py +0 -0
  26. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/collectors/base_collector.py +0 -0
  27. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/collectors/histogram_collector.py +0 -0
  28. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/collectors/mean_collector.py +0 -0
  29. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/collectors/min_max_per_channel_collector.py +0 -0
  30. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/collectors/statistics_collector.py +0 -0
  31. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/framework_implementation.py +0 -0
  32. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/framework_info.py +0 -0
  33. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/fusion/__init__.py +0 -0
  34. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/fusion/layer_fusing.py +0 -0
  35. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/graph/__init__.py +0 -0
  36. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/graph/base_graph.py +0 -0
  37. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/graph/base_node.py +0 -0
  38. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/graph/edge.py +0 -0
  39. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/graph/functional_node.py +0 -0
  40. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/graph/graph_matchers.py +0 -0
  41. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/graph/graph_searches.py +0 -0
  42. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/graph/memory_graph/__init__.py +0 -0
  43. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/graph/memory_graph/bipartite_graph.py +0 -0
  44. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/graph/memory_graph/compute_graph_max_cut.py +0 -0
  45. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/graph/memory_graph/cut.py +0 -0
  46. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/graph/memory_graph/max_cut_astar.py +0 -0
  47. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/graph/memory_graph/memory_element.py +0 -0
  48. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/graph/memory_graph/memory_graph.py +0 -0
  49. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/graph/virtual_activation_weights_node.py +0 -0
  50. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/hessian/__init__.py +0 -0
  51. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/hessian/hessian_info_service.py +0 -0
  52. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/hessian/hessian_info_utils.py +0 -0
  53. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/hessian/trace_hessian_calculator.py +0 -0
  54. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/hessian/trace_hessian_request.py +0 -0
  55. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/matchers/__init__.py +0 -0
  56. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/matchers/base_graph_filter.py +0 -0
  57. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/matchers/base_matcher.py +0 -0
  58. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/matchers/edge_matcher.py +0 -0
  59. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/matchers/function.py +0 -0
  60. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/matchers/node_matcher.py +0 -0
  61. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/matchers/walk_matcher.py +0 -0
  62. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/memory_computation.py +0 -0
  63. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/mixed_precision/__init__.py +0 -0
  64. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/mixed_precision/bit_width_setter.py +0 -0
  65. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/mixed_precision/configurable_quant_id.py +0 -0
  66. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/mixed_precision/configurable_quantizer_utils.py +0 -0
  67. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/mixed_precision/distance_weighting.py +0 -0
  68. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/mixed_precision/mixed_precision_quantization_config.py +0 -0
  69. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/mixed_precision/mixed_precision_search_facade.py +0 -0
  70. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/mixed_precision/mixed_precision_search_manager.py +0 -0
  71. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/mixed_precision/resource_utilization_tools/__init__.py +0 -0
  72. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/mixed_precision/resource_utilization_tools/resource_utilization.py +0 -0
  73. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/mixed_precision/resource_utilization_tools/resource_utilization_data.py +0 -0
  74. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/mixed_precision/resource_utilization_tools/ru_aggregation_methods.py +0 -0
  75. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/mixed_precision/resource_utilization_tools/ru_functions_mapping.py +0 -0
  76. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/mixed_precision/resource_utilization_tools/ru_methods.py +0 -0
  77. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/mixed_precision/search_methods/__init__.py +0 -0
  78. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/mixed_precision/search_methods/linear_programming.py +0 -0
  79. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/mixed_precision/sensitivity_evaluation.py +0 -0
  80. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/mixed_precision/set_layer_to_bitwidth.py +0 -0
  81. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/mixed_precision/solution_refinement_procedure.py +0 -0
  82. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/model_builder_mode.py +0 -0
  83. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/model_collector.py +0 -0
  84. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/model_validation.py +0 -0
  85. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/network_editors/__init__.py +0 -0
  86. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/network_editors/actions.py +0 -0
  87. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/network_editors/edit_network.py +0 -0
  88. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/network_editors/node_filters.py +0 -0
  89. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/node_prior_info.py +0 -0
  90. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/pruning/__init__.py +0 -0
  91. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/pruning/channels_grouping.py +0 -0
  92. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/pruning/greedy_mask_calculator.py +0 -0
  93. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/pruning/importance_metrics/__init__.py +0 -0
  94. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/pruning/importance_metrics/base_importance_metric.py +0 -0
  95. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/pruning/importance_metrics/importance_metric_factory.py +0 -0
  96. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/pruning/importance_metrics/lfh_importance_metric.py +0 -0
  97. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/pruning/mask/__init__.py +0 -0
  98. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/pruning/mask/per_channel_mask.py +0 -0
  99. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/pruning/mask/per_simd_group_mask.py +0 -0
  100. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/pruning/memory_calculator.py +0 -0
  101. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/pruning/prune_graph.py +0 -0
  102. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/pruning/pruner.py +0 -0
  103. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/pruning/pruning_config.py +0 -0
  104. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/pruning/pruning_framework_implementation.py +0 -0
  105. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/pruning/pruning_info.py +0 -0
  106. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/pruning/pruning_section.py +0 -0
  107. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/quantization/__init__.py +0 -0
  108. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/quantization/candidate_node_quantization_config.py +0 -0
  109. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/quantization/core_config.py +0 -0
  110. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/quantization/debug_config.py +0 -0
  111. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/quantization/filter_nodes_candidates.py +0 -0
  112. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/quantization/node_quantization_config.py +0 -0
  113. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/quantization/quantization_config.py +0 -0
  114. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/quantization/quantization_fn_selection.py +0 -0
  115. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/quantization/quantization_params_fn_selection.py +0 -0
  116. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/quantization/quantization_params_generation/__init__.py +0 -0
  117. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/quantization/quantization_params_generation/error_functions.py +0 -0
  118. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/quantization/quantization_params_generation/lut_kmeans_params.py +0 -0
  119. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/quantization/quantization_params_generation/outlier_filter.py +0 -0
  120. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/quantization/quantization_params_generation/power_of_two_selection.py +0 -0
  121. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/quantization/quantization_params_generation/qparams_activations_computation.py +0 -0
  122. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/quantization/quantization_params_generation/qparams_computation.py +0 -0
  123. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/quantization/quantization_params_generation/qparams_search.py +0 -0
  124. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/quantization/quantization_params_generation/qparams_weights_computation.py +0 -0
  125. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/quantization/quantization_params_generation/symmetric_selection.py +0 -0
  126. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/quantization/quantization_params_generation/uniform_selection.py +0 -0
  127. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/quantization/quantize_graph_weights.py +0 -0
  128. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/quantization/quantize_node.py +0 -0
  129. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/quantization/quantizers/__init__.py +0 -0
  130. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/quantization/quantizers/lut_kmeans_quantizer.py +0 -0
  131. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/quantization/quantizers/quantizers_helpers.py +0 -0
  132. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/quantization/quantizers/uniform_quantizers.py +0 -0
  133. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/quantization/set_node_quantization_config.py +0 -0
  134. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/similarity_analyzer.py +0 -0
  135. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/statistics_correction/__init__.py +0 -0
  136. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/statistics_correction/apply_bias_correction_to_graph.py +0 -0
  137. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/statistics_correction/apply_second_moment_correction_to_graph.py +0 -0
  138. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/statistics_correction/compute_bias_correction_of_graph.py +0 -0
  139. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/statistics_correction/statistics_correction.py +0 -0
  140. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/substitutions/__init__.py +0 -0
  141. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/substitutions/apply_substitutions.py +0 -0
  142. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/substitutions/batchnorm_folding.py +0 -0
  143. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/substitutions/batchnorm_reconstruction.py +0 -0
  144. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/substitutions/batchnorm_refusing.py +0 -0
  145. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/substitutions/linear_collapsing.py +0 -0
  146. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/substitutions/linear_collapsing_substitution.py +0 -0
  147. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/substitutions/remove_identity.py +0 -0
  148. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/substitutions/residual_collapsing.py +0 -0
  149. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/substitutions/scale_equalization.py +0 -0
  150. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/substitutions/shift_negative_activation.py +0 -0
  151. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/substitutions/softmax_shift.py +0 -0
  152. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/substitutions/virtual_activation_weights_composition.py +0 -0
  153. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/substitutions/weights_activation_split.py +0 -0
  154. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/user_info.py +0 -0
  155. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/visualization/__init__.py +0 -0
  156. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/visualization/final_config_visualizer.py +0 -0
  157. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/common/visualization/nn_visualizer.py +0 -0
  158. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/graph_prep_runner.py +0 -0
  159. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/keras/__init__.py +0 -0
  160. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/keras/back2framework/__init__.py +0 -0
  161. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/keras/back2framework/factory_model_builder.py +0 -0
  162. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/keras/back2framework/float_model_builder.py +0 -0
  163. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/keras/back2framework/instance_builder.py +0 -0
  164. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/keras/back2framework/keras_model_builder.py +0 -0
  165. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/keras/back2framework/mixed_precision_model_builder.py +0 -0
  166. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/keras/back2framework/quantized_model_builder.py +0 -0
  167. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/keras/constants.py +0 -0
  168. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/keras/custom_layer_validation.py +0 -0
  169. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/keras/default_framework_info.py +0 -0
  170. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/keras/graph_substitutions/__init__.py +0 -0
  171. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/__init__.py +0 -0
  172. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/activation_decomposition.py +0 -0
  173. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/batchnorm_folding.py +0 -0
  174. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/batchnorm_reconstruction.py +0 -0
  175. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/batchnorm_refusing.py +0 -0
  176. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/concat_threshold_update.py +0 -0
  177. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/dwconv_to_conv.py +0 -0
  178. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/input_scaling.py +0 -0
  179. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/linear_collapsing.py +0 -0
  180. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/matmul_substitution.py +0 -0
  181. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/multi_head_attention_decomposition.py +0 -0
  182. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/relu_bound_to_power_of_2.py +0 -0
  183. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/remove_identity.py +0 -0
  184. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/residual_collapsing.py +0 -0
  185. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/scale_equalization.py +0 -0
  186. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/separableconv_decomposition.py +0 -0
  187. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/shift_negative_activation.py +0 -0
  188. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/softmax_shift.py +0 -0
  189. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/virtual_activation_weights_composition.py +0 -0
  190. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/keras/graph_substitutions/substitutions/weights_activation_split.py +0 -0
  191. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/keras/hessian/__init__.py +0 -0
  192. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/keras/hessian/activation_trace_hessian_calculator_keras.py +0 -0
  193. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/keras/hessian/trace_hessian_calculator_keras.py +0 -0
  194. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/keras/hessian/weights_trace_hessian_calculator_keras.py +0 -0
  195. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/keras/keras_implementation.py +0 -0
  196. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/keras/keras_model_validation.py +0 -0
  197. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/keras/keras_node_prior_info.py +0 -0
  198. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/keras/mixed_precision/__init__.py +0 -0
  199. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/keras/mixed_precision/configurable_activation_quantizer.py +0 -0
  200. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/keras/mixed_precision/configurable_weights_quantizer.py +0 -0
  201. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/keras/pruning/__init__.py +0 -0
  202. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/keras/pruning/pruning_keras_implementation.py +0 -0
  203. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/keras/quantizer/__init__.py +0 -0
  204. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/keras/quantizer/base_quantizer.py +0 -0
  205. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/keras/quantizer/fake_quant_builder.py +0 -0
  206. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/keras/quantizer/lut_fake_quant.py +0 -0
  207. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/keras/reader/__init__.py +0 -0
  208. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/keras/reader/common.py +0 -0
  209. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/keras/reader/connectivity_handler.py +0 -0
  210. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/keras/reader/nested_model/__init__.py +0 -0
  211. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/keras/reader/nested_model/edges_merger.py +0 -0
  212. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/keras/reader/nested_model/nested_model_handler.py +0 -0
  213. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/keras/reader/nested_model/nodes_merger.py +0 -0
  214. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/keras/reader/nested_model/outputs_merger.py +0 -0
  215. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/keras/reader/node_builder.py +0 -0
  216. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/keras/reader/reader.py +0 -0
  217. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/keras/resource_utilization_data_facade.py +0 -0
  218. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/keras/statistics_correction/__init__.py +0 -0
  219. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/keras/statistics_correction/apply_second_moment_correction.py +0 -0
  220. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/keras/tf_tensor_numpy.py +0 -0
  221. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/keras/visualization/__init__.py +0 -0
  222. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/pytorch/__init__.py +0 -0
  223. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/pytorch/back2framework/__init__.py +0 -0
  224. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/pytorch/back2framework/factory_model_builder.py +0 -0
  225. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/pytorch/back2framework/float_model_builder.py +0 -0
  226. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/pytorch/back2framework/instance_builder.py +0 -0
  227. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/pytorch/back2framework/mixed_precision_model_builder.py +0 -0
  228. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/pytorch/back2framework/pytorch_model_builder.py +0 -0
  229. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/pytorch/back2framework/quantization_wrapper/__init__.py +0 -0
  230. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/pytorch/back2framework/quantization_wrapper/quantized_layer_wrapper.py +0 -0
  231. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/pytorch/back2framework/quantization_wrapper/wrapper_quantize_config.py +0 -0
  232. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/pytorch/back2framework/quantized_model_builder.py +0 -0
  233. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/pytorch/constants.py +0 -0
  234. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/pytorch/default_framework_info.py +0 -0
  235. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/pytorch/graph_substitutions/__init__.py +0 -0
  236. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/__init__.py +0 -0
  237. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/batchnorm_folding.py +0 -0
  238. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/batchnorm_reconstruction.py +0 -0
  239. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/batchnorm_refusing.py +0 -0
  240. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/concat_threshold_update.py +0 -0
  241. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/const_holder_conv.py +0 -0
  242. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/functional_batch_norm.py +0 -0
  243. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/functional_layer_norm.py +0 -0
  244. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/linear_collapsing.py +0 -0
  245. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/multi_head_attention_decomposition.py +0 -0
  246. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/permute_call_method.py +0 -0
  247. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/relu_bound_to_power_of_2.py +0 -0
  248. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/remove_identity.py +0 -0
  249. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/reshape_with_static_shapes.py +0 -0
  250. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/residual_collapsing.py +0 -0
  251. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/scale_equalization.py +0 -0
  252. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/shift_negative_activation.py +0 -0
  253. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/softmax_shift.py +0 -0
  254. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/virtual_activation_weights_composition.py +0 -0
  255. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/weights_activation_split.py +0 -0
  256. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/pytorch/hessian/__init__.py +0 -0
  257. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/pytorch/hessian/activation_trace_hessian_calculator_pytorch.py +0 -0
  258. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/pytorch/hessian/trace_hessian_calculator_pytorch.py +0 -0
  259. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/pytorch/hessian/weights_trace_hessian_calculator_pytorch.py +0 -0
  260. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/pytorch/mixed_precision/__init__.py +0 -0
  261. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/pytorch/mixed_precision/configurable_activation_quantizer.py +0 -0
  262. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/pytorch/mixed_precision/configurable_weights_quantizer.py +0 -0
  263. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/pytorch/pruning/__init__.py +0 -0
  264. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/pytorch/pruning/pruning_pytorch_implementation.py +0 -0
  265. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/pytorch/pytorch_device_config.py +0 -0
  266. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/pytorch/pytorch_implementation.py +0 -0
  267. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/pytorch/pytorch_node_prior_info.py +0 -0
  268. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/pytorch/quantizer/__init__.py +0 -0
  269. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/pytorch/quantizer/fake_quant_builder.py +0 -0
  270. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/pytorch/quantizer/lut_fake_quant.py +0 -0
  271. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/pytorch/reader/__init__.py +0 -0
  272. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/pytorch/reader/graph_builders.py +0 -0
  273. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/pytorch/reader/node_holders.py +0 -0
  274. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/pytorch/reader/reader.py +0 -0
  275. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/pytorch/resource_utilization_data_facade.py +0 -0
  276. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/pytorch/statistics_correction/__init__.py +0 -0
  277. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/pytorch/statistics_correction/apply_second_moment_correction.py +0 -0
  278. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/pytorch/utils.py +0 -0
  279. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/quantization_prep_runner.py +0 -0
  280. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/core/runner.py +0 -0
  281. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/data_generation/common/__init__.py +0 -0
  282. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/data_generation/common/constants.py +0 -0
  283. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/data_generation/common/data_generation.py +0 -0
  284. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/data_generation/common/data_generation_config.py +0 -0
  285. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/data_generation/common/enums.py +0 -0
  286. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/data_generation/common/image_pipeline.py +0 -0
  287. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/data_generation/common/model_info_exctractors.py +0 -0
  288. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/data_generation/common/optimization_utils.py +0 -0
  289. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/data_generation/keras/__init__.py +0 -0
  290. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/data_generation/keras/constants.py +0 -0
  291. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/data_generation/keras/image_pipeline.py +0 -0
  292. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/data_generation/keras/keras_data_generation.py +0 -0
  293. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/data_generation/keras/model_info_exctractors.py +0 -0
  294. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/data_generation/keras/optimization_functions/__init__.py +0 -0
  295. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/data_generation/keras/optimization_functions/batchnorm_alignment_functions.py +0 -0
  296. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/data_generation/keras/optimization_functions/bn_layer_weighting_functions.py +0 -0
  297. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/data_generation/keras/optimization_functions/image_initilization.py +0 -0
  298. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/data_generation/keras/optimization_functions/output_loss_functions.py +0 -0
  299. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/data_generation/keras/optimization_functions/scheduler_step_functions.py +0 -0
  300. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/data_generation/keras/optimization_utils.py +0 -0
  301. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/data_generation/pytorch/__init__.py +0 -0
  302. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/data_generation/pytorch/constants.py +0 -0
  303. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/data_generation/pytorch/image_pipeline.py +0 -0
  304. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/data_generation/pytorch/model_info_exctractors.py +0 -0
  305. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/data_generation/pytorch/optimization_functions/__init__.py +0 -0
  306. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/data_generation/pytorch/optimization_functions/batchnorm_alignment_functions.py +0 -0
  307. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/data_generation/pytorch/optimization_functions/bn_layer_weighting_functions.py +0 -0
  308. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/data_generation/pytorch/optimization_functions/image_initilization.py +0 -0
  309. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/data_generation/pytorch/optimization_functions/output_loss_functions.py +0 -0
  310. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/data_generation/pytorch/optimization_functions/scheduler_step_functions.py +0 -0
  311. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/data_generation/pytorch/optimization_utils.py +0 -0
  312. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/defaultdict.py +0 -0
  313. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/exporter/__init__.py +0 -0
  314. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/exporter/model_exporter/__init__.py +0 -0
  315. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/exporter/model_exporter/fw_agonstic/__init__.py +0 -0
  316. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/exporter/model_exporter/fw_agonstic/exporter.py +0 -0
  317. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/exporter/model_exporter/fw_agonstic/quantization_format.py +0 -0
  318. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/exporter/model_exporter/keras/__init__.py +0 -0
  319. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/exporter/model_exporter/keras/base_keras_exporter.py +0 -0
  320. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/exporter/model_exporter/keras/export_serialization_format.py +0 -0
  321. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/exporter/model_exporter/keras/fakely_quant_keras_exporter.py +0 -0
  322. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/exporter/model_exporter/keras/fakely_quant_tflite_exporter.py +0 -0
  323. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/exporter/model_exporter/keras/int8_tflite_exporter.py +0 -0
  324. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/exporter/model_exporter/keras/keras_export_facade.py +0 -0
  325. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/exporter/model_exporter/keras/mctq_keras_exporter.py +0 -0
  326. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/exporter/model_exporter/pytorch/__init__.py +0 -0
  327. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/exporter/model_exporter/pytorch/base_pytorch_exporter.py +0 -0
  328. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/exporter/model_exporter/pytorch/export_serialization_format.py +0 -0
  329. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/exporter/model_exporter/pytorch/fakely_quant_torchscript_pytorch_exporter.py +0 -0
  330. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/exporter/model_wrapper/__init__.py +0 -0
  331. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/exporter/model_wrapper/fw_agnostic/__init__.py +0 -0
  332. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/exporter/model_wrapper/fw_agnostic/get_inferable_quantizers.py +0 -0
  333. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/exporter/model_wrapper/keras/__init__.py +0 -0
  334. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/exporter/model_wrapper/keras/builder/__init__.py +0 -0
  335. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/exporter/model_wrapper/keras/builder/fully_quantized_model_builder.py +0 -0
  336. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/exporter/model_wrapper/keras/builder/node_to_quantizer.py +0 -0
  337. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/exporter/model_wrapper/keras/validate_layer.py +0 -0
  338. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/exporter/model_wrapper/pytorch/__init__.py +0 -0
  339. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/exporter/model_wrapper/pytorch/builder/__init__.py +0 -0
  340. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/exporter/model_wrapper/pytorch/builder/fully_quantized_model_builder.py +0 -0
  341. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/exporter/model_wrapper/pytorch/builder/node_to_quantizer.py +0 -0
  342. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/exporter/model_wrapper/pytorch/validate_layer.py +0 -0
  343. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/gptq/__init__.py +0 -0
  344. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/gptq/common/__init__.py +0 -0
  345. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/gptq/common/gptq_config.py +0 -0
  346. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/gptq/common/gptq_constants.py +0 -0
  347. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/gptq/common/gptq_framework_implementation.py +0 -0
  348. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/gptq/common/gptq_graph.py +0 -0
  349. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/gptq/common/gptq_training.py +0 -0
  350. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/gptq/keras/__init__.py +0 -0
  351. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/gptq/keras/gptq_keras_implementation.py +0 -0
  352. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/gptq/keras/gptq_loss.py +0 -0
  353. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/gptq/keras/gptq_training.py +0 -0
  354. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/gptq/keras/graph_info.py +0 -0
  355. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/gptq/keras/quantization_facade.py +0 -0
  356. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/gptq/keras/quantizer/__init__.py +0 -0
  357. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/gptq/keras/quantizer/base_keras_gptq_quantizer.py +0 -0
  358. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/gptq/keras/quantizer/quant_utils.py +0 -0
  359. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/gptq/keras/quantizer/quantization_builder.py +0 -0
  360. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/gptq/keras/quantizer/regularization_factory.py +0 -0
  361. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/gptq/keras/quantizer/soft_rounding/__init__.py +0 -0
  362. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/gptq/keras/quantizer/soft_rounding/soft_quantizer_reg.py +0 -0
  363. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/gptq/keras/quantizer/soft_rounding/symmetric_soft_quantizer.py +0 -0
  364. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/gptq/keras/quantizer/soft_rounding/uniform_soft_quantizer.py +0 -0
  365. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/gptq/keras/quantizer/ste_rounding/__init__.py +0 -0
  366. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/gptq/keras/quantizer/ste_rounding/symmetric_ste.py +0 -0
  367. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/gptq/pytorch/__init__.py +0 -0
  368. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/gptq/pytorch/gptq_loss.py +0 -0
  369. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/gptq/pytorch/gptq_pytorch_implementation.py +0 -0
  370. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/gptq/pytorch/gptq_training.py +0 -0
  371. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/gptq/pytorch/graph_info.py +0 -0
  372. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/gptq/pytorch/quantization_facade.py +0 -0
  373. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/gptq/pytorch/quantizer/__init__.py +0 -0
  374. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/gptq/pytorch/quantizer/base_pytorch_gptq_quantizer.py +0 -0
  375. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/gptq/pytorch/quantizer/quant_utils.py +0 -0
  376. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/gptq/pytorch/quantizer/quantization_builder.py +0 -0
  377. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/gptq/pytorch/quantizer/regularization_factory.py +0 -0
  378. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/gptq/pytorch/quantizer/soft_rounding/__init__.py +0 -0
  379. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/gptq/pytorch/quantizer/soft_rounding/soft_quantizer_reg.py +0 -0
  380. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/gptq/pytorch/quantizer/soft_rounding/symmetric_soft_quantizer.py +0 -0
  381. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/gptq/pytorch/quantizer/soft_rounding/uniform_soft_quantizer.py +0 -0
  382. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/gptq/pytorch/quantizer/ste_rounding/__init__.py +0 -0
  383. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/gptq/pytorch/quantizer/ste_rounding/symmetric_ste.py +0 -0
  384. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/gptq/runner.py +0 -0
  385. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/logger.py +0 -0
  386. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/metadata.py +0 -0
  387. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/pruning/__init__.py +0 -0
  388. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/pruning/keras/__init__.py +0 -0
  389. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/pruning/keras/pruning_facade.py +0 -0
  390. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/pruning/pytorch/__init__.py +0 -0
  391. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/pruning/pytorch/pruning_facade.py +0 -0
  392. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/ptq/__init__.py +0 -0
  393. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/ptq/keras/__init__.py +0 -0
  394. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/ptq/keras/quantization_facade.py +0 -0
  395. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/ptq/pytorch/__init__.py +0 -0
  396. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/ptq/pytorch/quantization_facade.py +0 -0
  397. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/ptq/runner.py +0 -0
  398. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/qat/__init__.py +0 -0
  399. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/qat/common/__init__.py +0 -0
  400. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/qat/common/qat_config.py +0 -0
  401. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/qat/keras/__init__.py +0 -0
  402. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/qat/keras/quantization_facade.py +0 -0
  403. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/qat/keras/quantizer/__init__.py +0 -0
  404. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/qat/keras/quantizer/base_keras_qat_quantizer.py +0 -0
  405. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/qat/keras/quantizer/lsq/__init__.py +0 -0
  406. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/qat/keras/quantizer/lsq/symmetric_lsq.py +0 -0
  407. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/qat/keras/quantizer/lsq/uniform_lsq.py +0 -0
  408. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/qat/keras/quantizer/quant_utils.py +0 -0
  409. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/qat/keras/quantizer/quantization_builder.py +0 -0
  410. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/qat/keras/quantizer/ste_rounding/__init__.py +0 -0
  411. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/qat/keras/quantizer/ste_rounding/symmetric_ste.py +0 -0
  412. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/qat/keras/quantizer/ste_rounding/uniform_ste.py +0 -0
  413. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/qat/pytorch/__init__.py +0 -0
  414. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/qat/pytorch/quantization_facade.py +0 -0
  415. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/qat/pytorch/quantizer/__init__.py +0 -0
  416. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/qat/pytorch/quantizer/base_pytorch_qat_quantizer.py +0 -0
  417. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/qat/pytorch/quantizer/lsq/__init__.py +0 -0
  418. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/qat/pytorch/quantizer/lsq/symmetric_lsq.py +0 -0
  419. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/qat/pytorch/quantizer/lsq/uniform_lsq.py +0 -0
  420. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/qat/pytorch/quantizer/quantization_builder.py +0 -0
  421. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/qat/pytorch/quantizer/quantizer_utils.py +0 -0
  422. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/qat/pytorch/quantizer/ste_rounding/__init__.py +0 -0
  423. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/qat/pytorch/quantizer/ste_rounding/symmetric_ste.py +0 -0
  424. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/qat/pytorch/quantizer/ste_rounding/uniform_ste.py +0 -0
  425. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/target_platform_capabilities/__init__.py +0 -0
  426. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/target_platform_capabilities/constants.py +0 -0
  427. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/target_platform_capabilities/immutable.py +0 -0
  428. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/target_platform_capabilities/target_platform/__init__.py +0 -0
  429. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/target_platform_capabilities/target_platform/current_tp_model.py +0 -0
  430. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/target_platform_capabilities/target_platform/fusing.py +0 -0
  431. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/target_platform_capabilities/target_platform/op_quantization_config.py +0 -0
  432. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/target_platform_capabilities/target_platform/operators.py +0 -0
  433. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/target_platform_capabilities/target_platform/target_platform_model.py +0 -0
  434. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/target_platform_capabilities/target_platform/target_platform_model_component.py +0 -0
  435. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/__init__.py +0 -0
  436. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/attribute_filter.py +0 -0
  437. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/current_tpc.py +0 -0
  438. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/layer_filter_params.py +0 -0
  439. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/operations_to_layers.py +0 -0
  440. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/target_platform_capabilities.py +0 -0
  441. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/target_platform_capabilities_component.py +0 -0
  442. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/target_platform_capabilities/tpc_models/__init__.py +0 -0
  443. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/target_platform_capabilities/tpc_models/get_target_platform_capabilities.py +0 -0
  444. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/__init__.py +0 -0
  445. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/latest/__init__.py +0 -0
  446. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/target_platform_capabilities.py +0 -0
  447. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1/__init__.py +0 -0
  448. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1/tp_model.py +0 -0
  449. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1/tpc_keras.py +0 -0
  450. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1/tpc_pytorch.py +0 -0
  451. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_lut/__init__.py +0 -0
  452. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_lut/tp_model.py +0 -0
  453. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_lut/tpc_keras.py +0 -0
  454. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_lut/tpc_pytorch.py +0 -0
  455. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_pot/__init__.py +0 -0
  456. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_pot/tp_model.py +0 -0
  457. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_pot/tpc_keras.py +0 -0
  458. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1_pot/tpc_pytorch.py +0 -0
  459. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2/__init__.py +0 -0
  460. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2/tpc_keras.py +0 -0
  461. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2/tpc_pytorch.py +0 -0
  462. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2_lut/__init__.py +0 -0
  463. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2_lut/tpc_keras.py +0 -0
  464. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2_lut/tpc_pytorch.py +0 -0
  465. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/__init__.py +0 -0
  466. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/latest/__init__.py +0 -0
  467. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/target_platform_capabilities.py +0 -0
  468. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/v1/__init__.py +0 -0
  469. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/v1/tp_model.py +0 -0
  470. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/v1/tpc_keras.py +0 -0
  471. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/v1/tpc_pytorch.py +0 -0
  472. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/__init__.py +0 -0
  473. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/latest/__init__.py +0 -0
  474. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/target_platform_capabilities.py +0 -0
  475. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/v1/__init__.py +0 -0
  476. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/v1/tp_model.py +0 -0
  477. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/v1/tpc_keras.py +0 -0
  478. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/v1/tpc_pytorch.py +0 -0
  479. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/trainable_infrastructure/__init__.py +0 -0
  480. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/trainable_infrastructure/common/__init__.py +0 -0
  481. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/trainable_infrastructure/common/base_trainable_quantizer.py +0 -0
  482. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/trainable_infrastructure/common/constants.py +0 -0
  483. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/trainable_infrastructure/common/get_quantizer_config.py +0 -0
  484. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/trainable_infrastructure/common/get_quantizers.py +0 -0
  485. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/trainable_infrastructure/common/quant_utils.py +0 -0
  486. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/trainable_infrastructure/common/trainable_quantizer_config.py +0 -0
  487. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/trainable_infrastructure/keras/__init__.py +0 -0
  488. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/trainable_infrastructure/keras/base_keras_quantizer.py +0 -0
  489. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/trainable_infrastructure/keras/config_serialization.py +0 -0
  490. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/trainable_infrastructure/keras/load_model.py +0 -0
  491. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/trainable_infrastructure/keras/quantize_wrapper.py +0 -0
  492. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/trainable_infrastructure/keras/quantizer_utils.py +0 -0
  493. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/trainable_infrastructure/pytorch/__init__.py +0 -0
  494. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/model_compression_toolkit/trainable_infrastructure/pytorch/base_pytorch_quantizer.py +0 -0
  495. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/setup.cfg +0 -0
  496. {mct-nightly-2.0.0.20240509.406 → mct-nightly-2.0.0.20240510.421}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mct-nightly
3
- Version: 2.0.0.20240509.406
3
+ Version: 2.0.0.20240510.421
4
4
  Summary: A Model Compression Toolkit for neural networks
5
5
  Home-page: UNKNOWN
6
6
  License: UNKNOWN
@@ -47,9 +47,9 @@ Description: # Model Compression Toolkit (MCT)
47
47
  Explore the Model Compression Toolkit (MCT) through our tutorials,
48
48
  covering compression techniques for Keras and PyTorch models. Access interactive [notebooks](tutorials/README.md)
49
49
  for hands-on learning. For example:
50
- * [Keras MobileNetV2 post training quantization](tutorials/notebooks/keras/ptq/example_keras_imagenet.ipynb)
51
- * [Post training quantization with PyTorch](tutorials/notebooks/pytorch/ptq/example_pytorch_quantization_mnist.ipynb)
52
- * [Data Generation for ResNet18 with PyTorch](tutorials/notebooks/pytorch/data_generation/example_pytorch_data_generation.ipynb).
50
+ * [Keras MobileNetV2 post training quantization](tutorials/notebooks/imx500_notebooks/keras/example_keras_mobilenetv2_for_imx500.ipynb)
51
+ * [Post training quantization with PyTorch](tutorials/notebooks/mct_features_notebooks/pytorch/example_pytorch_ptq_mnist.ipynb)
52
+ * [Data Generation for ResNet18 with PyTorch](tutorials/notebooks/mct_features_notebooks/pytorch/example_pytorch_data_generation.ipynb).
53
53
 
54
54
 
55
55
  ### Supported Versions
@@ -152,8 +152,6 @@ Description: # Model Compression Toolkit (MCT)
152
152
  | ResNet-18 [3] | 69.86 | 69.63 |69.53|
153
153
  | SqueezeNet 1.1 [3] | 58.128 | 57.678 ||
154
154
 
155
- For more results, please refer to [quick start](https://github.com/sony/model_optimization/tree/main/tutorials/quick_start).
156
-
157
155
 
158
156
  #### Pruning Results
159
157
 
@@ -41,9 +41,9 @@ For installing the nightly version or installing from source, refer to the [inst
41
41
  Explore the Model Compression Toolkit (MCT) through our tutorials,
42
42
  covering compression techniques for Keras and PyTorch models. Access interactive [notebooks](tutorials/README.md)
43
43
  for hands-on learning. For example:
44
- * [Keras MobileNetV2 post training quantization](tutorials/notebooks/keras/ptq/example_keras_imagenet.ipynb)
45
- * [Post training quantization with PyTorch](tutorials/notebooks/pytorch/ptq/example_pytorch_quantization_mnist.ipynb)
46
- * [Data Generation for ResNet18 with PyTorch](tutorials/notebooks/pytorch/data_generation/example_pytorch_data_generation.ipynb).
44
+ * [Keras MobileNetV2 post training quantization](tutorials/notebooks/imx500_notebooks/keras/example_keras_mobilenetv2_for_imx500.ipynb)
45
+ * [Post training quantization with PyTorch](tutorials/notebooks/mct_features_notebooks/pytorch/example_pytorch_ptq_mnist.ipynb)
46
+ * [Data Generation for ResNet18 with PyTorch](tutorials/notebooks/mct_features_notebooks/pytorch/example_pytorch_data_generation.ipynb).
47
47
 
48
48
 
49
49
  ### Supported Versions
@@ -146,8 +146,6 @@ In the following table we present the ImageNet validation results for these mode
146
146
  | ResNet-18 [3] | 69.86 | 69.63 |69.53|
147
147
  | SqueezeNet 1.1 [3] | 58.128 | 57.678 ||
148
148
 
149
- For more results, please refer to [quick start](https://github.com/sony/model_optimization/tree/main/tutorials/quick_start).
150
-
151
149
 
152
150
  #### Pruning Results
153
151
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mct-nightly
3
- Version: 2.0.0.20240509.406
3
+ Version: 2.0.0.20240510.421
4
4
  Summary: A Model Compression Toolkit for neural networks
5
5
  Home-page: UNKNOWN
6
6
  License: UNKNOWN
@@ -47,9 +47,9 @@ Description: # Model Compression Toolkit (MCT)
47
47
  Explore the Model Compression Toolkit (MCT) through our tutorials,
48
48
  covering compression techniques for Keras and PyTorch models. Access interactive [notebooks](tutorials/README.md)
49
49
  for hands-on learning. For example:
50
- * [Keras MobileNetV2 post training quantization](tutorials/notebooks/keras/ptq/example_keras_imagenet.ipynb)
51
- * [Post training quantization with PyTorch](tutorials/notebooks/pytorch/ptq/example_pytorch_quantization_mnist.ipynb)
52
- * [Data Generation for ResNet18 with PyTorch](tutorials/notebooks/pytorch/data_generation/example_pytorch_data_generation.ipynb).
50
+ * [Keras MobileNetV2 post training quantization](tutorials/notebooks/imx500_notebooks/keras/example_keras_mobilenetv2_for_imx500.ipynb)
51
+ * [Post training quantization with PyTorch](tutorials/notebooks/mct_features_notebooks/pytorch/example_pytorch_ptq_mnist.ipynb)
52
+ * [Data Generation for ResNet18 with PyTorch](tutorials/notebooks/mct_features_notebooks/pytorch/example_pytorch_data_generation.ipynb).
53
53
 
54
54
 
55
55
  ### Supported Versions
@@ -152,8 +152,6 @@ Description: # Model Compression Toolkit (MCT)
152
152
  | ResNet-18 [3] | 69.86 | 69.63 |69.53|
153
153
  | SqueezeNet 1.1 [3] | 58.128 | 57.678 ||
154
154
 
155
- For more results, please refer to [quick start](https://github.com/sony/model_optimization/tree/main/tutorials/quick_start).
156
-
157
155
 
158
156
  #### Pruning Results
159
157
 
@@ -27,4 +27,4 @@ from model_compression_toolkit import data_generation
27
27
  from model_compression_toolkit import pruning
28
28
  from model_compression_toolkit.trainable_infrastructure.keras.load_model import keras_load_quantized_model
29
29
 
30
- __version__ = "2.0.0.20240509.000406"
30
+ __version__ = "2.0.0.20240510.000421"
@@ -20,6 +20,7 @@ TENSORFLOW = 'tensorflow'
20
20
  PYTORCH = 'pytorch'
21
21
  FOUND_TF = importlib.util.find_spec(TENSORFLOW) is not None
22
22
  FOUND_TORCH = importlib.util.find_spec("torch") is not None
23
+ FOUND_TORCHVISION = importlib.util.find_spec("torchvision") is not None
23
24
  FOUND_ONNX = importlib.util.find_spec("onnx") is not None
24
25
  FOUND_ONNXRUNTIME = importlib.util.find_spec("onnxruntime") is not None
25
26
  FOUND_SONY_CUSTOM_LAYERS = importlib.util.find_spec('sony_custom_layers') is not None
@@ -75,7 +75,7 @@ def get_node_properties(node_dict_to_log: dict,
75
75
  for output_shape in output_shapes: # create protobuf for each output shape
76
76
  proto_dims_list = []
77
77
  for dim in output_shape:
78
- proto_dims_list.append(TensorShapeProto.Dim(size=dim))
78
+ proto_dims_list.append(TensorShapeProto.Dim(size=dim)) # dim is expected to be an integer
79
79
  tshape_proto = TensorShapeProto(dim=proto_dims_list)
80
80
  tshape_protos.append(tshape_proto)
81
81
  node_properties['_output_shapes'] = AttrValue(list=AttrValue.ListValue(shape=tshape_protos))
@@ -263,7 +263,13 @@ class TensorboardWriter(object):
263
263
 
264
264
  # For nodes with an "empty" output shape.
265
265
  output_shape = (None,) if n.output_shape == () else n.output_shape
266
-
266
+ if 'CombinedNonMaxSuppression' in str(output_shape):
267
+ # output_shapes is expected to be a list of tuples where each tuple is an output shape.
268
+ # For NMS layers, we need to align the node's output shapes before creating the node's properties.
269
+ output_shape = [output_shape.nmsed_boxes,
270
+ output_shape.nmsed_scores,
271
+ output_shape.nmsed_classes,
272
+ output_shape.valid_detections]
267
273
  dims = []
268
274
  if isinstance(output_shape, list):
269
275
  for o in output_shape:
@@ -13,7 +13,7 @@
13
13
  # limitations under the License.
14
14
  # ==============================================================================
15
15
 
16
- from model_compression_toolkit.constants import FOUND_TORCH, FOUND_TF
16
+ from model_compression_toolkit.constants import FOUND_TORCH, FOUND_TF, FOUND_TORCHVISION
17
17
  from model_compression_toolkit.data_generation.common.data_generation_config import DataGenerationConfig
18
18
  from model_compression_toolkit.data_generation.common.enums import ImageGranularity, DataInitType, SchedulerType, BNLayerWeightingType, OutputLossType, BatchNormAlignemntLossType, ImagePipelineType, ImageNormalizationType
19
19
 
@@ -21,6 +21,6 @@ if FOUND_TF:
21
21
  from model_compression_toolkit.data_generation.keras.keras_data_generation import (
22
22
  keras_data_generation_experimental, get_keras_data_generation_config)
23
23
 
24
- if FOUND_TORCH:
24
+ if FOUND_TORCH and FOUND_TORCHVISION:
25
25
  from model_compression_toolkit.data_generation.pytorch.pytorch_data_generation import (
26
26
  pytorch_data_generation_experimental, get_pytorch_data_generation_config)
@@ -17,7 +17,7 @@ from typing import Callable, Any, Tuple, List
17
17
 
18
18
  from tqdm import tqdm
19
19
 
20
- from model_compression_toolkit.constants import FOUND_TORCH
20
+ from model_compression_toolkit.constants import FOUND_TORCH, FOUND_TORCHVISION
21
21
  from model_compression_toolkit.core.pytorch.utils import set_model
22
22
  from model_compression_toolkit.data_generation.common.constants import DEFAULT_N_ITER, DEFAULT_DATA_GEN_BS
23
23
  from model_compression_toolkit.data_generation.common.data_generation import get_data_generation_classes
@@ -44,7 +44,7 @@ from model_compression_toolkit.data_generation.pytorch.optimization_functions.sc
44
44
  from model_compression_toolkit.data_generation.pytorch.optimization_utils import PytorchImagesOptimizationHandler
45
45
  from model_compression_toolkit.logger import Logger
46
46
 
47
- if FOUND_TORCH:
47
+ if FOUND_TORCH and FOUND_TORCHVISION:
48
48
  # Importing necessary libraries
49
49
  import torch
50
50
  from torch import Tensor
@@ -354,10 +354,9 @@ else:
354
354
  # If torch is not installed,
355
355
  # we raise an exception when trying to use these functions.
356
356
  def get_pytorch_data_generation_config(*args, **kwargs):
357
- Logger.critical('PyTorch must be installed to use get_pytorch_data_generation_config. '
358
- "The 'torch' package is missing.") # pragma: no cover
359
-
357
+ msg = f"PyTorch and torchvision must be installed to use get_pytorch_data_generation_config. " + ("" if FOUND_TORCH else "The 'torch' package is missing. ") + ("" if FOUND_TORCHVISION else "The 'torchvision' package is missing. ") # pragma: no cover
358
+ Logger.critical(msg) # pragma: no cover
360
359
 
361
360
  def pytorch_data_generation_experimental(*args, **kwargs):
362
- Logger.critical("PyTorch must be installed to use 'pytorch_data_generation_experimental'. "
363
- "The 'torch' package is missing.") # pragma: no cover
361
+ msg = f"PyTorch and torchvision must be installed to use pytorch_data_generation_experimental. " + ("" if FOUND_TORCH else "The 'torch' package is missing. ") + ("" if FOUND_TORCHVISION else "The 'torchvision' package is missing. ") # pragma: no cover
362
+ Logger.critical(msg) # pragma: no cover
@@ -0,0 +1,138 @@
1
+ # Copyright 2022 Sony Semiconductor Israel, Inc. All rights reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+ # ==============================================================================
15
+ from typing import Callable
16
+ from io import BytesIO
17
+
18
+ import torch.nn
19
+
20
+ from mct_quantizers import PytorchActivationQuantizationHolder, PytorchQuantizationWrapper
21
+ from model_compression_toolkit.constants import FOUND_ONNX
22
+ from model_compression_toolkit.logger import Logger
23
+ from model_compression_toolkit.core.pytorch.utils import to_torch_tensor
24
+ from model_compression_toolkit.exporter.model_exporter.pytorch.base_pytorch_exporter import BasePyTorchExporter
25
+ from mct_quantizers import pytorch_quantizers
26
+
27
+
28
+ if FOUND_ONNX:
29
+ import onnx
30
+ from mct_quantizers.pytorch.metadata import add_onnx_metadata
31
+
32
+ class FakelyQuantONNXPyTorchExporter(BasePyTorchExporter):
33
+ """
34
+ Exporter for fakely-quant PyTorch models.
35
+ The exporter expects to receive an exportable model (where each layer's full quantization parameters
36
+ can be retrieved), and convert it into a fakely-quant model (namely, weights that are in fake-quant
37
+ format) and fake-quant layers for the activations.
38
+ """
39
+
40
+ def __init__(self,
41
+ model: torch.nn.Module,
42
+ is_layer_exportable_fn: Callable,
43
+ save_model_path: str,
44
+ repr_dataset: Callable,
45
+ onnx_opset_version: int,
46
+ use_onnx_custom_quantizer_ops: bool = False):
47
+ """
48
+
49
+ Args:
50
+ model: Model to export.
51
+ is_layer_exportable_fn: Callable to check whether a layer can be exported or not.
52
+ save_model_path: Path to save the exported model.
53
+ repr_dataset: Representative dataset (needed for creating torch script).
54
+ onnx_opset_version: ONNX opset version to use for exported ONNX model.
55
+ use_onnx_custom_quantizer_ops: Whether to export quantizers custom ops in ONNX or not.
56
+ """
57
+
58
+ super().__init__(model,
59
+ is_layer_exportable_fn,
60
+ save_model_path,
61
+ repr_dataset)
62
+
63
+ self._use_onnx_custom_quantizer_ops = use_onnx_custom_quantizer_ops
64
+ self._onnx_opset_version = onnx_opset_version
65
+
66
+ def export(self) -> None:
67
+ """
68
+ Convert an exportable (fully-quantized) PyTorch model to a fakely-quant model
69
+ (namely, weights that are in fake-quant format) and fake-quant layers for the activations.
70
+
71
+ Returns:
72
+ Fake-quant PyTorch model.
73
+ """
74
+ for layer in self.model.children():
75
+ self.is_layer_exportable_fn(layer)
76
+
77
+ # Set forward that is used during onnx export.
78
+ # If _use_onnx_custom_quantizer_ops is set to True, the quantizer forward function will use
79
+ # the custom implementation when exporting the operator into onnx model. If not, it removes the
80
+ # wraps and quantizes the ops in place (for weights, for activation torch quantization function is
81
+ # exported since it's used during forward).
82
+ if self._use_onnx_custom_quantizer_ops:
83
+ self._enable_onnx_custom_ops_export()
84
+ else:
85
+ self._substitute_fully_quantized_model()
86
+
87
+ if self._use_onnx_custom_quantizer_ops:
88
+ Logger.info(f"Exporting onnx model with MCTQ quantizers: {self.save_model_path}")
89
+ else:
90
+ Logger.info(f"Exporting fake-quant onnx model: {self.save_model_path}")
91
+
92
+ model_input = to_torch_tensor(next(self.repr_dataset())[0])
93
+
94
+ if hasattr(self.model, 'metadata'):
95
+ onnx_bytes = BytesIO()
96
+ torch.onnx.export(self.model,
97
+ model_input,
98
+ onnx_bytes,
99
+ opset_version=self._onnx_opset_version,
100
+ verbose=False,
101
+ input_names=['input'],
102
+ output_names=['output'],
103
+ dynamic_axes={'input': {0: 'batch_size'},
104
+ 'output': {0: 'batch_size'}})
105
+ onnx_model = onnx.load_from_string(onnx_bytes.getvalue())
106
+ onnx_model = add_onnx_metadata(onnx_model, self.model.metadata)
107
+ onnx.save_model(onnx_model, self.save_model_path)
108
+ else:
109
+ torch.onnx.export(self.model,
110
+ model_input,
111
+ self.save_model_path,
112
+ opset_version=self._onnx_opset_version,
113
+ verbose=False,
114
+ input_names=['input'],
115
+ output_names=['output'],
116
+ dynamic_axes={'input': {0: 'batch_size'},
117
+ 'output': {0: 'batch_size'}})
118
+
119
+ def _enable_onnx_custom_ops_export(self):
120
+ """
121
+ Enable the custom implementation forward in quantizers, so it is exported
122
+ with custom quantizers.
123
+ """
124
+
125
+ for n, m in self.model.named_modules():
126
+ if isinstance(m, PytorchActivationQuantizationHolder):
127
+ assert isinstance(m.activation_holder_quantizer, pytorch_quantizers.BasePyTorchInferableQuantizer)
128
+ m.activation_holder_quantizer.enable_custom_impl()
129
+
130
+ if isinstance(m, PytorchQuantizationWrapper):
131
+ for wq in m.weights_quantizers.values():
132
+ assert isinstance(wq, pytorch_quantizers.BasePyTorchInferableQuantizer)
133
+ wq.enable_custom_impl()
134
+
135
+ else:
136
+ def FakelyQuantONNXPyTorchExporter(*args, **kwargs):
137
+ Logger.critical("ONNX must be installed to use 'FakelyQuantONNXPyTorchExporter'. "
138
+ "The 'onnx' package is missing.") # pragma: no cover
@@ -19,15 +19,15 @@ from model_compression_toolkit.exporter.model_exporter.fw_agonstic.quantization_
19
19
  from model_compression_toolkit.exporter.model_exporter.pytorch.export_serialization_format import \
20
20
  PytorchExportSerializationFormat
21
21
  from model_compression_toolkit.logger import Logger
22
- from model_compression_toolkit.target_platform_capabilities.target_platform import TargetPlatformCapabilities
22
+
23
+
24
+ DEFAULT_ONNX_OPSET_VERSION = 15
23
25
 
24
26
 
25
27
  if FOUND_TORCH:
26
28
  import torch.nn
27
- from model_compression_toolkit.exporter.model_exporter.pytorch.fakely_quant_onnx_pytorch_exporter import \
28
- FakelyQuantONNXPyTorchExporter, DEFAULT_ONNX_OPSET_VERSION
29
- from model_compression_toolkit.exporter.model_exporter.pytorch.fakely_quant_torchscript_pytorch_exporter import \
30
- FakelyQuantTorchScriptPyTorchExporter
29
+ from model_compression_toolkit.exporter.model_exporter.pytorch.fakely_quant_onnx_pytorch_exporter import FakelyQuantONNXPyTorchExporter
30
+ from model_compression_toolkit.exporter.model_exporter.pytorch.fakely_quant_torchscript_pytorch_exporter import FakelyQuantTorchScriptPyTorchExporter
31
31
  from model_compression_toolkit.exporter.model_wrapper.pytorch.validate_layer import is_pytorch_layer_exportable
32
32
 
33
33
  supported_serialization_quantization_export_dict = {
@@ -152,19 +152,6 @@ def generate_tp_model(default_config: OpQuantizationConfig,
152
152
  # this configuration will be used for the operation quantization:
153
153
  default_configuration_options = tp.QuantizationConfigOptions([default_config])
154
154
 
155
- # Create a QuantizationConfigOptions for quantizing constants in functional ops.
156
- # Constant configuration is similar to the default eight bit configuration except for PoT
157
- # quantization method for the constant.
158
- # Since the constants are not named attributes of the layer, we use the default_weight_attr_config to
159
- # define the desired quantization properties for them.
160
- const_config = default_config.clone_and_edit(
161
- default_weight_attr_config=default_config.default_weight_attr_config.clone_and_edit(
162
- enable_weights_quantization=True))
163
- if not (const_config.default_weight_attr_config.weights_quantization_method == tp.QuantizationMethod.POWER_OF_TWO and
164
- const_config.default_weight_attr_config.weights_per_channel_threshold is False):
165
- mct.logger.Logger.error('Constant quantization config should be per-tensor PoT.')
166
- const_configuration_options = tp.QuantizationConfigOptions([const_config])
167
-
168
155
  # Create a TargetPlatformModel and set its default quantization config.
169
156
  # This default configuration will be used for all operations
170
157
  # unless specified otherwise (see OperatorsSet, for example):
@@ -198,10 +185,10 @@ def generate_tp_model(default_config: OpQuantizationConfig,
198
185
  # Define operations sets without quantization configuration
199
186
  # options (useful for creating fusing patterns, for example):
200
187
  any_relu = tp.OperatorsSet("AnyReLU")
201
- add = tp.OperatorsSet("Add", const_configuration_options)
202
- sub = tp.OperatorsSet("Sub", const_configuration_options)
203
- mul = tp.OperatorsSet("Mul", const_configuration_options)
204
- div = tp.OperatorsSet("Div", const_configuration_options)
188
+ add = tp.OperatorsSet("Add")
189
+ sub = tp.OperatorsSet("Sub")
190
+ mul = tp.OperatorsSet("Mul")
191
+ div = tp.OperatorsSet("Div")
205
192
  prelu = tp.OperatorsSet("PReLU")
206
193
  swish = tp.OperatorsSet("Swish")
207
194
  sigmoid = tp.OperatorsSet("Sigmoid")
@@ -151,19 +151,6 @@ def generate_tp_model(default_config: OpQuantizationConfig,
151
151
  # this configuration will be used for the operation quantization:
152
152
  default_configuration_options = tp.QuantizationConfigOptions([default_config])
153
153
 
154
- # Create a QuantizationConfigOptions for quantizing constants in functional ops.
155
- # Constant configuration is similar to the default eight bit configuration except for PoT
156
- # quantization method for the constant.
157
- # Since the constants are not named attributes of the layer, we use the default_weight_attr_config to
158
- # define the desired quantization properties for them.
159
- const_config = default_config.clone_and_edit(
160
- default_weight_attr_config=default_config.default_weight_attr_config.clone_and_edit(
161
- enable_weights_quantization=True))
162
- if not (const_config.default_weight_attr_config.weights_quantization_method == tp.QuantizationMethod.POWER_OF_TWO and
163
- const_config.default_weight_attr_config.weights_per_channel_threshold is False):
164
- mct.logger.Logger.error('Constant quantization config should be per-tensor PoT.')
165
- const_configuration_options = tp.QuantizationConfigOptions([const_config])
166
-
167
154
  # Create a TargetPlatformModel and set its default quantization config.
168
155
  # This default configuration will be used for all operations
169
156
  # unless specified otherwise (see OperatorsSet, for example):
@@ -195,10 +182,10 @@ def generate_tp_model(default_config: OpQuantizationConfig,
195
182
  # Define operations sets without quantization configuration
196
183
  # options (useful for creating fusing patterns, for example):
197
184
  any_relu = tp.OperatorsSet("AnyReLU")
198
- add = tp.OperatorsSet("Add", const_configuration_options)
199
- sub = tp.OperatorsSet("Sub", const_configuration_options)
200
- mul = tp.OperatorsSet("Mul", const_configuration_options)
201
- div = tp.OperatorsSet("Div", const_configuration_options)
185
+ add = tp.OperatorsSet("Add")
186
+ sub = tp.OperatorsSet("Sub")
187
+ mul = tp.OperatorsSet("Mul")
188
+ div = tp.OperatorsSet("Div")
202
189
  prelu = tp.OperatorsSet("PReLU")
203
190
  swish = tp.OperatorsSet("Swish")
204
191
  sigmoid = tp.OperatorsSet("Sigmoid")
@@ -1,132 +0,0 @@
1
- # Copyright 2022 Sony Semiconductor Israel, Inc. All rights reserved.
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # http://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
- # ==============================================================================
15
- from typing import Callable
16
- from io import BytesIO
17
-
18
- import torch.nn
19
- import onnx
20
-
21
- from mct_quantizers import PytorchActivationQuantizationHolder, PytorchQuantizationWrapper
22
- from model_compression_toolkit.logger import Logger
23
- from model_compression_toolkit.core.pytorch.utils import to_torch_tensor
24
- from model_compression_toolkit.exporter.model_exporter.pytorch.base_pytorch_exporter import BasePyTorchExporter
25
- from mct_quantizers import pytorch_quantizers
26
- from mct_quantizers.pytorch.metadata import add_onnx_metadata
27
-
28
- DEFAULT_ONNX_OPSET_VERSION=15
29
-
30
-
31
- class FakelyQuantONNXPyTorchExporter(BasePyTorchExporter):
32
- """
33
- Exporter for fakely-quant PyTorch models.
34
- The exporter expects to receive an exportable model (where each layer's full quantization parameters
35
- can be retrieved), and convert it into a fakely-quant model (namely, weights that are in fake-quant
36
- format) and fake-quant layers for the activations.
37
- """
38
-
39
- def __init__(self,
40
- model: torch.nn.Module,
41
- is_layer_exportable_fn: Callable,
42
- save_model_path: str,
43
- repr_dataset: Callable,
44
- use_onnx_custom_quantizer_ops: bool = False,
45
- onnx_opset_version=DEFAULT_ONNX_OPSET_VERSION):
46
- """
47
-
48
- Args:
49
- model: Model to export.
50
- is_layer_exportable_fn: Callable to check whether a layer can be exported or not.
51
- save_model_path: Path to save the exported model.
52
- repr_dataset: Representative dataset (needed for creating torch script).
53
- use_onnx_custom_quantizer_ops: Whether to export quantizers custom ops in ONNX or not.
54
- onnx_opset_version: ONNX opset version to use for exported ONNX model.
55
- """
56
-
57
- super().__init__(model,
58
- is_layer_exportable_fn,
59
- save_model_path,
60
- repr_dataset)
61
-
62
- self._use_onnx_custom_quantizer_ops = use_onnx_custom_quantizer_ops
63
- self._onnx_opset_version = onnx_opset_version
64
-
65
- def export(self) -> None:
66
- """
67
- Convert an exportable (fully-quantized) PyTorch model to a fakely-quant model
68
- (namely, weights that are in fake-quant format) and fake-quant layers for the activations.
69
-
70
- Returns:
71
- Fake-quant PyTorch model.
72
- """
73
- for layer in self.model.children():
74
- self.is_layer_exportable_fn(layer)
75
-
76
- # Set forward that is used during onnx export.
77
- # If _use_onnx_custom_quantizer_ops is set to True, the quantizer forward function will use
78
- # the custom implementation when exporting the operator into onnx model. If not, it removes the
79
- # wraps and quantizes the ops in place (for weights, for activation torch quantization function is
80
- # exported since it's used during forward).
81
- if self._use_onnx_custom_quantizer_ops:
82
- self._enable_onnx_custom_ops_export()
83
- else:
84
- self._substitute_fully_quantized_model()
85
-
86
- if self._use_onnx_custom_quantizer_ops:
87
- Logger.info(f"Exporting onnx model with MCTQ quantizers: {self.save_model_path}")
88
- else:
89
- Logger.info(f"Exporting fake-quant onnx model: {self.save_model_path}")
90
-
91
- model_input = to_torch_tensor(next(self.repr_dataset())[0])
92
-
93
- if hasattr(self.model, 'metadata'):
94
- onnx_bytes = BytesIO()
95
- torch.onnx.export(self.model,
96
- model_input,
97
- onnx_bytes,
98
- opset_version=self._onnx_opset_version,
99
- verbose=False,
100
- input_names=['input'],
101
- output_names=['output'],
102
- dynamic_axes={'input': {0: 'batch_size'},
103
- 'output': {0: 'batch_size'}})
104
- onnx_model = onnx.load_from_string(onnx_bytes.getvalue())
105
- onnx_model = add_onnx_metadata(onnx_model, self.model.metadata)
106
- onnx.save_model(onnx_model, self.save_model_path)
107
- else:
108
- torch.onnx.export(self.model,
109
- model_input,
110
- self.save_model_path,
111
- opset_version=self._onnx_opset_version,
112
- verbose=False,
113
- input_names=['input'],
114
- output_names=['output'],
115
- dynamic_axes={'input': {0: 'batch_size'},
116
- 'output': {0: 'batch_size'}})
117
-
118
- def _enable_onnx_custom_ops_export(self):
119
- """
120
- Enable the custom implementation forward in quantizers, so it is exported
121
- with custom quantizers.
122
- """
123
-
124
- for n, m in self.model.named_modules():
125
- if isinstance(m, PytorchActivationQuantizationHolder):
126
- assert isinstance(m.activation_holder_quantizer, pytorch_quantizers.BasePyTorchInferableQuantizer)
127
- m.activation_holder_quantizer.enable_custom_impl()
128
-
129
- if isinstance(m, PytorchQuantizationWrapper):
130
- for wq in m.weights_quantizers.values():
131
- assert isinstance(wq, pytorch_quantizers.BasePyTorchInferableQuantizer)
132
- wq.enable_custom_impl()