__init__.py 7.42 KB
Newer Older
1
__version__ = "0.17.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_k_diffusion_available,
9
    is_k_diffusion_version,
10
    is_librosa_available,
11
    is_note_seq_available,
12
13
    is_onnx_available,
    is_scipy_available,
14
    is_torch_available,
15
    is_transformers_available,
16
    is_transformers_version,
17
    is_unidecode_available,
18
    logging,
19
)
Patrick von Platen's avatar
Patrick von Platen committed
20
21


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

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

97
98
99
100
try:
    if not (is_torch_available() and is_scipy_available()):
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
101
    from .utils.dummy_torch_and_scipy_objects import *  # noqa F403
102
103
else:
    from .schedulers import LMSDiscreteScheduler
Patrick von Platen's avatar
Patrick von Platen committed
104

105
106
107
108
109
110
111

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:
112
    from .pipelines import (
Patrick von Platen's avatar
Patrick von Platen committed
113
114
        AltDiffusionImg2ImgPipeline,
        AltDiffusionPipeline,
Sanchit Gandhi's avatar
Sanchit Gandhi committed
115
        AudioLDMPipeline,
116
        CycleDiffusionPipeline,
Patrick von Platen's avatar
Patrick von Platen committed
117
118
119
120
121
122
        IFImg2ImgPipeline,
        IFImg2ImgSuperResolutionPipeline,
        IFInpaintingPipeline,
        IFInpaintingSuperResolutionPipeline,
        IFPipeline,
        IFSuperResolutionPipeline,
123
        LDMTextToImagePipeline,
124
        PaintByExamplePipeline,
125
        SemanticStableDiffusionPipeline,
YiYi Xu's avatar
YiYi Xu committed
126
        StableDiffusionAttendAndExcitePipeline,
127
        StableDiffusionControlNetPipeline,
128
        StableDiffusionDepth2ImgPipeline,
129
        StableDiffusionImageVariationPipeline,
130
131
        StableDiffusionImg2ImgPipeline,
        StableDiffusionInpaintPipeline,
132
        StableDiffusionInpaintPipelineLegacy,
133
        StableDiffusionInstructPix2PixPipeline,
134
        StableDiffusionLatentUpscalePipeline,
135
        StableDiffusionModelEditingPipeline,
136
        StableDiffusionPanoramaPipeline,
137
        StableDiffusionPipeline,
138
        StableDiffusionPipelineSafe,
139
        StableDiffusionPix2PixZeroPipeline,
140
        StableDiffusionSAGPipeline,
141
        StableDiffusionUpscalePipeline,
Will Berman's avatar
Will Berman committed
142
143
        StableUnCLIPImg2ImgPipeline,
        StableUnCLIPPipeline,
144
        TextToVideoSDPipeline,
145
        TextToVideoZeroPipeline,
Will Berman's avatar
Will Berman committed
146
        UnCLIPImageVariationPipeline,
Will Berman's avatar
Will Berman committed
147
        UnCLIPPipeline,
148
149
150
151
        VersatileDiffusionDualGuidedPipeline,
        VersatileDiffusionImageVariationPipeline,
        VersatileDiffusionPipeline,
        VersatileDiffusionTextToImagePipeline,
152
        VQDiffusionPipeline,
153
    )
154

155
156
157
158
try:
    if not (is_torch_available() and is_transformers_available() and is_k_diffusion_available()):
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
159
    from .utils.dummy_torch_and_transformers_and_k_diffusion_objects import *  # noqa F403
160
161
else:
    from .pipelines import StableDiffusionKDiffusionPipeline
162

163
164
165
166
167
168
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:
169
170
171
    from .pipelines import (
        OnnxStableDiffusionImg2ImgPipeline,
        OnnxStableDiffusionInpaintPipeline,
172
        OnnxStableDiffusionInpaintPipelineLegacy,
173
        OnnxStableDiffusionPipeline,
174
        OnnxStableDiffusionUpscalePipeline,
175
176
        StableDiffusionOnnxPipeline,
    )
177
178
179
180
181
182

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

186
try:
187
    if not (is_transformers_available() and is_torch_available() and is_note_seq_available()):
188
189
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
190
    from .utils.dummy_transformers_and_torch_and_note_seq_objects import *  # noqa F403
191
192
193
else:
    from .pipelines import SpectrogramDiffusionPipeline

194
195
196
197
198
199
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
200
    from .models.controlnet_flax import FlaxControlNetModel
201
    from .models.modeling_flax_utils import FlaxModelMixin
202
203
    from .models.unet_2d_condition_flax import FlaxUNet2DConditionModel
    from .models.vae_flax import FlaxAutoencoderKL
204
    from .pipelines import FlaxDiffusionPipeline
205
206
207
    from .schedulers import (
        FlaxDDIMScheduler,
        FlaxDDPMScheduler,
208
        FlaxDPMSolverMultistepScheduler,
209
210
211
212
213
214
215
        FlaxKarrasVeScheduler,
        FlaxLMSDiscreteScheduler,
        FlaxPNDMScheduler,
        FlaxSchedulerMixin,
        FlaxScoreSdeVeScheduler,
    )

216

217
218
219
220
try:
    if not (is_flax_available() and is_transformers_available()):
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
221
    from .utils.dummy_flax_and_transformers_objects import *  # noqa F403
222
else:
223
    from .pipelines import (
YiYi Xu's avatar
YiYi Xu committed
224
        FlaxStableDiffusionControlNetPipeline,
225
226
227
228
        FlaxStableDiffusionImg2ImgPipeline,
        FlaxStableDiffusionInpaintPipeline,
        FlaxStableDiffusionPipeline,
    )
229
230
231
232
233
234
235
236

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