__init__.py 4.22 KB
Newer Older
1
2
3
4
__version__ = "0.10.0.dev0"

from .configuration_utils import ConfigMixin
from .onnx_utils import OnnxRuntimeModel
5
from .utils import (
6
    is_flax_available,
7
    is_inflect_available,
8
    is_k_diffusion_available,
9
10
    is_onnx_available,
    is_scipy_available,
11
    is_torch_available,
12
13
    is_transformers_available,
    is_unidecode_available,
14
    logging,
15
)
Patrick von Platen's avatar
Patrick von Platen committed
16
17


18
19
if is_torch_available():
    from .modeling_utils import ModelMixin
Will Berman's avatar
Will Berman committed
20
    from .models import AutoencoderKL, Transformer2DModel, UNet1DModel, UNet2DConditionModel, UNet2DModel, VQModel
21
22
23
24
25
26
27
28
29
30
    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
31
    from .pipelines import (
32
        AudioDiffusionPipeline,
33
34
35
36
37
        DanceDiffusionPipeline,
        DDIMPipeline,
        DDPMPipeline,
        KarrasVePipeline,
        LDMPipeline,
38
        LDMSuperResolutionPipeline,
39
        Mel,
40
        PNDMPipeline,
Revist's avatar
Revist committed
41
        RePaintPipeline,
42
43
        ScoreSdeVePipeline,
    )
44
45
46
    from .schedulers import (
        DDIMScheduler,
        DDPMScheduler,
47
        DPMSolverMultistepScheduler,
48
        DPMSolverSinglestepScheduler,
hlky's avatar
hlky committed
49
50
        EulerAncestralDiscreteScheduler,
        EulerDiscreteScheduler,
51
        HeunDiscreteScheduler,
52
        IPNDMScheduler,
53
        KarrasVeScheduler,
54
55
        KDPM2AncestralDiscreteScheduler,
        KDPM2DiscreteScheduler,
56
        PNDMScheduler,
Revist's avatar
Revist committed
57
        RePaintScheduler,
58
59
        SchedulerMixin,
        ScoreSdeVeScheduler,
Will Berman's avatar
Will Berman committed
60
        VQDiffusionScheduler,
61
62
    )
    from .training_utils import EMAModel
63
else:
64
    from .utils.dummy_pt_objects import *  # noqa F403
Patrick von Platen's avatar
Patrick von Platen committed
65

66
67
68
69
if is_torch_available() and is_scipy_available():
    from .schedulers import LMSDiscreteScheduler
else:
    from .utils.dummy_torch_and_scipy_objects import *  # noqa F403
Patrick von Platen's avatar
Patrick von Platen committed
70

71
if is_torch_available() and is_transformers_available():
72
    from .pipelines import (
Patrick von Platen's avatar
Patrick von Platen committed
73
74
        AltDiffusionImg2ImgPipeline,
        AltDiffusionPipeline,
75
        CycleDiffusionPipeline,
76
        LDMTextToImagePipeline,
77
        PaintByExamplePipeline,
78
        StableDiffusionImageVariationPipeline,
79
80
        StableDiffusionImg2ImgPipeline,
        StableDiffusionInpaintPipeline,
81
        StableDiffusionInpaintPipelineLegacy,
82
        StableDiffusionPipeline,
83
        StableDiffusionPipelineSafe,
84
        StableDiffusionUpscalePipeline,
85
86
87
88
        VersatileDiffusionDualGuidedPipeline,
        VersatileDiffusionImageVariationPipeline,
        VersatileDiffusionPipeline,
        VersatileDiffusionTextToImagePipeline,
89
        VQDiffusionPipeline,
90
    )
Patrick von Platen's avatar
Patrick von Platen committed
91
else:
92
    from .utils.dummy_torch_and_transformers_objects import *  # noqa F403
93

94
95
96
97
98
if is_torch_available() and is_transformers_available() and is_k_diffusion_available():
    from .pipelines import StableDiffusionKDiffusionPipeline
else:
    from .utils.dummy_torch_and_transformers_and_k_diffusion_objects import *  # noqa F403

99
if is_torch_available() and is_transformers_available() and is_onnx_available():
100
101
102
    from .pipelines import (
        OnnxStableDiffusionImg2ImgPipeline,
        OnnxStableDiffusionInpaintPipeline,
103
        OnnxStableDiffusionInpaintPipelineLegacy,
104
105
106
        OnnxStableDiffusionPipeline,
        StableDiffusionOnnxPipeline,
    )
107
else:
108
    from .utils.dummy_torch_and_transformers_and_onnx_objects import *  # noqa F403
109
110
111
112
113
114
115
116
117

if is_flax_available():
    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,
118
        FlaxDPMSolverMultistepScheduler,
119
120
121
122
123
124
125
126
127
128
129
130
131
        FlaxKarrasVeScheduler,
        FlaxLMSDiscreteScheduler,
        FlaxPNDMScheduler,
        FlaxSchedulerMixin,
        FlaxScoreSdeVeScheduler,
    )
else:
    from .utils.dummy_flax_objects import *  # noqa F403

if is_flax_available() and is_transformers_available():
    from .pipelines import FlaxStableDiffusionPipeline
else:
    from .utils.dummy_flax_and_transformers_objects import *  # noqa F403