__init__.py 5.79 KB
Newer Older
Anton Lozhkov's avatar
Anton Lozhkov committed
1
__version__ = "0.12.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
        ModelMixin,
Will Berman's avatar
Will Berman committed
38
39
40
41
42
43
44
        PriorTransformer,
        Transformer2DModel,
        UNet1DModel,
        UNet2DConditionModel,
        UNet2DModel,
        VQModel,
    )
45
46
47
48
49
50
51
52
53
    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,
    )
54
    from .pipelines import (
55
        AudioPipelineOutput,
56
57
58
        DanceDiffusionPipeline,
        DDIMPipeline,
        DDPMPipeline,
59
60
        DiffusionPipeline,
        ImagePipelineOutput,
61
62
        KarrasVePipeline,
        LDMPipeline,
63
        LDMSuperResolutionPipeline,
64
        PNDMPipeline,
Revist's avatar
Revist committed
65
        RePaintPipeline,
66
67
        ScoreSdeVePipeline,
    )
68
69
70
    from .schedulers import (
        DDIMScheduler,
        DDPMScheduler,
71
        DEISMultistepScheduler,
72
        DPMSolverMultistepScheduler,
73
        DPMSolverSinglestepScheduler,
hlky's avatar
hlky committed
74
75
        EulerAncestralDiscreteScheduler,
        EulerDiscreteScheduler,
76
        HeunDiscreteScheduler,
77
        IPNDMScheduler,
78
        KarrasVeScheduler,
79
80
        KDPM2AncestralDiscreteScheduler,
        KDPM2DiscreteScheduler,
81
        PNDMScheduler,
Revist's avatar
Revist committed
82
        RePaintScheduler,
83
84
        SchedulerMixin,
        ScoreSdeVeScheduler,
Will Berman's avatar
Will Berman committed
85
        UnCLIPScheduler,
Will Berman's avatar
Will Berman committed
86
        VQDiffusionScheduler,
87
88
    )
    from .training_utils import EMAModel
Patrick von Platen's avatar
Patrick von Platen committed
89

90
91
92
93
try:
    if not (is_torch_available() and is_scipy_available()):
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
94
    from .utils.dummy_torch_and_scipy_objects import *  # noqa F403
95
96
else:
    from .schedulers import LMSDiscreteScheduler
Patrick von Platen's avatar
Patrick von Platen committed
97

98
99
100
101
102
103
104

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:
105
    from .pipelines import (
Patrick von Platen's avatar
Patrick von Platen committed
106
107
        AltDiffusionImg2ImgPipeline,
        AltDiffusionPipeline,
108
        CycleDiffusionPipeline,
109
        LDMTextToImagePipeline,
110
        PaintByExamplePipeline,
111
        StableDiffusionDepth2ImgPipeline,
112
        StableDiffusionImageVariationPipeline,
113
114
        StableDiffusionImg2ImgPipeline,
        StableDiffusionInpaintPipeline,
115
        StableDiffusionInpaintPipelineLegacy,
116
        StableDiffusionPipeline,
117
        StableDiffusionPipelineSafe,
118
        StableDiffusionUpscalePipeline,
Will Berman's avatar
Will Berman committed
119
        UnCLIPImageVariationPipeline,
Will Berman's avatar
Will Berman committed
120
        UnCLIPPipeline,
121
122
123
124
        VersatileDiffusionDualGuidedPipeline,
        VersatileDiffusionImageVariationPipeline,
        VersatileDiffusionPipeline,
        VersatileDiffusionTextToImagePipeline,
125
        VQDiffusionPipeline,
126
    )
127

128
129
130
131
try:
    if not (is_torch_available() and is_transformers_available() and is_k_diffusion_available()):
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
132
    from .utils.dummy_torch_and_transformers_and_k_diffusion_objects import *  # noqa F403
133
134
else:
    from .pipelines import StableDiffusionKDiffusionPipeline
135

136
137
138
139
140
141
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:
142
143
144
    from .pipelines import (
        OnnxStableDiffusionImg2ImgPipeline,
        OnnxStableDiffusionInpaintPipeline,
145
        OnnxStableDiffusionInpaintPipelineLegacy,
146
147
148
        OnnxStableDiffusionPipeline,
        StableDiffusionOnnxPipeline,
    )
149
150
151
152
153
154

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

158
159
160
161
162
163
try:
    if not is_flax_available():
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
    from .utils.dummy_flax_objects import *  # noqa F403
else:
164
    from .models.modeling_flax_utils import FlaxModelMixin
165
166
    from .models.unet_2d_condition_flax import FlaxUNet2DConditionModel
    from .models.vae_flax import FlaxAutoencoderKL
167
    from .pipelines import FlaxDiffusionPipeline
168
169
170
    from .schedulers import (
        FlaxDDIMScheduler,
        FlaxDDPMScheduler,
171
        FlaxDPMSolverMultistepScheduler,
172
173
174
175
176
177
178
        FlaxKarrasVeScheduler,
        FlaxLMSDiscreteScheduler,
        FlaxPNDMScheduler,
        FlaxSchedulerMixin,
        FlaxScoreSdeVeScheduler,
    )

179

180
181
182
183
try:
    if not (is_flax_available() and is_transformers_available()):
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
184
    from .utils.dummy_flax_and_transformers_objects import *  # noqa F403
185
else:
186
187
188
189
190
    from .pipelines import (
        FlaxStableDiffusionImg2ImgPipeline,
        FlaxStableDiffusionInpaintPipeline,
        FlaxStableDiffusionPipeline,
    )