__init__.py 9.18 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
39
    from .models import (
        AutoencoderKL,
40
        ControlNetModel,
41
        ModelMixin,
Will Berman's avatar
Will Berman committed
42
        PriorTransformer,
43
        T5FilmDecoder,
Will Berman's avatar
Will Berman committed
44
45
46
47
        Transformer2DModel,
        UNet1DModel,
        UNet2DConditionModel,
        UNet2DModel,
48
        UNet3DConditionModel,
Will Berman's avatar
Will Berman committed
49
50
        VQModel,
    )
51
52
53
54
55
56
57
58
59
    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,
    )
60
    from .pipelines import (
61
        AudioPipelineOutput,
62
        ConsistencyModelPipeline,
63
64
65
        DanceDiffusionPipeline,
        DDIMPipeline,
        DDPMPipeline,
66
        DiffusionPipeline,
Kashif Rasul's avatar
Kashif Rasul committed
67
        DiTPipeline,
68
        ImagePipelineOutput,
69
70
        KarrasVePipeline,
        LDMPipeline,
71
        LDMSuperResolutionPipeline,
72
        PNDMPipeline,
Revist's avatar
Revist committed
73
        RePaintPipeline,
74
75
        ScoreSdeVePipeline,
    )
76
    from .schedulers import (
77
        CMStochasticIterativeScheduler,
78
        DDIMInverseScheduler,
79
        DDIMParallelScheduler,
80
        DDIMScheduler,
81
        DDPMParallelScheduler,
82
        DDPMScheduler,
83
        DEISMultistepScheduler,
84
        DPMSolverMultistepInverseScheduler,
85
        DPMSolverMultistepScheduler,
86
        DPMSolverSinglestepScheduler,
hlky's avatar
hlky committed
87
88
        EulerAncestralDiscreteScheduler,
        EulerDiscreteScheduler,
89
        HeunDiscreteScheduler,
90
        IPNDMScheduler,
91
        KarrasVeScheduler,
92
93
        KDPM2AncestralDiscreteScheduler,
        KDPM2DiscreteScheduler,
94
        PNDMScheduler,
Revist's avatar
Revist committed
95
        RePaintScheduler,
96
97
        SchedulerMixin,
        ScoreSdeVeScheduler,
Will Berman's avatar
Will Berman committed
98
        UnCLIPScheduler,
99
        UniPCMultistepScheduler,
Will Berman's avatar
Will Berman committed
100
        VQDiffusionScheduler,
101
102
    )
    from .training_utils import EMAModel
Patrick von Platen's avatar
Patrick von Platen committed
103

104
105
106
107
try:
    if not (is_torch_available() and is_scipy_available()):
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
108
    from .utils.dummy_torch_and_scipy_objects import *  # noqa F403
109
110
else:
    from .schedulers import LMSDiscreteScheduler
Patrick von Platen's avatar
Patrick von Platen committed
111

112
113
114
115
116
117
118
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
119
120
121
122
123
124
125

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

192
193
194
195
196
197
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:
198
199
200
201
202
    from .pipelines import (
        StableDiffusionXLImg2ImgPipeline,
        StableDiffusionXLInpaintPipeline,
        StableDiffusionXLPipeline,
    )
203

204
205
206
207
try:
    if not (is_torch_available() and is_transformers_available() and is_k_diffusion_available()):
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
208
    from .utils.dummy_torch_and_transformers_and_k_diffusion_objects import *  # noqa F403
209
210
else:
    from .pipelines import StableDiffusionKDiffusionPipeline
211

212
213
214
215
216
217
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:
218
219
220
    from .pipelines import (
        OnnxStableDiffusionImg2ImgPipeline,
        OnnxStableDiffusionInpaintPipeline,
221
        OnnxStableDiffusionInpaintPipelineLegacy,
222
        OnnxStableDiffusionPipeline,
223
        OnnxStableDiffusionUpscalePipeline,
224
225
        StableDiffusionOnnxPipeline,
    )
226
227
228
229
230
231

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

235
try:
236
    if not (is_transformers_available() and is_torch_available() and is_note_seq_available()):
237
238
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
239
    from .utils.dummy_transformers_and_torch_and_note_seq_objects import *  # noqa F403
240
241
242
else:
    from .pipelines import SpectrogramDiffusionPipeline

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

265

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

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