__init__.py 37.5 KB
Newer Older
1
__version__ = "0.33.0.dev0"
2

Dhruv Nair's avatar
Dhruv Nair committed
3
4
from typing import TYPE_CHECKING

5
from .utils import (
6
    DIFFUSERS_SLOW_IMPORT,
7
    OptionalDependencyNotAvailable,
Dhruv Nair's avatar
Dhruv Nair committed
8
    _LazyModule,
9
    is_flax_available,
10
    is_k_diffusion_available,
11
    is_librosa_available,
12
    is_note_seq_available,
13
14
    is_onnx_available,
    is_scipy_available,
15
    is_sentencepiece_available,
16
    is_torch_available,
17
    is_torchsde_available,
18
19
    is_transformers_available,
)
Patrick von Platen's avatar
Patrick von Platen committed
20
21


Dhruv Nair's avatar
Dhruv Nair committed
22
23
24
25
26
27
28
29
30
# Lazy Import based on
# https://github.com/huggingface/transformers/blob/main/src/transformers/__init__.py

# When adding a new object to this init, please add it to `_import_structure`. The `_import_structure` is a dictionary submodule to list of object names,
# and is used to defer the actual importing for when the objects are requested.
# This way `import diffusers` provides the names in the namespace without actually importing anything (and especially none of the backends).

_import_structure = {
    "configuration_utils": ["ConfigMixin"],
31
    "loaders": ["FromOriginalModelMixin"],
Dhruv Nair's avatar
Dhruv Nair committed
32
33
    "models": [],
    "pipelines": [],
34
    "quantizers.quantization_config": ["BitsAndBytesConfig", "GGUFQuantizationConfig", "TorchAoConfig"],
Dhruv Nair's avatar
Dhruv Nair committed
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
    "schedulers": [],
    "utils": [
        "OptionalDependencyNotAvailable",
        "is_flax_available",
        "is_inflect_available",
        "is_invisible_watermark_available",
        "is_k_diffusion_available",
        "is_k_diffusion_version",
        "is_librosa_available",
        "is_note_seq_available",
        "is_onnx_available",
        "is_scipy_available",
        "is_torch_available",
        "is_torchsde_available",
        "is_transformers_available",
        "is_transformers_version",
        "is_unidecode_available",
        "logging",
    ],
}

56
57
58
59
try:
    if not is_onnx_available():
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
Dhruv Nair's avatar
Dhruv Nair committed
60
61
62
63
64
65
    from .utils import dummy_onnx_objects  # noqa F403

    _import_structure["utils.dummy_onnx_objects"] = [
        name for name in dir(dummy_onnx_objects) if not name.startswith("_")
    ]

66
else:
Dhruv Nair's avatar
Dhruv Nair committed
67
    _import_structure["pipelines"].extend(["OnnxRuntimeModel"])
68

69
70
71
72
try:
    if not is_torch_available():
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
Dhruv Nair's avatar
Dhruv Nair committed
73
74
75
76
    from .utils import dummy_pt_objects  # noqa F403

    _import_structure["utils.dummy_pt_objects"] = [name for name in dir(dummy_pt_objects) if not name.startswith("_")]

77
else:
Dhruv Nair's avatar
Dhruv Nair committed
78
79
    _import_structure["models"].extend(
        [
Aryan's avatar
Aryan committed
80
            "AllegroTransformer3DModel",
Dhruv Nair's avatar
Dhruv Nair committed
81
            "AsymmetricAutoencoderKL",
Sayak Paul's avatar
Sayak Paul committed
82
            "AuraFlowTransformer2DModel",
83
            "AutoencoderDC",
Dhruv Nair's avatar
Dhruv Nair committed
84
            "AutoencoderKL",
Aryan's avatar
Aryan committed
85
            "AutoencoderKLAllegro",
86
            "AutoencoderKLCogVideoX",
Aryan's avatar
Aryan committed
87
            "AutoencoderKLHunyuanVideo",
Aryan's avatar
Aryan committed
88
            "AutoencoderKLLTXVideo",
Aryan's avatar
Aryan committed
89
            "AutoencoderKLMochi",
Suraj Patil's avatar
Suraj Patil committed
90
            "AutoencoderKLTemporalDecoder",
91
            "AutoencoderOobleck",
Dhruv Nair's avatar
Dhruv Nair committed
92
            "AutoencoderTiny",
93
            "CogVideoXTransformer3DModel",
Yuxuan.Zhang's avatar
Yuxuan.Zhang committed
94
            "CogView3PlusTransformer2DModel",
Shenghai Yuan's avatar
Shenghai Yuan committed
95
            "ConsisIDTransformer3DModel",
Will Berman's avatar
Will Berman committed
96
            "ConsistencyDecoderVAE",
Dhruv Nair's avatar
Dhruv Nair committed
97
            "ControlNetModel",
hlky's avatar
hlky committed
98
            "ControlNetUnionModel",
99
            "ControlNetXSAdapter",
100
            "DiTTransformer2DModel",
王奇勋's avatar
王奇勋 committed
101
            "FluxControlNetModel",
102
            "FluxMultiControlNetModel",
Sayak Paul's avatar
Sayak Paul committed
103
            "FluxTransformer2DModel",
104
            "HunyuanDiT2DControlNetModel",
105
            "HunyuanDiT2DModel",
106
            "HunyuanDiT2DMultiControlNetModel",
Aryan's avatar
Aryan committed
107
            "HunyuanVideoTransformer3DModel",
108
            "I2VGenXLUNet",
109
            "Kandinsky3UNet",
110
            "LatteTransformer3DModel",
Aryan's avatar
Aryan committed
111
            "LTXVideoTransformer3DModel",
112
            "LuminaNextDiT2DModel",
Aryan's avatar
Aryan committed
113
            "MochiTransformer3DModel",
Dhruv Nair's avatar
Dhruv Nair committed
114
            "ModelMixin",
Dhruv Nair's avatar
Dhruv Nair committed
115
            "MotionAdapter",
Dhruv Nair's avatar
Dhruv Nair committed
116
            "MultiAdapter",
117
            "MultiControlNetModel",
118
            "PixArtTransformer2DModel",
Dhruv Nair's avatar
Dhruv Nair committed
119
            "PriorTransformer",
120
            "SanaTransformer2DModel",
121
122
            "SD3ControlNetModel",
            "SD3MultiControlNetModel",
Dhruv Nair's avatar
Dhruv Nair committed
123
            "SD3Transformer2DModel",
Aryan's avatar
Aryan committed
124
            "SparseControlNetModel",
125
            "StableAudioDiTModel",
126
            "StableCascadeUNet",
Dhruv Nair's avatar
Dhruv Nair committed
127
128
129
130
131
132
133
            "T2IAdapter",
            "T5FilmDecoder",
            "Transformer2DModel",
            "UNet1DModel",
            "UNet2DConditionModel",
            "UNet2DModel",
            "UNet3DConditionModel",
134
            "UNetControlNetXSModel",
Dhruv Nair's avatar
Dhruv Nair committed
135
            "UNetMotionModel",
Suraj Patil's avatar
Suraj Patil committed
136
            "UNetSpatioTemporalConditionModel",
Will Berman's avatar
Will Berman committed
137
            "UVit2DModel",
Dhruv Nair's avatar
Dhruv Nair committed
138
139
            "VQModel",
        ]
140
    )
Dhruv Nair's avatar
Dhruv Nair committed
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
    _import_structure["optimization"] = [
        "get_constant_schedule",
        "get_constant_schedule_with_warmup",
        "get_cosine_schedule_with_warmup",
        "get_cosine_with_hard_restarts_schedule_with_warmup",
        "get_linear_schedule_with_warmup",
        "get_polynomial_decay_schedule_with_warmup",
        "get_scheduler",
    ]
    _import_structure["pipelines"].extend(
        [
            "AudioPipelineOutput",
            "AutoPipelineForImage2Image",
            "AutoPipelineForInpainting",
            "AutoPipelineForText2Image",
            "ConsistencyModelPipeline",
            "DanceDiffusionPipeline",
            "DDIMPipeline",
            "DDPMPipeline",
            "DiffusionPipeline",
            "DiTPipeline",
            "ImagePipelineOutput",
            "KarrasVePipeline",
            "LDMPipeline",
            "LDMSuperResolutionPipeline",
            "PNDMPipeline",
            "RePaintPipeline",
            "ScoreSdeVePipeline",
169
            "StableDiffusionMixin",
Dhruv Nair's avatar
Dhruv Nair committed
170
        ]
171
    )
172
    _import_structure["quantizers"] = ["DiffusersQuantizer"]
Dhruv Nair's avatar
Dhruv Nair committed
173
174
    _import_structure["schedulers"].extend(
        [
Will Berman's avatar
Will Berman committed
175
            "AmusedScheduler",
Dhruv Nair's avatar
Dhruv Nair committed
176
            "CMStochasticIterativeScheduler",
177
178
            "CogVideoXDDIMScheduler",
            "CogVideoXDPMScheduler",
Dhruv Nair's avatar
Dhruv Nair committed
179
180
181
182
183
184
185
186
187
188
            "DDIMInverseScheduler",
            "DDIMParallelScheduler",
            "DDIMScheduler",
            "DDPMParallelScheduler",
            "DDPMScheduler",
            "DDPMWuerstchenScheduler",
            "DEISMultistepScheduler",
            "DPMSolverMultistepInverseScheduler",
            "DPMSolverMultistepScheduler",
            "DPMSolverSinglestepScheduler",
189
            "EDMDPMSolverMultistepScheduler",
Suraj Patil's avatar
Suraj Patil committed
190
            "EDMEulerScheduler",
Dhruv Nair's avatar
Dhruv Nair committed
191
192
            "EulerAncestralDiscreteScheduler",
            "EulerDiscreteScheduler",
Dhruv Nair's avatar
Dhruv Nair committed
193
            "FlowMatchEulerDiscreteScheduler",
194
            "FlowMatchHeunDiscreteScheduler",
Dhruv Nair's avatar
Dhruv Nair committed
195
196
197
198
199
            "HeunDiscreteScheduler",
            "IPNDMScheduler",
            "KarrasVeScheduler",
            "KDPM2AncestralDiscreteScheduler",
            "KDPM2DiscreteScheduler",
200
            "LCMScheduler",
Dhruv Nair's avatar
Dhruv Nair committed
201
202
            "PNDMScheduler",
            "RePaintScheduler",
Junsong Chen's avatar
Junsong Chen committed
203
            "SASolverScheduler",
Dhruv Nair's avatar
Dhruv Nair committed
204
205
            "SchedulerMixin",
            "ScoreSdeVeScheduler",
Michael's avatar
Michael committed
206
            "TCDScheduler",
Dhruv Nair's avatar
Dhruv Nair committed
207
208
209
210
            "UnCLIPScheduler",
            "UniPCMultistepScheduler",
            "VQDiffusionScheduler",
        ]
211
    )
Dhruv Nair's avatar
Dhruv Nair committed
212
    _import_structure["training_utils"] = ["EMAModel"]
Patrick von Platen's avatar
Patrick von Platen committed
213

214
215
216
217
try:
    if not (is_torch_available() and is_scipy_available()):
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
Dhruv Nair's avatar
Dhruv Nair committed
218
219
220
221
222
223
    from .utils import dummy_torch_and_scipy_objects  # noqa F403

    _import_structure["utils.dummy_torch_and_scipy_objects"] = [
        name for name in dir(dummy_torch_and_scipy_objects) if not name.startswith("_")
    ]

224
else:
Dhruv Nair's avatar
Dhruv Nair committed
225
    _import_structure["schedulers"].extend(["LMSDiscreteScheduler"])
Patrick von Platen's avatar
Patrick von Platen committed
226

227
228
229
230
try:
    if not (is_torch_available() and is_torchsde_available()):
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
Dhruv Nair's avatar
Dhruv Nair committed
231
232
233
234
235
236
    from .utils import dummy_torch_and_torchsde_objects  # noqa F403

    _import_structure["utils.dummy_torch_and_torchsde_objects"] = [
        name for name in dir(dummy_torch_and_torchsde_objects) if not name.startswith("_")
    ]

237
else:
238
    _import_structure["schedulers"].extend(["CosineDPMSolverMultistepScheduler", "DPMSolverSDEScheduler"])
239
240
241
242
243

try:
    if not (is_torch_available() and is_transformers_available()):
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
Dhruv Nair's avatar
Dhruv Nair committed
244
245
246
247
248
249
    from .utils import dummy_torch_and_transformers_objects  # noqa F403

    _import_structure["utils.dummy_torch_and_transformers_objects"] = [
        name for name in dir(dummy_torch_and_transformers_objects) if not name.startswith("_")
    ]

250
else:
Dhruv Nair's avatar
Dhruv Nair committed
251
252
    _import_structure["pipelines"].extend(
        [
Aryan's avatar
Aryan committed
253
            "AllegroPipeline",
Dhruv Nair's avatar
Dhruv Nair committed
254
255
            "AltDiffusionImg2ImgPipeline",
            "AltDiffusionPipeline",
Will Berman's avatar
Will Berman committed
256
257
258
            "AmusedImg2ImgPipeline",
            "AmusedInpaintPipeline",
            "AmusedPipeline",
259
            "AnimateDiffControlNetPipeline",
Aryan's avatar
Aryan committed
260
            "AnimateDiffPAGPipeline",
Dhruv Nair's avatar
Dhruv Nair committed
261
            "AnimateDiffPipeline",
Aryan's avatar
Aryan committed
262
            "AnimateDiffSDXLPipeline",
Aryan's avatar
Aryan committed
263
            "AnimateDiffSparseControlNetPipeline",
264
            "AnimateDiffVideoToVideoControlNetPipeline",
Aryan V S's avatar
Aryan V S committed
265
            "AnimateDiffVideoToVideoPipeline",
Dhruv Nair's avatar
Dhruv Nair committed
266
267
268
269
            "AudioLDM2Pipeline",
            "AudioLDM2ProjectionModel",
            "AudioLDM2UNet2DConditionModel",
            "AudioLDMPipeline",
Sayak Paul's avatar
Sayak Paul committed
270
            "AuraFlowPipeline",
Ayush Mangal's avatar
Ayush Mangal committed
271
272
            "BlipDiffusionControlNetPipeline",
            "BlipDiffusionPipeline",
Dhruv Nair's avatar
Dhruv Nair committed
273
            "CLIPImageProjection",
274
            "CogVideoXFunControlPipeline",
275
            "CogVideoXImageToVideoPipeline",
276
            "CogVideoXPipeline",
277
            "CogVideoXVideoToVideoPipeline",
Yuxuan.Zhang's avatar
Yuxuan.Zhang committed
278
            "CogView3PlusPipeline",
Shenghai Yuan's avatar
Shenghai Yuan committed
279
            "ConsisIDPipeline",
Dhruv Nair's avatar
Dhruv Nair committed
280
            "CycleDiffusionPipeline",
Aryan's avatar
Aryan committed
281
            "FluxControlImg2ImgPipeline",
282
            "FluxControlInpaintPipeline",
283
284
            "FluxControlNetImg2ImgPipeline",
            "FluxControlNetInpaintPipeline",
王奇勋's avatar
王奇勋 committed
285
            "FluxControlNetPipeline",
Aryan's avatar
Aryan committed
286
287
            "FluxControlPipeline",
            "FluxFillPipeline",
288
289
            "FluxImg2ImgPipeline",
            "FluxInpaintPipeline",
Sayak Paul's avatar
Sayak Paul committed
290
            "FluxPipeline",
Aryan's avatar
Aryan committed
291
            "FluxPriorReduxPipeline",
292
            "HunyuanDiTControlNetPipeline",
293
            "HunyuanDiTPAGPipeline",
294
            "HunyuanDiTPipeline",
Aryan's avatar
Aryan committed
295
            "HunyuanVideoPipeline",
296
            "I2VGenXLPipeline",
Dhruv Nair's avatar
Dhruv Nair committed
297
298
299
300
301
302
303
            "IFImg2ImgPipeline",
            "IFImg2ImgSuperResolutionPipeline",
            "IFInpaintingPipeline",
            "IFInpaintingSuperResolutionPipeline",
            "IFPipeline",
            "IFSuperResolutionPipeline",
            "ImageTextPipelineOutput",
304
305
            "Kandinsky3Img2ImgPipeline",
            "Kandinsky3Pipeline",
Dhruv Nair's avatar
Dhruv Nair committed
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
            "KandinskyCombinedPipeline",
            "KandinskyImg2ImgCombinedPipeline",
            "KandinskyImg2ImgPipeline",
            "KandinskyInpaintCombinedPipeline",
            "KandinskyInpaintPipeline",
            "KandinskyPipeline",
            "KandinskyPriorPipeline",
            "KandinskyV22CombinedPipeline",
            "KandinskyV22ControlnetImg2ImgPipeline",
            "KandinskyV22ControlnetPipeline",
            "KandinskyV22Img2ImgCombinedPipeline",
            "KandinskyV22Img2ImgPipeline",
            "KandinskyV22InpaintCombinedPipeline",
            "KandinskyV22InpaintPipeline",
            "KandinskyV22Pipeline",
            "KandinskyV22PriorEmb2EmbPipeline",
            "KandinskyV22PriorPipeline",
323
            "LatentConsistencyModelImg2ImgPipeline",
324
            "LatentConsistencyModelPipeline",
325
            "LattePipeline",
Dhruv Nair's avatar
Dhruv Nair committed
326
            "LDMTextToImagePipeline",
327
328
            "LEditsPPPipelineStableDiffusion",
            "LEditsPPPipelineStableDiffusionXL",
Aryan's avatar
Aryan committed
329
330
            "LTXImageToVideoPipeline",
            "LTXPipeline",
331
            "LuminaText2ImgPipeline",
332
333
            "MarigoldDepthPipeline",
            "MarigoldNormalsPipeline",
Aryan's avatar
Aryan committed
334
            "MochiPipeline",
Dhruv Nair's avatar
Dhruv Nair committed
335
336
            "MusicLDMPipeline",
            "PaintByExamplePipeline",
Dhruv Nair's avatar
Dhruv Nair committed
337
            "PIAPipeline",
Sayak Paul's avatar
Sayak Paul committed
338
            "PixArtAlphaPipeline",
339
            "PixArtSigmaPAGPipeline",
340
            "PixArtSigmaPipeline",
Aryan's avatar
Aryan committed
341
            "ReduxImageEncoder",
342
343
            "SanaPAGPipeline",
            "SanaPipeline",
Dhruv Nair's avatar
Dhruv Nair committed
344
345
346
            "SemanticStableDiffusionPipeline",
            "ShapEImg2ImgPipeline",
            "ShapEPipeline",
347
348
            "StableAudioPipeline",
            "StableAudioProjectionModel",
349
350
351
            "StableCascadeCombinedPipeline",
            "StableCascadeDecoderPipeline",
            "StableCascadePriorPipeline",
352
            "StableDiffusion3ControlNetInpaintingPipeline",
353
            "StableDiffusion3ControlNetPipeline",
Dhruv Nair's avatar
Dhruv Nair committed
354
            "StableDiffusion3Img2ImgPipeline",
355
            "StableDiffusion3InpaintPipeline",
356
            "StableDiffusion3PAGImg2ImgPipeline",
357
            "StableDiffusion3PAGImg2ImgPipeline",
StAlKeR7779's avatar
StAlKeR7779 committed
358
            "StableDiffusion3PAGPipeline",
Dhruv Nair's avatar
Dhruv Nair committed
359
            "StableDiffusion3Pipeline",
Dhruv Nair's avatar
Dhruv Nair committed
360
361
362
363
            "StableDiffusionAdapterPipeline",
            "StableDiffusionAttendAndExcitePipeline",
            "StableDiffusionControlNetImg2ImgPipeline",
            "StableDiffusionControlNetInpaintPipeline",
364
            "StableDiffusionControlNetPAGInpaintPipeline",
365
            "StableDiffusionControlNetPAGPipeline",
Dhruv Nair's avatar
Dhruv Nair committed
366
            "StableDiffusionControlNetPipeline",
367
            "StableDiffusionControlNetXSPipeline",
Dhruv Nair's avatar
Dhruv Nair committed
368
369
370
371
372
373
374
375
376
377
378
379
            "StableDiffusionDepth2ImgPipeline",
            "StableDiffusionDiffEditPipeline",
            "StableDiffusionGLIGENPipeline",
            "StableDiffusionGLIGENTextImagePipeline",
            "StableDiffusionImageVariationPipeline",
            "StableDiffusionImg2ImgPipeline",
            "StableDiffusionInpaintPipeline",
            "StableDiffusionInpaintPipelineLegacy",
            "StableDiffusionInstructPix2PixPipeline",
            "StableDiffusionLatentUpscalePipeline",
            "StableDiffusionLDM3DPipeline",
            "StableDiffusionModelEditingPipeline",
380
            "StableDiffusionPAGImg2ImgPipeline",
381
            "StableDiffusionPAGInpaintPipeline",
382
            "StableDiffusionPAGPipeline",
Dhruv Nair's avatar
Dhruv Nair committed
383
384
385
386
387
388
389
390
391
392
            "StableDiffusionPanoramaPipeline",
            "StableDiffusionParadigmsPipeline",
            "StableDiffusionPipeline",
            "StableDiffusionPipelineSafe",
            "StableDiffusionPix2PixZeroPipeline",
            "StableDiffusionSAGPipeline",
            "StableDiffusionUpscalePipeline",
            "StableDiffusionXLAdapterPipeline",
            "StableDiffusionXLControlNetImg2ImgPipeline",
            "StableDiffusionXLControlNetInpaintPipeline",
393
            "StableDiffusionXLControlNetPAGImg2ImgPipeline",
YiYi Xu's avatar
YiYi Xu committed
394
            "StableDiffusionXLControlNetPAGPipeline",
Dhruv Nair's avatar
Dhruv Nair committed
395
            "StableDiffusionXLControlNetPipeline",
hlky's avatar
hlky committed
396
397
398
            "StableDiffusionXLControlNetUnionImg2ImgPipeline",
            "StableDiffusionXLControlNetUnionInpaintPipeline",
            "StableDiffusionXLControlNetUnionPipeline",
399
            "StableDiffusionXLControlNetXSPipeline",
Dhruv Nair's avatar
Dhruv Nair committed
400
401
402
            "StableDiffusionXLImg2ImgPipeline",
            "StableDiffusionXLInpaintPipeline",
            "StableDiffusionXLInstructPix2PixPipeline",
YiYi Xu's avatar
YiYi Xu committed
403
404
405
            "StableDiffusionXLPAGImg2ImgPipeline",
            "StableDiffusionXLPAGInpaintPipeline",
            "StableDiffusionXLPAGPipeline",
Dhruv Nair's avatar
Dhruv Nair committed
406
407
408
            "StableDiffusionXLPipeline",
            "StableUnCLIPImg2ImgPipeline",
            "StableUnCLIPPipeline",
Suraj Patil's avatar
Suraj Patil committed
409
            "StableVideoDiffusionPipeline",
Dhruv Nair's avatar
Dhruv Nair committed
410
411
            "TextToVideoSDPipeline",
            "TextToVideoZeroPipeline",
412
            "TextToVideoZeroSDXLPipeline",
Dhruv Nair's avatar
Dhruv Nair committed
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
            "UnCLIPImageVariationPipeline",
            "UnCLIPPipeline",
            "UniDiffuserModel",
            "UniDiffuserPipeline",
            "UniDiffuserTextDecoder",
            "VersatileDiffusionDualGuidedPipeline",
            "VersatileDiffusionImageVariationPipeline",
            "VersatileDiffusionPipeline",
            "VersatileDiffusionTextToImagePipeline",
            "VideoToVideoSDPipeline",
            "VQDiffusionPipeline",
            "WuerstchenCombinedPipeline",
            "WuerstchenDecoderPipeline",
            "WuerstchenPriorPipeline",
        ]
428
    )
429

430
431
432
433
try:
    if not (is_torch_available() and is_transformers_available() and is_k_diffusion_available()):
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
Dhruv Nair's avatar
Dhruv Nair committed
434
435
436
437
438
439
    from .utils import dummy_torch_and_transformers_and_k_diffusion_objects  # noqa F403

    _import_structure["utils.dummy_torch_and_transformers_and_k_diffusion_objects"] = [
        name for name in dir(dummy_torch_and_transformers_and_k_diffusion_objects) if not name.startswith("_")
    ]

440
else:
441
    _import_structure["pipelines"].extend(["StableDiffusionKDiffusionPipeline", "StableDiffusionXLKDiffusionPipeline"])
442

443
444
445
446
447
448
449
450
451
452
453
try:
    if not (is_torch_available() and is_transformers_available() and is_sentencepiece_available()):
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
    from .utils import dummy_torch_and_transformers_and_sentencepiece_objects  # noqa F403

    _import_structure["utils.dummy_torch_and_transformers_and_sentencepiece_objects"] = [
        name for name in dir(dummy_torch_and_transformers_and_sentencepiece_objects) if not name.startswith("_")
    ]

else:
Álvaro Somoza's avatar
Álvaro Somoza committed
454
    _import_structure["pipelines"].extend(["KolorsImg2ImgPipeline", "KolorsPAGPipeline", "KolorsPipeline"])
455

456
457
458
459
try:
    if not (is_torch_available() and is_transformers_available() and is_onnx_available()):
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
Dhruv Nair's avatar
Dhruv Nair committed
460
461
462
463
464
465
    from .utils import dummy_torch_and_transformers_and_onnx_objects  # noqa F403

    _import_structure["utils.dummy_torch_and_transformers_and_onnx_objects"] = [
        name for name in dir(dummy_torch_and_transformers_and_onnx_objects) if not name.startswith("_")
    ]

466
else:
Dhruv Nair's avatar
Dhruv Nair committed
467
468
469
470
471
472
473
474
475
    _import_structure["pipelines"].extend(
        [
            "OnnxStableDiffusionImg2ImgPipeline",
            "OnnxStableDiffusionInpaintPipeline",
            "OnnxStableDiffusionInpaintPipelineLegacy",
            "OnnxStableDiffusionPipeline",
            "OnnxStableDiffusionUpscalePipeline",
            "StableDiffusionOnnxPipeline",
        ]
476
    )
477
478
479
480
481

try:
    if not (is_torch_available() and is_librosa_available()):
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
Dhruv Nair's avatar
Dhruv Nair committed
482
483
484
485
486
487
    from .utils import dummy_torch_and_librosa_objects  # noqa F403

    _import_structure["utils.dummy_torch_and_librosa_objects"] = [
        name for name in dir(dummy_torch_and_librosa_objects) if not name.startswith("_")
    ]

488
else:
Dhruv Nair's avatar
Dhruv Nair committed
489
    _import_structure["pipelines"].extend(["AudioDiffusionPipeline", "Mel"])
490

491
try:
492
    if not (is_transformers_available() and is_torch_available() and is_note_seq_available()):
493
494
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
Dhruv Nair's avatar
Dhruv Nair committed
495
496
497
498
499
500
501
    from .utils import dummy_transformers_and_torch_and_note_seq_objects  # noqa F403

    _import_structure["utils.dummy_transformers_and_torch_and_note_seq_objects"] = [
        name for name in dir(dummy_transformers_and_torch_and_note_seq_objects) if not name.startswith("_")
    ]


502
else:
Dhruv Nair's avatar
Dhruv Nair committed
503
    _import_structure["pipelines"].extend(["SpectrogramDiffusionPipeline"])
504

505
506
507
508
try:
    if not is_flax_available():
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
Dhruv Nair's avatar
Dhruv Nair committed
509
510
511
512
513
514
515
    from .utils import dummy_flax_objects  # noqa F403

    _import_structure["utils.dummy_flax_objects"] = [
        name for name in dir(dummy_flax_objects) if not name.startswith("_")
    ]


516
else:
517
    _import_structure["models.controlnets.controlnet_flax"] = ["FlaxControlNetModel"]
Dhruv Nair's avatar
Dhruv Nair committed
518
    _import_structure["models.modeling_flax_utils"] = ["FlaxModelMixin"]
519
    _import_structure["models.unets.unet_2d_condition_flax"] = ["FlaxUNet2DConditionModel"]
Dhruv Nair's avatar
Dhruv Nair committed
520
521
522
523
524
525
526
    _import_structure["models.vae_flax"] = ["FlaxAutoencoderKL"]
    _import_structure["pipelines"].extend(["FlaxDiffusionPipeline"])
    _import_structure["schedulers"].extend(
        [
            "FlaxDDIMScheduler",
            "FlaxDDPMScheduler",
            "FlaxDPMSolverMultistepScheduler",
Pedro Cuenca's avatar
Pedro Cuenca committed
527
            "FlaxEulerDiscreteScheduler",
Dhruv Nair's avatar
Dhruv Nair committed
528
529
530
531
532
533
            "FlaxKarrasVeScheduler",
            "FlaxLMSDiscreteScheduler",
            "FlaxPNDMScheduler",
            "FlaxSchedulerMixin",
            "FlaxScoreSdeVeScheduler",
        ]
534
535
    )

536

537
538
539
540
try:
    if not (is_flax_available() and is_transformers_available()):
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
Dhruv Nair's avatar
Dhruv Nair committed
541
542
543
544
545
546
547
    from .utils import dummy_flax_and_transformers_objects  # noqa F403

    _import_structure["utils.dummy_flax_and_transformers_objects"] = [
        name for name in dir(dummy_flax_and_transformers_objects) if not name.startswith("_")
    ]


548
else:
Dhruv Nair's avatar
Dhruv Nair committed
549
550
551
552
553
554
    _import_structure["pipelines"].extend(
        [
            "FlaxStableDiffusionControlNetPipeline",
            "FlaxStableDiffusionImg2ImgPipeline",
            "FlaxStableDiffusionInpaintPipeline",
            "FlaxStableDiffusionPipeline",
Pedro Cuenca's avatar
Pedro Cuenca committed
555
            "FlaxStableDiffusionXLPipeline",
Dhruv Nair's avatar
Dhruv Nair committed
556
        ]
557
    )
558
559
560
561
562

try:
    if not (is_note_seq_available()):
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
Dhruv Nair's avatar
Dhruv Nair committed
563
564
565
566
567
568
569
    from .utils import dummy_note_seq_objects  # noqa F403

    _import_structure["utils.dummy_note_seq_objects"] = [
        name for name in dir(dummy_note_seq_objects) if not name.startswith("_")
    ]


570
else:
Dhruv Nair's avatar
Dhruv Nair committed
571
572
    _import_structure["pipelines"].extend(["MidiProcessor"])

573
if TYPE_CHECKING or DIFFUSERS_SLOW_IMPORT:
Dhruv Nair's avatar
Dhruv Nair committed
574
    from .configuration_utils import ConfigMixin
575
    from .quantizers.quantization_config import BitsAndBytesConfig, GGUFQuantizationConfig, TorchAoConfig
Dhruv Nair's avatar
Dhruv Nair committed
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591

    try:
        if not is_onnx_available():
            raise OptionalDependencyNotAvailable()
    except OptionalDependencyNotAvailable:
        from .utils.dummy_onnx_objects import *  # noqa F403
    else:
        from .pipelines import OnnxRuntimeModel

    try:
        if not is_torch_available():
            raise OptionalDependencyNotAvailable()
    except OptionalDependencyNotAvailable:
        from .utils.dummy_pt_objects import *  # noqa F403
    else:
        from .models import (
Aryan's avatar
Aryan committed
592
            AllegroTransformer3DModel,
Dhruv Nair's avatar
Dhruv Nair committed
593
            AsymmetricAutoencoderKL,
Sayak Paul's avatar
Sayak Paul committed
594
            AuraFlowTransformer2DModel,
595
            AutoencoderDC,
Dhruv Nair's avatar
Dhruv Nair committed
596
            AutoencoderKL,
Aryan's avatar
Aryan committed
597
            AutoencoderKLAllegro,
598
            AutoencoderKLCogVideoX,
Aryan's avatar
Aryan committed
599
            AutoencoderKLHunyuanVideo,
Aryan's avatar
Aryan committed
600
            AutoencoderKLLTXVideo,
Aryan's avatar
Aryan committed
601
            AutoencoderKLMochi,
Suraj Patil's avatar
Suraj Patil committed
602
            AutoencoderKLTemporalDecoder,
603
            AutoencoderOobleck,
Dhruv Nair's avatar
Dhruv Nair committed
604
            AutoencoderTiny,
605
            CogVideoXTransformer3DModel,
Yuxuan.Zhang's avatar
Yuxuan.Zhang committed
606
            CogView3PlusTransformer2DModel,
Shenghai Yuan's avatar
Shenghai Yuan committed
607
            ConsisIDTransformer3DModel,
Will Berman's avatar
Will Berman committed
608
            ConsistencyDecoderVAE,
Dhruv Nair's avatar
Dhruv Nair committed
609
            ControlNetModel,
hlky's avatar
hlky committed
610
            ControlNetUnionModel,
611
            ControlNetXSAdapter,
612
            DiTTransformer2DModel,
王奇勋's avatar
王奇勋 committed
613
            FluxControlNetModel,
614
            FluxMultiControlNetModel,
Sayak Paul's avatar
Sayak Paul committed
615
            FluxTransformer2DModel,
616
            HunyuanDiT2DControlNetModel,
617
            HunyuanDiT2DModel,
618
            HunyuanDiT2DMultiControlNetModel,
Aryan's avatar
Aryan committed
619
            HunyuanVideoTransformer3DModel,
620
            I2VGenXLUNet,
621
            Kandinsky3UNet,
622
            LatteTransformer3DModel,
Aryan's avatar
Aryan committed
623
            LTXVideoTransformer3DModel,
624
            LuminaNextDiT2DModel,
Aryan's avatar
Aryan committed
625
            MochiTransformer3DModel,
Dhruv Nair's avatar
Dhruv Nair committed
626
            ModelMixin,
Dhruv Nair's avatar
Dhruv Nair committed
627
            MotionAdapter,
Dhruv Nair's avatar
Dhruv Nair committed
628
            MultiAdapter,
629
            MultiControlNetModel,
630
            PixArtTransformer2DModel,
Dhruv Nair's avatar
Dhruv Nair committed
631
            PriorTransformer,
632
            SanaTransformer2DModel,
633
634
            SD3ControlNetModel,
            SD3MultiControlNetModel,
Dhruv Nair's avatar
Dhruv Nair committed
635
            SD3Transformer2DModel,
Aryan's avatar
Aryan committed
636
            SparseControlNetModel,
637
            StableAudioDiTModel,
Dhruv Nair's avatar
Dhruv Nair committed
638
639
640
641
642
643
644
            T2IAdapter,
            T5FilmDecoder,
            Transformer2DModel,
            UNet1DModel,
            UNet2DConditionModel,
            UNet2DModel,
            UNet3DConditionModel,
645
            UNetControlNetXSModel,
Dhruv Nair's avatar
Dhruv Nair committed
646
            UNetMotionModel,
Suraj Patil's avatar
Suraj Patil committed
647
            UNetSpatioTemporalConditionModel,
Will Berman's avatar
Will Berman committed
648
            UVit2DModel,
Dhruv Nair's avatar
Dhruv Nair committed
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
            VQModel,
        )
        from .optimization import (
            get_constant_schedule,
            get_constant_schedule_with_warmup,
            get_cosine_schedule_with_warmup,
            get_cosine_with_hard_restarts_schedule_with_warmup,
            get_linear_schedule_with_warmup,
            get_polynomial_decay_schedule_with_warmup,
            get_scheduler,
        )
        from .pipelines import (
            AudioPipelineOutput,
            AutoPipelineForImage2Image,
            AutoPipelineForInpainting,
            AutoPipelineForText2Image,
Ayush Mangal's avatar
Ayush Mangal committed
665
666
            BlipDiffusionControlNetPipeline,
            BlipDiffusionPipeline,
Dhruv Nair's avatar
Dhruv Nair committed
667
668
669
670
671
672
673
674
675
676
677
678
679
680
            CLIPImageProjection,
            ConsistencyModelPipeline,
            DanceDiffusionPipeline,
            DDIMPipeline,
            DDPMPipeline,
            DiffusionPipeline,
            DiTPipeline,
            ImagePipelineOutput,
            KarrasVePipeline,
            LDMPipeline,
            LDMSuperResolutionPipeline,
            PNDMPipeline,
            RePaintPipeline,
            ScoreSdeVePipeline,
681
            StableDiffusionMixin,
Dhruv Nair's avatar
Dhruv Nair committed
682
        )
683
        from .quantizers import DiffusersQuantizer
Dhruv Nair's avatar
Dhruv Nair committed
684
        from .schedulers import (
Will Berman's avatar
Will Berman committed
685
            AmusedScheduler,
Dhruv Nair's avatar
Dhruv Nair committed
686
            CMStochasticIterativeScheduler,
687
688
            CogVideoXDDIMScheduler,
            CogVideoXDPMScheduler,
Dhruv Nair's avatar
Dhruv Nair committed
689
690
691
692
693
694
695
696
697
698
            DDIMInverseScheduler,
            DDIMParallelScheduler,
            DDIMScheduler,
            DDPMParallelScheduler,
            DDPMScheduler,
            DDPMWuerstchenScheduler,
            DEISMultistepScheduler,
            DPMSolverMultistepInverseScheduler,
            DPMSolverMultistepScheduler,
            DPMSolverSinglestepScheduler,
699
            EDMDPMSolverMultistepScheduler,
Suraj Patil's avatar
Suraj Patil committed
700
            EDMEulerScheduler,
Dhruv Nair's avatar
Dhruv Nair committed
701
702
            EulerAncestralDiscreteScheduler,
            EulerDiscreteScheduler,
Dhruv Nair's avatar
Dhruv Nair committed
703
            FlowMatchEulerDiscreteScheduler,
704
            FlowMatchHeunDiscreteScheduler,
Dhruv Nair's avatar
Dhruv Nair committed
705
706
707
708
709
            HeunDiscreteScheduler,
            IPNDMScheduler,
            KarrasVeScheduler,
            KDPM2AncestralDiscreteScheduler,
            KDPM2DiscreteScheduler,
710
            LCMScheduler,
Dhruv Nair's avatar
Dhruv Nair committed
711
712
            PNDMScheduler,
            RePaintScheduler,
Junsong Chen's avatar
Junsong Chen committed
713
            SASolverScheduler,
Dhruv Nair's avatar
Dhruv Nair committed
714
715
            SchedulerMixin,
            ScoreSdeVeScheduler,
Michael's avatar
Michael committed
716
            TCDScheduler,
Dhruv Nair's avatar
Dhruv Nair committed
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
            UnCLIPScheduler,
            UniPCMultistepScheduler,
            VQDiffusionScheduler,
        )
        from .training_utils import EMAModel

    try:
        if not (is_torch_available() and is_scipy_available()):
            raise OptionalDependencyNotAvailable()
    except OptionalDependencyNotAvailable:
        from .utils.dummy_torch_and_scipy_objects import *  # noqa F403
    else:
        from .schedulers import LMSDiscreteScheduler

    try:
        if not (is_torch_available() and is_torchsde_available()):
            raise OptionalDependencyNotAvailable()
    except OptionalDependencyNotAvailable:
        from .utils.dummy_torch_and_torchsde_objects import *  # noqa F403
    else:
737
        from .schedulers import CosineDPMSolverMultistepScheduler, DPMSolverSDEScheduler
Dhruv Nair's avatar
Dhruv Nair committed
738
739
740
741
742
743
744
745

    try:
        if not (is_torch_available() and is_transformers_available()):
            raise OptionalDependencyNotAvailable()
    except OptionalDependencyNotAvailable:
        from .utils.dummy_torch_and_transformers_objects import *  # noqa F403
    else:
        from .pipelines import (
Aryan's avatar
Aryan committed
746
            AllegroPipeline,
Dhruv Nair's avatar
Dhruv Nair committed
747
748
            AltDiffusionImg2ImgPipeline,
            AltDiffusionPipeline,
Will Berman's avatar
Will Berman committed
749
750
751
            AmusedImg2ImgPipeline,
            AmusedInpaintPipeline,
            AmusedPipeline,
752
            AnimateDiffControlNetPipeline,
Aryan's avatar
Aryan committed
753
            AnimateDiffPAGPipeline,
Dhruv Nair's avatar
Dhruv Nair committed
754
            AnimateDiffPipeline,
Aryan's avatar
Aryan committed
755
            AnimateDiffSDXLPipeline,
Aryan's avatar
Aryan committed
756
            AnimateDiffSparseControlNetPipeline,
757
            AnimateDiffVideoToVideoControlNetPipeline,
Aryan V S's avatar
Aryan V S committed
758
            AnimateDiffVideoToVideoPipeline,
Dhruv Nair's avatar
Dhruv Nair committed
759
760
761
762
            AudioLDM2Pipeline,
            AudioLDM2ProjectionModel,
            AudioLDM2UNet2DConditionModel,
            AudioLDMPipeline,
Sayak Paul's avatar
Sayak Paul committed
763
            AuraFlowPipeline,
Dhruv Nair's avatar
Dhruv Nair committed
764
            CLIPImageProjection,
765
            CogVideoXFunControlPipeline,
766
            CogVideoXImageToVideoPipeline,
767
            CogVideoXPipeline,
768
            CogVideoXVideoToVideoPipeline,
Yuxuan.Zhang's avatar
Yuxuan.Zhang committed
769
            CogView3PlusPipeline,
Shenghai Yuan's avatar
Shenghai Yuan committed
770
            ConsisIDPipeline,
Dhruv Nair's avatar
Dhruv Nair committed
771
            CycleDiffusionPipeline,
Aryan's avatar
Aryan committed
772
            FluxControlImg2ImgPipeline,
773
            FluxControlInpaintPipeline,
774
775
            FluxControlNetImg2ImgPipeline,
            FluxControlNetInpaintPipeline,
王奇勋's avatar
王奇勋 committed
776
            FluxControlNetPipeline,
Aryan's avatar
Aryan committed
777
778
            FluxControlPipeline,
            FluxFillPipeline,
779
780
            FluxImg2ImgPipeline,
            FluxInpaintPipeline,
Sayak Paul's avatar
Sayak Paul committed
781
            FluxPipeline,
Aryan's avatar
Aryan committed
782
            FluxPriorReduxPipeline,
783
            HunyuanDiTControlNetPipeline,
784
            HunyuanDiTPAGPipeline,
785
            HunyuanDiTPipeline,
Aryan's avatar
Aryan committed
786
            HunyuanVideoPipeline,
787
            I2VGenXLPipeline,
Dhruv Nair's avatar
Dhruv Nair committed
788
789
790
791
792
793
794
            IFImg2ImgPipeline,
            IFImg2ImgSuperResolutionPipeline,
            IFInpaintingPipeline,
            IFInpaintingSuperResolutionPipeline,
            IFPipeline,
            IFSuperResolutionPipeline,
            ImageTextPipelineOutput,
795
796
            Kandinsky3Img2ImgPipeline,
            Kandinsky3Pipeline,
Dhruv Nair's avatar
Dhruv Nair committed
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
            KandinskyCombinedPipeline,
            KandinskyImg2ImgCombinedPipeline,
            KandinskyImg2ImgPipeline,
            KandinskyInpaintCombinedPipeline,
            KandinskyInpaintPipeline,
            KandinskyPipeline,
            KandinskyPriorPipeline,
            KandinskyV22CombinedPipeline,
            KandinskyV22ControlnetImg2ImgPipeline,
            KandinskyV22ControlnetPipeline,
            KandinskyV22Img2ImgCombinedPipeline,
            KandinskyV22Img2ImgPipeline,
            KandinskyV22InpaintCombinedPipeline,
            KandinskyV22InpaintPipeline,
            KandinskyV22Pipeline,
            KandinskyV22PriorEmb2EmbPipeline,
            KandinskyV22PriorPipeline,
814
            LatentConsistencyModelImg2ImgPipeline,
815
            LatentConsistencyModelPipeline,
816
            LattePipeline,
Dhruv Nair's avatar
Dhruv Nair committed
817
            LDMTextToImagePipeline,
818
819
            LEditsPPPipelineStableDiffusion,
            LEditsPPPipelineStableDiffusionXL,
Aryan's avatar
Aryan committed
820
821
            LTXImageToVideoPipeline,
            LTXPipeline,
822
            LuminaText2ImgPipeline,
823
824
            MarigoldDepthPipeline,
            MarigoldNormalsPipeline,
Aryan's avatar
Aryan committed
825
            MochiPipeline,
Dhruv Nair's avatar
Dhruv Nair committed
826
827
            MusicLDMPipeline,
            PaintByExamplePipeline,
Dhruv Nair's avatar
Dhruv Nair committed
828
            PIAPipeline,
Sayak Paul's avatar
Sayak Paul committed
829
            PixArtAlphaPipeline,
830
            PixArtSigmaPAGPipeline,
831
            PixArtSigmaPipeline,
Aryan's avatar
Aryan committed
832
            ReduxImageEncoder,
833
834
            SanaPAGPipeline,
            SanaPipeline,
Dhruv Nair's avatar
Dhruv Nair committed
835
836
837
            SemanticStableDiffusionPipeline,
            ShapEImg2ImgPipeline,
            ShapEPipeline,
838
839
            StableAudioPipeline,
            StableAudioProjectionModel,
840
841
842
            StableCascadeCombinedPipeline,
            StableCascadeDecoderPipeline,
            StableCascadePriorPipeline,
843
            StableDiffusion3ControlNetPipeline,
Dhruv Nair's avatar
Dhruv Nair committed
844
            StableDiffusion3Img2ImgPipeline,
845
            StableDiffusion3InpaintPipeline,
846
            StableDiffusion3PAGImg2ImgPipeline,
847
            StableDiffusion3PAGPipeline,
Dhruv Nair's avatar
Dhruv Nair committed
848
            StableDiffusion3Pipeline,
Dhruv Nair's avatar
Dhruv Nair committed
849
850
851
852
            StableDiffusionAdapterPipeline,
            StableDiffusionAttendAndExcitePipeline,
            StableDiffusionControlNetImg2ImgPipeline,
            StableDiffusionControlNetInpaintPipeline,
853
            StableDiffusionControlNetPAGInpaintPipeline,
854
            StableDiffusionControlNetPAGPipeline,
Dhruv Nair's avatar
Dhruv Nair committed
855
            StableDiffusionControlNetPipeline,
856
            StableDiffusionControlNetXSPipeline,
Dhruv Nair's avatar
Dhruv Nair committed
857
858
859
860
861
862
863
864
865
866
867
868
            StableDiffusionDepth2ImgPipeline,
            StableDiffusionDiffEditPipeline,
            StableDiffusionGLIGENPipeline,
            StableDiffusionGLIGENTextImagePipeline,
            StableDiffusionImageVariationPipeline,
            StableDiffusionImg2ImgPipeline,
            StableDiffusionInpaintPipeline,
            StableDiffusionInpaintPipelineLegacy,
            StableDiffusionInstructPix2PixPipeline,
            StableDiffusionLatentUpscalePipeline,
            StableDiffusionLDM3DPipeline,
            StableDiffusionModelEditingPipeline,
869
            StableDiffusionPAGImg2ImgPipeline,
870
            StableDiffusionPAGInpaintPipeline,
871
            StableDiffusionPAGPipeline,
Dhruv Nair's avatar
Dhruv Nair committed
872
873
874
875
876
877
878
879
880
881
            StableDiffusionPanoramaPipeline,
            StableDiffusionParadigmsPipeline,
            StableDiffusionPipeline,
            StableDiffusionPipelineSafe,
            StableDiffusionPix2PixZeroPipeline,
            StableDiffusionSAGPipeline,
            StableDiffusionUpscalePipeline,
            StableDiffusionXLAdapterPipeline,
            StableDiffusionXLControlNetImg2ImgPipeline,
            StableDiffusionXLControlNetInpaintPipeline,
882
            StableDiffusionXLControlNetPAGImg2ImgPipeline,
YiYi Xu's avatar
YiYi Xu committed
883
            StableDiffusionXLControlNetPAGPipeline,
Dhruv Nair's avatar
Dhruv Nair committed
884
            StableDiffusionXLControlNetPipeline,
hlky's avatar
hlky committed
885
886
887
            StableDiffusionXLControlNetUnionImg2ImgPipeline,
            StableDiffusionXLControlNetUnionInpaintPipeline,
            StableDiffusionXLControlNetUnionPipeline,
888
            StableDiffusionXLControlNetXSPipeline,
Dhruv Nair's avatar
Dhruv Nair committed
889
890
891
            StableDiffusionXLImg2ImgPipeline,
            StableDiffusionXLInpaintPipeline,
            StableDiffusionXLInstructPix2PixPipeline,
YiYi Xu's avatar
YiYi Xu committed
892
893
894
            StableDiffusionXLPAGImg2ImgPipeline,
            StableDiffusionXLPAGInpaintPipeline,
            StableDiffusionXLPAGPipeline,
Dhruv Nair's avatar
Dhruv Nair committed
895
896
897
            StableDiffusionXLPipeline,
            StableUnCLIPImg2ImgPipeline,
            StableUnCLIPPipeline,
Suraj Patil's avatar
Suraj Patil committed
898
            StableVideoDiffusionPipeline,
Dhruv Nair's avatar
Dhruv Nair committed
899
900
            TextToVideoSDPipeline,
            TextToVideoZeroPipeline,
901
            TextToVideoZeroSDXLPipeline,
Dhruv Nair's avatar
Dhruv Nair committed
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
            UnCLIPImageVariationPipeline,
            UnCLIPPipeline,
            UniDiffuserModel,
            UniDiffuserPipeline,
            UniDiffuserTextDecoder,
            VersatileDiffusionDualGuidedPipeline,
            VersatileDiffusionImageVariationPipeline,
            VersatileDiffusionPipeline,
            VersatileDiffusionTextToImagePipeline,
            VideoToVideoSDPipeline,
            VQDiffusionPipeline,
            WuerstchenCombinedPipeline,
            WuerstchenDecoderPipeline,
            WuerstchenPriorPipeline,
        )

    try:
        if not (is_torch_available() and is_transformers_available() and is_k_diffusion_available()):
            raise OptionalDependencyNotAvailable()
    except OptionalDependencyNotAvailable:
        from .utils.dummy_torch_and_transformers_and_k_diffusion_objects import *  # noqa F403
    else:
924
        from .pipelines import StableDiffusionKDiffusionPipeline, StableDiffusionXLKDiffusionPipeline
Dhruv Nair's avatar
Dhruv Nair committed
925

926
927
928
929
930
931
    try:
        if not (is_torch_available() and is_transformers_available() and is_sentencepiece_available()):
            raise OptionalDependencyNotAvailable()
    except OptionalDependencyNotAvailable:
        from .utils.dummy_torch_and_transformers_and_sentencepiece_objects import *  # noqa F403
    else:
Álvaro Somoza's avatar
Álvaro Somoza committed
932
        from .pipelines import KolorsImg2ImgPipeline, KolorsPAGPipeline, KolorsPipeline
Dhruv Nair's avatar
Dhruv Nair committed
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
    try:
        if not (is_torch_available() and is_transformers_available() and is_onnx_available()):
            raise OptionalDependencyNotAvailable()
    except OptionalDependencyNotAvailable:
        from .utils.dummy_torch_and_transformers_and_onnx_objects import *  # noqa F403
    else:
        from .pipelines import (
            OnnxStableDiffusionImg2ImgPipeline,
            OnnxStableDiffusionInpaintPipeline,
            OnnxStableDiffusionInpaintPipelineLegacy,
            OnnxStableDiffusionPipeline,
            OnnxStableDiffusionUpscalePipeline,
            StableDiffusionOnnxPipeline,
        )

    try:
        if not (is_torch_available() and is_librosa_available()):
            raise OptionalDependencyNotAvailable()
    except OptionalDependencyNotAvailable:
        from .utils.dummy_torch_and_librosa_objects import *  # noqa F403
    else:
        from .pipelines import AudioDiffusionPipeline, Mel

    try:
        if not (is_transformers_available() and is_torch_available() and is_note_seq_available()):
            raise OptionalDependencyNotAvailable()
    except OptionalDependencyNotAvailable:
        from .utils.dummy_transformers_and_torch_and_note_seq_objects import *  # noqa F403
    else:
        from .pipelines import SpectrogramDiffusionPipeline

    try:
        if not is_flax_available():
            raise OptionalDependencyNotAvailable()
    except OptionalDependencyNotAvailable:
        from .utils.dummy_flax_objects import *  # noqa F403
    else:
970
        from .models.controlnets.controlnet_flax import FlaxControlNetModel
Dhruv Nair's avatar
Dhruv Nair committed
971
        from .models.modeling_flax_utils import FlaxModelMixin
972
        from .models.unets.unet_2d_condition_flax import FlaxUNet2DConditionModel
Dhruv Nair's avatar
Dhruv Nair committed
973
974
975
976
977
978
        from .models.vae_flax import FlaxAutoencoderKL
        from .pipelines import FlaxDiffusionPipeline
        from .schedulers import (
            FlaxDDIMScheduler,
            FlaxDDPMScheduler,
            FlaxDPMSolverMultistepScheduler,
Pedro Cuenca's avatar
Pedro Cuenca committed
979
            FlaxEulerDiscreteScheduler,
Dhruv Nair's avatar
Dhruv Nair committed
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
            FlaxKarrasVeScheduler,
            FlaxLMSDiscreteScheduler,
            FlaxPNDMScheduler,
            FlaxSchedulerMixin,
            FlaxScoreSdeVeScheduler,
        )

    try:
        if not (is_flax_available() and is_transformers_available()):
            raise OptionalDependencyNotAvailable()
    except OptionalDependencyNotAvailable:
        from .utils.dummy_flax_and_transformers_objects import *  # noqa F403
    else:
        from .pipelines import (
            FlaxStableDiffusionControlNetPipeline,
            FlaxStableDiffusionImg2ImgPipeline,
            FlaxStableDiffusionInpaintPipeline,
            FlaxStableDiffusionPipeline,
Pedro Cuenca's avatar
Pedro Cuenca committed
998
            FlaxStableDiffusionXLPipeline,
Dhruv Nair's avatar
Dhruv Nair committed
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
        )

    try:
        if not (is_note_seq_available()):
            raise OptionalDependencyNotAvailable()
    except OptionalDependencyNotAvailable:
        from .utils.dummy_note_seq_objects import *  # noqa F403
    else:
        from .pipelines import MidiProcessor

else:
    import sys

    sys.modules[__name__] = _LazyModule(
        __name__,
        globals()["__file__"],
        _import_structure,
        module_spec=__spec__,
        extra_objects={"__version__": __version__},
    )