__init__.py 5.27 KB
Newer Older
1
__version__ = "0.11.0.dev0"
2
3
4

from .configuration_utils import ConfigMixin
from .onnx_utils import OnnxRuntimeModel
5
from .utils import (
6
    OptionalDependencyNotAvailable,
7
    is_flax_available,
8
    is_inflect_available,
9
    is_k_diffusion_available,
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
try:
    if not is_torch_available():
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
    from .utils.dummy_pt_objects import *  # noqa F403
else:
27
    from .modeling_utils import ModelMixin
Will Berman's avatar
Will Berman committed
28
    from .models import AutoencoderKL, Transformer2DModel, UNet1DModel, UNet2DConditionModel, UNet2DModel, VQModel
29
30
31
32
33
34
35
36
37
38
    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,
    )
    from .pipeline_utils import DiffusionPipeline
39
40
41
42
43
44
    from .pipelines import (
        DanceDiffusionPipeline,
        DDIMPipeline,
        DDPMPipeline,
        KarrasVePipeline,
        LDMPipeline,
45
        LDMSuperResolutionPipeline,
46
        PNDMPipeline,
Revist's avatar
Revist committed
47
        RePaintPipeline,
48
49
        ScoreSdeVePipeline,
    )
50
51
52
    from .schedulers import (
        DDIMScheduler,
        DDPMScheduler,
53
        DPMSolverMultistepScheduler,
54
        DPMSolverSinglestepScheduler,
hlky's avatar
hlky committed
55
56
        EulerAncestralDiscreteScheduler,
        EulerDiscreteScheduler,
57
        HeunDiscreteScheduler,
58
        IPNDMScheduler,
59
        KarrasVeScheduler,
60
61
        KDPM2AncestralDiscreteScheduler,
        KDPM2DiscreteScheduler,
62
        PNDMScheduler,
Revist's avatar
Revist committed
63
        RePaintScheduler,
64
65
        SchedulerMixin,
        ScoreSdeVeScheduler,
Will Berman's avatar
Will Berman committed
66
        VQDiffusionScheduler,
67
68
    )
    from .training_utils import EMAModel
Patrick von Platen's avatar
Patrick von Platen committed
69

70
71
72
73
try:
    if not (is_torch_available() and is_scipy_available()):
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
74
    from .utils.dummy_torch_and_scipy_objects import *  # noqa F403
75
76
else:
    from .schedulers import LMSDiscreteScheduler
Patrick von Platen's avatar
Patrick von Platen committed
77

78
79
80
81
82
83
84

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:
85
    from .pipelines import (
Patrick von Platen's avatar
Patrick von Platen committed
86
87
        AltDiffusionImg2ImgPipeline,
        AltDiffusionPipeline,
88
        CycleDiffusionPipeline,
89
        LDMTextToImagePipeline,
90
        PaintByExamplePipeline,
91
        StableDiffusionDepth2ImgPipeline,
92
        StableDiffusionImageVariationPipeline,
93
94
        StableDiffusionImg2ImgPipeline,
        StableDiffusionInpaintPipeline,
95
        StableDiffusionInpaintPipelineLegacy,
96
        StableDiffusionPipeline,
97
        StableDiffusionPipelineSafe,
98
        StableDiffusionUpscalePipeline,
99
100
101
102
        VersatileDiffusionDualGuidedPipeline,
        VersatileDiffusionImageVariationPipeline,
        VersatileDiffusionPipeline,
        VersatileDiffusionTextToImagePipeline,
103
        VQDiffusionPipeline,
104
    )
105

106
107
108
109
try:
    if not (is_torch_available() and is_transformers_available() and is_k_diffusion_available()):
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
110
    from .utils.dummy_torch_and_transformers_and_k_diffusion_objects import *  # noqa F403
111
112
else:
    from .pipelines import StableDiffusionKDiffusionPipeline
113

114
115
116
117
118
119
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:
120
121
122
    from .pipelines import (
        OnnxStableDiffusionImg2ImgPipeline,
        OnnxStableDiffusionInpaintPipeline,
123
        OnnxStableDiffusionInpaintPipelineLegacy,
124
125
126
        OnnxStableDiffusionPipeline,
        StableDiffusionOnnxPipeline,
    )
127
128
129
130
131
132

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

136
137
138
139
140
141
try:
    if not is_flax_available():
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
    from .utils.dummy_flax_objects import *  # noqa F403
else:
142
143
144
145
146
147
148
    from .modeling_flax_utils import FlaxModelMixin
    from .models.unet_2d_condition_flax import FlaxUNet2DConditionModel
    from .models.vae_flax import FlaxAutoencoderKL
    from .pipeline_flax_utils import FlaxDiffusionPipeline
    from .schedulers import (
        FlaxDDIMScheduler,
        FlaxDDPMScheduler,
149
        FlaxDPMSolverMultistepScheduler,
150
151
152
153
154
155
156
        FlaxKarrasVeScheduler,
        FlaxLMSDiscreteScheduler,
        FlaxPNDMScheduler,
        FlaxSchedulerMixin,
        FlaxScoreSdeVeScheduler,
    )

157
158
159
160
try:
    if not (is_flax_available() and is_transformers_available()):
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
161
    from .utils.dummy_flax_and_transformers_objects import *  # noqa F403
162
163
else:
    from .pipelines import FlaxStableDiffusionPipeline