__init__.py 5.7 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_librosa_available,
10
11
    is_onnx_available,
    is_scipy_available,
12
    is_torch_available,
13
    is_transformers_available,
14
    is_transformers_version,
15
    is_unidecode_available,
16
    logging,
17
)
Patrick von Platen's avatar
Patrick von Platen committed
18
19


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

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

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

97
98
99
100
101
102
103

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

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

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

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

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

178

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