diffusers 0.31.0__py3-none-any.whl → 0.32.0__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 +66 -5
- diffusers/callbacks.py +56 -3
- diffusers/configuration_utils.py +1 -1
- diffusers/dependency_versions_table.py +1 -1
- diffusers/image_processor.py +25 -17
- diffusers/loaders/__init__.py +22 -3
- diffusers/loaders/ip_adapter.py +538 -15
- diffusers/loaders/lora_base.py +124 -118
- diffusers/loaders/lora_conversion_utils.py +318 -3
- diffusers/loaders/lora_pipeline.py +1688 -368
- diffusers/loaders/peft.py +379 -0
- diffusers/loaders/single_file_model.py +71 -4
- diffusers/loaders/single_file_utils.py +519 -9
- diffusers/loaders/textual_inversion.py +3 -3
- diffusers/loaders/transformer_flux.py +181 -0
- diffusers/loaders/transformer_sd3.py +89 -0
- diffusers/loaders/unet.py +17 -4
- diffusers/models/__init__.py +47 -14
- diffusers/models/activations.py +22 -9
- diffusers/models/attention.py +13 -4
- diffusers/models/attention_flax.py +1 -1
- diffusers/models/attention_processor.py +2059 -281
- diffusers/models/autoencoders/__init__.py +5 -0
- diffusers/models/autoencoders/autoencoder_dc.py +620 -0
- diffusers/models/autoencoders/autoencoder_kl.py +2 -1
- diffusers/models/autoencoders/autoencoder_kl_allegro.py +1149 -0
- diffusers/models/autoencoders/autoencoder_kl_cogvideox.py +36 -27
- diffusers/models/autoencoders/autoencoder_kl_hunyuan_video.py +1176 -0
- diffusers/models/autoencoders/autoencoder_kl_ltx.py +1338 -0
- diffusers/models/autoencoders/autoencoder_kl_mochi.py +1166 -0
- diffusers/models/autoencoders/autoencoder_kl_temporal_decoder.py +3 -10
- diffusers/models/autoencoders/autoencoder_tiny.py +4 -2
- diffusers/models/autoencoders/vae.py +18 -5
- diffusers/models/controlnet.py +47 -802
- diffusers/models/controlnet_flux.py +29 -495
- diffusers/models/controlnet_sd3.py +25 -379
- diffusers/models/controlnet_sparsectrl.py +46 -718
- diffusers/models/controlnets/__init__.py +23 -0
- diffusers/models/controlnets/controlnet.py +872 -0
- diffusers/models/{controlnet_flax.py → controlnets/controlnet_flax.py} +5 -5
- diffusers/models/controlnets/controlnet_flux.py +536 -0
- diffusers/models/{controlnet_hunyuan.py → controlnets/controlnet_hunyuan.py} +7 -7
- diffusers/models/controlnets/controlnet_sd3.py +489 -0
- diffusers/models/controlnets/controlnet_sparsectrl.py +788 -0
- diffusers/models/controlnets/controlnet_union.py +832 -0
- diffusers/models/{controlnet_xs.py → controlnets/controlnet_xs.py} +14 -13
- diffusers/models/controlnets/multicontrolnet.py +183 -0
- diffusers/models/embeddings.py +838 -43
- diffusers/models/model_loading_utils.py +88 -6
- diffusers/models/modeling_flax_utils.py +1 -1
- diffusers/models/modeling_utils.py +74 -28
- diffusers/models/normalization.py +78 -13
- diffusers/models/transformers/__init__.py +5 -0
- diffusers/models/transformers/auraflow_transformer_2d.py +2 -2
- diffusers/models/transformers/cogvideox_transformer_3d.py +46 -11
- diffusers/models/transformers/dit_transformer_2d.py +1 -1
- diffusers/models/transformers/latte_transformer_3d.py +4 -4
- diffusers/models/transformers/pixart_transformer_2d.py +1 -1
- diffusers/models/transformers/sana_transformer.py +488 -0
- diffusers/models/transformers/stable_audio_transformer.py +1 -1
- diffusers/models/transformers/transformer_2d.py +1 -1
- diffusers/models/transformers/transformer_allegro.py +422 -0
- diffusers/models/transformers/transformer_cogview3plus.py +1 -1
- diffusers/models/transformers/transformer_flux.py +30 -9
- diffusers/models/transformers/transformer_hunyuan_video.py +789 -0
- diffusers/models/transformers/transformer_ltx.py +469 -0
- diffusers/models/transformers/transformer_mochi.py +499 -0
- diffusers/models/transformers/transformer_sd3.py +105 -17
- diffusers/models/transformers/transformer_temporal.py +1 -1
- diffusers/models/unets/unet_1d_blocks.py +1 -1
- diffusers/models/unets/unet_2d.py +8 -1
- diffusers/models/unets/unet_2d_blocks.py +88 -21
- diffusers/models/unets/unet_2d_condition.py +1 -1
- diffusers/models/unets/unet_3d_blocks.py +9 -7
- diffusers/models/unets/unet_motion_model.py +5 -5
- diffusers/models/unets/unet_spatio_temporal_condition.py +23 -0
- diffusers/models/unets/unet_stable_cascade.py +2 -2
- diffusers/models/unets/uvit_2d.py +1 -1
- diffusers/models/upsampling.py +8 -0
- diffusers/pipelines/__init__.py +34 -0
- diffusers/pipelines/allegro/__init__.py +48 -0
- diffusers/pipelines/allegro/pipeline_allegro.py +938 -0
- diffusers/pipelines/allegro/pipeline_output.py +23 -0
- diffusers/pipelines/animatediff/pipeline_animatediff_controlnet.py +8 -2
- diffusers/pipelines/animatediff/pipeline_animatediff_sparsectrl.py +1 -1
- diffusers/pipelines/animatediff/pipeline_animatediff_video2video.py +0 -6
- diffusers/pipelines/animatediff/pipeline_animatediff_video2video_controlnet.py +8 -8
- diffusers/pipelines/audioldm2/modeling_audioldm2.py +3 -3
- diffusers/pipelines/aura_flow/pipeline_aura_flow.py +1 -8
- diffusers/pipelines/auto_pipeline.py +53 -6
- diffusers/pipelines/blip_diffusion/modeling_blip2.py +1 -1
- diffusers/pipelines/cogvideo/pipeline_cogvideox.py +50 -22
- diffusers/pipelines/cogvideo/pipeline_cogvideox_fun_control.py +51 -20
- diffusers/pipelines/cogvideo/pipeline_cogvideox_image2video.py +69 -21
- diffusers/pipelines/cogvideo/pipeline_cogvideox_video2video.py +47 -21
- diffusers/pipelines/cogview3/pipeline_cogview3plus.py +1 -1
- diffusers/pipelines/controlnet/__init__.py +86 -80
- diffusers/pipelines/controlnet/multicontrolnet.py +7 -178
- diffusers/pipelines/controlnet/pipeline_controlnet.py +11 -2
- diffusers/pipelines/controlnet/pipeline_controlnet_img2img.py +1 -2
- diffusers/pipelines/controlnet/pipeline_controlnet_inpaint.py +1 -2
- diffusers/pipelines/controlnet/pipeline_controlnet_inpaint_sd_xl.py +1 -2
- diffusers/pipelines/controlnet/pipeline_controlnet_sd_xl.py +3 -3
- diffusers/pipelines/controlnet/pipeline_controlnet_sd_xl_img2img.py +1 -3
- diffusers/pipelines/controlnet/pipeline_controlnet_union_inpaint_sd_xl.py +1790 -0
- diffusers/pipelines/controlnet/pipeline_controlnet_union_sd_xl.py +1501 -0
- diffusers/pipelines/controlnet/pipeline_controlnet_union_sd_xl_img2img.py +1627 -0
- diffusers/pipelines/controlnet_hunyuandit/pipeline_hunyuandit_controlnet.py +5 -1
- diffusers/pipelines/controlnet_sd3/pipeline_stable_diffusion_3_controlnet.py +53 -19
- diffusers/pipelines/controlnet_sd3/pipeline_stable_diffusion_3_controlnet_inpainting.py +7 -7
- diffusers/pipelines/deprecated/versatile_diffusion/modeling_text_unet.py +31 -8
- diffusers/pipelines/flux/__init__.py +13 -1
- diffusers/pipelines/flux/modeling_flux.py +47 -0
- diffusers/pipelines/flux/pipeline_flux.py +204 -29
- diffusers/pipelines/flux/pipeline_flux_control.py +889 -0
- diffusers/pipelines/flux/pipeline_flux_control_img2img.py +945 -0
- diffusers/pipelines/flux/pipeline_flux_control_inpaint.py +1141 -0
- diffusers/pipelines/flux/pipeline_flux_controlnet.py +49 -27
- diffusers/pipelines/flux/pipeline_flux_controlnet_image_to_image.py +40 -30
- diffusers/pipelines/flux/pipeline_flux_controlnet_inpainting.py +78 -56
- diffusers/pipelines/flux/pipeline_flux_fill.py +969 -0
- diffusers/pipelines/flux/pipeline_flux_img2img.py +33 -27
- diffusers/pipelines/flux/pipeline_flux_inpaint.py +36 -29
- diffusers/pipelines/flux/pipeline_flux_prior_redux.py +492 -0
- diffusers/pipelines/flux/pipeline_output.py +16 -0
- diffusers/pipelines/hunyuan_video/__init__.py +48 -0
- diffusers/pipelines/hunyuan_video/pipeline_hunyuan_video.py +687 -0
- diffusers/pipelines/hunyuan_video/pipeline_output.py +20 -0
- diffusers/pipelines/hunyuandit/pipeline_hunyuandit.py +5 -1
- diffusers/pipelines/kandinsky/pipeline_kandinsky_combined.py +9 -9
- diffusers/pipelines/kolors/text_encoder.py +2 -2
- diffusers/pipelines/latent_diffusion/pipeline_latent_diffusion.py +1 -1
- diffusers/pipelines/ltx/__init__.py +50 -0
- diffusers/pipelines/ltx/pipeline_ltx.py +789 -0
- diffusers/pipelines/ltx/pipeline_ltx_image2video.py +885 -0
- diffusers/pipelines/ltx/pipeline_output.py +20 -0
- diffusers/pipelines/lumina/pipeline_lumina.py +1 -8
- diffusers/pipelines/mochi/__init__.py +48 -0
- diffusers/pipelines/mochi/pipeline_mochi.py +748 -0
- diffusers/pipelines/mochi/pipeline_output.py +20 -0
- diffusers/pipelines/pag/__init__.py +7 -0
- diffusers/pipelines/pag/pipeline_pag_controlnet_sd.py +1 -2
- diffusers/pipelines/pag/pipeline_pag_controlnet_sd_inpaint.py +1 -2
- diffusers/pipelines/pag/pipeline_pag_controlnet_sd_xl.py +1 -3
- diffusers/pipelines/pag/pipeline_pag_controlnet_sd_xl_img2img.py +1 -3
- diffusers/pipelines/pag/pipeline_pag_hunyuandit.py +5 -1
- diffusers/pipelines/pag/pipeline_pag_pixart_sigma.py +6 -13
- diffusers/pipelines/pag/pipeline_pag_sana.py +886 -0
- diffusers/pipelines/pag/pipeline_pag_sd_3.py +6 -6
- diffusers/pipelines/pag/pipeline_pag_sd_3_img2img.py +1058 -0
- diffusers/pipelines/pag/pipeline_pag_sd_img2img.py +3 -0
- diffusers/pipelines/pag/pipeline_pag_sd_inpaint.py +1356 -0
- diffusers/pipelines/pipeline_flax_utils.py +1 -1
- diffusers/pipelines/pipeline_loading_utils.py +25 -4
- diffusers/pipelines/pipeline_utils.py +35 -6
- diffusers/pipelines/pixart_alpha/pipeline_pixart_alpha.py +6 -13
- diffusers/pipelines/pixart_alpha/pipeline_pixart_sigma.py +6 -13
- diffusers/pipelines/sana/__init__.py +47 -0
- diffusers/pipelines/sana/pipeline_output.py +21 -0
- diffusers/pipelines/sana/pipeline_sana.py +884 -0
- diffusers/pipelines/stable_audio/pipeline_stable_audio.py +12 -1
- diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion.py +18 -3
- diffusers/pipelines/stable_diffusion_3/pipeline_stable_diffusion_3.py +216 -20
- diffusers/pipelines/stable_diffusion_3/pipeline_stable_diffusion_3_img2img.py +62 -9
- diffusers/pipelines/stable_diffusion_3/pipeline_stable_diffusion_3_inpaint.py +57 -8
- diffusers/pipelines/stable_diffusion_gligen/pipeline_stable_diffusion_gligen_text_image.py +11 -1
- diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl.py +0 -8
- diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl_img2img.py +0 -8
- diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl_inpaint.py +0 -8
- diffusers/pipelines/unidiffuser/modeling_uvit.py +2 -2
- diffusers/pipelines/wuerstchen/modeling_wuerstchen_prior.py +1 -1
- diffusers/quantizers/auto.py +14 -1
- diffusers/quantizers/bitsandbytes/bnb_quantizer.py +4 -1
- diffusers/quantizers/gguf/__init__.py +1 -0
- diffusers/quantizers/gguf/gguf_quantizer.py +159 -0
- diffusers/quantizers/gguf/utils.py +456 -0
- diffusers/quantizers/quantization_config.py +280 -2
- diffusers/quantizers/torchao/__init__.py +15 -0
- diffusers/quantizers/torchao/torchao_quantizer.py +285 -0
- diffusers/schedulers/scheduling_ddpm.py +2 -6
- diffusers/schedulers/scheduling_ddpm_parallel.py +2 -6
- diffusers/schedulers/scheduling_deis_multistep.py +28 -9
- diffusers/schedulers/scheduling_dpmsolver_multistep.py +35 -9
- diffusers/schedulers/scheduling_dpmsolver_multistep_inverse.py +35 -8
- diffusers/schedulers/scheduling_dpmsolver_sde.py +4 -4
- diffusers/schedulers/scheduling_dpmsolver_singlestep.py +48 -10
- diffusers/schedulers/scheduling_euler_discrete.py +4 -4
- diffusers/schedulers/scheduling_flow_match_euler_discrete.py +153 -6
- diffusers/schedulers/scheduling_heun_discrete.py +4 -4
- diffusers/schedulers/scheduling_k_dpm_2_ancestral_discrete.py +4 -4
- diffusers/schedulers/scheduling_k_dpm_2_discrete.py +4 -4
- diffusers/schedulers/scheduling_lcm.py +2 -6
- diffusers/schedulers/scheduling_lms_discrete.py +4 -4
- diffusers/schedulers/scheduling_repaint.py +1 -1
- diffusers/schedulers/scheduling_sasolver.py +28 -9
- diffusers/schedulers/scheduling_tcd.py +2 -6
- diffusers/schedulers/scheduling_unipc_multistep.py +53 -8
- diffusers/training_utils.py +16 -2
- diffusers/utils/__init__.py +5 -0
- diffusers/utils/constants.py +1 -0
- diffusers/utils/dummy_pt_objects.py +180 -0
- diffusers/utils/dummy_torch_and_transformers_objects.py +270 -0
- diffusers/utils/dynamic_modules_utils.py +3 -3
- diffusers/utils/hub_utils.py +31 -39
- diffusers/utils/import_utils.py +67 -0
- diffusers/utils/peft_utils.py +3 -0
- diffusers/utils/testing_utils.py +56 -1
- diffusers/utils/torch_utils.py +3 -0
- {diffusers-0.31.0.dist-info → diffusers-0.32.0.dist-info}/METADATA +69 -69
- {diffusers-0.31.0.dist-info → diffusers-0.32.0.dist-info}/RECORD +214 -162
- {diffusers-0.31.0.dist-info → diffusers-0.32.0.dist-info}/WHEEL +1 -1
- {diffusers-0.31.0.dist-info → diffusers-0.32.0.dist-info}/LICENSE +0 -0
- {diffusers-0.31.0.dist-info → diffusers-0.32.0.dist-info}/entry_points.txt +0 -0
- {diffusers-0.31.0.dist-info → diffusers-0.32.0.dist-info}/top_level.txt +0 -0
diffusers/utils/__init__.py
CHANGED
@@ -23,6 +23,7 @@ from .constants import (
|
|
23
23
|
DEPRECATED_REVISION_ARGS,
|
24
24
|
DIFFUSERS_DYNAMIC_MODULE_NAME,
|
25
25
|
FLAX_WEIGHTS_NAME,
|
26
|
+
GGUF_FILE_EXTENSION,
|
26
27
|
HF_MODULES_CACHE,
|
27
28
|
HUGGINGFACE_CO_RESOLVE_ENDPOINT,
|
28
29
|
MIN_PEFT_VERSION,
|
@@ -66,6 +67,8 @@ from .import_utils import (
|
|
66
67
|
is_bs4_available,
|
67
68
|
is_flax_available,
|
68
69
|
is_ftfy_available,
|
70
|
+
is_gguf_available,
|
71
|
+
is_gguf_version,
|
69
72
|
is_google_colab,
|
70
73
|
is_inflect_available,
|
71
74
|
is_invisible_watermark_available,
|
@@ -86,6 +89,8 @@ from .import_utils import (
|
|
86
89
|
is_torch_npu_available,
|
87
90
|
is_torch_version,
|
88
91
|
is_torch_xla_available,
|
92
|
+
is_torch_xla_version,
|
93
|
+
is_torchao_available,
|
89
94
|
is_torchsde_available,
|
90
95
|
is_torchvision_available,
|
91
96
|
is_transformers_available,
|
diffusers/utils/constants.py
CHANGED
@@ -34,6 +34,7 @@ ONNX_WEIGHTS_NAME = "model.onnx"
|
|
34
34
|
SAFETENSORS_WEIGHTS_NAME = "diffusion_pytorch_model.safetensors"
|
35
35
|
SAFE_WEIGHTS_INDEX_NAME = "diffusion_pytorch_model.safetensors.index.json"
|
36
36
|
SAFETENSORS_FILE_EXTENSION = "safetensors"
|
37
|
+
GGUF_FILE_EXTENSION = "gguf"
|
37
38
|
ONNX_EXTERNAL_WEIGHTS_NAME = "weights.pb"
|
38
39
|
HUGGINGFACE_CO_RESOLVE_ENDPOINT = os.environ.get("HF_ENDPOINT", "https://huggingface.co")
|
39
40
|
DIFFUSERS_DYNAMIC_MODULE_NAME = "diffusers_modules"
|
@@ -2,6 +2,21 @@
|
|
2
2
|
from ..utils import DummyObject, requires_backends
|
3
3
|
|
4
4
|
|
5
|
+
class AllegroTransformer3DModel(metaclass=DummyObject):
|
6
|
+
_backends = ["torch"]
|
7
|
+
|
8
|
+
def __init__(self, *args, **kwargs):
|
9
|
+
requires_backends(self, ["torch"])
|
10
|
+
|
11
|
+
@classmethod
|
12
|
+
def from_config(cls, *args, **kwargs):
|
13
|
+
requires_backends(cls, ["torch"])
|
14
|
+
|
15
|
+
@classmethod
|
16
|
+
def from_pretrained(cls, *args, **kwargs):
|
17
|
+
requires_backends(cls, ["torch"])
|
18
|
+
|
19
|
+
|
5
20
|
class AsymmetricAutoencoderKL(metaclass=DummyObject):
|
6
21
|
_backends = ["torch"]
|
7
22
|
|
@@ -32,6 +47,21 @@ class AuraFlowTransformer2DModel(metaclass=DummyObject):
|
|
32
47
|
requires_backends(cls, ["torch"])
|
33
48
|
|
34
49
|
|
50
|
+
class AutoencoderDC(metaclass=DummyObject):
|
51
|
+
_backends = ["torch"]
|
52
|
+
|
53
|
+
def __init__(self, *args, **kwargs):
|
54
|
+
requires_backends(self, ["torch"])
|
55
|
+
|
56
|
+
@classmethod
|
57
|
+
def from_config(cls, *args, **kwargs):
|
58
|
+
requires_backends(cls, ["torch"])
|
59
|
+
|
60
|
+
@classmethod
|
61
|
+
def from_pretrained(cls, *args, **kwargs):
|
62
|
+
requires_backends(cls, ["torch"])
|
63
|
+
|
64
|
+
|
35
65
|
class AutoencoderKL(metaclass=DummyObject):
|
36
66
|
_backends = ["torch"]
|
37
67
|
|
@@ -47,6 +77,21 @@ class AutoencoderKL(metaclass=DummyObject):
|
|
47
77
|
requires_backends(cls, ["torch"])
|
48
78
|
|
49
79
|
|
80
|
+
class AutoencoderKLAllegro(metaclass=DummyObject):
|
81
|
+
_backends = ["torch"]
|
82
|
+
|
83
|
+
def __init__(self, *args, **kwargs):
|
84
|
+
requires_backends(self, ["torch"])
|
85
|
+
|
86
|
+
@classmethod
|
87
|
+
def from_config(cls, *args, **kwargs):
|
88
|
+
requires_backends(cls, ["torch"])
|
89
|
+
|
90
|
+
@classmethod
|
91
|
+
def from_pretrained(cls, *args, **kwargs):
|
92
|
+
requires_backends(cls, ["torch"])
|
93
|
+
|
94
|
+
|
50
95
|
class AutoencoderKLCogVideoX(metaclass=DummyObject):
|
51
96
|
_backends = ["torch"]
|
52
97
|
|
@@ -62,6 +107,51 @@ class AutoencoderKLCogVideoX(metaclass=DummyObject):
|
|
62
107
|
requires_backends(cls, ["torch"])
|
63
108
|
|
64
109
|
|
110
|
+
class AutoencoderKLHunyuanVideo(metaclass=DummyObject):
|
111
|
+
_backends = ["torch"]
|
112
|
+
|
113
|
+
def __init__(self, *args, **kwargs):
|
114
|
+
requires_backends(self, ["torch"])
|
115
|
+
|
116
|
+
@classmethod
|
117
|
+
def from_config(cls, *args, **kwargs):
|
118
|
+
requires_backends(cls, ["torch"])
|
119
|
+
|
120
|
+
@classmethod
|
121
|
+
def from_pretrained(cls, *args, **kwargs):
|
122
|
+
requires_backends(cls, ["torch"])
|
123
|
+
|
124
|
+
|
125
|
+
class AutoencoderKLLTXVideo(metaclass=DummyObject):
|
126
|
+
_backends = ["torch"]
|
127
|
+
|
128
|
+
def __init__(self, *args, **kwargs):
|
129
|
+
requires_backends(self, ["torch"])
|
130
|
+
|
131
|
+
@classmethod
|
132
|
+
def from_config(cls, *args, **kwargs):
|
133
|
+
requires_backends(cls, ["torch"])
|
134
|
+
|
135
|
+
@classmethod
|
136
|
+
def from_pretrained(cls, *args, **kwargs):
|
137
|
+
requires_backends(cls, ["torch"])
|
138
|
+
|
139
|
+
|
140
|
+
class AutoencoderKLMochi(metaclass=DummyObject):
|
141
|
+
_backends = ["torch"]
|
142
|
+
|
143
|
+
def __init__(self, *args, **kwargs):
|
144
|
+
requires_backends(self, ["torch"])
|
145
|
+
|
146
|
+
@classmethod
|
147
|
+
def from_config(cls, *args, **kwargs):
|
148
|
+
requires_backends(cls, ["torch"])
|
149
|
+
|
150
|
+
@classmethod
|
151
|
+
def from_pretrained(cls, *args, **kwargs):
|
152
|
+
requires_backends(cls, ["torch"])
|
153
|
+
|
154
|
+
|
65
155
|
class AutoencoderKLTemporalDecoder(metaclass=DummyObject):
|
66
156
|
_backends = ["torch"]
|
67
157
|
|
@@ -167,6 +257,21 @@ class ControlNetModel(metaclass=DummyObject):
|
|
167
257
|
requires_backends(cls, ["torch"])
|
168
258
|
|
169
259
|
|
260
|
+
class ControlNetUnionModel(metaclass=DummyObject):
|
261
|
+
_backends = ["torch"]
|
262
|
+
|
263
|
+
def __init__(self, *args, **kwargs):
|
264
|
+
requires_backends(self, ["torch"])
|
265
|
+
|
266
|
+
@classmethod
|
267
|
+
def from_config(cls, *args, **kwargs):
|
268
|
+
requires_backends(cls, ["torch"])
|
269
|
+
|
270
|
+
@classmethod
|
271
|
+
def from_pretrained(cls, *args, **kwargs):
|
272
|
+
requires_backends(cls, ["torch"])
|
273
|
+
|
274
|
+
|
170
275
|
class ControlNetXSAdapter(metaclass=DummyObject):
|
171
276
|
_backends = ["torch"]
|
172
277
|
|
@@ -287,6 +392,21 @@ class HunyuanDiT2DMultiControlNetModel(metaclass=DummyObject):
|
|
287
392
|
requires_backends(cls, ["torch"])
|
288
393
|
|
289
394
|
|
395
|
+
class HunyuanVideoTransformer3DModel(metaclass=DummyObject):
|
396
|
+
_backends = ["torch"]
|
397
|
+
|
398
|
+
def __init__(self, *args, **kwargs):
|
399
|
+
requires_backends(self, ["torch"])
|
400
|
+
|
401
|
+
@classmethod
|
402
|
+
def from_config(cls, *args, **kwargs):
|
403
|
+
requires_backends(cls, ["torch"])
|
404
|
+
|
405
|
+
@classmethod
|
406
|
+
def from_pretrained(cls, *args, **kwargs):
|
407
|
+
requires_backends(cls, ["torch"])
|
408
|
+
|
409
|
+
|
290
410
|
class I2VGenXLUNet(metaclass=DummyObject):
|
291
411
|
_backends = ["torch"]
|
292
412
|
|
@@ -332,6 +452,21 @@ class LatteTransformer3DModel(metaclass=DummyObject):
|
|
332
452
|
requires_backends(cls, ["torch"])
|
333
453
|
|
334
454
|
|
455
|
+
class LTXVideoTransformer3DModel(metaclass=DummyObject):
|
456
|
+
_backends = ["torch"]
|
457
|
+
|
458
|
+
def __init__(self, *args, **kwargs):
|
459
|
+
requires_backends(self, ["torch"])
|
460
|
+
|
461
|
+
@classmethod
|
462
|
+
def from_config(cls, *args, **kwargs):
|
463
|
+
requires_backends(cls, ["torch"])
|
464
|
+
|
465
|
+
@classmethod
|
466
|
+
def from_pretrained(cls, *args, **kwargs):
|
467
|
+
requires_backends(cls, ["torch"])
|
468
|
+
|
469
|
+
|
335
470
|
class LuminaNextDiT2DModel(metaclass=DummyObject):
|
336
471
|
_backends = ["torch"]
|
337
472
|
|
@@ -347,6 +482,21 @@ class LuminaNextDiT2DModel(metaclass=DummyObject):
|
|
347
482
|
requires_backends(cls, ["torch"])
|
348
483
|
|
349
484
|
|
485
|
+
class MochiTransformer3DModel(metaclass=DummyObject):
|
486
|
+
_backends = ["torch"]
|
487
|
+
|
488
|
+
def __init__(self, *args, **kwargs):
|
489
|
+
requires_backends(self, ["torch"])
|
490
|
+
|
491
|
+
@classmethod
|
492
|
+
def from_config(cls, *args, **kwargs):
|
493
|
+
requires_backends(cls, ["torch"])
|
494
|
+
|
495
|
+
@classmethod
|
496
|
+
def from_pretrained(cls, *args, **kwargs):
|
497
|
+
requires_backends(cls, ["torch"])
|
498
|
+
|
499
|
+
|
350
500
|
class ModelMixin(metaclass=DummyObject):
|
351
501
|
_backends = ["torch"]
|
352
502
|
|
@@ -392,6 +542,21 @@ class MultiAdapter(metaclass=DummyObject):
|
|
392
542
|
requires_backends(cls, ["torch"])
|
393
543
|
|
394
544
|
|
545
|
+
class MultiControlNetModel(metaclass=DummyObject):
|
546
|
+
_backends = ["torch"]
|
547
|
+
|
548
|
+
def __init__(self, *args, **kwargs):
|
549
|
+
requires_backends(self, ["torch"])
|
550
|
+
|
551
|
+
@classmethod
|
552
|
+
def from_config(cls, *args, **kwargs):
|
553
|
+
requires_backends(cls, ["torch"])
|
554
|
+
|
555
|
+
@classmethod
|
556
|
+
def from_pretrained(cls, *args, **kwargs):
|
557
|
+
requires_backends(cls, ["torch"])
|
558
|
+
|
559
|
+
|
395
560
|
class PixArtTransformer2DModel(metaclass=DummyObject):
|
396
561
|
_backends = ["torch"]
|
397
562
|
|
@@ -422,6 +587,21 @@ class PriorTransformer(metaclass=DummyObject):
|
|
422
587
|
requires_backends(cls, ["torch"])
|
423
588
|
|
424
589
|
|
590
|
+
class SanaTransformer2DModel(metaclass=DummyObject):
|
591
|
+
_backends = ["torch"]
|
592
|
+
|
593
|
+
def __init__(self, *args, **kwargs):
|
594
|
+
requires_backends(self, ["torch"])
|
595
|
+
|
596
|
+
@classmethod
|
597
|
+
def from_config(cls, *args, **kwargs):
|
598
|
+
requires_backends(cls, ["torch"])
|
599
|
+
|
600
|
+
@classmethod
|
601
|
+
def from_pretrained(cls, *args, **kwargs):
|
602
|
+
requires_backends(cls, ["torch"])
|
603
|
+
|
604
|
+
|
425
605
|
class SD3ControlNetModel(metaclass=DummyObject):
|
426
606
|
_backends = ["torch"]
|
427
607
|
|
@@ -2,6 +2,21 @@
|
|
2
2
|
from ..utils import DummyObject, requires_backends
|
3
3
|
|
4
4
|
|
5
|
+
class AllegroPipeline(metaclass=DummyObject):
|
6
|
+
_backends = ["torch", "transformers"]
|
7
|
+
|
8
|
+
def __init__(self, *args, **kwargs):
|
9
|
+
requires_backends(self, ["torch", "transformers"])
|
10
|
+
|
11
|
+
@classmethod
|
12
|
+
def from_config(cls, *args, **kwargs):
|
13
|
+
requires_backends(cls, ["torch", "transformers"])
|
14
|
+
|
15
|
+
@classmethod
|
16
|
+
def from_pretrained(cls, *args, **kwargs):
|
17
|
+
requires_backends(cls, ["torch", "transformers"])
|
18
|
+
|
19
|
+
|
5
20
|
class AltDiffusionImg2ImgPipeline(metaclass=DummyObject):
|
6
21
|
_backends = ["torch", "transformers"]
|
7
22
|
|
@@ -362,6 +377,36 @@ class CycleDiffusionPipeline(metaclass=DummyObject):
|
|
362
377
|
requires_backends(cls, ["torch", "transformers"])
|
363
378
|
|
364
379
|
|
380
|
+
class FluxControlImg2ImgPipeline(metaclass=DummyObject):
|
381
|
+
_backends = ["torch", "transformers"]
|
382
|
+
|
383
|
+
def __init__(self, *args, **kwargs):
|
384
|
+
requires_backends(self, ["torch", "transformers"])
|
385
|
+
|
386
|
+
@classmethod
|
387
|
+
def from_config(cls, *args, **kwargs):
|
388
|
+
requires_backends(cls, ["torch", "transformers"])
|
389
|
+
|
390
|
+
@classmethod
|
391
|
+
def from_pretrained(cls, *args, **kwargs):
|
392
|
+
requires_backends(cls, ["torch", "transformers"])
|
393
|
+
|
394
|
+
|
395
|
+
class FluxControlInpaintPipeline(metaclass=DummyObject):
|
396
|
+
_backends = ["torch", "transformers"]
|
397
|
+
|
398
|
+
def __init__(self, *args, **kwargs):
|
399
|
+
requires_backends(self, ["torch", "transformers"])
|
400
|
+
|
401
|
+
@classmethod
|
402
|
+
def from_config(cls, *args, **kwargs):
|
403
|
+
requires_backends(cls, ["torch", "transformers"])
|
404
|
+
|
405
|
+
@classmethod
|
406
|
+
def from_pretrained(cls, *args, **kwargs):
|
407
|
+
requires_backends(cls, ["torch", "transformers"])
|
408
|
+
|
409
|
+
|
365
410
|
class FluxControlNetImg2ImgPipeline(metaclass=DummyObject):
|
366
411
|
_backends = ["torch", "transformers"]
|
367
412
|
|
@@ -407,6 +452,36 @@ class FluxControlNetPipeline(metaclass=DummyObject):
|
|
407
452
|
requires_backends(cls, ["torch", "transformers"])
|
408
453
|
|
409
454
|
|
455
|
+
class FluxControlPipeline(metaclass=DummyObject):
|
456
|
+
_backends = ["torch", "transformers"]
|
457
|
+
|
458
|
+
def __init__(self, *args, **kwargs):
|
459
|
+
requires_backends(self, ["torch", "transformers"])
|
460
|
+
|
461
|
+
@classmethod
|
462
|
+
def from_config(cls, *args, **kwargs):
|
463
|
+
requires_backends(cls, ["torch", "transformers"])
|
464
|
+
|
465
|
+
@classmethod
|
466
|
+
def from_pretrained(cls, *args, **kwargs):
|
467
|
+
requires_backends(cls, ["torch", "transformers"])
|
468
|
+
|
469
|
+
|
470
|
+
class FluxFillPipeline(metaclass=DummyObject):
|
471
|
+
_backends = ["torch", "transformers"]
|
472
|
+
|
473
|
+
def __init__(self, *args, **kwargs):
|
474
|
+
requires_backends(self, ["torch", "transformers"])
|
475
|
+
|
476
|
+
@classmethod
|
477
|
+
def from_config(cls, *args, **kwargs):
|
478
|
+
requires_backends(cls, ["torch", "transformers"])
|
479
|
+
|
480
|
+
@classmethod
|
481
|
+
def from_pretrained(cls, *args, **kwargs):
|
482
|
+
requires_backends(cls, ["torch", "transformers"])
|
483
|
+
|
484
|
+
|
410
485
|
class FluxImg2ImgPipeline(metaclass=DummyObject):
|
411
486
|
_backends = ["torch", "transformers"]
|
412
487
|
|
@@ -452,6 +527,21 @@ class FluxPipeline(metaclass=DummyObject):
|
|
452
527
|
requires_backends(cls, ["torch", "transformers"])
|
453
528
|
|
454
529
|
|
530
|
+
class FluxPriorReduxPipeline(metaclass=DummyObject):
|
531
|
+
_backends = ["torch", "transformers"]
|
532
|
+
|
533
|
+
def __init__(self, *args, **kwargs):
|
534
|
+
requires_backends(self, ["torch", "transformers"])
|
535
|
+
|
536
|
+
@classmethod
|
537
|
+
def from_config(cls, *args, **kwargs):
|
538
|
+
requires_backends(cls, ["torch", "transformers"])
|
539
|
+
|
540
|
+
@classmethod
|
541
|
+
def from_pretrained(cls, *args, **kwargs):
|
542
|
+
requires_backends(cls, ["torch", "transformers"])
|
543
|
+
|
544
|
+
|
455
545
|
class HunyuanDiTControlNetPipeline(metaclass=DummyObject):
|
456
546
|
_backends = ["torch", "transformers"]
|
457
547
|
|
@@ -497,6 +587,21 @@ class HunyuanDiTPipeline(metaclass=DummyObject):
|
|
497
587
|
requires_backends(cls, ["torch", "transformers"])
|
498
588
|
|
499
589
|
|
590
|
+
class HunyuanVideoPipeline(metaclass=DummyObject):
|
591
|
+
_backends = ["torch", "transformers"]
|
592
|
+
|
593
|
+
def __init__(self, *args, **kwargs):
|
594
|
+
requires_backends(self, ["torch", "transformers"])
|
595
|
+
|
596
|
+
@classmethod
|
597
|
+
def from_config(cls, *args, **kwargs):
|
598
|
+
requires_backends(cls, ["torch", "transformers"])
|
599
|
+
|
600
|
+
@classmethod
|
601
|
+
def from_pretrained(cls, *args, **kwargs):
|
602
|
+
requires_backends(cls, ["torch", "transformers"])
|
603
|
+
|
604
|
+
|
500
605
|
class I2VGenXLPipeline(metaclass=DummyObject):
|
501
606
|
_backends = ["torch", "transformers"]
|
502
607
|
|
@@ -992,6 +1097,36 @@ class LEditsPPPipelineStableDiffusionXL(metaclass=DummyObject):
|
|
992
1097
|
requires_backends(cls, ["torch", "transformers"])
|
993
1098
|
|
994
1099
|
|
1100
|
+
class LTXImageToVideoPipeline(metaclass=DummyObject):
|
1101
|
+
_backends = ["torch", "transformers"]
|
1102
|
+
|
1103
|
+
def __init__(self, *args, **kwargs):
|
1104
|
+
requires_backends(self, ["torch", "transformers"])
|
1105
|
+
|
1106
|
+
@classmethod
|
1107
|
+
def from_config(cls, *args, **kwargs):
|
1108
|
+
requires_backends(cls, ["torch", "transformers"])
|
1109
|
+
|
1110
|
+
@classmethod
|
1111
|
+
def from_pretrained(cls, *args, **kwargs):
|
1112
|
+
requires_backends(cls, ["torch", "transformers"])
|
1113
|
+
|
1114
|
+
|
1115
|
+
class LTXPipeline(metaclass=DummyObject):
|
1116
|
+
_backends = ["torch", "transformers"]
|
1117
|
+
|
1118
|
+
def __init__(self, *args, **kwargs):
|
1119
|
+
requires_backends(self, ["torch", "transformers"])
|
1120
|
+
|
1121
|
+
@classmethod
|
1122
|
+
def from_config(cls, *args, **kwargs):
|
1123
|
+
requires_backends(cls, ["torch", "transformers"])
|
1124
|
+
|
1125
|
+
@classmethod
|
1126
|
+
def from_pretrained(cls, *args, **kwargs):
|
1127
|
+
requires_backends(cls, ["torch", "transformers"])
|
1128
|
+
|
1129
|
+
|
995
1130
|
class LuminaText2ImgPipeline(metaclass=DummyObject):
|
996
1131
|
_backends = ["torch", "transformers"]
|
997
1132
|
|
@@ -1037,6 +1172,21 @@ class MarigoldNormalsPipeline(metaclass=DummyObject):
|
|
1037
1172
|
requires_backends(cls, ["torch", "transformers"])
|
1038
1173
|
|
1039
1174
|
|
1175
|
+
class MochiPipeline(metaclass=DummyObject):
|
1176
|
+
_backends = ["torch", "transformers"]
|
1177
|
+
|
1178
|
+
def __init__(self, *args, **kwargs):
|
1179
|
+
requires_backends(self, ["torch", "transformers"])
|
1180
|
+
|
1181
|
+
@classmethod
|
1182
|
+
def from_config(cls, *args, **kwargs):
|
1183
|
+
requires_backends(cls, ["torch", "transformers"])
|
1184
|
+
|
1185
|
+
@classmethod
|
1186
|
+
def from_pretrained(cls, *args, **kwargs):
|
1187
|
+
requires_backends(cls, ["torch", "transformers"])
|
1188
|
+
|
1189
|
+
|
1040
1190
|
class MusicLDMPipeline(metaclass=DummyObject):
|
1041
1191
|
_backends = ["torch", "transformers"]
|
1042
1192
|
|
@@ -1127,6 +1277,51 @@ class PixArtSigmaPipeline(metaclass=DummyObject):
|
|
1127
1277
|
requires_backends(cls, ["torch", "transformers"])
|
1128
1278
|
|
1129
1279
|
|
1280
|
+
class ReduxImageEncoder(metaclass=DummyObject):
|
1281
|
+
_backends = ["torch", "transformers"]
|
1282
|
+
|
1283
|
+
def __init__(self, *args, **kwargs):
|
1284
|
+
requires_backends(self, ["torch", "transformers"])
|
1285
|
+
|
1286
|
+
@classmethod
|
1287
|
+
def from_config(cls, *args, **kwargs):
|
1288
|
+
requires_backends(cls, ["torch", "transformers"])
|
1289
|
+
|
1290
|
+
@classmethod
|
1291
|
+
def from_pretrained(cls, *args, **kwargs):
|
1292
|
+
requires_backends(cls, ["torch", "transformers"])
|
1293
|
+
|
1294
|
+
|
1295
|
+
class SanaPAGPipeline(metaclass=DummyObject):
|
1296
|
+
_backends = ["torch", "transformers"]
|
1297
|
+
|
1298
|
+
def __init__(self, *args, **kwargs):
|
1299
|
+
requires_backends(self, ["torch", "transformers"])
|
1300
|
+
|
1301
|
+
@classmethod
|
1302
|
+
def from_config(cls, *args, **kwargs):
|
1303
|
+
requires_backends(cls, ["torch", "transformers"])
|
1304
|
+
|
1305
|
+
@classmethod
|
1306
|
+
def from_pretrained(cls, *args, **kwargs):
|
1307
|
+
requires_backends(cls, ["torch", "transformers"])
|
1308
|
+
|
1309
|
+
|
1310
|
+
class SanaPipeline(metaclass=DummyObject):
|
1311
|
+
_backends = ["torch", "transformers"]
|
1312
|
+
|
1313
|
+
def __init__(self, *args, **kwargs):
|
1314
|
+
requires_backends(self, ["torch", "transformers"])
|
1315
|
+
|
1316
|
+
@classmethod
|
1317
|
+
def from_config(cls, *args, **kwargs):
|
1318
|
+
requires_backends(cls, ["torch", "transformers"])
|
1319
|
+
|
1320
|
+
@classmethod
|
1321
|
+
def from_pretrained(cls, *args, **kwargs):
|
1322
|
+
requires_backends(cls, ["torch", "transformers"])
|
1323
|
+
|
1324
|
+
|
1130
1325
|
class SemanticStableDiffusionPipeline(metaclass=DummyObject):
|
1131
1326
|
_backends = ["torch", "transformers"]
|
1132
1327
|
|
@@ -1292,6 +1487,21 @@ class StableDiffusion3InpaintPipeline(metaclass=DummyObject):
|
|
1292
1487
|
requires_backends(cls, ["torch", "transformers"])
|
1293
1488
|
|
1294
1489
|
|
1490
|
+
class StableDiffusion3PAGImg2ImgPipeline(metaclass=DummyObject):
|
1491
|
+
_backends = ["torch", "transformers"]
|
1492
|
+
|
1493
|
+
def __init__(self, *args, **kwargs):
|
1494
|
+
requires_backends(self, ["torch", "transformers"])
|
1495
|
+
|
1496
|
+
@classmethod
|
1497
|
+
def from_config(cls, *args, **kwargs):
|
1498
|
+
requires_backends(cls, ["torch", "transformers"])
|
1499
|
+
|
1500
|
+
@classmethod
|
1501
|
+
def from_pretrained(cls, *args, **kwargs):
|
1502
|
+
requires_backends(cls, ["torch", "transformers"])
|
1503
|
+
|
1504
|
+
|
1295
1505
|
class StableDiffusion3PAGPipeline(metaclass=DummyObject):
|
1296
1506
|
_backends = ["torch", "transformers"]
|
1297
1507
|
|
@@ -1637,6 +1847,21 @@ class StableDiffusionPAGImg2ImgPipeline(metaclass=DummyObject):
|
|
1637
1847
|
requires_backends(cls, ["torch", "transformers"])
|
1638
1848
|
|
1639
1849
|
|
1850
|
+
class StableDiffusionPAGInpaintPipeline(metaclass=DummyObject):
|
1851
|
+
_backends = ["torch", "transformers"]
|
1852
|
+
|
1853
|
+
def __init__(self, *args, **kwargs):
|
1854
|
+
requires_backends(self, ["torch", "transformers"])
|
1855
|
+
|
1856
|
+
@classmethod
|
1857
|
+
def from_config(cls, *args, **kwargs):
|
1858
|
+
requires_backends(cls, ["torch", "transformers"])
|
1859
|
+
|
1860
|
+
@classmethod
|
1861
|
+
def from_pretrained(cls, *args, **kwargs):
|
1862
|
+
requires_backends(cls, ["torch", "transformers"])
|
1863
|
+
|
1864
|
+
|
1640
1865
|
class StableDiffusionPAGPipeline(metaclass=DummyObject):
|
1641
1866
|
_backends = ["torch", "transformers"]
|
1642
1867
|
|
@@ -1847,6 +2072,51 @@ class StableDiffusionXLControlNetPipeline(metaclass=DummyObject):
|
|
1847
2072
|
requires_backends(cls, ["torch", "transformers"])
|
1848
2073
|
|
1849
2074
|
|
2075
|
+
class StableDiffusionXLControlNetUnionImg2ImgPipeline(metaclass=DummyObject):
|
2076
|
+
_backends = ["torch", "transformers"]
|
2077
|
+
|
2078
|
+
def __init__(self, *args, **kwargs):
|
2079
|
+
requires_backends(self, ["torch", "transformers"])
|
2080
|
+
|
2081
|
+
@classmethod
|
2082
|
+
def from_config(cls, *args, **kwargs):
|
2083
|
+
requires_backends(cls, ["torch", "transformers"])
|
2084
|
+
|
2085
|
+
@classmethod
|
2086
|
+
def from_pretrained(cls, *args, **kwargs):
|
2087
|
+
requires_backends(cls, ["torch", "transformers"])
|
2088
|
+
|
2089
|
+
|
2090
|
+
class StableDiffusionXLControlNetUnionInpaintPipeline(metaclass=DummyObject):
|
2091
|
+
_backends = ["torch", "transformers"]
|
2092
|
+
|
2093
|
+
def __init__(self, *args, **kwargs):
|
2094
|
+
requires_backends(self, ["torch", "transformers"])
|
2095
|
+
|
2096
|
+
@classmethod
|
2097
|
+
def from_config(cls, *args, **kwargs):
|
2098
|
+
requires_backends(cls, ["torch", "transformers"])
|
2099
|
+
|
2100
|
+
@classmethod
|
2101
|
+
def from_pretrained(cls, *args, **kwargs):
|
2102
|
+
requires_backends(cls, ["torch", "transformers"])
|
2103
|
+
|
2104
|
+
|
2105
|
+
class StableDiffusionXLControlNetUnionPipeline(metaclass=DummyObject):
|
2106
|
+
_backends = ["torch", "transformers"]
|
2107
|
+
|
2108
|
+
def __init__(self, *args, **kwargs):
|
2109
|
+
requires_backends(self, ["torch", "transformers"])
|
2110
|
+
|
2111
|
+
@classmethod
|
2112
|
+
def from_config(cls, *args, **kwargs):
|
2113
|
+
requires_backends(cls, ["torch", "transformers"])
|
2114
|
+
|
2115
|
+
@classmethod
|
2116
|
+
def from_pretrained(cls, *args, **kwargs):
|
2117
|
+
requires_backends(cls, ["torch", "transformers"])
|
2118
|
+
|
2119
|
+
|
1850
2120
|
class StableDiffusionXLControlNetXSPipeline(metaclass=DummyObject):
|
1851
2121
|
_backends = ["torch", "transformers"]
|
1852
2122
|
|
@@ -325,7 +325,7 @@ def get_cached_module_file(
|
|
325
325
|
# We always copy local files (we could hash the file to see if there was a change, and give them the name of
|
326
326
|
# that hash, to only copy when there is a modification but it seems overkill for now).
|
327
327
|
# The only reason we do the copy is to avoid putting too many folders in sys.path.
|
328
|
-
shutil.
|
328
|
+
shutil.copyfile(resolved_module_file, submodule_path / module_file)
|
329
329
|
for module_needed in modules_needed:
|
330
330
|
if len(module_needed.split(".")) == 2:
|
331
331
|
module_needed = "/".join(module_needed.split("."))
|
@@ -333,7 +333,7 @@ def get_cached_module_file(
|
|
333
333
|
if not os.path.exists(submodule_path / module_folder):
|
334
334
|
os.makedirs(submodule_path / module_folder)
|
335
335
|
module_needed = f"{module_needed}.py"
|
336
|
-
shutil.
|
336
|
+
shutil.copyfile(os.path.join(pretrained_model_name_or_path, module_needed), submodule_path / module_needed)
|
337
337
|
else:
|
338
338
|
# Get the commit hash
|
339
339
|
# TODO: we will get this info in the etag soon, so retrieve it from there and not here.
|
@@ -350,7 +350,7 @@ def get_cached_module_file(
|
|
350
350
|
module_folder = module_file.split("/")[0]
|
351
351
|
if not os.path.exists(submodule_path / module_folder):
|
352
352
|
os.makedirs(submodule_path / module_folder)
|
353
|
-
shutil.
|
353
|
+
shutil.copyfile(resolved_module_file, submodule_path / module_file)
|
354
354
|
|
355
355
|
# Make sure we also have every file with relative
|
356
356
|
for module_needed in modules_needed:
|