__init__.py 9.4 KB
Newer Older
Patrick von Platen's avatar
Patrick von Platen committed
1
__version__ = "0.20.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,
144
145
        KandinskyCombinedPipeline,
        KandinskyImg2ImgCombinedPipeline,
YiYi Xu's avatar
YiYi Xu committed
146
        KandinskyImg2ImgPipeline,
147
        KandinskyInpaintCombinedPipeline,
YiYi Xu's avatar
YiYi Xu committed
148
149
150
        KandinskyInpaintPipeline,
        KandinskyPipeline,
        KandinskyPriorPipeline,
151
        KandinskyV22CombinedPipeline,
YiYi Xu's avatar
YiYi Xu committed
152
153
        KandinskyV22ControlnetImg2ImgPipeline,
        KandinskyV22ControlnetPipeline,
154
        KandinskyV22Img2ImgCombinedPipeline,
YiYi Xu's avatar
YiYi Xu committed
155
        KandinskyV22Img2ImgPipeline,
156
        KandinskyV22InpaintCombinedPipeline,
YiYi Xu's avatar
YiYi Xu committed
157
158
159
160
        KandinskyV22InpaintPipeline,
        KandinskyV22Pipeline,
        KandinskyV22PriorEmb2EmbPipeline,
        KandinskyV22PriorPipeline,
161
        LDMTextToImagePipeline,
162
        PaintByExamplePipeline,
163
        SemanticStableDiffusionPipeline,
YiYi Xu's avatar
YiYi Xu committed
164
165
        ShapEImg2ImgPipeline,
        ShapEPipeline,
Will Berman's avatar
Will Berman committed
166
        StableDiffusionAdapterPipeline,
YiYi Xu's avatar
YiYi Xu committed
167
        StableDiffusionAttendAndExcitePipeline,
168
169
        StableDiffusionControlNetImg2ImgPipeline,
        StableDiffusionControlNetInpaintPipeline,
170
        StableDiffusionControlNetPipeline,
171
        StableDiffusionDepth2ImgPipeline,
172
        StableDiffusionDiffEditPipeline,
173
        StableDiffusionImageVariationPipeline,
174
175
        StableDiffusionImg2ImgPipeline,
        StableDiffusionInpaintPipeline,
176
        StableDiffusionInpaintPipelineLegacy,
177
        StableDiffusionInstructPix2PixPipeline,
178
        StableDiffusionLatentUpscalePipeline,
estelleafl's avatar
estelleafl committed
179
        StableDiffusionLDM3DPipeline,
180
        StableDiffusionModelEditingPipeline,
181
        StableDiffusionPanoramaPipeline,
182
        StableDiffusionParadigmsPipeline,
183
        StableDiffusionPipeline,
184
        StableDiffusionPipelineSafe,
185
        StableDiffusionPix2PixZeroPipeline,
186
        StableDiffusionSAGPipeline,
187
        StableDiffusionUpscalePipeline,
188
189
190
191
192
        StableDiffusionXLControlNetPipeline,
        StableDiffusionXLImg2ImgPipeline,
        StableDiffusionXLInpaintPipeline,
        StableDiffusionXLInstructPix2PixPipeline,
        StableDiffusionXLPipeline,
Will Berman's avatar
Will Berman committed
193
194
        StableUnCLIPImg2ImgPipeline,
        StableUnCLIPPipeline,
195
        TextToVideoSDPipeline,
196
        TextToVideoZeroPipeline,
Will Berman's avatar
Will Berman committed
197
        UnCLIPImageVariationPipeline,
Will Berman's avatar
Will Berman committed
198
        UnCLIPPipeline,
199
200
201
        UniDiffuserModel,
        UniDiffuserPipeline,
        UniDiffuserTextDecoder,
202
203
204
205
        VersatileDiffusionDualGuidedPipeline,
        VersatileDiffusionImageVariationPipeline,
        VersatileDiffusionPipeline,
        VersatileDiffusionTextToImagePipeline,
Patrick von Platen's avatar
Patrick von Platen committed
206
        VideoToVideoSDPipeline,
207
        VQDiffusionPipeline,
208
    )
209

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

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

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

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

249
250
251
252
253
254
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
255
    from .models.controlnet_flax import FlaxControlNetModel
256
    from .models.modeling_flax_utils import FlaxModelMixin
257
258
    from .models.unet_2d_condition_flax import FlaxUNet2DConditionModel
    from .models.vae_flax import FlaxAutoencoderKL
259
    from .pipelines import FlaxDiffusionPipeline
260
261
262
    from .schedulers import (
        FlaxDDIMScheduler,
        FlaxDDPMScheduler,
263
        FlaxDPMSolverMultistepScheduler,
264
265
266
267
268
269
270
        FlaxKarrasVeScheduler,
        FlaxLMSDiscreteScheduler,
        FlaxPNDMScheduler,
        FlaxSchedulerMixin,
        FlaxScoreSdeVeScheduler,
    )

271

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

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