__init__.py 6.41 KB
Newer Older
1
__version__ = "0.15.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
12
    is_onnx_available,
    is_scipy_available,
13
    is_torch_available,
14
    is_transformers_available,
15
    is_transformers_version,
16
    is_unidecode_available,
17
    logging,
18
)
Patrick von Platen's avatar
Patrick von Platen committed
19
20


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

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

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

103
104
105
106
107
108
109

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:
110
    from .pipelines import (
Patrick von Platen's avatar
Patrick von Platen committed
111
112
        AltDiffusionImg2ImgPipeline,
        AltDiffusionPipeline,
113
        CycleDiffusionPipeline,
114
        LDMTextToImagePipeline,
115
        PaintByExamplePipeline,
116
        SemanticStableDiffusionPipeline,
YiYi Xu's avatar
YiYi Xu committed
117
        StableDiffusionAttendAndExcitePipeline,
118
        StableDiffusionControlNetPipeline,
119
        StableDiffusionDepth2ImgPipeline,
120
        StableDiffusionImageVariationPipeline,
121
122
        StableDiffusionImg2ImgPipeline,
        StableDiffusionInpaintPipeline,
123
        StableDiffusionInpaintPipelineLegacy,
124
        StableDiffusionInstructPix2PixPipeline,
125
        StableDiffusionLatentUpscalePipeline,
126
        StableDiffusionPanoramaPipeline,
127
        StableDiffusionPipeline,
128
        StableDiffusionPipelineSafe,
129
        StableDiffusionPix2PixZeroPipeline,
130
        StableDiffusionSAGPipeline,
131
        StableDiffusionUpscalePipeline,
Will Berman's avatar
Will Berman committed
132
133
        StableUnCLIPImg2ImgPipeline,
        StableUnCLIPPipeline,
134
        TextToVideoSDPipeline,
Will Berman's avatar
Will Berman committed
135
        UnCLIPImageVariationPipeline,
Will Berman's avatar
Will Berman committed
136
        UnCLIPPipeline,
137
138
139
140
        VersatileDiffusionDualGuidedPipeline,
        VersatileDiffusionImageVariationPipeline,
        VersatileDiffusionPipeline,
        VersatileDiffusionTextToImagePipeline,
141
        VQDiffusionPipeline,
142
    )
143

144
145
146
147
try:
    if not (is_torch_available() and is_transformers_available() and is_k_diffusion_available()):
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
148
    from .utils.dummy_torch_and_transformers_and_k_diffusion_objects import *  # noqa F403
149
150
else:
    from .pipelines import StableDiffusionKDiffusionPipeline
151

152
153
154
155
156
157
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:
158
159
160
    from .pipelines import (
        OnnxStableDiffusionImg2ImgPipeline,
        OnnxStableDiffusionInpaintPipeline,
161
        OnnxStableDiffusionInpaintPipelineLegacy,
162
        OnnxStableDiffusionPipeline,
163
        OnnxStableDiffusionUpscalePipeline,
164
165
        StableDiffusionOnnxPipeline,
    )
166
167
168
169
170
171

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

175
176
177
178
179
180
try:
    if not is_flax_available():
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
    from .utils.dummy_flax_objects import *  # noqa F403
else:
181
    from .models.modeling_flax_utils import FlaxModelMixin
182
183
    from .models.unet_2d_condition_flax import FlaxUNet2DConditionModel
    from .models.vae_flax import FlaxAutoencoderKL
184
    from .pipelines import FlaxDiffusionPipeline
185
186
187
    from .schedulers import (
        FlaxDDIMScheduler,
        FlaxDDPMScheduler,
188
        FlaxDPMSolverMultistepScheduler,
189
190
191
192
193
194
195
        FlaxKarrasVeScheduler,
        FlaxLMSDiscreteScheduler,
        FlaxPNDMScheduler,
        FlaxSchedulerMixin,
        FlaxScoreSdeVeScheduler,
    )

196

197
198
199
200
try:
    if not (is_flax_available() and is_transformers_available()):
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
201
    from .utils.dummy_flax_and_transformers_objects import *  # noqa F403
202
else:
203
204
205
206
207
    from .pipelines import (
        FlaxStableDiffusionImg2ImgPipeline,
        FlaxStableDiffusionInpaintPipeline,
        FlaxStableDiffusionPipeline,
    )