__init__.py 3.71 KB
Newer Older
1
from .utils import (
2
    is_flax_available,
3
4
5
    is_inflect_available,
    is_onnx_available,
    is_scipy_available,
6
    is_torch_available,
7
8
9
    is_transformers_available,
    is_unidecode_available,
)
Patrick von Platen's avatar
Patrick von Platen committed
10
11


Anton Lozhkov's avatar
Anton Lozhkov committed
12
__version__ = "0.8.0.dev0"
Patrick von Platen's avatar
Patrick von Platen committed
13

Patrick von Platen's avatar
Patrick von Platen committed
14
from .configuration_utils import ConfigMixin
15
from .onnx_utils import OnnxRuntimeModel
Patrick von Platen's avatar
Patrick von Platen committed
16
from .utils import logging
17
18


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

61
62
63
64
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
65

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

87
if is_torch_available() and is_transformers_available() and is_onnx_available():
88
89
90
    from .pipelines import (
        OnnxStableDiffusionImg2ImgPipeline,
        OnnxStableDiffusionInpaintPipeline,
91
        OnnxStableDiffusionInpaintPipelineLegacy,
92
93
94
        OnnxStableDiffusionPipeline,
        StableDiffusionOnnxPipeline,
    )
95
else:
96
    from .utils.dummy_torch_and_transformers_and_onnx_objects import *  # noqa F403
97
98
99
100
101
102
103
104
105

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,
106
        FlaxDPMSolverMultistepScheduler,
107
108
109
110
111
112
113
114
115
116
117
118
119
        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