compressed-tensors 0.10.3a20250814__tar.gz → 0.11.0__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 (152) hide show
  1. {compressed_tensors-0.10.3a20250814/src/compressed_tensors.egg-info → compressed_tensors-0.11.0}/PKG-INFO +1 -1
  2. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors/quantization/quant_scheme.py +6 -0
  3. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors/utils/match.py +16 -8
  4. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors/utils/offload.py +1 -0
  5. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors/version.py +2 -2
  6. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0/src/compressed_tensors.egg-info}/PKG-INFO +1 -1
  7. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/tests/test_utils/test_match.py +14 -8
  8. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/.github/.gitkeep +0 -0
  9. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/.github/actions/test/action.yml +0 -0
  10. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/.github/scripts/step-status +0 -0
  11. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/.github/workflows/build-test.yml +0 -0
  12. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/.github/workflows/build.yml +0 -0
  13. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/.github/workflows/report.yml +0 -0
  14. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/.github/workflows/test-check.yaml +0 -0
  15. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/.github/workflows/test.yml +0 -0
  16. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/.github/workflows/trigger-all.yml +0 -0
  17. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/.github/workflows/upload.yml +0 -0
  18. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/.gitignore +0 -0
  19. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/LICENSE +0 -0
  20. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/Makefile +0 -0
  21. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/README.md +0 -0
  22. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/examples/bit_packing/ex_quantize_and_pack.py +0 -0
  23. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/examples/bit_packing/int4_config.json +0 -0
  24. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/examples/bitmask_compression.ipynb +0 -0
  25. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/examples/llama_1.1b/ex_config_quantization.py +0 -0
  26. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/examples/llama_1.1b/ex_llmcompressor_quantization.py +0 -0
  27. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/examples/llama_1.1b/example_quant_config.json +0 -0
  28. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/examples/llama_1.1b/example_quant_recipe.yaml +0 -0
  29. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/examples/quantize_and_pack_int4.ipynb +0 -0
  30. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/pyproject.toml +0 -0
  31. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/setup.cfg +0 -0
  32. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/setup.py +0 -0
  33. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/__init__.py +0 -0
  34. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors/README.md +0 -0
  35. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors/__init__.py +0 -0
  36. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors/base.py +0 -0
  37. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors/compressors/__init__.py +0 -0
  38. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors/compressors/base.py +0 -0
  39. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors/compressors/helpers.py +0 -0
  40. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors/compressors/model_compressors/__init__.py +0 -0
  41. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors/compressors/model_compressors/model_compressor.py +0 -0
  42. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors/compressors/quantized_compressors/__init__.py +0 -0
  43. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors/compressors/quantized_compressors/base.py +0 -0
  44. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors/compressors/quantized_compressors/naive_quantized.py +0 -0
  45. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors/compressors/quantized_compressors/nvfp4_quantized.py +0 -0
  46. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors/compressors/quantized_compressors/pack_quantized.py +0 -0
  47. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors/compressors/sparse_compressors/__init__.py +0 -0
  48. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors/compressors/sparse_compressors/base.py +0 -0
  49. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors/compressors/sparse_compressors/dense.py +0 -0
  50. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors/compressors/sparse_compressors/sparse_24_bitmask.py +0 -0
  51. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors/compressors/sparse_compressors/sparse_bitmask.py +0 -0
  52. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors/compressors/sparse_quantized_compressors/__init__.py +0 -0
  53. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors/compressors/sparse_quantized_compressors/marlin_24.py +0 -0
  54. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors/config/__init__.py +0 -0
  55. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors/config/base.py +0 -0
  56. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors/config/dense.py +0 -0
  57. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors/config/sparse_24_bitmask.py +0 -0
  58. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors/config/sparse_bitmask.py +0 -0
  59. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors/linear/__init__.py +0 -0
  60. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors/linear/compressed_linear.py +0 -0
  61. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors/quantization/__init__.py +0 -0
  62. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors/quantization/lifecycle/__init__.py +0 -0
  63. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors/quantization/lifecycle/apply.py +0 -0
  64. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors/quantization/lifecycle/compressed.py +0 -0
  65. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors/quantization/lifecycle/forward.py +0 -0
  66. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors/quantization/lifecycle/helpers.py +0 -0
  67. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors/quantization/lifecycle/initialize.py +0 -0
  68. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors/quantization/quant_args.py +0 -0
  69. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors/quantization/quant_config.py +0 -0
  70. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors/quantization/utils/__init__.py +0 -0
  71. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors/quantization/utils/helpers.py +0 -0
  72. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors/registry/__init__.py +0 -0
  73. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors/registry/registry.py +0 -0
  74. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors/transform/__init__.py +0 -0
  75. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors/transform/apply.py +0 -0
  76. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors/transform/factory/__init__.py +0 -0
  77. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors/transform/factory/base.py +0 -0
  78. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors/transform/factory/hadamard.py +0 -0
  79. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors/transform/factory/matrix_multiply.py +0 -0
  80. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors/transform/factory/random_hadamard.py +0 -0
  81. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors/transform/transform_args.py +0 -0
  82. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors/transform/transform_config.py +0 -0
  83. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors/transform/transform_scheme.py +0 -0
  84. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors/transform/utils/__init__.py +0 -0
  85. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors/transform/utils/hadamard.py +0 -0
  86. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors/transform/utils/hadamards.safetensors +0 -0
  87. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors/transform/utils/matrix.py +0 -0
  88. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors/utils/__init__.py +0 -0
  89. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors/utils/helpers.py +0 -0
  90. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors/utils/internal.py +0 -0
  91. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors/utils/permutations_24.py +0 -0
  92. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors/utils/permute.py +0 -0
  93. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors/utils/safetensors_load.py +0 -0
  94. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors/utils/semi_structured_conversions.py +0 -0
  95. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors/utils/type.py +0 -0
  96. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors.egg-info/SOURCES.txt +0 -0
  97. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors.egg-info/dependency_links.txt +0 -0
  98. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors.egg-info/requires.txt +0 -0
  99. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/src/compressed_tensors.egg-info/top_level.txt +0 -0
  100. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/tests/__init__.py +0 -0
  101. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/tests/conftest.py +0 -0
  102. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/tests/test_compressors/__init__.py +0 -0
  103. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/tests/test_compressors/model_compressors/__init__.py +0 -0
  104. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/tests/test_compressors/model_compressors/test_model_compressor.py +0 -0
  105. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/tests/test_compressors/quantized_compressors/__init__.py +0 -0
  106. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/tests/test_compressors/quantized_compressors/test_fp8_quant.py +0 -0
  107. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/tests/test_compressors/quantized_compressors/test_int_quant.py +0 -0
  108. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/tests/test_compressors/quantized_compressors/test_nvfp4_quant.py +0 -0
  109. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/tests/test_compressors/quantized_compressors/test_pack_quant.py +0 -0
  110. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/tests/test_compressors/sparse_compressors/__init__.py +0 -0
  111. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/tests/test_compressors/sparse_compressors/test_bitmask.py +0 -0
  112. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/tests/test_compressors/sparse_compressors/test_sparse_24_bitmask.py +0 -0
  113. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/tests/test_compressors/sparse_quantized_compressors/__init__.py +0 -0
  114. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/tests/test_compressors/sparse_quantized_compressors/test_marlin_24.py +0 -0
  115. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/tests/test_configs/__init__.py +0 -0
  116. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/tests/test_configs/test_base.py +0 -0
  117. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/tests/test_examples/test_bitmask_compression_ipynb.py +0 -0
  118. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/tests/test_linear/__init__.py +0 -0
  119. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/tests/test_linear/test_compressed_linear.py +0 -0
  120. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/tests/test_quantization/__init__.py +0 -0
  121. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/tests/test_quantization/lifecycle/__init__.py +0 -0
  122. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/tests/test_quantization/lifecycle/conftest.py +0 -0
  123. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/tests/test_quantization/lifecycle/test_apply.py +0 -0
  124. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/tests/test_quantization/lifecycle/test_dynamic_lifecycle.py +0 -0
  125. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/tests/test_quantization/lifecycle/test_enabled.py +0 -0
  126. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/tests/test_quantization/lifecycle/test_forward.py +0 -0
  127. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/tests/test_quantization/lifecycle/test_helpers.py +0 -0
  128. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/tests/test_quantization/lifecycle/test_initialize.py +0 -0
  129. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/tests/test_quantization/lifecycle/test_lifecycle.py +0 -0
  130. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/tests/test_quantization/test_configs/__init__.py +0 -0
  131. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/tests/test_quantization/test_configs/test_bit_depths.py +0 -0
  132. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/tests/test_quantization/test_configs/test_strategies.py +0 -0
  133. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/tests/test_quantization/test_quant_args.py +0 -0
  134. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/tests/test_quantization/test_quant_config.py +0 -0
  135. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/tests/test_quantization/test_quant_scheme.py +0 -0
  136. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/tests/test_quantization/test_utils/test_helpers.py +0 -0
  137. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/tests/test_registry.py +0 -0
  138. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/tests/test_transform/conftest.py +0 -0
  139. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/tests/test_transform/factory/test_correctness.py +0 -0
  140. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/tests/test_transform/factory/test_memory.py +0 -0
  141. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/tests/test_transform/factory/test_serialization.py +0 -0
  142. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/tests/test_transform/test_transform_args.py +0 -0
  143. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/tests/test_transform/test_transform_config.py +0 -0
  144. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/tests/test_transform/test_transform_scheme.py +0 -0
  145. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/tests/test_transform/utils/test_hadamard.py +0 -0
  146. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/tests/test_utils/__init__.py +0 -0
  147. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/tests/test_utils/test_helpers.py +0 -0
  148. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/tests/test_utils/test_offload.py +0 -0
  149. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/tests/test_utils/test_safetensors_load.py +0 -0
  150. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/tests/test_utils/test_type.py +0 -0
  151. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/tests/testing_utils.py +0 -0
  152. {compressed_tensors-0.10.3a20250814 → compressed_tensors-0.11.0}/utils/copyright.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: compressed-tensors
3
- Version: 0.10.3a20250814
3
+ Version: 0.11.0
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.
@@ -57,6 +57,7 @@ class QuantizationScheme(BaseModel):
57
57
  inputs = model.input_activations
58
58
  outputs = model.output_activations
59
59
  weights = model.weights
60
+ format = model.format
60
61
 
61
62
  if inputs is not None:
62
63
  if inputs.actorder is not None:
@@ -66,6 +67,11 @@ class QuantizationScheme(BaseModel):
66
67
  if outputs.actorder is not None:
67
68
  raise ValueError("Cannot apply actorder to output activations")
68
69
 
70
+ if format == CompressionFormat.mixed_precision.value:
71
+ raise ValueError(
72
+ "mixed-precision cannot be set as a format for a QuantizationScheme"
73
+ )
74
+
69
75
  if (
70
76
  inputs
71
77
  and weights
@@ -15,7 +15,7 @@
15
15
  import logging
16
16
  import re
17
17
  from collections.abc import Generator
18
- from typing import Iterable, Mapping, Optional, Tuple
18
+ from typing import Iterable, List, Mapping, Optional, Tuple, Union
19
19
 
20
20
  import torch
21
21
  from compressed_tensors.utils.internal import InternalModule
@@ -57,10 +57,10 @@ def match_named_modules(
57
57
  unmatched_targets = set(targets)
58
58
  for name, module in model.named_modules():
59
59
  for target in targets:
60
- if is_match(name, module, target, fused):
60
+ if is_match(name, module, target, fused=fused):
61
61
  unmatched_targets -= {target}
62
62
 
63
- if not any(is_match(name, module, ign, fused) for ign in ignore):
63
+ if not is_match(name, module, ignore, fused=fused):
64
64
  yield name, module
65
65
 
66
66
  if warn_on_fail:
@@ -155,9 +155,7 @@ def match_modules_set(
155
155
  for name, module in model.named_modules():
156
156
  # match until we get a full set
157
157
  for target in targets:
158
- if is_match(name, module, target) and not any(
159
- is_match(name, module, ign) for ign in ignore
160
- ):
158
+ if is_match(name, module, target, ignore):
161
159
  if matches[target] is not None:
162
160
  raise ValueError(f"Matched a {target} twice before completing set")
163
161
  matches[target] = module
@@ -176,7 +174,8 @@ def match_modules_set(
176
174
  def is_match(
177
175
  name: str,
178
176
  module: torch.nn.Module,
179
- target: str,
177
+ targets: Union[str, Iterable[str]],
178
+ ignore: Union[str, Iterable[str]] = tuple(),
180
179
  fused: Optional[FusedMappping] = None,
181
180
  ) -> bool:
182
181
  """
@@ -198,8 +197,17 @@ def is_match(
198
197
  :fused: optional mapping from suffixes of fused modules to the suffixes of their
199
198
  corresponding shards
200
199
  """
200
+ targets = [targets] if isinstance(targets, str) else targets
201
+ ignore = [ignore] if isinstance(ignore, str) else ignore
202
+
201
203
  return not isinstance(module, InternalModule) and (
202
- _match_name(name, target, fused) or _match_class(module, target)
204
+ any(
205
+ _match_name(name, target, fused) or _match_class(module, target)
206
+ for target in targets
207
+ )
208
+ and not any(
209
+ _match_name(name, ign, fused) or _match_class(module, ign) for ign in ignore
210
+ )
203
211
  )
204
212
 
205
213
 
@@ -579,6 +579,7 @@ def remove_dispatch(module: torch.nn.Module) -> torch.nn.Module:
579
579
  remove_hook_from_module(module, recurse=True)
580
580
  if hasattr(module, "hf_device_map"):
581
581
  delattr(module, "hf_device_map")
582
+ module.to("cpu")
582
583
 
583
584
  return module
584
585
 
@@ -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.a20250814'
21
- __version_tuple__ = version_tuple = (0, 10, 3)
20
+ __version__ = version = '0.11.0'
21
+ __version_tuple__ = version_tuple = (0, 11, 0)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: compressed-tensors
3
- Version: 0.10.3a20250814
3
+ Version: 0.11.0
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.
@@ -201,14 +201,20 @@ class TestIsMatch:
201
201
  "gate_up_proj": ["gate_proj", "up_proj"],
202
202
  }
203
203
 
204
- assert is_match("dummy.qkv_proj", linear, "re:.*q_proj", mapping) == True
205
- assert is_match("dummy.qkv_proj", linear, "re:.*k_proj", mapping) == True
206
- assert is_match("dummy.qkv_proj", linear, "re:.*v_proj", mapping) == True
207
- assert is_match("dummy.qkv_proj", linear, "Linear", mapping) == True
208
-
209
- assert is_match("dummy.gate_up_proj", linear, "re:.*gate_proj", mapping) == True
210
- assert is_match("dummy.gate_up_proj", linear, "re:.*up_proj", mapping) == True
211
- assert is_match("dummy.gate_up_proj", linear, "Linear", mapping) == True
204
+ assert is_match("dummy.qkv_proj", linear, "re:.*q_proj", fused=mapping) == True
205
+ assert is_match("dummy.qkv_proj", linear, "re:.*k_proj", fused=mapping) == True
206
+ assert is_match("dummy.qkv_proj", linear, "re:.*v_proj", fused=mapping) == True
207
+ assert is_match("dummy.qkv_proj", linear, "Linear", fused=mapping) == True
208
+
209
+ assert (
210
+ is_match("dummy.gate_up_proj", linear, "re:.*gate_proj", fused=mapping)
211
+ == True
212
+ )
213
+ assert (
214
+ is_match("dummy.gate_up_proj", linear, "re:.*up_proj", fused=mapping)
215
+ == True
216
+ )
217
+ assert is_match("dummy.gate_up_proj", linear, "Linear", fused=mapping) == True
212
218
 
213
219
 
214
220
  class TestMatchNamedModules: