mct-nightly 2.1.0.20240529.431__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.20240529.431
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=F0hTsPlZ83527863XchjFzothwgPnodI3rvD5OIysp0,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
@@ -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.20240529.431.dist-info/LICENSE.md,sha256=aYSSIb-5AFPeITTvXm1UAoe0uYBiMmSS8flvXaaFUks,10174
487
- mct_nightly-2.1.0.20240529.431.dist-info/METADATA,sha256=IK0APkxwHkLMatb9oW_-VOZ8-CXihqoqyA2TL2drWYg,19721
488
- mct_nightly-2.1.0.20240529.431.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
489
- mct_nightly-2.1.0.20240529.431.dist-info/top_level.txt,sha256=gsYA8juk0Z-ZmQRKULkb3JLGdOdz8jW_cMRjisn9ga4,26
490
- mct_nightly-2.1.0.20240529.431.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.20240529.000431"
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
  """