diffusers 0.32.0__py3-none-any.whl → 0.32.1__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.
diffusers/__init__.py CHANGED
@@ -1,4 +1,4 @@
1
- __version__ = "0.32.0"
1
+ __version__ = "0.32.1"
2
2
 
3
3
  from typing import TYPE_CHECKING
4
4
 
@@ -718,10 +718,9 @@ class ModelMixin(torch.nn.Module, PushToHubMixin):
718
718
  hf_quantizer = None
719
719
 
720
720
  if hf_quantizer is not None:
721
- is_bnb_quantization_method = hf_quantizer.quantization_config.quant_method.value == "bitsandbytes"
722
- if is_bnb_quantization_method and device_map is not None:
721
+ if device_map is not None:
723
722
  raise NotImplementedError(
724
- "Currently, `device_map` is automatically inferred for quantized bitsandbytes models. Support for providing `device_map` as an input will be added in the future."
723
+ "Currently, providing `device_map` is not supported for quantized models. Providing `device_map` as an input will be added in the future."
725
724
  )
726
725
 
727
726
  hf_quantizer.validate_environment(torch_dtype=torch_dtype, from_flax=from_flax, device_map=device_map)
@@ -820,7 +819,8 @@ class ModelMixin(torch.nn.Module, PushToHubMixin):
820
819
  revision=revision,
821
820
  subfolder=subfolder or "",
822
821
  )
823
- if hf_quantizer is not None and is_bnb_quantization_method:
822
+ # TODO: https://github.com/huggingface/diffusers/issues/10013
823
+ if hf_quantizer is not None:
824
824
  model_file = _merge_sharded_checkpoints(sharded_ckpt_cached_folder, sharded_metadata)
825
825
  logger.info("Merged sharded checkpoints as `hf_quantizer` is not None.")
826
826
  is_sharded = False
@@ -23,7 +23,7 @@ from typing import TYPE_CHECKING, Any, Dict, List, Union
23
23
 
24
24
  from packaging import version
25
25
 
26
- from ...utils import get_module_from_name, is_torch_available, is_torchao_available, logging
26
+ from ...utils import get_module_from_name, is_torch_available, is_torch_version, is_torchao_available, logging
27
27
  from ..base import DiffusersQuantizer
28
28
 
29
29
 
@@ -35,21 +35,28 @@ if is_torch_available():
35
35
  import torch
36
36
  import torch.nn as nn
37
37
 
38
- SUPPORTED_TORCH_DTYPES_FOR_QUANTIZATION = (
39
- # At the moment, only int8 is supported for integer quantization dtypes.
40
- # In Torch 2.6, int1-int7 will be introduced, so this can be visited in the future
41
- # to support more quantization methods, such as intx_weight_only.
42
- torch.int8,
43
- torch.float8_e4m3fn,
44
- torch.float8_e5m2,
45
- torch.uint1,
46
- torch.uint2,
47
- torch.uint3,
48
- torch.uint4,
49
- torch.uint5,
50
- torch.uint6,
51
- torch.uint7,
52
- )
38
+ if is_torch_version(">=", "2.5"):
39
+ SUPPORTED_TORCH_DTYPES_FOR_QUANTIZATION = (
40
+ # At the moment, only int8 is supported for integer quantization dtypes.
41
+ # In Torch 2.6, int1-int7 will be introduced, so this can be visited in the future
42
+ # to support more quantization methods, such as intx_weight_only.
43
+ torch.int8,
44
+ torch.float8_e4m3fn,
45
+ torch.float8_e5m2,
46
+ torch.uint1,
47
+ torch.uint2,
48
+ torch.uint3,
49
+ torch.uint4,
50
+ torch.uint5,
51
+ torch.uint6,
52
+ torch.uint7,
53
+ )
54
+ else:
55
+ SUPPORTED_TORCH_DTYPES_FOR_QUANTIZATION = (
56
+ torch.int8,
57
+ torch.float8_e4m3fn,
58
+ torch.float8_e5m2,
59
+ )
53
60
 
54
61
  if is_torchao_available():
55
62
  from torchao.quantization import quantize_
@@ -125,7 +132,7 @@ class TorchAoHfQuantizer(DiffusersQuantizer):
125
132
  def update_torch_dtype(self, torch_dtype):
126
133
  quant_type = self.quantization_config.quant_type
127
134
 
128
- if quant_type.startswith("int"):
135
+ if quant_type.startswith("int") or quant_type.startswith("uint"):
129
136
  if torch_dtype is not None and torch_dtype != torch.bfloat16:
130
137
  logger.warning(
131
138
  f"You are trying to set torch_dtype to {torch_dtype} for int4/int8/uintx quantization, but "
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: diffusers
3
- Version: 0.32.0
3
+ Version: 0.32.1
4
4
  Summary: State-of-the-art diffusion in PyTorch and JAX.
5
5
  Home-page: https://github.com/huggingface/diffusers
6
6
  Author: The Hugging Face team (past and future) with the help of all our contributors (https://github.com/huggingface/diffusers/graphs/contributors)
@@ -23,81 +23,81 @@ Description-Content-Type: text/markdown
23
23
  License-File: LICENSE
24
24
  Requires-Dist: importlib-metadata
25
25
  Requires-Dist: filelock
26
- Requires-Dist: huggingface-hub (>=0.23.2)
26
+ Requires-Dist: huggingface-hub>=0.23.2
27
27
  Requires-Dist: numpy
28
- Requires-Dist: regex (!=2019.12.17)
28
+ Requires-Dist: regex!=2019.12.17
29
29
  Requires-Dist: requests
30
- Requires-Dist: safetensors (>=0.3.1)
30
+ Requires-Dist: safetensors>=0.3.1
31
31
  Requires-Dist: Pillow
32
32
  Provides-Extra: dev
33
- Requires-Dist: urllib3 (<=2.0.0) ; extra == 'dev'
34
- Requires-Dist: isort (>=5.5.4) ; extra == 'dev'
35
- Requires-Dist: ruff (==0.1.5) ; extra == 'dev'
36
- Requires-Dist: hf-doc-builder (>=0.3.0) ; extra == 'dev'
37
- Requires-Dist: compel (==0.1.8) ; extra == 'dev'
38
- Requires-Dist: GitPython (<3.1.19) ; extra == 'dev'
39
- Requires-Dist: datasets ; extra == 'dev'
40
- Requires-Dist: Jinja2 ; extra == 'dev'
41
- Requires-Dist: invisible-watermark (>=0.2.0) ; extra == 'dev'
42
- Requires-Dist: k-diffusion (>=0.0.12) ; extra == 'dev'
43
- Requires-Dist: librosa ; extra == 'dev'
44
- Requires-Dist: parameterized ; extra == 'dev'
45
- Requires-Dist: pytest ; extra == 'dev'
46
- Requires-Dist: pytest-timeout ; extra == 'dev'
47
- Requires-Dist: pytest-xdist ; extra == 'dev'
48
- Requires-Dist: requests-mock (==1.10.0) ; extra == 'dev'
49
- Requires-Dist: safetensors (>=0.3.1) ; extra == 'dev'
50
- Requires-Dist: sentencepiece (!=0.1.92,>=0.1.91) ; extra == 'dev'
51
- Requires-Dist: scipy ; extra == 'dev'
52
- Requires-Dist: torchvision ; extra == 'dev'
53
- Requires-Dist: transformers (>=4.41.2) ; extra == 'dev'
54
- Requires-Dist: accelerate (>=0.31.0) ; extra == 'dev'
55
- Requires-Dist: protobuf (<4,>=3.20.3) ; extra == 'dev'
56
- Requires-Dist: tensorboard ; extra == 'dev'
57
- Requires-Dist: peft (>=0.6.0) ; extra == 'dev'
58
- Requires-Dist: torch (>=1.4) ; extra == 'dev'
59
- Requires-Dist: jax (>=0.4.1) ; extra == 'dev'
60
- Requires-Dist: jaxlib (>=0.4.1) ; extra == 'dev'
61
- Requires-Dist: flax (>=0.4.1) ; extra == 'dev'
33
+ Requires-Dist: urllib3<=2.0.0; extra == "dev"
34
+ Requires-Dist: isort>=5.5.4; extra == "dev"
35
+ Requires-Dist: ruff==0.1.5; extra == "dev"
36
+ Requires-Dist: hf-doc-builder>=0.3.0; extra == "dev"
37
+ Requires-Dist: compel==0.1.8; extra == "dev"
38
+ Requires-Dist: GitPython<3.1.19; extra == "dev"
39
+ Requires-Dist: datasets; extra == "dev"
40
+ Requires-Dist: Jinja2; extra == "dev"
41
+ Requires-Dist: invisible-watermark>=0.2.0; extra == "dev"
42
+ Requires-Dist: k-diffusion>=0.0.12; extra == "dev"
43
+ Requires-Dist: librosa; extra == "dev"
44
+ Requires-Dist: parameterized; extra == "dev"
45
+ Requires-Dist: pytest; extra == "dev"
46
+ Requires-Dist: pytest-timeout; extra == "dev"
47
+ Requires-Dist: pytest-xdist; extra == "dev"
48
+ Requires-Dist: requests-mock==1.10.0; extra == "dev"
49
+ Requires-Dist: safetensors>=0.3.1; extra == "dev"
50
+ Requires-Dist: sentencepiece!=0.1.92,>=0.1.91; extra == "dev"
51
+ Requires-Dist: scipy; extra == "dev"
52
+ Requires-Dist: torchvision; extra == "dev"
53
+ Requires-Dist: transformers>=4.41.2; extra == "dev"
54
+ Requires-Dist: accelerate>=0.31.0; extra == "dev"
55
+ Requires-Dist: protobuf<4,>=3.20.3; extra == "dev"
56
+ Requires-Dist: tensorboard; extra == "dev"
57
+ Requires-Dist: peft>=0.6.0; extra == "dev"
58
+ Requires-Dist: torch>=1.4; extra == "dev"
59
+ Requires-Dist: jax>=0.4.1; extra == "dev"
60
+ Requires-Dist: jaxlib>=0.4.1; extra == "dev"
61
+ Requires-Dist: flax>=0.4.1; extra == "dev"
62
62
  Provides-Extra: docs
63
- Requires-Dist: hf-doc-builder (>=0.3.0) ; extra == 'docs'
63
+ Requires-Dist: hf-doc-builder>=0.3.0; extra == "docs"
64
64
  Provides-Extra: flax
65
- Requires-Dist: jax (>=0.4.1) ; extra == 'flax'
66
- Requires-Dist: jaxlib (>=0.4.1) ; extra == 'flax'
67
- Requires-Dist: flax (>=0.4.1) ; extra == 'flax'
65
+ Requires-Dist: jax>=0.4.1; extra == "flax"
66
+ Requires-Dist: jaxlib>=0.4.1; extra == "flax"
67
+ Requires-Dist: flax>=0.4.1; extra == "flax"
68
68
  Provides-Extra: quality
69
- Requires-Dist: urllib3 (<=2.0.0) ; extra == 'quality'
70
- Requires-Dist: isort (>=5.5.4) ; extra == 'quality'
71
- Requires-Dist: ruff (==0.1.5) ; extra == 'quality'
72
- Requires-Dist: hf-doc-builder (>=0.3.0) ; extra == 'quality'
69
+ Requires-Dist: urllib3<=2.0.0; extra == "quality"
70
+ Requires-Dist: isort>=5.5.4; extra == "quality"
71
+ Requires-Dist: ruff==0.1.5; extra == "quality"
72
+ Requires-Dist: hf-doc-builder>=0.3.0; extra == "quality"
73
73
  Provides-Extra: test
74
- Requires-Dist: compel (==0.1.8) ; extra == 'test'
75
- Requires-Dist: GitPython (<3.1.19) ; extra == 'test'
76
- Requires-Dist: datasets ; extra == 'test'
77
- Requires-Dist: Jinja2 ; extra == 'test'
78
- Requires-Dist: invisible-watermark (>=0.2.0) ; extra == 'test'
79
- Requires-Dist: k-diffusion (>=0.0.12) ; extra == 'test'
80
- Requires-Dist: librosa ; extra == 'test'
81
- Requires-Dist: parameterized ; extra == 'test'
82
- Requires-Dist: pytest ; extra == 'test'
83
- Requires-Dist: pytest-timeout ; extra == 'test'
84
- Requires-Dist: pytest-xdist ; extra == 'test'
85
- Requires-Dist: requests-mock (==1.10.0) ; extra == 'test'
86
- Requires-Dist: safetensors (>=0.3.1) ; extra == 'test'
87
- Requires-Dist: sentencepiece (!=0.1.92,>=0.1.91) ; extra == 'test'
88
- Requires-Dist: scipy ; extra == 'test'
89
- Requires-Dist: torchvision ; extra == 'test'
90
- Requires-Dist: transformers (>=4.41.2) ; extra == 'test'
74
+ Requires-Dist: compel==0.1.8; extra == "test"
75
+ Requires-Dist: GitPython<3.1.19; extra == "test"
76
+ Requires-Dist: datasets; extra == "test"
77
+ Requires-Dist: Jinja2; extra == "test"
78
+ Requires-Dist: invisible-watermark>=0.2.0; extra == "test"
79
+ Requires-Dist: k-diffusion>=0.0.12; extra == "test"
80
+ Requires-Dist: librosa; extra == "test"
81
+ Requires-Dist: parameterized; extra == "test"
82
+ Requires-Dist: pytest; extra == "test"
83
+ Requires-Dist: pytest-timeout; extra == "test"
84
+ Requires-Dist: pytest-xdist; extra == "test"
85
+ Requires-Dist: requests-mock==1.10.0; extra == "test"
86
+ Requires-Dist: safetensors>=0.3.1; extra == "test"
87
+ Requires-Dist: sentencepiece!=0.1.92,>=0.1.91; extra == "test"
88
+ Requires-Dist: scipy; extra == "test"
89
+ Requires-Dist: torchvision; extra == "test"
90
+ Requires-Dist: transformers>=4.41.2; extra == "test"
91
91
  Provides-Extra: torch
92
- Requires-Dist: torch (>=1.4) ; extra == 'torch'
93
- Requires-Dist: accelerate (>=0.31.0) ; extra == 'torch'
92
+ Requires-Dist: torch>=1.4; extra == "torch"
93
+ Requires-Dist: accelerate>=0.31.0; extra == "torch"
94
94
  Provides-Extra: training
95
- Requires-Dist: accelerate (>=0.31.0) ; extra == 'training'
96
- Requires-Dist: datasets ; extra == 'training'
97
- Requires-Dist: protobuf (<4,>=3.20.3) ; extra == 'training'
98
- Requires-Dist: tensorboard ; extra == 'training'
99
- Requires-Dist: Jinja2 ; extra == 'training'
100
- Requires-Dist: peft (>=0.6.0) ; extra == 'training'
95
+ Requires-Dist: accelerate>=0.31.0; extra == "training"
96
+ Requires-Dist: datasets; extra == "training"
97
+ Requires-Dist: protobuf<4,>=3.20.3; extra == "training"
98
+ Requires-Dist: tensorboard; extra == "training"
99
+ Requires-Dist: Jinja2; extra == "training"
100
+ Requires-Dist: peft>=0.6.0; extra == "training"
101
101
 
102
102
  <!---
103
103
  Copyright 2022 - The HuggingFace Team. All rights reserved.
@@ -1,4 +1,4 @@
1
- diffusers/__init__.py,sha256=1Wj313G6Z6unQw62O1Dtmo0w9edqui1CREmYSHdHMCM,38255
1
+ diffusers/__init__.py,sha256=3K4OWRY9hMeZ-iKFBRnqBKqt7pwirK0ahM3L_AbPzyM,38255
2
2
  diffusers/callbacks.py,sha256=wmLFSUrnEZ9gz6gay2pRWfha5cErTSAbB9PK482_KGY,8749
3
3
  diffusers/configuration_utils.py,sha256=FQ5zC2BwAhIv1S5NcP02_kJjFlhDjo6F76snd1n6RXQ,33054
4
4
  diffusers/dependency_versions_check.py,sha256=J_ZAEhVN6uLWAOUZCJrcGJ7PYxUek4f_nwGTFM7LTk8,1271
@@ -49,7 +49,7 @@ diffusers/models/modeling_flax_pytorch_utils.py,sha256=h8KonTFgb_-4RnESXhJGeuW_b
49
49
  diffusers/models/modeling_flax_utils.py,sha256=84Cj8NqhPnIrqk6c6ujPfzqiJFI4XQovKKkCW_xvDI0,26954
50
50
  diffusers/models/modeling_outputs.py,sha256=XH3sJO34MRW6UuWqqKo05mVqxGSBFRazpap_-YLwO2I,1042
51
51
  diffusers/models/modeling_pytorch_flax_utils.py,sha256=sEf_jVR2nF0_derGLAOKIfSUc7HWNLM61RTXDLGoE7A,6973
52
- diffusers/models/modeling_utils.py,sha256=ASXSmlzsPRuPXIiApv4jxK3VP-nyrJ0Kjtq3ipCz6-A,70745
52
+ diffusers/models/modeling_utils.py,sha256=JiE60IrHcHJSlxbcStup3oOjR3QxuMhIOHEqxDxda7I,70626
53
53
  diffusers/models/normalization.py,sha256=MR1Xry19rMNW-1WaeIUd8ht5kfORu_yJwATYhgnjsbA,22238
54
54
  diffusers/models/resnet.py,sha256=ML9EdypGYniSay_EsyswuTlmGi7429WJhYqIW7VEBoQ,32241
55
55
  diffusers/models/resnet_flax.py,sha256=tqRZQCZIq7NlXex3eGldyhRpZjr_EXWl1l2eVflFV7c,4021
@@ -458,7 +458,7 @@ diffusers/quantizers/gguf/__init__.py,sha256=2bxvfZbFr4xqm953cZaGJMgSCRiGJAWwbwK
458
458
  diffusers/quantizers/gguf/gguf_quantizer.py,sha256=sYJUfFhBOYjsM1dB_a-h5S-IFmu5nEh8cmKMnibcIyk,5754
459
459
  diffusers/quantizers/gguf/utils.py,sha256=3QMkB74wr01OwBeaqv9WC4Fw4VwV7xeOPYOso1MvfbI,15903
460
460
  diffusers/quantizers/torchao/__init__.py,sha256=A82P7eWAKFVZ8MlWh1seo1SmF93wsxXXd6i8dnMlALI,662
461
- diffusers/quantizers/torchao/torchao_quantizer.py,sha256=yVBtQJGWd6zCnlCCaGhZ7Rk54mSgf0uZb2hb3jSClg0,12512
461
+ diffusers/quantizers/torchao/torchao_quantizer.py,sha256=6Ktpd6ZXqXkOLWtqoP3XmEOvwDeV_2_MhviGu6eTLPA,12821
462
462
  diffusers/schedulers/__init__.py,sha256=56Cgo7azvjQEMkUqVf2-psEJ8MoGaZDQ8-LtGV69brg,10927
463
463
  diffusers/schedulers/scheduling_amused.py,sha256=pioDeoYfXWP2CnAiI3-lczDdfSbkfXRC9m9REN_kmvI,6590
464
464
  diffusers/schedulers/scheduling_consistency_decoder.py,sha256=IKNAkeVZIxTPk_hS6QBvFbkjv_h8yWbtU3FmIUSXKVI,6817
@@ -542,9 +542,9 @@ diffusers/utils/state_dict_utils.py,sha256=NsWzyX4eqKCfjLjgChQnFSf7nSQz1XFHgINYB
542
542
  diffusers/utils/testing_utils.py,sha256=zIf3SG35pr2krYFyODxASzkYyAuHZxWNQcxTCmVHCV0,41267
543
543
  diffusers/utils/torch_utils.py,sha256=p9VYa8VH4j_QgbIWHxfuzfhvdMKRn-gmQI1-BjPdGBY,6345
544
544
  diffusers/utils/versions.py,sha256=-e7XW1TzZ-tsRo9PMQHp-hNGYHuVDFzLtwg3uAJzqdI,4333
545
- diffusers-0.32.0.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
546
- diffusers-0.32.0.dist-info/METADATA,sha256=zgpdWIbC12p0kwcmzHTPnio22EIJftgKAA0hGb1oRPg,19140
547
- diffusers-0.32.0.dist-info/WHEEL,sha256=2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO_i5m4cOimbo,92
548
- diffusers-0.32.0.dist-info/entry_points.txt,sha256=_1bvshKV_6_b63_FAkcUs9W6tUKGeIoQ3SHEZsovEWs,72
549
- diffusers-0.32.0.dist-info/top_level.txt,sha256=axJl2884vMSvhzrFrSoht36QXA_6gZN9cKtg4xOO72o,10
550
- diffusers-0.32.0.dist-info/RECORD,,
545
+ diffusers-0.32.1.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
546
+ diffusers-0.32.1.dist-info/METADATA,sha256=gtZLuGgEmIFA9EH8ARNTGK0lA9UuKC0u_GFGSXRsL3w,18949
547
+ diffusers-0.32.1.dist-info/WHEEL,sha256=P9jw-gEje8ByB7_hXoICnHtVCrEwMQh-630tKvQWehc,91
548
+ diffusers-0.32.1.dist-info/entry_points.txt,sha256=_1bvshKV_6_b63_FAkcUs9W6tUKGeIoQ3SHEZsovEWs,72
549
+ diffusers-0.32.1.dist-info/top_level.txt,sha256=axJl2884vMSvhzrFrSoht36QXA_6gZN9cKtg4xOO72o,10
550
+ diffusers-0.32.1.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.38.4)
2
+ Generator: setuptools (75.3.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5