__init__.py 9.49 KB
Newer Older
Patrick von Platen's avatar
Patrick von Platen committed
1
__version__ = "0.19.0.dev0"
2
3

from .configuration_utils import ConfigMixin
4
from .utils import (
5
    OptionalDependencyNotAvailable,
6
    is_flax_available,
7
    is_inflect_available,
8
    is_invisible_watermark_available,
9
    is_k_diffusion_available,
10
    is_k_diffusion_version,
11
    is_librosa_available,
12
    is_note_seq_available,
13
14
    is_onnx_available,
    is_scipy_available,
15
    is_torch_available,
16
    is_torchsde_available,
17
    is_transformers_available,
18
    is_transformers_version,
19
    is_unidecode_available,
20
    logging,
21
)
Patrick von Platen's avatar
Patrick von Platen committed
22
23


24
25
26
27
28
29
30
31
try:
    if not is_onnx_available():
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
    from .utils.dummy_onnx_objects import *  # noqa F403
else:
    from .pipelines import OnnxRuntimeModel

32
33
34
35
36
37
try:
    if not is_torch_available():
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
    from .utils.dummy_pt_objects import *  # noqa F403
else:
Will Berman's avatar
Will Berman committed
38
    from .models import (
Ruslan Vorovchenko's avatar
Ruslan Vorovchenko committed
39
        AsymmetricAutoencoderKL,
Will Berman's avatar
Will Berman committed
40
        AutoencoderKL,
41
        ControlNetModel,
42
        ModelMixin,
Will Berman's avatar
Will Berman committed
43
        MultiAdapter,
Will Berman's avatar
Will Berman committed
44
        PriorTransformer,
Will Berman's avatar
Will Berman committed
45
        T2IAdapter,
46
        T5FilmDecoder,
Will Berman's avatar
Will Berman committed
47
48
49
50
        Transformer2DModel,
        UNet1DModel,
        UNet2DConditionModel,
        UNet2DModel,
51
        UNet3DConditionModel,
Will Berman's avatar
Will Berman committed
52
53
        VQModel,
    )
54
55
56
57
58
59
60
61
62
    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,
    )
63
    from .pipelines import (
64
        AudioPipelineOutput,
YiYi Xu's avatar
YiYi Xu committed
65
66
67
        AutoPipelineForImage2Image,
        AutoPipelineForInpainting,
        AutoPipelineForText2Image,
68
        ConsistencyModelPipeline,
69
70
71
        DanceDiffusionPipeline,
        DDIMPipeline,
        DDPMPipeline,
72
        DiffusionPipeline,
Kashif Rasul's avatar
Kashif Rasul committed
73
        DiTPipeline,
74
        ImagePipelineOutput,
75
76
        KarrasVePipeline,
        LDMPipeline,
77
        LDMSuperResolutionPipeline,
78
        PNDMPipeline,
Revist's avatar
Revist committed
79
        RePaintPipeline,
80
81
        ScoreSdeVePipeline,
    )
82
    from .schedulers import (
83
        CMStochasticIterativeScheduler,
84
        DDIMInverseScheduler,
85
        DDIMParallelScheduler,
86
        DDIMScheduler,
87
        DDPMParallelScheduler,
88
        DDPMScheduler,
89
        DEISMultistepScheduler,
90
        DPMSolverMultistepInverseScheduler,
91
        DPMSolverMultistepScheduler,
92
        DPMSolverSinglestepScheduler,
hlky's avatar
hlky committed
93
94
        EulerAncestralDiscreteScheduler,
        EulerDiscreteScheduler,
95
        HeunDiscreteScheduler,
96
        IPNDMScheduler,
97
        KarrasVeScheduler,
98
99
        KDPM2AncestralDiscreteScheduler,
        KDPM2DiscreteScheduler,
100
        PNDMScheduler,
Revist's avatar
Revist committed
101
        RePaintScheduler,
102
103
        SchedulerMixin,
        ScoreSdeVeScheduler,
Will Berman's avatar
Will Berman committed
104
        UnCLIPScheduler,
105
        UniPCMultistepScheduler,
Will Berman's avatar
Will Berman committed
106
        VQDiffusionScheduler,
107
108
    )
    from .training_utils import EMAModel
Patrick von Platen's avatar
Patrick von Platen committed
109

110
111
112
113
try:
    if not (is_torch_available() and is_scipy_available()):
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
114
    from .utils.dummy_torch_and_scipy_objects import *  # noqa F403
115
116
else:
    from .schedulers import LMSDiscreteScheduler
Patrick von Platen's avatar
Patrick von Platen committed
117

118
119
120
121
122
123
124
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:
    from .schedulers import DPMSolverSDEScheduler
125
126
127
128
129
130
131

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:
132
    from .pipelines import (
Patrick von Platen's avatar
Patrick von Platen committed
133
134
        AltDiffusionImg2ImgPipeline,
        AltDiffusionPipeline,
Sanchit Gandhi's avatar
Sanchit Gandhi committed
135
        AudioLDMPipeline,
136
        CycleDiffusionPipeline,
Patrick von Platen's avatar
Patrick von Platen committed
137
138
139
140
141
142
        IFImg2ImgPipeline,
        IFImg2ImgSuperResolutionPipeline,
        IFInpaintingPipeline,
        IFInpaintingSuperResolutionPipeline,
        IFPipeline,
        IFSuperResolutionPipeline,
143
        ImageTextPipelineOutput,
YiYi Xu's avatar
YiYi Xu committed
144
145
146
147
        KandinskyImg2ImgPipeline,
        KandinskyInpaintPipeline,
        KandinskyPipeline,
        KandinskyPriorPipeline,
YiYi Xu's avatar
YiYi Xu committed
148
149
150
151
152
153
154
        KandinskyV22ControlnetImg2ImgPipeline,
        KandinskyV22ControlnetPipeline,
        KandinskyV22Img2ImgPipeline,
        KandinskyV22InpaintPipeline,
        KandinskyV22Pipeline,
        KandinskyV22PriorEmb2EmbPipeline,
        KandinskyV22PriorPipeline,
155
        LDMTextToImagePipeline,
156
        PaintByExamplePipeline,
157
        SemanticStableDiffusionPipeline,
YiYi Xu's avatar
YiYi Xu committed
158
159
        ShapEImg2ImgPipeline,
        ShapEPipeline,
Will Berman's avatar
Will Berman committed
160
        StableDiffusionAdapterPipeline,
YiYi Xu's avatar
YiYi Xu committed
161
        StableDiffusionAttendAndExcitePipeline,
162
163
        StableDiffusionControlNetImg2ImgPipeline,
        StableDiffusionControlNetInpaintPipeline,
164
        StableDiffusionControlNetPipeline,
165
        StableDiffusionDepth2ImgPipeline,
166
        StableDiffusionDiffEditPipeline,
167
        StableDiffusionImageVariationPipeline,
168
169
        StableDiffusionImg2ImgPipeline,
        StableDiffusionInpaintPipeline,
170
        StableDiffusionInpaintPipelineLegacy,
171
        StableDiffusionInstructPix2PixPipeline,
172
        StableDiffusionLatentUpscalePipeline,
estelleafl's avatar
estelleafl committed
173
        StableDiffusionLDM3DPipeline,
174
        StableDiffusionModelEditingPipeline,
175
        StableDiffusionPanoramaPipeline,
176
        StableDiffusionParadigmsPipeline,
177
        StableDiffusionPipeline,
178
        StableDiffusionPipelineSafe,
179
        StableDiffusionPix2PixZeroPipeline,
180
        StableDiffusionSAGPipeline,
181
        StableDiffusionUpscalePipeline,
Will Berman's avatar
Will Berman committed
182
183
        StableUnCLIPImg2ImgPipeline,
        StableUnCLIPPipeline,
184
        TextToVideoSDPipeline,
185
        TextToVideoZeroPipeline,
Will Berman's avatar
Will Berman committed
186
        UnCLIPImageVariationPipeline,
Will Berman's avatar
Will Berman committed
187
        UnCLIPPipeline,
188
189
190
        UniDiffuserModel,
        UniDiffuserPipeline,
        UniDiffuserTextDecoder,
191
192
193
194
        VersatileDiffusionDualGuidedPipeline,
        VersatileDiffusionImageVariationPipeline,
        VersatileDiffusionPipeline,
        VersatileDiffusionTextToImagePipeline,
Patrick von Platen's avatar
Patrick von Platen committed
195
        VideoToVideoSDPipeline,
196
        VQDiffusionPipeline,
197
    )
198

199
200
201
202
203
204
try:
    if not (is_torch_available() and is_transformers_available() and is_invisible_watermark_available()):
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
    from .utils.dummy_torch_and_transformers_and_invisible_watermark_objects import *  # noqa F403
else:
205
    from .pipelines import (
206
        StableDiffusionXLControlNetPipeline,
207
208
        StableDiffusionXLImg2ImgPipeline,
        StableDiffusionXLInpaintPipeline,
209
        StableDiffusionXLInstructPix2PixPipeline,
210
211
        StableDiffusionXLPipeline,
    )
212

213
214
215
216
try:
    if not (is_torch_available() and is_transformers_available() and is_k_diffusion_available()):
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
217
    from .utils.dummy_torch_and_transformers_and_k_diffusion_objects import *  # noqa F403
218
219
else:
    from .pipelines import StableDiffusionKDiffusionPipeline
220

221
222
223
224
225
226
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:
227
228
229
    from .pipelines import (
        OnnxStableDiffusionImg2ImgPipeline,
        OnnxStableDiffusionInpaintPipeline,
230
        OnnxStableDiffusionInpaintPipelineLegacy,
231
        OnnxStableDiffusionPipeline,
232
        OnnxStableDiffusionUpscalePipeline,
233
234
        StableDiffusionOnnxPipeline,
    )
235
236
237
238
239
240

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

244
try:
245
    if not (is_transformers_available() and is_torch_available() and is_note_seq_available()):
246
247
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
248
    from .utils.dummy_transformers_and_torch_and_note_seq_objects import *  # noqa F403
249
250
251
else:
    from .pipelines import SpectrogramDiffusionPipeline

252
253
254
255
256
257
try:
    if not is_flax_available():
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
    from .utils.dummy_flax_objects import *  # noqa F403
else:
YiYi Xu's avatar
YiYi Xu committed
258
    from .models.controlnet_flax import FlaxControlNetModel
259
    from .models.modeling_flax_utils import FlaxModelMixin
260
261
    from .models.unet_2d_condition_flax import FlaxUNet2DConditionModel
    from .models.vae_flax import FlaxAutoencoderKL
262
    from .pipelines import FlaxDiffusionPipeline
263
264
265
    from .schedulers import (
        FlaxDDIMScheduler,
        FlaxDDPMScheduler,
266
        FlaxDPMSolverMultistepScheduler,
267
268
269
270
271
272
273
        FlaxKarrasVeScheduler,
        FlaxLMSDiscreteScheduler,
        FlaxPNDMScheduler,
        FlaxSchedulerMixin,
        FlaxScoreSdeVeScheduler,
    )

274

275
276
277
278
try:
    if not (is_flax_available() and is_transformers_available()):
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
279
    from .utils.dummy_flax_and_transformers_objects import *  # noqa F403
280
else:
281
    from .pipelines import (
YiYi Xu's avatar
YiYi Xu committed
282
        FlaxStableDiffusionControlNetPipeline,
283
284
285
286
        FlaxStableDiffusionImg2ImgPipeline,
        FlaxStableDiffusionInpaintPipeline,
        FlaxStableDiffusionPipeline,
    )
287
288
289
290
291
292
293
294

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