mct-nightly 1.8.0.22042023.post414__py3-none-any.whl → 1.8.0.22052023.post408__py3-none-any.whl

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 (238) hide show
  1. {mct_nightly-1.8.0.22042023.post414.dist-info → mct_nightly-1.8.0.22052023.post408.dist-info}/METADATA +1 -1
  2. {mct_nightly-1.8.0.22042023.post414.dist-info → mct_nightly-1.8.0.22052023.post408.dist-info}/RECORD +237 -230
  3. model_compression_toolkit/__init__.py +8 -31
  4. model_compression_toolkit/{core/common/constants.py → constants.py} +2 -6
  5. model_compression_toolkit/core/__init__.py +14 -0
  6. model_compression_toolkit/core/analyzer.py +3 -2
  7. model_compression_toolkit/core/common/__init__.py +0 -1
  8. model_compression_toolkit/core/common/collectors/base_collector.py +1 -1
  9. model_compression_toolkit/core/common/collectors/mean_collector.py +1 -1
  10. model_compression_toolkit/core/common/collectors/min_max_per_channel_collector.py +1 -1
  11. model_compression_toolkit/core/common/framework_implementation.py +1 -8
  12. model_compression_toolkit/core/common/fusion/layer_fusing.py +2 -2
  13. model_compression_toolkit/core/common/graph/base_graph.py +1 -1
  14. model_compression_toolkit/core/common/graph/base_node.py +57 -1
  15. model_compression_toolkit/core/common/graph/memory_graph/bipartite_graph.py +1 -1
  16. model_compression_toolkit/core/common/graph/memory_graph/max_cut_astar.py +1 -1
  17. model_compression_toolkit/core/common/graph/virtual_activation_weights_node.py +2 -2
  18. model_compression_toolkit/core/common/memory_computation.py +1 -1
  19. model_compression_toolkit/core/common/mixed_precision/bit_width_setter.py +1 -1
  20. model_compression_toolkit/core/common/mixed_precision/kpi_tools/kpi_data.py +2 -3
  21. model_compression_toolkit/core/common/mixed_precision/kpi_tools/kpi_methods.py +3 -3
  22. model_compression_toolkit/core/common/mixed_precision/mixed_precision_quantization_config.py +1 -1
  23. model_compression_toolkit/core/common/mixed_precision/mixed_precision_search_facade.py +3 -2
  24. model_compression_toolkit/core/common/mixed_precision/mixed_precision_search_manager.py +1 -1
  25. model_compression_toolkit/core/common/mixed_precision/search_methods/linear_programming.py +1 -1
  26. model_compression_toolkit/core/common/mixed_precision/sensitivity_evaluation.py +2 -2
  27. model_compression_toolkit/core/common/mixed_precision/solution_refinement_procedure.py +2 -2
  28. model_compression_toolkit/core/common/model_collector.py +2 -2
  29. model_compression_toolkit/core/common/model_validation.py +1 -1
  30. model_compression_toolkit/core/common/network_editors/actions.py +4 -1
  31. model_compression_toolkit/core/common/quantization/candidate_node_quantization_config.py +1 -1
  32. model_compression_toolkit/core/common/quantization/filter_nodes_candidates.py +1 -1
  33. model_compression_toolkit/core/common/quantization/node_quantization_config.py +1 -1
  34. model_compression_toolkit/core/common/quantization/quantization_config.py +2 -2
  35. model_compression_toolkit/core/common/quantization/quantization_params_fn_selection.py +1 -1
  36. model_compression_toolkit/core/common/quantization/quantization_params_generation/error_functions.py +1 -1
  37. model_compression_toolkit/core/common/quantization/quantization_params_generation/kmeans_params.py +1 -1
  38. model_compression_toolkit/core/common/quantization/quantization_params_generation/lut_kmeans_params.py +2 -2
  39. model_compression_toolkit/core/common/quantization/quantization_params_generation/power_of_two_selection.py +1 -1
  40. model_compression_toolkit/core/common/quantization/quantization_params_generation/qparams_activations_computation.py +2 -2
  41. model_compression_toolkit/core/common/quantization/quantization_params_generation/qparams_computation.py +1 -1
  42. model_compression_toolkit/core/common/quantization/quantization_params_generation/qparams_search.py +1 -1
  43. model_compression_toolkit/core/common/quantization/quantization_params_generation/qparams_weights_computation.py +1 -1
  44. model_compression_toolkit/core/common/quantization/quantization_params_generation/symmetric_selection.py +1 -1
  45. model_compression_toolkit/core/common/quantization/quantization_params_generation/uniform_selection.py +1 -1
  46. model_compression_toolkit/core/common/quantization/quantize_graph_weights.py +2 -1
  47. model_compression_toolkit/core/common/quantization/quantize_node.py +2 -2
  48. model_compression_toolkit/core/common/quantization/quantizers/kmeans_quantizer.py +1 -1
  49. model_compression_toolkit/core/common/quantization/quantizers/lut_kmeans_quantizer.py +1 -1
  50. model_compression_toolkit/core/common/quantization/quantizers/quantizers_helpers.py +4 -2
  51. model_compression_toolkit/core/common/quantization/quantizers/uniform_quantizers.py +2 -2
  52. model_compression_toolkit/core/common/quantization/set_node_quantization_config.py +3 -2
  53. model_compression_toolkit/core/common/similarity_analyzer.py +2 -2
  54. model_compression_toolkit/core/common/statistics_correction/apply_bias_correction_to_graph.py +4 -3
  55. model_compression_toolkit/core/common/statistics_correction/compute_bias_correction_of_graph.py +3 -2
  56. model_compression_toolkit/core/common/substitutions/batchnorm_reconstruction.py +1 -1
  57. model_compression_toolkit/core/common/substitutions/batchnorm_refusing.py +2 -2
  58. model_compression_toolkit/core/common/substitutions/linear_collapsing.py +1 -1
  59. model_compression_toolkit/core/common/substitutions/shift_negative_activation.py +4 -4
  60. model_compression_toolkit/core/common/substitutions/virtual_activation_weights_composition.py +1 -1
  61. model_compression_toolkit/core/common/substitutions/weights_activation_split.py +1 -1
  62. model_compression_toolkit/core/common/visualization/tensorboard_writer.py +1 -1
  63. model_compression_toolkit/core/keras/back2framework/factory_model_builder.py +1 -1
  64. model_compression_toolkit/core/keras/back2framework/float_model_builder.py +1 -1
  65. model_compression_toolkit/core/keras/back2framework/keras_model_builder.py +66 -21
  66. model_compression_toolkit/core/keras/back2framework/mixed_precision_model_builder.py +1 -1
  67. model_compression_toolkit/core/keras/back2framework/model_gradients.py +2 -2
  68. model_compression_toolkit/core/keras/back2framework/quantized_model_builder.py +1 -1
  69. model_compression_toolkit/core/keras/constants.py +0 -7
  70. model_compression_toolkit/core/keras/default_framework_info.py +2 -2
  71. model_compression_toolkit/core/keras/graph_substitutions/substitutions/activation_decomposition.py +1 -1
  72. model_compression_toolkit/core/keras/graph_substitutions/substitutions/input_scaling.py +1 -1
  73. model_compression_toolkit/core/keras/graph_substitutions/substitutions/linear_collapsing.py +1 -1
  74. model_compression_toolkit/core/keras/graph_substitutions/substitutions/multi_head_attention_decomposition.py +3 -4
  75. model_compression_toolkit/core/keras/graph_substitutions/substitutions/relu_bound_to_power_of_2.py +2 -1
  76. model_compression_toolkit/core/keras/graph_substitutions/substitutions/remove_relu_upper_bound.py +3 -2
  77. model_compression_toolkit/core/keras/graph_substitutions/substitutions/residual_collapsing.py +1 -1
  78. model_compression_toolkit/core/keras/graph_substitutions/substitutions/shift_negative_activation.py +1 -1
  79. model_compression_toolkit/core/keras/keras_implementation.py +2 -10
  80. model_compression_toolkit/core/keras/keras_model_validation.py +1 -1
  81. model_compression_toolkit/core/keras/keras_node_prior_info.py +1 -1
  82. model_compression_toolkit/core/keras/kpi_data_facade.py +7 -7
  83. model_compression_toolkit/core/keras/quantizer/fake_quant_builder.py +2 -2
  84. model_compression_toolkit/core/keras/quantizer/input_layer_quantize_transform.py +1 -1
  85. model_compression_toolkit/core/keras/quantizer/lut_fake_quant.py +2 -2
  86. model_compression_toolkit/core/keras/quantizer/mixed_precision/selective_quantize_config.py +1 -1
  87. model_compression_toolkit/core/keras/reader/common.py +1 -1
  88. model_compression_toolkit/core/keras/statistics_correction/apply_second_moment_correction.py +1 -1
  89. model_compression_toolkit/core/pytorch/back2framework/factory_model_builder.py +1 -1
  90. model_compression_toolkit/core/pytorch/back2framework/float_model_builder.py +1 -1
  91. model_compression_toolkit/core/pytorch/back2framework/mixed_precision_model_builder.py +1 -1
  92. model_compression_toolkit/core/pytorch/back2framework/model_gradients.py +2 -2
  93. model_compression_toolkit/core/pytorch/back2framework/pytorch_model_builder.py +1 -1
  94. model_compression_toolkit/core/pytorch/back2framework/quantized_model_builder.py +1 -1
  95. model_compression_toolkit/core/pytorch/constants.py +0 -6
  96. model_compression_toolkit/core/pytorch/default_framework_info.py +1 -1
  97. model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/linear_collapsing.py +1 -1
  98. model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/multi_head_attention_decomposition.py +1 -1
  99. model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/relu_bound_to_power_of_2.py +3 -2
  100. model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/reshape_with_static_shapes.py +1 -1
  101. model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/residual_collapsing.py +1 -1
  102. model_compression_toolkit/core/pytorch/graph_substitutions/substitutions/shift_negative_activation.py +1 -1
  103. model_compression_toolkit/core/pytorch/kpi_data_facade.py +6 -6
  104. model_compression_toolkit/core/pytorch/mixed_precision/mixed_precision_wrapper.py +1 -1
  105. model_compression_toolkit/core/pytorch/pytorch_implementation.py +1 -9
  106. model_compression_toolkit/core/pytorch/pytorch_node_prior_info.py +1 -1
  107. model_compression_toolkit/core/pytorch/quantizer/fake_quant_builder.py +2 -2
  108. model_compression_toolkit/core/pytorch/quantizer/lut_fake_quant.py +1 -1
  109. model_compression_toolkit/core/pytorch/reader/graph_builders.py +3 -2
  110. model_compression_toolkit/core/pytorch/statistics_correction/apply_second_moment_correction.py +1 -1
  111. model_compression_toolkit/core/runner.py +6 -6
  112. model_compression_toolkit/exporter/__init__.py +6 -3
  113. model_compression_toolkit/exporter/model_exporter/fw_agonstic/exporter.py +1 -1
  114. model_compression_toolkit/exporter/model_exporter/keras/export_serialization_format.py +20 -0
  115. model_compression_toolkit/exporter/model_exporter/keras/fakely_quant_keras_exporter.py +1 -1
  116. model_compression_toolkit/exporter/model_exporter/{tflite → keras}/fakely_quant_tflite_exporter.py +1 -1
  117. model_compression_toolkit/exporter/model_exporter/{tflite → keras}/int8_tflite_exporter.py +1 -1
  118. model_compression_toolkit/exporter/model_exporter/keras/keras_export_facade.py +60 -22
  119. model_compression_toolkit/exporter/model_exporter/pytorch/export_serialization_format.py +20 -0
  120. model_compression_toolkit/exporter/model_exporter/pytorch/fakely_quant_onnx_pytorch_exporter.py +15 -1
  121. model_compression_toolkit/exporter/model_exporter/pytorch/fakely_quant_torchscript_pytorch_exporter.py +1 -1
  122. model_compression_toolkit/exporter/model_exporter/pytorch/pytorch_export_facade.py +54 -31
  123. model_compression_toolkit/exporter/model_wrapper/keras/builder/fully_quantized_model_builder.py +5 -3
  124. model_compression_toolkit/exporter/model_wrapper/keras/builder/node_to_quantizer.py +4 -2
  125. model_compression_toolkit/exporter/model_wrapper/keras/validate_layer.py +2 -2
  126. model_compression_toolkit/exporter/model_wrapper/pytorch/builder/fully_quantized_model_builder.py +3 -2
  127. model_compression_toolkit/exporter/model_wrapper/pytorch/builder/node_to_quantizer.py +3 -2
  128. model_compression_toolkit/exporter/model_wrapper/pytorch/validate_layer.py +2 -2
  129. model_compression_toolkit/gptq/common/gptq_framework_implementation.py +32 -0
  130. model_compression_toolkit/gptq/common/gptq_graph.py +2 -2
  131. model_compression_toolkit/gptq/common/gptq_training.py +5 -4
  132. model_compression_toolkit/gptq/keras/gptq_keras_implementation.py +29 -0
  133. model_compression_toolkit/gptq/keras/gptq_training.py +41 -14
  134. model_compression_toolkit/gptq/keras/graph_info.py +4 -0
  135. model_compression_toolkit/gptq/keras/quantization_facade.py +26 -19
  136. model_compression_toolkit/gptq/keras/quantizer/base_keras_gptq_quantizer.py +2 -2
  137. model_compression_toolkit/gptq/keras/quantizer/quant_utils.py +1 -1
  138. model_compression_toolkit/gptq/keras/quantizer/soft_rounding/symmetric_soft_quantizer.py +1 -1
  139. model_compression_toolkit/gptq/keras/quantizer/soft_rounding/uniform_soft_quantizer.py +2 -2
  140. model_compression_toolkit/gptq/keras/quantizer/ste_rounding/symmetric_ste.py +1 -1
  141. model_compression_toolkit/gptq/pytorch/gptq_pytorch_implementation.py +29 -0
  142. model_compression_toolkit/gptq/pytorch/gptq_training.py +1 -1
  143. model_compression_toolkit/gptq/pytorch/quantization_facade.py +11 -11
  144. model_compression_toolkit/gptq/pytorch/quantizer/base_pytorch_gptq_quantizer.py +3 -3
  145. model_compression_toolkit/gptq/pytorch/quantizer/quant_utils.py +1 -3
  146. model_compression_toolkit/gptq/pytorch/quantizer/soft_rounding/symmetric_soft_quantizer.py +1 -1
  147. model_compression_toolkit/gptq/pytorch/quantizer/soft_rounding/uniform_soft_quantizer.py +2 -2
  148. model_compression_toolkit/gptq/pytorch/quantizer/ste_rounding/symmetric_ste.py +1 -1
  149. model_compression_toolkit/gptq/runner.py +3 -2
  150. model_compression_toolkit/{exporter/model_exporter/tflite → legacy}/__init__.py +1 -1
  151. model_compression_toolkit/{core/keras/quantization_facade.py → legacy/keras_quantization_facade.py} +8 -9
  152. model_compression_toolkit/{core/pytorch/quantization_facade.py → legacy/pytorch_quantization_facade.py} +8 -9
  153. model_compression_toolkit/ptq/__init__.py +3 -0
  154. model_compression_toolkit/ptq/keras/quantization_facade.py +10 -11
  155. model_compression_toolkit/ptq/pytorch/quantization_facade.py +7 -7
  156. model_compression_toolkit/qat/__init__.py +4 -0
  157. model_compression_toolkit/qat/common/__init__.py +1 -2
  158. model_compression_toolkit/qat/common/qat_config.py +5 -1
  159. model_compression_toolkit/qat/keras/quantization_facade.py +33 -27
  160. model_compression_toolkit/qat/keras/quantizer/base_keras_qat_quantizer.py +2 -2
  161. model_compression_toolkit/qat/keras/quantizer/quantization_builder.py +31 -4
  162. model_compression_toolkit/qat/keras/quantizer/ste_rounding/symmetric_ste.py +12 -10
  163. model_compression_toolkit/qat/keras/quantizer/ste_rounding/uniform_ste.py +8 -8
  164. model_compression_toolkit/qat/pytorch/quantization_facade.py +8 -8
  165. model_compression_toolkit/qat/pytorch/quantizer/base_pytorch_qat_quantizer.py +2 -2
  166. model_compression_toolkit/qat/pytorch/quantizer/ste_rounding/symmetric_ste.py +3 -2
  167. model_compression_toolkit/qat/pytorch/quantizer/ste_rounding/uniform_ste.py +6 -4
  168. model_compression_toolkit/quantizers_infrastructure/__init__.py +2 -2
  169. model_compression_toolkit/{qat/common → quantizers_infrastructure}/constants.py +2 -1
  170. model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/common/constants.py +5 -0
  171. model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/common/get_quantizers.py +1 -1
  172. model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/keras/activation_quantization_holder.py +147 -0
  173. model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/keras/load_model.py +5 -5
  174. model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/keras/quantize_wrapper.py +2 -2
  175. model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/keras/quantizers/activation_inferable_quantizers/activation_lut_pot_inferable_quantizer.py +2 -2
  176. model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/keras/quantizers/activation_inferable_quantizers/activation_pot_inferable_quantizer.py +2 -2
  177. model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/keras/quantizers/activation_inferable_quantizers/activation_symmetric_inferable_quantizer.py +1 -1
  178. model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/keras/quantizers/activation_inferable_quantizers/activation_uniform_inferable_quantizer.py +2 -2
  179. model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/keras/quantizers/base_keras_inferable_quantizer.py +1 -1
  180. model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/keras/quantizers/weights_inferable_quantizers/weights_lut_pot_inferable_quantizer.py +1 -1
  181. model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/keras/quantizers/weights_inferable_quantizers/weights_lut_symmetric_inferable_quantizer.py +1 -1
  182. model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/keras/quantizers/weights_inferable_quantizers/weights_pot_inferable_quantizer.py +1 -1
  183. model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/keras/quantizers/weights_inferable_quantizers/weights_symmetric_inferable_quantizer.py +1 -1
  184. model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/keras/quantizers/weights_inferable_quantizers/weights_uniform_inferable_quantizer.py +1 -1
  185. model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/keras/validation_functions.py +1 -1
  186. model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/pytorch/quantize_wrapper.py +2 -2
  187. model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/pytorch/quantizers/activation_inferable_quantizers/activation_lut_pot_inferable_quantizer.py +1 -2
  188. model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/pytorch/quantizers/activation_inferable_quantizers/activation_pot_inferable_quantizer.py +1 -1
  189. model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/pytorch/quantizers/activation_inferable_quantizers/activation_symmetric_inferable_quantizer.py +1 -1
  190. model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/pytorch/quantizers/activation_inferable_quantizers/activation_uniform_inferable_quantizer.py +1 -1
  191. model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/pytorch/quantizers/base_lut_symmetric_inferable_quantizer.py +1 -1
  192. model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/pytorch/quantizers/base_pytorch_inferable_quantizer.py +1 -1
  193. model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/pytorch/quantizers/base_symmetric_inferable_quantizer.py +1 -1
  194. model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/pytorch/quantizers/base_uniform_inferable_quantizer.py +1 -1
  195. model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/pytorch/quantizers/weights_inferable_quantizers/weights_lut_pot_inferable_quantizer.py +1 -1
  196. model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/pytorch/quantizers/weights_inferable_quantizers/weights_lut_symmetric_inferable_quantizer.py +1 -1
  197. model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/pytorch/quantizers/weights_inferable_quantizers/weights_pot_inferable_quantizer.py +1 -1
  198. model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/pytorch/quantizers/weights_inferable_quantizers/weights_symmetric_inferable_quantizer.py +1 -1
  199. model_compression_toolkit/quantizers_infrastructure/inferable_infrastructure/pytorch/quantizers/weights_inferable_quantizers/weights_uniform_inferable_quantizer.py +2 -2
  200. model_compression_toolkit/quantizers_infrastructure/trainable_infrastructure/common/base_trainable_quantizer.py +9 -9
  201. model_compression_toolkit/quantizers_infrastructure/trainable_infrastructure/common/get_quantizer_config.py +2 -1
  202. model_compression_toolkit/quantizers_infrastructure/trainable_infrastructure/common/get_quantizers.py +3 -5
  203. model_compression_toolkit/quantizers_infrastructure/trainable_infrastructure/keras/base_keras_quantizer.py +2 -2
  204. model_compression_toolkit/quantizers_infrastructure/trainable_infrastructure/pytorch/base_pytorch_quantizer.py +2 -2
  205. model_compression_toolkit/target_platform_capabilities/constants.py +27 -0
  206. model_compression_toolkit/target_platform_capabilities/target_platform/current_tp_model.py +1 -1
  207. model_compression_toolkit/target_platform_capabilities/target_platform/operators.py +1 -1
  208. model_compression_toolkit/target_platform_capabilities/target_platform/quantization_format.py +20 -0
  209. model_compression_toolkit/target_platform_capabilities/target_platform/target_platform_model.py +11 -2
  210. model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/attribute_filter.py +1 -1
  211. model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/layer_filter_params.py +32 -34
  212. model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/operations_to_layers.py +2 -2
  213. model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/target_platform_capabilities.py +3 -24
  214. model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/latest/__init__.py +1 -1
  215. model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/target_platform_capabilities.py +3 -1
  216. model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v1/tp_model.py +7 -1
  217. model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v2/tp_model.py +7 -1
  218. model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v3/tp_model.py +7 -1
  219. model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v3_lut/tp_model.py +7 -2
  220. model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v4/tp_model.py +7 -1
  221. model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v4_lut/tp_model.py +7 -2
  222. model_compression_toolkit/target_platform_capabilities/tpc_models/default_tpc/v5/tp_model.py +7 -1
  223. model_compression_toolkit/target_platform_capabilities/tpc_models/get_target_platform_capabilities.py +1 -3
  224. model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/latest/__init__.py +1 -1
  225. model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/target_platform_capabilities.py +2 -1
  226. model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1/tp_model.py +7 -1
  227. model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/latest/__init__.py +1 -1
  228. model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/target_platform_capabilities.py +2 -1
  229. model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/v1/tp_model.py +7 -1
  230. model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/latest/__init__.py +1 -1
  231. model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/target_platform_capabilities.py +2 -1
  232. model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/v1/tp_model.py +26 -18
  233. model_compression_toolkit/exporter/model_exporter/tflite/tflite_export_facade.py +0 -73
  234. {mct_nightly-1.8.0.22042023.post414.dist-info → mct_nightly-1.8.0.22052023.post408.dist-info}/LICENSE.md +0 -0
  235. {mct_nightly-1.8.0.22042023.post414.dist-info → mct_nightly-1.8.0.22052023.post408.dist-info}/WHEEL +0 -0
  236. {mct_nightly-1.8.0.22042023.post414.dist-info → mct_nightly-1.8.0.22052023.post408.dist-info}/top_level.txt +0 -0
  237. /model_compression_toolkit/{core/common/logger.py → logger.py} +0 -0
  238. /model_compression_toolkit/{core/common → target_platform_capabilities}/immutable.py +0 -0
@@ -12,11 +12,9 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
  # ==============================================================================
15
- from typing import Union
15
+ from typing import Union, Any
16
16
 
17
- from model_compression_toolkit.gptq import RoundingType
18
- from model_compression_toolkit import TrainingMethod
19
- from model_compression_toolkit.core.common import Logger
17
+ from model_compression_toolkit.logger import Logger
20
18
  from model_compression_toolkit.target_platform_capabilities.target_platform import QuantizationMethod
21
19
  from model_compression_toolkit.quantizers_infrastructure import QuantizationTarget
22
20
  from model_compression_toolkit.quantizers_infrastructure.inferable_infrastructure.common.constants \
@@ -26,7 +24,7 @@ from model_compression_toolkit.quantizers_infrastructure.inferable_infrastructur
26
24
 
27
25
 
28
26
  def get_trainable_quantizer_class(quant_target: QuantizationTarget,
29
- quantizer_type: Union[TrainingMethod, RoundingType],
27
+ quantizer_type: Union[Any, Any],
30
28
  quant_method: QuantizationMethod,
31
29
  quantizer_base_class: type) -> type:
32
30
  """
@@ -14,8 +14,8 @@
14
14
  # ==============================================================================
15
15
  from typing import Dict, Any, Union, List
16
16
 
17
- from model_compression_toolkit.core.common import Logger
18
- from model_compression_toolkit.core.common.constants import FOUND_TF
17
+ from model_compression_toolkit.logger import Logger
18
+ from model_compression_toolkit.constants import FOUND_TF
19
19
  from model_compression_toolkit.quantizers_infrastructure.trainable_infrastructure.common.base_trainable_quantizer import VariableGroup
20
20
  from model_compression_toolkit.quantizers_infrastructure.trainable_infrastructure.common.base_trainable_quantizer import BaseTrainableQuantizer, VAR, GROUP
21
21
  from model_compression_toolkit.quantizers_infrastructure import TrainableQuantizerWeightsConfig, \
@@ -14,8 +14,8 @@
14
14
  # ==============================================================================
15
15
  from typing import Union, List
16
16
 
17
- from model_compression_toolkit.core.common.logger import Logger
18
- from model_compression_toolkit.core.common.constants import FOUND_TORCH
17
+ from model_compression_toolkit.logger import Logger
18
+ from model_compression_toolkit.constants import FOUND_TORCH
19
19
  from model_compression_toolkit.quantizers_infrastructure.trainable_infrastructure.common.base_trainable_quantizer import VariableGroup
20
20
  from model_compression_toolkit.quantizers_infrastructure.trainable_infrastructure.common.base_trainable_quantizer import BaseTrainableQuantizer, VAR, GROUP
21
21
  from model_compression_toolkit.quantizers_infrastructure import TrainableQuantizerWeightsConfig, \
@@ -0,0 +1,27 @@
1
+ # Copyright 2023 Sony Semiconductor Israel, Inc. All rights reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+ # ==============================================================================
15
+
16
+ # TP Model constants
17
+ OPS_SET_LIST = 'ops_set_list'
18
+
19
+ # Version
20
+ LATEST = 'latest'
21
+
22
+
23
+ # Supported TP models names:
24
+ DEFAULT_TP_MODEL = 'default'
25
+ IMX500_TP_MODEL = 'imx500'
26
+ TFLITE_TP_MODEL = 'tflite'
27
+ QNNPACK_TP_MODEL = 'qnnpack'
@@ -13,7 +13,7 @@
13
13
  # limitations under the License.
14
14
  # ==============================================================================
15
15
 
16
- from model_compression_toolkit.core.common.logger import Logger
16
+ from model_compression_toolkit.logger import Logger
17
17
 
18
18
  def get_current_tp_model():
19
19
  """
@@ -14,7 +14,7 @@
14
14
  # ==============================================================================
15
15
  from typing import Dict, Any
16
16
 
17
- from model_compression_toolkit.core.common.constants import OPS_SET_LIST
17
+ from model_compression_toolkit.target_platform_capabilities.constants import OPS_SET_LIST
18
18
  from model_compression_toolkit.target_platform_capabilities.target_platform.target_platform_model_component import TargetPlatformModelComponent
19
19
  from model_compression_toolkit.target_platform_capabilities.target_platform.current_tp_model import _current_tp_model
20
20
  from model_compression_toolkit.target_platform_capabilities.target_platform.op_quantization_config import QuantizationConfigOptions
@@ -0,0 +1,20 @@
1
+ # Copyright 2023 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 enum import Enum
16
+
17
+
18
+ class QuantizationFormat(Enum):
19
+ FAKELY_QUANT = 0
20
+ INT8 = 1
@@ -24,8 +24,8 @@ from model_compression_toolkit.target_platform_capabilities.target_platform.targ
24
24
  from model_compression_toolkit.target_platform_capabilities.target_platform.op_quantization_config import OpQuantizationConfig, \
25
25
  QuantizationConfigOptions
26
26
  from model_compression_toolkit.target_platform_capabilities.target_platform.operators import OperatorsSetBase
27
- from model_compression_toolkit.core.common.immutable import ImmutableClass
28
- from model_compression_toolkit.core.common.logger import Logger
27
+ from model_compression_toolkit.target_platform_capabilities.immutable import ImmutableClass
28
+ from model_compression_toolkit.logger import Logger
29
29
 
30
30
 
31
31
  def get_default_quantization_config_options() -> QuantizationConfigOptions:
@@ -223,3 +223,12 @@ class TargetPlatformModel(ImmutableClass):
223
223
 
224
224
  """
225
225
  pprint.pprint(self.get_info(), sort_dicts=False)
226
+
227
+ def set_quantization_format(self,
228
+ quantization_format: Any):
229
+ """
230
+ Set quantization format.
231
+ Args:
232
+ quantization_format: A quantization format (fake-quant, int8 etc.) from enum QuantizationFormat.
233
+ """
234
+ self.quantization_format = quantization_format
@@ -16,7 +16,7 @@
16
16
  import operator
17
17
  from typing import Any, Callable, Dict
18
18
 
19
- from model_compression_toolkit.core.common.logger import Logger
19
+ from model_compression_toolkit.logger import Logger
20
20
 
21
21
 
22
22
  class Filter:
@@ -13,9 +13,7 @@
13
13
  # limitations under the License.
14
14
  # ==============================================================================
15
15
 
16
- from typing import Any, Dict
17
-
18
- from model_compression_toolkit.core.common.graph.base_node import BaseNode
16
+ from typing import Any
19
17
  from model_compression_toolkit.target_platform_capabilities.target_platform.targetplatform2framework.attribute_filter import AttributeFilter
20
18
 
21
19
 
@@ -87,34 +85,34 @@ class LayerFilterParams:
87
85
  params.extend([str(c) for c in self.conditions])
88
86
  params_str = ', '.join(params)
89
87
  return f'{self.layer.__name__}({params_str})'
90
-
91
- def match(self,
92
- node: BaseNode) -> bool:
93
- """
94
- Check if a node matches the layer, conditions and keyword-arguments of
95
- the LayerFilterParams.
96
-
97
- Args:
98
- node: Node to check if matches to the LayerFilterParams properties.
99
-
100
- Returns:
101
- Whether the node matches to the LayerFilterParams properties.
102
- """
103
- # Check the node has the same type as the layer in LayerFilterParams
104
- if self.layer != node.type:
105
- return False
106
-
107
- # Get attributes from node to filter
108
- layer_config = node.framework_attr
109
- if hasattr(node, "op_call_kwargs"):
110
- layer_config.update(node.op_call_kwargs)
111
-
112
- for attr, value in self.kwargs.items():
113
- if layer_config.get(attr) != value:
114
- return False
115
-
116
- for c in self.conditions:
117
- if not c.match(layer_config):
118
- return False
119
-
120
- return True
88
+ #
89
+ # def match(self,
90
+ # node: BaseNode) -> bool:
91
+ # """
92
+ # Check if a node matches the layer, conditions and keyword-arguments of
93
+ # the LayerFilterParams.
94
+ #
95
+ # Args:
96
+ # node: Node to check if matches to the LayerFilterParams properties.
97
+ #
98
+ # Returns:
99
+ # Whether the node matches to the LayerFilterParams properties.
100
+ # """
101
+ # # Check the node has the same type as the layer in LayerFilterParams
102
+ # if self.layer != node.type:
103
+ # return False
104
+ #
105
+ # # Get attributes from node to filter
106
+ # layer_config = node.framework_attr
107
+ # if hasattr(node, "op_call_kwargs"):
108
+ # layer_config.update(node.op_call_kwargs)
109
+ #
110
+ # for attr, value in self.kwargs.items():
111
+ # if layer_config.get(attr) != value:
112
+ # return False
113
+ #
114
+ # for c in self.conditions:
115
+ # if not c.match(layer_config):
116
+ # return False
117
+ #
118
+ # return True
@@ -15,10 +15,10 @@
15
15
 
16
16
  from typing import List, Any
17
17
 
18
- from model_compression_toolkit.core.common.logger import Logger
18
+ from model_compression_toolkit.logger import Logger
19
19
  from model_compression_toolkit.target_platform_capabilities.target_platform.targetplatform2framework.current_tpc import _current_tpc
20
20
  from model_compression_toolkit.target_platform_capabilities.target_platform.targetplatform2framework.target_platform_capabilities_component import TargetPlatformCapabilitiesComponent
21
- from model_compression_toolkit.target_platform_capabilities.target_platform.operators import OperatorsSet, OperatorSetConcat, \
21
+ from model_compression_toolkit.target_platform_capabilities.target_platform.operators import OperatorSetConcat, \
22
22
  OperatorsSetBase
23
23
 
24
24
 
@@ -18,16 +18,15 @@ import itertools
18
18
  import pprint
19
19
  from typing import List, Any, Dict, Tuple
20
20
 
21
- from model_compression_toolkit.core.common.logger import Logger
21
+ from model_compression_toolkit.logger import Logger
22
22
  from model_compression_toolkit.target_platform_capabilities.target_platform.targetplatform2framework.operations_to_layers import \
23
23
  OperationsToLayers, OperationsSetToLayers
24
24
  from model_compression_toolkit.target_platform_capabilities.target_platform.targetplatform2framework.target_platform_capabilities_component import TargetPlatformCapabilitiesComponent
25
25
  from model_compression_toolkit.target_platform_capabilities.target_platform.targetplatform2framework.layer_filter_params import LayerFilterParams
26
- from model_compression_toolkit.core.common.immutable import ImmutableClass
27
- from model_compression_toolkit.core.common.graph.base_node import BaseNode
26
+ from model_compression_toolkit.target_platform_capabilities.immutable import ImmutableClass
28
27
  from model_compression_toolkit.target_platform_capabilities.target_platform.op_quantization_config import QuantizationConfigOptions, \
29
28
  OpQuantizationConfig
30
- from model_compression_toolkit.target_platform_capabilities.target_platform.operators import OperatorsSet, OperatorsSetBase
29
+ from model_compression_toolkit.target_platform_capabilities.target_platform.operators import OperatorsSetBase
31
30
  from model_compression_toolkit.target_platform_capabilities.target_platform.target_platform_model import TargetPlatformModel
32
31
  from model_compression_toolkit.target_platform_capabilities.target_platform.targetplatform2framework.current_tpc import _current_tpc
33
32
 
@@ -163,26 +162,6 @@ class TargetPlatformCapabilities(ImmutableClass):
163
162
  """
164
163
  return self.tp_model.get_default_op_quantization_config()
165
164
 
166
- def get_qco_by_node(self,
167
- node: BaseNode) -> QuantizationConfigOptions:
168
- """
169
- Get the QuantizationConfigOptions of a node in a graph according
170
- to the mappings from layers/LayerFilterParams to the OperatorsSet in the TargetPlatformModel.
171
-
172
- Args:
173
- node: Node from graph to get its QuantizationConfigOptions.
174
-
175
- Returns:
176
- QuantizationConfigOptions of the node.
177
- """
178
- if node is None:
179
- Logger.error(f'Can not retrieve QC options for None node') # pragma: no cover
180
- for fl, qco in self.filterlayer2qco.items():
181
- if fl.match(node):
182
- return qco
183
- if node.type in self.layer2qco:
184
- return self.layer2qco.get(node.type)
185
- return self.tp_model.default_qco
186
165
 
187
166
  def _get_config_options_mapping(self) -> Tuple[Dict[Any, QuantizationConfigOptions],
188
167
  Dict[LayerFilterParams, QuantizationConfigOptions]]:
@@ -12,7 +12,7 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
  # ==============================================================================
15
- from model_compression_toolkit.core.common.constants import FOUND_TF, FOUND_TORCH
15
+ from model_compression_toolkit.constants import FOUND_TF, FOUND_TORCH
16
16
 
17
17
  from model_compression_toolkit.target_platform_capabilities.tpc_models.default_tpc.v4.tp_model import get_tp_model, generate_tp_model, get_op_quantization_configs
18
18
 
@@ -13,7 +13,9 @@
13
13
  # limitations under the License.
14
14
  # ==============================================================================
15
15
 
16
- from model_compression_toolkit.core.common.constants import FOUND_TF, FOUND_TORCH, TENSORFLOW, PYTORCH, LATEST
16
+ from model_compression_toolkit.constants import FOUND_TF, FOUND_TORCH, TENSORFLOW, PYTORCH
17
+ from model_compression_toolkit.target_platform_capabilities.constants import LATEST
18
+
17
19
 
18
20
  ###############################
19
21
  # Build Tensorflow TPC models
@@ -15,7 +15,10 @@
15
15
  from typing import List, Tuple
16
16
 
17
17
  import model_compression_toolkit as mct
18
- from model_compression_toolkit.target_platform_capabilities.target_platform import OpQuantizationConfig, TargetPlatformModel
18
+ from model_compression_toolkit.target_platform_capabilities.target_platform import OpQuantizationConfig, \
19
+ TargetPlatformModel
20
+ from model_compression_toolkit.target_platform_capabilities.target_platform.quantization_format import \
21
+ QuantizationFormat
19
22
 
20
23
  tp = mct.target_platform
21
24
 
@@ -106,6 +109,9 @@ def generate_tp_model(default_config: OpQuantizationConfig,
106
109
  # be used for operations that will be attached to this set's label.
107
110
  # Otherwise, it will be a configure-less set (used in fusing):
108
111
 
112
+ # Set quantization format to fakely quant
113
+ generated_tpc.set_quantization_format(QuantizationFormat.FAKELY_QUANT)
114
+
109
115
  # May suit for operations like: Dropout, Reshape, etc.
110
116
  tp.OperatorsSet("NoQuantization",
111
117
  tp.get_default_quantization_config_options().clone_and_edit(
@@ -15,7 +15,10 @@
15
15
  from typing import List, Tuple
16
16
 
17
17
  import model_compression_toolkit as mct
18
- from model_compression_toolkit.target_platform_capabilities.target_platform import OpQuantizationConfig, TargetPlatformModel
18
+ from model_compression_toolkit.target_platform_capabilities.target_platform import OpQuantizationConfig, \
19
+ TargetPlatformModel
20
+ from model_compression_toolkit.target_platform_capabilities.target_platform.quantization_format import \
21
+ QuantizationFormat
19
22
 
20
23
  tp = mct.target_platform
21
24
 
@@ -106,6 +109,9 @@ def generate_tp_model(default_config: OpQuantizationConfig,
106
109
  # be used for operations that will be attached to this set's label.
107
110
  # Otherwise, it will be a configure-less set (used in fusing):
108
111
 
112
+ # Set quantization format to fakely quant
113
+ generated_tpc.set_quantization_format(QuantizationFormat.FAKELY_QUANT)
114
+
109
115
  # May suit for operations like: Dropout, Reshape, etc.
110
116
  tp.OperatorsSet("NoQuantization",
111
117
  tp.get_default_quantization_config_options().clone_and_edit(
@@ -15,7 +15,10 @@
15
15
  from typing import List, Tuple
16
16
 
17
17
  import model_compression_toolkit as mct
18
- from model_compression_toolkit.target_platform_capabilities.target_platform import OpQuantizationConfig, TargetPlatformModel
18
+ from model_compression_toolkit.target_platform_capabilities.target_platform import OpQuantizationConfig, \
19
+ TargetPlatformModel
20
+ from model_compression_toolkit.target_platform_capabilities.target_platform.quantization_format import \
21
+ QuantizationFormat
19
22
 
20
23
  tp = mct.target_platform
21
24
 
@@ -113,6 +116,9 @@ def generate_tp_model(default_config: OpQuantizationConfig,
113
116
  # be used for operations that will be attached to this set's label.
114
117
  # Otherwise, it will be a configure-less set (used in fusing):
115
118
 
119
+ # Set quantization format to fakely quant
120
+ generated_tpc.set_quantization_format(QuantizationFormat.FAKELY_QUANT)
121
+
116
122
  # May suit for operations like: Dropout, Reshape, etc.
117
123
  tp.OperatorsSet("NoQuantization",
118
124
  tp.get_default_quantization_config_options().clone_and_edit(
@@ -15,8 +15,10 @@
15
15
  from typing import List, Tuple
16
16
 
17
17
  import model_compression_toolkit as mct
18
- from model_compression_toolkit.target_platform_capabilities.target_platform import OpQuantizationConfig, TargetPlatformModel, \
19
- QuantizationMethod
18
+ from model_compression_toolkit.target_platform_capabilities.target_platform import OpQuantizationConfig, \
19
+ TargetPlatformModel, QuantizationMethod
20
+ from model_compression_toolkit.target_platform_capabilities.target_platform.quantization_format import \
21
+ QuantizationFormat
20
22
 
21
23
  tp = mct.target_platform
22
24
 
@@ -115,6 +117,9 @@ def generate_tp_model(default_config: OpQuantizationConfig,
115
117
  # be used for operations that will be attached to this set's label.
116
118
  # Otherwise, it will be a configure-less set (used in fusing):
117
119
 
120
+ # Set quantization format to fakely quant
121
+ generated_tpc.set_quantization_format(QuantizationFormat.FAKELY_QUANT)
122
+
118
123
  # May suit for operations like: Dropout, Reshape, etc.
119
124
  tp.OperatorsSet("NoQuantization",
120
125
  tp.get_default_quantization_config_options().clone_and_edit(
@@ -15,7 +15,10 @@
15
15
  from typing import List, Tuple
16
16
 
17
17
  import model_compression_toolkit as mct
18
- from model_compression_toolkit.target_platform_capabilities.target_platform import OpQuantizationConfig, TargetPlatformModel
18
+ from model_compression_toolkit.target_platform_capabilities.target_platform import OpQuantizationConfig, \
19
+ TargetPlatformModel
20
+ from model_compression_toolkit.target_platform_capabilities.target_platform.quantization_format import \
21
+ QuantizationFormat
19
22
 
20
23
  tp = mct.target_platform
21
24
 
@@ -113,6 +116,9 @@ def generate_tp_model(default_config: OpQuantizationConfig,
113
116
  # be used for operations that will be attached to this set's label.
114
117
  # Otherwise, it will be a configure-less set (used in fusing):
115
118
 
119
+ # Set quantization format to fakely quant
120
+ generated_tpc.set_quantization_format(QuantizationFormat.FAKELY_QUANT)
121
+
116
122
  # May suit for operations like: Dropout, Reshape, etc.
117
123
  tp.OperatorsSet("NoQuantization",
118
124
  tp.get_default_quantization_config_options().clone_and_edit(
@@ -15,8 +15,10 @@
15
15
  from typing import List, Tuple
16
16
 
17
17
  import model_compression_toolkit as mct
18
- from model_compression_toolkit.target_platform_capabilities.target_platform import OpQuantizationConfig, TargetPlatformModel, \
19
- QuantizationMethod
18
+ from model_compression_toolkit.target_platform_capabilities.target_platform import OpQuantizationConfig, \
19
+ TargetPlatformModel, QuantizationMethod
20
+ from model_compression_toolkit.target_platform_capabilities.target_platform.quantization_format import \
21
+ QuantizationFormat
20
22
 
21
23
  tp = mct.target_platform
22
24
 
@@ -115,6 +117,9 @@ def generate_tp_model(default_config: OpQuantizationConfig,
115
117
  # be used for operations that will be attached to this set's label.
116
118
  # Otherwise, it will be a configure-less set (used in fusing):
117
119
 
120
+ # Set quantization format to fakely quant
121
+ generated_tpc.set_quantization_format(QuantizationFormat.FAKELY_QUANT)
122
+
118
123
  # May suit for operations like: Dropout, Reshape, etc.
119
124
  tp.OperatorsSet("NoQuantization",
120
125
  tp.get_default_quantization_config_options().clone_and_edit(
@@ -15,7 +15,10 @@
15
15
  from typing import List, Tuple
16
16
 
17
17
  import model_compression_toolkit as mct
18
- from model_compression_toolkit.target_platform_capabilities.target_platform import OpQuantizationConfig, TargetPlatformModel
18
+ from model_compression_toolkit.target_platform_capabilities.target_platform import OpQuantizationConfig, \
19
+ TargetPlatformModel
20
+ from model_compression_toolkit.target_platform_capabilities.target_platform.quantization_format import \
21
+ QuantizationFormat
19
22
 
20
23
  tp = mct.target_platform
21
24
 
@@ -113,6 +116,9 @@ def generate_tp_model(default_config: OpQuantizationConfig,
113
116
  # be used for operations that will be attached to this set's label.
114
117
  # Otherwise, it will be a configure-less set (used in fusing):
115
118
 
119
+ # Set quantization format to fakely quant
120
+ generated_tpc.set_quantization_format(QuantizationFormat.FAKELY_QUANT)
121
+
116
122
  # May suit for operations like: Dropout, Reshape, etc.
117
123
  tp.OperatorsSet("NoQuantization",
118
124
  tp.get_default_quantization_config_options().clone_and_edit(
@@ -23,9 +23,7 @@ from model_compression_toolkit.target_platform_capabilities.tpc_models.tflite_tp
23
23
  tpc_dict as tflite_tpc_dict
24
24
  from model_compression_toolkit.target_platform_capabilities.tpc_models.qnnpack_tpc.target_platform_capabilities import \
25
25
  tpc_dict as qnnpack_tpc_dict
26
- from model_compression_toolkit.core.keras.constants import DEFAULT_TP_MODEL, IMX500_TP_MODEL, TFLITE_TP_MODEL, \
27
- QNNPACK_TP_MODEL
28
- from model_compression_toolkit.core.common.constants import LATEST
26
+ from model_compression_toolkit.target_platform_capabilities.constants import DEFAULT_TP_MODEL, IMX500_TP_MODEL, TFLITE_TP_MODEL, QNNPACK_TP_MODEL, LATEST
29
27
 
30
28
  tpc_dict = {DEFAULT_TP_MODEL: default_tpc_dict,
31
29
  IMX500_TP_MODEL: imx500_tpc_dict,
@@ -12,7 +12,7 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
  # ==============================================================================
15
- from model_compression_toolkit.core.common.constants import FOUND_TF, FOUND_TORCH
15
+ from model_compression_toolkit.constants import FOUND_TF, FOUND_TORCH
16
16
  from model_compression_toolkit.target_platform_capabilities.tpc_models.imx500_tpc.v1.tp_model import get_tp_model, generate_tp_model, \
17
17
  get_op_quantization_configs
18
18
  if FOUND_TF:
@@ -13,7 +13,8 @@
13
13
  # limitations under the License.
14
14
  # ==============================================================================
15
15
 
16
- from model_compression_toolkit.core.common.constants import FOUND_TF, FOUND_TORCH, TENSORFLOW, PYTORCH, LATEST
16
+ from model_compression_toolkit.constants import FOUND_TF, FOUND_TORCH, TENSORFLOW, PYTORCH
17
+ from model_compression_toolkit.target_platform_capabilities.constants import LATEST
17
18
 
18
19
  ###############################
19
20
  # Build Tensorflow TPC models
@@ -15,7 +15,10 @@
15
15
  from typing import List, Tuple
16
16
 
17
17
  import model_compression_toolkit as mct
18
- from model_compression_toolkit.target_platform_capabilities.target_platform import OpQuantizationConfig, TargetPlatformModel
18
+ from model_compression_toolkit.target_platform_capabilities.target_platform import OpQuantizationConfig, \
19
+ TargetPlatformModel
20
+ from model_compression_toolkit.target_platform_capabilities.target_platform.quantization_format import \
21
+ QuantizationFormat
19
22
 
20
23
  tp = mct.target_platform
21
24
 
@@ -113,6 +116,9 @@ def generate_tp_model(default_config: OpQuantizationConfig,
113
116
  # be used for operations that will be attached to this set's label.
114
117
  # Otherwise, it will be a configure-less set (used in fusing):
115
118
 
119
+ # Set quantization format to fakely quant
120
+ generated_tpc.set_quantization_format(QuantizationFormat.FAKELY_QUANT)
121
+
116
122
  # May suit for operations like: Dropout, Reshape, etc.
117
123
  tp.OperatorsSet("NoQuantization",
118
124
  tp.get_default_quantization_config_options().clone_and_edit(
@@ -12,7 +12,7 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
  # ==============================================================================
15
- from model_compression_toolkit.core.common.constants import FOUND_TF, FOUND_TORCH
15
+ from model_compression_toolkit.constants import FOUND_TF, FOUND_TORCH
16
16
  from model_compression_toolkit.target_platform_capabilities.tpc_models.qnnpack_tpc.v1.tp_model import get_tp_model, generate_tp_model, get_op_quantization_configs
17
17
  if FOUND_TF:
18
18
  from model_compression_toolkit.target_platform_capabilities.tpc_models.qnnpack_tpc.v1.tpc_keras import get_keras_tpc as get_keras_tpc_latest
@@ -13,7 +13,8 @@
13
13
  # limitations under the License.
14
14
  # ==============================================================================
15
15
 
16
- from model_compression_toolkit.core.common.constants import FOUND_TF, FOUND_TORCH, TENSORFLOW, PYTORCH, LATEST
16
+ from model_compression_toolkit.constants import FOUND_TF, FOUND_TORCH, TENSORFLOW, PYTORCH
17
+ from model_compression_toolkit.target_platform_capabilities.constants import LATEST
17
18
 
18
19
 
19
20
  ###############################
@@ -15,7 +15,10 @@
15
15
  from typing import List, Tuple
16
16
 
17
17
  import model_compression_toolkit as mct
18
- from model_compression_toolkit.target_platform_capabilities.target_platform import OpQuantizationConfig, TargetPlatformModel
18
+ from model_compression_toolkit.target_platform_capabilities.target_platform import OpQuantizationConfig, \
19
+ TargetPlatformModel
20
+ from model_compression_toolkit.target_platform_capabilities.target_platform.quantization_format import \
21
+ QuantizationFormat
19
22
 
20
23
  tp = mct.target_platform
21
24
 
@@ -120,4 +123,7 @@ def generate_tp_model(default_config: OpQuantizationConfig,
120
123
  tp.Fusing([conv, relu])
121
124
  tp.Fusing([linear, relu])
122
125
 
126
+ # Set quantization format to fakely quant
127
+ generated_tpc.set_quantization_format(QuantizationFormat.FAKELY_QUANT)
128
+
123
129
  return generated_tpc
@@ -12,7 +12,7 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
  # ==============================================================================
15
- from model_compression_toolkit.core.common.constants import FOUND_TF, FOUND_TORCH
15
+ from model_compression_toolkit.constants import FOUND_TF, FOUND_TORCH
16
16
  from model_compression_toolkit.target_platform_capabilities.tpc_models.tflite_tpc.v1.tp_model import get_tp_model, generate_tp_model, get_op_quantization_configs
17
17
  if FOUND_TF:
18
18
  from model_compression_toolkit.target_platform_capabilities.tpc_models.tflite_tpc.v1.tpc_keras import get_keras_tpc as get_keras_tpc_latest
@@ -13,7 +13,8 @@
13
13
  # limitations under the License.
14
14
  # ==============================================================================
15
15
 
16
- from model_compression_toolkit.core.common.constants import FOUND_TF, FOUND_TORCH, TENSORFLOW, PYTORCH, LATEST
16
+ from model_compression_toolkit.constants import FOUND_TF, FOUND_TORCH, TENSORFLOW, PYTORCH
17
+ from model_compression_toolkit.target_platform_capabilities.constants import LATEST
17
18
 
18
19
 
19
20
  ###############################