mct-nightly 2.1.0.20240528.427__py3-none-any.whl → 2.1.0.20240530.440__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mct-nightly
3
- Version: 2.1.0.20240528.427
3
+ Version: 2.1.0.20240530.440
4
4
  Summary: A Model Compression Toolkit for neural networks
5
5
  Home-page: UNKNOWN
6
6
  License: UNKNOWN
@@ -1,4 +1,4 @@
1
- model_compression_toolkit/__init__.py,sha256=Q0zvJ_I9WG9ljZolPta7j3bBF8qIh3NIjGPWdep5gaY,1573
1
+ model_compression_toolkit/__init__.py,sha256=Fu3xEc3yOO69H_m9_viK2IcJAgsYnhBYYNUGRoMKeUs,1573
2
2
  model_compression_toolkit/constants.py,sha256=b63Jk_bC7VXEX3Qn9TZ3wUvrNKD8Mkz8zIuayoyF5eU,3828
3
3
  model_compression_toolkit/defaultdict.py,sha256=LSc-sbZYXENMCw3U9F4GiXuv67IKpdn0Qm7Fr11jy-4,2277
4
4
  model_compression_toolkit/logger.py,sha256=3DByV41XHRR3kLTJNbpaMmikL8icd9e1N-nkQAY9oDk,4567
@@ -417,7 +417,7 @@ model_compression_toolkit/target_platform_capabilities/immutable.py,sha256=YhROB
417
417
  model_compression_toolkit/target_platform_capabilities/target_platform/__init__.py,sha256=bD2xE101rRw7pGarGiBzYraeFF7FUnzyWtAVzwu5JT4,1724
418
418
  model_compression_toolkit/target_platform_capabilities/target_platform/current_tp_model.py,sha256=1Glr4qKDJfdk5TwM5fzZ12XzgbpQFioDOxb475905gk,2013
419
419
  model_compression_toolkit/target_platform_capabilities/target_platform/fusing.py,sha256=f3xBAI6ivPvEj4lw8cAvTKdIbs7CRdLAa_0LvhGw3Dg,3924
420
- model_compression_toolkit/target_platform_capabilities/target_platform/op_quantization_config.py,sha256=kk2c0XjeW3WbK0NihV1j_EffnnpfOXJEI4hJeu6amEc,14693
420
+ model_compression_toolkit/target_platform_capabilities/target_platform/op_quantization_config.py,sha256=tpy19ZwFCqPWCFtTc76K_kv2dEzFqojdsnWhYxjdDUA,15015
421
421
  model_compression_toolkit/target_platform_capabilities/target_platform/operators.py,sha256=rRmrmPBY4rxCWVpEc6FxeOPUFh8MkfwgQsqD82U9a7w,3108
422
422
  model_compression_toolkit/target_platform_capabilities/target_platform/target_platform_model.py,sha256=55EQyP4McJBwsw9_l9eseEZ-V2ygQfdRXjjJLF6HdIM,9482
423
423
  model_compression_toolkit/target_platform_capabilities/target_platform/target_platform_model_component.py,sha256=TDbNQwmF7Id-FoIQZlR7ZOcz_nRb4XKBmDihAgKT0u8,1392
@@ -429,9 +429,9 @@ model_compression_toolkit/target_platform_capabilities/target_platform/targetpla
429
429
  model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/target_platform_capabilities.py,sha256=KP8IWlHzkXzVjqIiRtAW6sTYyHJ2wVFFX4hMt_N6o3s,9910
430
430
  model_compression_toolkit/target_platform_capabilities/target_platform/targetplatform2framework/target_platform_capabilities_component.py,sha256=FvrYI0Qy7DCmDp2gyUYyCZq5pY84JgLtJqSIiVTJ8Ss,1030
431
431
  model_compression_toolkit/target_platform_capabilities/tpc_models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
432
- model_compression_toolkit/target_platform_capabilities/tpc_models/get_target_platform_capabilities.py,sha256=aHoAu5Iye9YVn2HLwNb4X9cUDX1WJt20R5GsNGIAk9E,3337
432
+ model_compression_toolkit/target_platform_capabilities/tpc_models/get_target_platform_capabilities.py,sha256=-jCL-meZWFBF-Dp9wBYTX_14SKmyyUJE-BZ2IQDJIAk,3336
433
433
  model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/__init__.py,sha256=lNJ29DYxaLUPDstRDA1PGI5r9Fulq_hvrZMlhst1Z5g,697
434
- model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/target_platform_capabilities.py,sha256=fPOzybGECCWPkAD1hmJryWZrf9vd5Od-UOH6PE0lH94,3820
434
+ model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/target_platform_capabilities.py,sha256=bUeKEjL45oU6J1EXwt1MGhlWs_87zF1GGz6X3ES72ps,3796
435
435
  model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/latest/__init__.py,sha256=F5RG4MnuAwKcNXbfVbPFLQu30-lNax-7knqu20B6udQ,1522
436
436
  model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1/__init__.py,sha256=1mMOREEMoNHu_KTMGDp4crN61opKWX6aFn1DrDLvqcc,717
437
437
  model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v1/tp_model.py,sha256=S-GwMI-JiuPpbtOdd6TSOEjiUFiIs6M2RAiJNJ3O950,10883
@@ -454,14 +454,14 @@ model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2_
454
454
  model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2_lut/tpc_keras.py,sha256=6PVKQKGpJpM2B1qvmf6fID_-MACaSQZkaL_9J_fj2SQ,6595
455
455
  model_compression_toolkit/target_platform_capabilities/tpc_models/imx500_tpc/v2_lut/tpc_pytorch.py,sha256=dFQjzFlLDwoUqKNP1at1fS1N1WJadSSasRyzHl6vaB8,5733
456
456
  model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/__init__.py,sha256=cco4TmeIDIh32nj9ZZXVkws4dd9F2UDrmjKzTN8G0V0,697
457
- model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/target_platform_capabilities.py,sha256=lnhJcwvTF0t7ybeiTleIS1p0aD8xzFZxVPx4ISk5uWQ,2090
457
+ model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/target_platform_capabilities.py,sha256=7KVcuz0LfngRKOsfcvBysxGVb9fqgoAO6MVTl1CmB5c,2082
458
458
  model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/latest/__init__.py,sha256=UUvUCcTots_sehdRnDfgkaE8WPQ7dPbeuhDF4Qy2nzw,1510
459
459
  model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/v1/__init__.py,sha256=t4JKsPcor-7KSCKzIwuaBv0NLNwfhuewAQGlDl6iBeo,717
460
460
  model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/v1/tp_model.py,sha256=InHTtUwHxh8KeC430SX9gP17hUvXJ-REGCXIUCQBVhI,8106
461
461
  model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/v1/tpc_keras.py,sha256=h_hePXCggG2qktLuoNAOE1XNtc0qEwMyky7om1c8eC8,4483
462
462
  model_compression_toolkit/target_platform_capabilities/tpc_models/qnnpack_tpc/v1/tpc_pytorch.py,sha256=65WJPRCjliXEUL4AjZRxcyVS3y7KHTMDdkqy6D95kRw,3814
463
463
  model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/__init__.py,sha256=cco4TmeIDIh32nj9ZZXVkws4dd9F2UDrmjKzTN8G0V0,697
464
- model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/target_platform_capabilities.py,sha256=C42RJBQERjjkqFa1pRsHZXseofceOtrp_fJxs4wqWvo,2085
464
+ model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/target_platform_capabilities.py,sha256=Go0RJ1KcKoynCUSwGhxA1nsYsMmZEFSrxiL59iyE6LA,2077
465
465
  model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/latest/__init__.py,sha256=sK9PnyB2R9g0rqHr_9vyUFX7wSyrZe7x9yqYUlbaiqo,1505
466
466
  model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/v1/__init__.py,sha256=t4JKsPcor-7KSCKzIwuaBv0NLNwfhuewAQGlDl6iBeo,717
467
467
  model_compression_toolkit/target_platform_capabilities/tpc_models/tflite_tpc/v1/tp_model.py,sha256=PSoSEgn2Gprc3TpLyl2BCcn7tYW0KrFN-CXM7l8dwOo,9864
@@ -483,8 +483,8 @@ model_compression_toolkit/trainable_infrastructure/keras/quantize_wrapper.py,sha
483
483
  model_compression_toolkit/trainable_infrastructure/keras/quantizer_utils.py,sha256=MVwXNymmFRB2NXIBx4e2mdJ1RfoHxRPYRgjb1MQP5kY,1797
484
484
  model_compression_toolkit/trainable_infrastructure/pytorch/__init__.py,sha256=huHoBUcKNB6BnY6YaUCcFvdyBtBI172ZoUD8ZYeNc6o,696
485
485
  model_compression_toolkit/trainable_infrastructure/pytorch/base_pytorch_quantizer.py,sha256=MxylaVFPgN7zBiRBy6WV610EA4scLgRJFbMucKvvNDU,2896
486
- mct_nightly-2.1.0.20240528.427.dist-info/LICENSE.md,sha256=aYSSIb-5AFPeITTvXm1UAoe0uYBiMmSS8flvXaaFUks,10174
487
- mct_nightly-2.1.0.20240528.427.dist-info/METADATA,sha256=fXUNjy_JxmuxTM-QFsOwt62Zw183xYAHWXGhhvDKAzg,19721
488
- mct_nightly-2.1.0.20240528.427.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
489
- mct_nightly-2.1.0.20240528.427.dist-info/top_level.txt,sha256=gsYA8juk0Z-ZmQRKULkb3JLGdOdz8jW_cMRjisn9ga4,26
490
- mct_nightly-2.1.0.20240528.427.dist-info/RECORD,,
486
+ mct_nightly-2.1.0.20240530.440.dist-info/LICENSE.md,sha256=aYSSIb-5AFPeITTvXm1UAoe0uYBiMmSS8flvXaaFUks,10174
487
+ mct_nightly-2.1.0.20240530.440.dist-info/METADATA,sha256=mm-nfq4JHKo4P57r3asIsMswm8EfDjVV7H_gC4WWyqQ,19721
488
+ mct_nightly-2.1.0.20240530.440.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
489
+ mct_nightly-2.1.0.20240530.440.dist-info/top_level.txt,sha256=gsYA8juk0Z-ZmQRKULkb3JLGdOdz8jW_cMRjisn9ga4,26
490
+ mct_nightly-2.1.0.20240530.440.dist-info/RECORD,,
@@ -27,4 +27,4 @@ from model_compression_toolkit import data_generation
27
27
  from model_compression_toolkit import pruning
28
28
  from model_compression_toolkit.trainable_infrastructure.keras.load_model import keras_load_quantized_model
29
29
 
30
- __version__ = "2.1.0.20240528.000427"
30
+ __version__ = "2.1.0.20240530.000440"
@@ -197,7 +197,7 @@ class OpQuantizationConfig:
197
197
  self.simd_size == other.simd_size
198
198
 
199
199
 
200
- class QuantizationConfigOptions(object):
200
+ class QuantizationConfigOptions:
201
201
  """
202
202
 
203
203
  Wrap a set of quantization configurations to consider during the quantization
@@ -215,19 +215,24 @@ class QuantizationConfigOptions(object):
215
215
  """
216
216
 
217
217
  assert isinstance(quantization_config_list,
218
- list), f'\'QuantizationConfigOptions\' options list must be a list, but received: {type(quantization_config_list)}.'
219
- assert len(quantization_config_list) > 0, f'Options list can not be empty.'
218
+ list), f"'QuantizationConfigOptions' options list must be a list, but received: {type(quantization_config_list)}."
220
219
  for cfg in quantization_config_list:
221
- assert isinstance(cfg, OpQuantizationConfig), f'Each option must be an instance of \'OpQuantizationConfig\', but found an object of type: {type(cfg)}.'
220
+ assert isinstance(cfg, OpQuantizationConfig),\
221
+ f"Each option must be an instance of 'OpQuantizationConfig', but found an object of type: {type(cfg)}."
222
222
  self.quantization_config_list = quantization_config_list
223
223
  if len(quantization_config_list) > 1:
224
- assert base_config is not None, f'For multiple configurations, a \'base_config\' is required for non-mixed-precision optimization.'
225
- assert base_config in quantization_config_list, f"\'base_config\' must be included in the quantization config options list."
224
+ assert base_config is not None, \
225
+ f"For multiple configurations, a 'base_config' is required for non-mixed-precision optimization."
226
+ assert any([base_config is cfg for cfg in quantization_config_list]), \
227
+ f"'base_config' must be included in the quantization config options list."
228
+ # Enforce base_config to be a reference to an instance in quantization_config_list.
226
229
  self.base_config = base_config
227
230
  elif len(quantization_config_list) == 1:
231
+ assert base_config is None or base_config == quantization_config_list[0], "'base_config' should be included in 'quantization_config_list'"
232
+ # Set base_config to be a reference to the first instance in quantization_config_list.
228
233
  self.base_config = quantization_config_list[0]
229
234
  else:
230
- Logger.critical("\'QuantizationConfigOptions\' requires at least one \'OpQuantizationConfig\'; the provided list is empty.")
235
+ raise AssertionError("'QuantizationConfigOptions' requires at least one 'OpQuantizationConfig'. The provided list is empty.")
231
236
 
232
237
  def __eq__(self, other):
233
238
  """
@@ -55,5 +55,5 @@ def get_target_platform_capabilities(fw_name: str,
55
55
  if target_platform_version is None:
56
56
  target_platform_version = LATEST
57
57
  else:
58
- assert target_platform_version in tpc_versions, f'TPC version {target_platform_version} is not supported for framework {fw_name}'
59
- return tpc_versions.get(target_platform_version)
58
+ assert target_platform_version in tpc_versions, f'TPC version {target_platform_version} is not supported for framework {fw_name}.'
59
+ return tpc_versions[target_platform_version]()
@@ -29,12 +29,12 @@ if FOUND_TF:
29
29
  from model_compression_toolkit.target_platform_capabilities.tpc_models.imx500_tpc.v2_lut.tpc_keras import get_keras_tpc as get_keras_tpc_v2_lut
30
30
 
31
31
  # Keras: TPC versioning
32
- keras_tpc_models_dict = {'v1': get_keras_tpc_v1(),
33
- 'v1_lut': get_keras_tpc_v1_lut(),
34
- 'v1_pot': get_keras_tpc_v1_pot(),
35
- 'v2': get_keras_tpc_v2(),
36
- 'v2_lut': get_keras_tpc_v2_lut(),
37
- LATEST: get_keras_tpc_latest()}
32
+ keras_tpc_models_dict = {'v1': get_keras_tpc_v1,
33
+ 'v1_lut': get_keras_tpc_v1_lut,
34
+ 'v1_pot': get_keras_tpc_v1_pot,
35
+ 'v2': get_keras_tpc_v2,
36
+ 'v2_lut': get_keras_tpc_v2_lut,
37
+ LATEST: get_keras_tpc_latest}
38
38
 
39
39
  ###############################
40
40
  # Build Pytorch TPC models
@@ -54,12 +54,12 @@ if FOUND_TORCH:
54
54
  get_pytorch_tpc as get_pytorch_tpc_v2_lut
55
55
 
56
56
  # Pytorch: TPC versioning
57
- pytorch_tpc_models_dict = {'v1': get_pytorch_tpc_v1(),
58
- 'v1_lut': get_pytorch_tpc_v1_lut(),
59
- 'v1_pot': get_pytorch_tpc_v1_pot(),
60
- 'v2': get_pytorch_tpc_v2(),
61
- 'v2_lut': get_pytorch_tpc_v2_lut(),
62
- LATEST: get_pytorch_tpc_latest()}
57
+ pytorch_tpc_models_dict = {'v1': get_pytorch_tpc_v1,
58
+ 'v1_lut': get_pytorch_tpc_v1_lut,
59
+ 'v1_pot': get_pytorch_tpc_v1_pot,
60
+ 'v2': get_pytorch_tpc_v2,
61
+ 'v2_lut': get_pytorch_tpc_v2_lut,
62
+ LATEST: get_pytorch_tpc_latest}
63
63
 
64
64
  tpc_dict = {TENSORFLOW: keras_tpc_models_dict,
65
65
  PYTORCH: pytorch_tpc_models_dict}
@@ -26,8 +26,8 @@ if FOUND_TF:
26
26
  from model_compression_toolkit.target_platform_capabilities.tpc_models.qnnpack_tpc.latest import get_keras_tpc_latest
27
27
 
28
28
  # Keras: TPC versioning
29
- keras_tpc_models_dict = {'v1': get_keras_tpc_v1(),
30
- LATEST: get_keras_tpc_latest()}
29
+ keras_tpc_models_dict = {'v1': get_keras_tpc_v1,
30
+ LATEST: get_keras_tpc_latest}
31
31
 
32
32
  ###############################
33
33
  # Build Pytorch TPC models
@@ -39,8 +39,8 @@ if FOUND_TORCH:
39
39
  from model_compression_toolkit.target_platform_capabilities.tpc_models.qnnpack_tpc.latest import get_pytorch_tpc_latest
40
40
 
41
41
  # Pytorch: TPC versioning
42
- pytorch_tpc_models_dict = {'v1': get_pytorch_tpc_v1(),
43
- LATEST: get_pytorch_tpc_latest()}
42
+ pytorch_tpc_models_dict = {'v1': get_pytorch_tpc_v1,
43
+ LATEST: get_pytorch_tpc_latest}
44
44
 
45
45
  tpc_dict = {TENSORFLOW: keras_tpc_models_dict,
46
46
  PYTORCH: pytorch_tpc_models_dict}
@@ -26,8 +26,8 @@ if FOUND_TF:
26
26
  from model_compression_toolkit.target_platform_capabilities.tpc_models.tflite_tpc.latest import get_keras_tpc_latest
27
27
 
28
28
  # Keras: TPC versioning
29
- keras_tpc_models_dict = {'v1': get_keras_tpc_v1(),
30
- LATEST: get_keras_tpc_latest()}
29
+ keras_tpc_models_dict = {'v1': get_keras_tpc_v1,
30
+ LATEST: get_keras_tpc_latest}
31
31
 
32
32
  ###############################
33
33
  # Build Pytorch TPC models
@@ -39,8 +39,8 @@ if FOUND_TORCH:
39
39
  from model_compression_toolkit.target_platform_capabilities.tpc_models.tflite_tpc.latest import get_pytorch_tpc_latest
40
40
 
41
41
  # Pytorch: TPC versioning
42
- pytorch_tpc_models_dict = {'v1': get_pytorch_tpc_v1(),
43
- LATEST: get_pytorch_tpc_latest()}
42
+ pytorch_tpc_models_dict = {'v1': get_pytorch_tpc_v1,
43
+ LATEST: get_pytorch_tpc_latest}
44
44
 
45
45
  tpc_dict = {TENSORFLOW: keras_tpc_models_dict,
46
46
  PYTORCH: pytorch_tpc_models_dict}