compressed-tensors 0.10.3a20250811__py3-none-any.whl → 0.10.3a20250812__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.
@@ -207,7 +207,7 @@ class ModelCompressor:
207
207
 
208
208
  @staticmethod
209
209
  def parse_sparsity_config(
210
- compression_config: Union[Dict[str, Any], "CompressedTensorsConfig"]
210
+ compression_config: Union[Dict[str, Any], "CompressedTensorsConfig"],
211
211
  ) -> Union[Dict[str, Any], None]:
212
212
  """
213
213
  Parse sparsity config from quantization/compression config. Sparsity
@@ -227,7 +227,7 @@ class ModelCompressor:
227
227
 
228
228
  @staticmethod
229
229
  def parse_quantization_config(
230
- compression_config: Union[Dict[str, Any], "CompressedTensorsConfig"]
230
+ compression_config: Union[Dict[str, Any], "CompressedTensorsConfig"],
231
231
  ) -> Union[Dict[str, Any], None]:
232
232
  """
233
233
  Parse quantization config from quantization/compression config. The
@@ -246,6 +246,7 @@ class ModelCompressor:
246
246
 
247
247
  quantization_config = deepcopy(compression_config)
248
248
  quantization_config.pop(SPARSITY_CONFIG_NAME, None)
249
+ quantization_config.pop(TRANSFORM_CONFIG_NAME, None)
249
250
 
250
251
  # some fields are required, even if a qconfig is not present
251
252
  # pop them off and if nothing remains, then there is no qconfig
@@ -674,7 +675,7 @@ class ModelCompressor:
674
675
 
675
676
  # serialize configs into json
676
677
  qconfig_data = (
677
- self.quantization_config.model_dump(exclude=["quant_method", "format"])
678
+ self.quantization_config.model_dump(exclude=["quant_method"])
678
679
  if self.quantization_config is not None
679
680
  else {}
680
681
  )
@@ -86,6 +86,7 @@ __all__ = [
86
86
  "offloaded_dispatch",
87
87
  "disable_offloading",
88
88
  "remove_dispatch",
89
+ "cast_to_device",
89
90
  ]
90
91
 
91
92
 
@@ -169,6 +170,19 @@ def update_parameter_data(
169
170
  """ Candidates for Upstreaming """
170
171
 
171
172
 
173
+ def cast_to_device(device_spec: Union[int, torch.device]) -> torch.device:
174
+ """
175
+ Convert an integer device index or torch.device into a torch.device object.
176
+
177
+ :param device_spec: Device index (int) or torch.device object.
178
+ Negative integers map to CPU.
179
+ :return: torch.device corresponding to the given device specification.
180
+ """
181
+ if isinstance(device_spec, int):
182
+ return torch.device(f"cuda:{device_spec}" if device_spec >= 0 else "cpu")
183
+ return device_spec
184
+
185
+
172
186
  def get_execution_device(module: torch.nn.Module) -> torch.device:
173
187
  """
174
188
  Get the device which inputs should be moved to before module execution.
@@ -179,7 +193,7 @@ def get_execution_device(module: torch.nn.Module) -> torch.device:
179
193
  """
180
194
  for submodule in module.modules():
181
195
  if has_offloaded_params(submodule):
182
- return submodule._hf_hook.execution_device
196
+ return cast_to_device(submodule._hf_hook.execution_device)
183
197
 
184
198
  param = next(submodule.parameters(recurse=False), None)
185
199
  if param is not None:
@@ -17,5 +17,5 @@ __version__: str
17
17
  __version_tuple__: VERSION_TUPLE
18
18
  version_tuple: VERSION_TUPLE
19
19
 
20
- __version__ = version = '0.10.3.a20250811'
20
+ __version__ = version = '0.10.3.a20250812'
21
21
  __version_tuple__ = version_tuple = (0, 10, 3)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: compressed-tensors
3
- Version: 0.10.3a20250811
3
+ Version: 0.10.3a20250812
4
4
  Summary: Library for utilization of compressed safetensors of neural network models
5
5
  Home-page: https://github.com/neuralmagic/compressed-tensors
6
6
  Author: Neuralmagic, Inc.
@@ -1,11 +1,11 @@
1
1
  compressed_tensors/__init__.py,sha256=UtKmifNeBCSE2TZSAfduVNNzHY-3V7bLjZ7n7RuXLOE,812
2
2
  compressed_tensors/base.py,sha256=-gxWvDF4LCkyeDP8YlGzvBBKxo4Dk9h4NINPD61drFU,921
3
- compressed_tensors/version.py,sha256=9NgEdMzgL7r039RghUuU-BhjHVuGK1utk2z8Au9OlWA,523
3
+ compressed_tensors/version.py,sha256=xvYY_n0Nd8St_3mnUNQJLLacYomaXp2WG5TBIJ3wSDo,523
4
4
  compressed_tensors/compressors/__init__.py,sha256=smSygTSfcfuujRrAXDc6uZm4L_ccV1tWZewqVnOb4lM,825
5
5
  compressed_tensors/compressors/base.py,sha256=nvWsv4xEw1Tkxkxth6TmHplDYXfBeP22xWxOsZERyDY,7204
6
6
  compressed_tensors/compressors/helpers.py,sha256=OK6qxX9j3bHwF9JfIYSGMgBJe2PWjlTA3byXKCJaTIQ,5431
7
7
  compressed_tensors/compressors/model_compressors/__init__.py,sha256=5RGGPFu4YqEt_aOdFSQYFYFDjcZFJN0CsMqRtDZz3Js,666
8
- compressed_tensors/compressors/model_compressors/model_compressor.py,sha256=0WULLKpgWuTQLjKsCstiTssT778wp9TWMkQjHbYO4Zo,33989
8
+ compressed_tensors/compressors/model_compressors/model_compressor.py,sha256=NEnRjTRhmOHP_TVgrhQb58t-XjftDNoZBNyTXQQBRao,34042
9
9
  compressed_tensors/compressors/quantized_compressors/__init__.py,sha256=KvaFBL_Q84LxRGJOV035M8OBoCkAx8kOkfphswgkKWk,745
10
10
  compressed_tensors/compressors/quantized_compressors/base.py,sha256=YGUMzbxekj_36ChgQnVZN6T8uDjXtGG1zfMIBGBLWco,10354
11
11
  compressed_tensors/compressors/quantized_compressors/naive_quantized.py,sha256=0ANDcuD8aXPqTYNPY6GnX9iS6eXJw6P0TzNV_rYS2l8,5369
@@ -57,14 +57,14 @@ compressed_tensors/utils/__init__.py,sha256=spzbjUO4-hZ2jXGST27r3MIt2yzIXsjdbEaY
57
57
  compressed_tensors/utils/helpers.py,sha256=Q3iRAa2XSdmmn4vSpUplnvKOmWwn4Clao9ZkPBHXtpI,12604
58
58
  compressed_tensors/utils/internal.py,sha256=7SSWgDoNFRnlfadwkoFhLW-T2jOc7Po_WzWv5h32Sa8,982
59
59
  compressed_tensors/utils/match.py,sha256=9x-yZIlq7ndSLf2aQwNT7IpBQDe-8H6utiJkji8wPrQ,9397
60
- compressed_tensors/utils/offload.py,sha256=3XiBuWbUkBAt8v1t5i57qDcbB3VJQs_FDeayi-JzIWg,23896
60
+ compressed_tensors/utils/offload.py,sha256=gFoEDaissHsLM5-JDbgPxh5hiE9VFN4HFxvszYvReos,24446
61
61
  compressed_tensors/utils/permutations_24.py,sha256=kx6fsfDHebx94zsSzhXGyCyuC9sVyah6BUUir_StT28,2530
62
62
  compressed_tensors/utils/permute.py,sha256=V6tJLKo3Syccj-viv4F7ZKZgJeCB-hl-dK8RKI_kBwI,2355
63
63
  compressed_tensors/utils/safetensors_load.py,sha256=DMfZBuUbA6qp_BG_zIWT3ckiEE33K9ob34s-OgzReO4,12057
64
64
  compressed_tensors/utils/semi_structured_conversions.py,sha256=XKNffPum54kPASgqKzgKvyeqWPAkair2XEQXjkp7ho8,13489
65
65
  compressed_tensors/utils/type.py,sha256=bNwoo_FWlvLuDpYAGGzZJITRg0JA_Ngk9LGPo-kvjeU,2554
66
- compressed_tensors-0.10.3a20250811.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
67
- compressed_tensors-0.10.3a20250811.dist-info/METADATA,sha256=mYMXLEK9r53lXrMbZBRmkimI3aW-X1x4n-8DUThb0K8,7031
68
- compressed_tensors-0.10.3a20250811.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
69
- compressed_tensors-0.10.3a20250811.dist-info/top_level.txt,sha256=w2i-GyPs2s1UwVxvutSvN_lM22SXC2hQFBmoMcPnV7Y,19
70
- compressed_tensors-0.10.3a20250811.dist-info/RECORD,,
66
+ compressed_tensors-0.10.3a20250812.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
67
+ compressed_tensors-0.10.3a20250812.dist-info/METADATA,sha256=FKQ6iJRJ_Q7GMoCLI73bfQXEKxW5E2hgmDl9lCTbtSY,7031
68
+ compressed_tensors-0.10.3a20250812.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
69
+ compressed_tensors-0.10.3a20250812.dist-info/top_level.txt,sha256=w2i-GyPs2s1UwVxvutSvN_lM22SXC2hQFBmoMcPnV7Y,19
70
+ compressed_tensors-0.10.3a20250812.dist-info/RECORD,,