__init__.py 10.4 KB
Newer Older
Aryan's avatar
Aryan committed
1
# Copyright 2025 The HuggingFace Team. All rights reserved.
2
3
4
5
6
7
8
9
10
11
12
13
14
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

15
16
from typing import TYPE_CHECKING

Suraj Patil's avatar
Suraj Patil committed
17
18
19
20
21
22
from ..utils import (
    DIFFUSERS_SLOW_IMPORT,
    _LazyModule,
    is_flax_available,
    is_torch_available,
)
23
24


Dhruv Nair's avatar
Dhruv Nair committed
25
26
_import_structure = {}

27
if is_torch_available():
Dhruv Nair's avatar
Dhruv Nair committed
28
    _import_structure["adapter"] = ["MultiAdapter", "T2IAdapter"]
29
    _import_structure["auto_model"] = ["AutoModel"]
30
    _import_structure["autoencoders.autoencoder_asym_kl"] = ["AsymmetricAutoencoderKL"]
31
    _import_structure["autoencoders.autoencoder_dc"] = ["AutoencoderDC"]
32
    _import_structure["autoencoders.autoencoder_kl"] = ["AutoencoderKL"]
Aryan's avatar
Aryan committed
33
    _import_structure["autoencoders.autoencoder_kl_allegro"] = ["AutoencoderKLAllegro"]
34
    _import_structure["autoencoders.autoencoder_kl_cogvideox"] = ["AutoencoderKLCogVideoX"]
Aryan's avatar
Aryan committed
35
    _import_structure["autoencoders.autoencoder_kl_cosmos"] = ["AutoencoderKLCosmos"]
Aryan's avatar
Aryan committed
36
    _import_structure["autoencoders.autoencoder_kl_hunyuan_video"] = ["AutoencoderKLHunyuanVideo"]
Aryan's avatar
Aryan committed
37
    _import_structure["autoencoders.autoencoder_kl_ltx"] = ["AutoencoderKLLTXVideo"]
38
    _import_structure["autoencoders.autoencoder_kl_magvit"] = ["AutoencoderKLMagvit"]
Aryan's avatar
Aryan committed
39
    _import_structure["autoencoders.autoencoder_kl_mochi"] = ["AutoencoderKLMochi"]
40
    _import_structure["autoencoders.autoencoder_kl_temporal_decoder"] = ["AutoencoderKLTemporalDecoder"]
41
    _import_structure["autoencoders.autoencoder_kl_wan"] = ["AutoencoderKLWan"]
42
    _import_structure["autoencoders.autoencoder_oobleck"] = ["AutoencoderOobleck"]
43
44
    _import_structure["autoencoders.autoencoder_tiny"] = ["AutoencoderTiny"]
    _import_structure["autoencoders.consistency_decoder_vae"] = ["ConsistencyDecoderVAE"]
45
    _import_structure["autoencoders.vq_model"] = ["VQModel"]
46
    _import_structure["cache_utils"] = ["CacheMixin"]
47
48
49
50
51
52
    _import_structure["controlnets.controlnet"] = ["ControlNetModel"]
    _import_structure["controlnets.controlnet_flux"] = ["FluxControlNetModel", "FluxMultiControlNetModel"]
    _import_structure["controlnets.controlnet_hunyuan"] = [
        "HunyuanDiT2DControlNetModel",
        "HunyuanDiT2DMultiControlNetModel",
    ]
53
    _import_structure["controlnets.controlnet_sana"] = ["SanaControlNetModel"]
54
55
    _import_structure["controlnets.controlnet_sd3"] = ["SD3ControlNetModel", "SD3MultiControlNetModel"]
    _import_structure["controlnets.controlnet_sparsectrl"] = ["SparseControlNetModel"]
hlky's avatar
hlky committed
56
    _import_structure["controlnets.controlnet_union"] = ["ControlNetUnionModel"]
57
58
    _import_structure["controlnets.controlnet_xs"] = ["ControlNetXSAdapter", "UNetControlNetXSModel"]
    _import_structure["controlnets.multicontrolnet"] = ["MultiControlNetModel"]
59
    _import_structure["controlnets.multicontrolnet_union"] = ["MultiControlNetUnionModel"]
60
    _import_structure["embeddings"] = ["ImageProjection"]
61
    _import_structure["modeling_utils"] = ["ModelMixin"]
Sayak Paul's avatar
Sayak Paul committed
62
    _import_structure["transformers.auraflow_transformer_2d"] = ["AuraFlowTransformer2DModel"]
63
    _import_structure["transformers.cogvideox_transformer_3d"] = ["CogVideoXTransformer3DModel"]
Shenghai Yuan's avatar
Shenghai Yuan committed
64
    _import_structure["transformers.consisid_transformer_3d"] = ["ConsisIDTransformer3DModel"]
65
    _import_structure["transformers.dit_transformer_2d"] = ["DiTTransformer2DModel"]
66
    _import_structure["transformers.dual_transformer_2d"] = ["DualTransformer2DModel"]
67
    _import_structure["transformers.hunyuan_transformer_2d"] = ["HunyuanDiT2DModel"]
68
    _import_structure["transformers.latte_transformer_3d"] = ["LatteTransformer3DModel"]
69
    _import_structure["transformers.lumina_nextdit2d"] = ["LuminaNextDiT2DModel"]
70
    _import_structure["transformers.pixart_transformer_2d"] = ["PixArtTransformer2DModel"]
71
    _import_structure["transformers.prior_transformer"] = ["PriorTransformer"]
72
    _import_structure["transformers.sana_transformer"] = ["SanaTransformer2DModel"]
73
    _import_structure["transformers.stable_audio_transformer"] = ["StableAudioDiTModel"]
74
75
    _import_structure["transformers.t5_film_transformer"] = ["T5FilmDecoder"]
    _import_structure["transformers.transformer_2d"] = ["Transformer2DModel"]
Aryan's avatar
Aryan committed
76
    _import_structure["transformers.transformer_allegro"] = ["AllegroTransformer3DModel"]
Edna's avatar
Edna committed
77
    _import_structure["transformers.transformer_chroma"] = ["ChromaTransformer2DModel"]
Yuxuan.Zhang's avatar
Yuxuan.Zhang committed
78
    _import_structure["transformers.transformer_cogview3plus"] = ["CogView3PlusTransformer2DModel"]
79
    _import_structure["transformers.transformer_cogview4"] = ["CogView4Transformer2DModel"]
Aryan's avatar
Aryan committed
80
    _import_structure["transformers.transformer_cosmos"] = ["CosmosTransformer3DModel"]
81
    _import_structure["transformers.transformer_easyanimate"] = ["EasyAnimateTransformer3DModel"]
Sayak Paul's avatar
Sayak Paul committed
82
    _import_structure["transformers.transformer_flux"] = ["FluxTransformer2DModel"]
hlky's avatar
hlky committed
83
    _import_structure["transformers.transformer_hidream_image"] = ["HiDreamImageTransformer2DModel"]
Aryan's avatar
Aryan committed
84
    _import_structure["transformers.transformer_hunyuan_video"] = ["HunyuanVideoTransformer3DModel"]
Aryan's avatar
Aryan committed
85
    _import_structure["transformers.transformer_hunyuan_video_framepack"] = ["HunyuanVideoFramepackTransformer3DModel"]
Aryan's avatar
Aryan committed
86
    _import_structure["transformers.transformer_ltx"] = ["LTXVideoTransformer3DModel"]
Le Zhuo's avatar
Le Zhuo committed
87
    _import_structure["transformers.transformer_lumina2"] = ["Lumina2Transformer2DModel"]
Aryan's avatar
Aryan committed
88
    _import_structure["transformers.transformer_mochi"] = ["MochiTransformer3DModel"]
Shitao Xiao's avatar
Shitao Xiao committed
89
    _import_structure["transformers.transformer_omnigen"] = ["OmniGenTransformer2DModel"]
Dhruv Nair's avatar
Dhruv Nair committed
90
    _import_structure["transformers.transformer_sd3"] = ["SD3Transformer2DModel"]
91
    _import_structure["transformers.transformer_temporal"] = ["TransformerTemporalModel"]
92
    _import_structure["transformers.transformer_wan"] = ["WanTransformer3DModel"]
Aryan's avatar
Aryan committed
93
    _import_structure["transformers.transformer_wan_vace"] = ["WanVACETransformer3DModel"]
94
95
96
97
    _import_structure["unets.unet_1d"] = ["UNet1DModel"]
    _import_structure["unets.unet_2d"] = ["UNet2DModel"]
    _import_structure["unets.unet_2d_condition"] = ["UNet2DConditionModel"]
    _import_structure["unets.unet_3d_condition"] = ["UNet3DConditionModel"]
98
    _import_structure["unets.unet_i2vgen_xl"] = ["I2VGenXLUNet"]
99
100
101
    _import_structure["unets.unet_kandinsky3"] = ["Kandinsky3UNet"]
    _import_structure["unets.unet_motion_model"] = ["MotionAdapter", "UNetMotionModel"]
    _import_structure["unets.unet_spatio_temporal_condition"] = ["UNetSpatioTemporalConditionModel"]
102
    _import_structure["unets.unet_stable_cascade"] = ["StableCascadeUNet"]
103
    _import_structure["unets.uvit_2d"] = ["UVit2DModel"]
104
105

if is_flax_available():
106
    _import_structure["controlnets.controlnet_flax"] = ["FlaxControlNetModel"]
107
    _import_structure["unets.unet_2d_condition_flax"] = ["FlaxUNet2DConditionModel"]
Dhruv Nair's avatar
Dhruv Nair committed
108
109
110
    _import_structure["vae_flax"] = ["FlaxAutoencoderKL"]


111
if TYPE_CHECKING or DIFFUSERS_SLOW_IMPORT:
112
113
    if is_torch_available():
        from .adapter import MultiAdapter, T2IAdapter
hlky's avatar
hlky committed
114
        from .auto_model import AutoModel
115
116
        from .autoencoders import (
            AsymmetricAutoencoderKL,
117
            AutoencoderDC,
118
            AutoencoderKL,
Aryan's avatar
Aryan committed
119
            AutoencoderKLAllegro,
120
            AutoencoderKLCogVideoX,
Aryan's avatar
Aryan committed
121
            AutoencoderKLCosmos,
Aryan's avatar
Aryan committed
122
            AutoencoderKLHunyuanVideo,
Aryan's avatar
Aryan committed
123
            AutoencoderKLLTXVideo,
124
            AutoencoderKLMagvit,
Aryan's avatar
Aryan committed
125
            AutoencoderKLMochi,
126
            AutoencoderKLTemporalDecoder,
127
            AutoencoderKLWan,
128
            AutoencoderOobleck,
129
130
            AutoencoderTiny,
            ConsistencyDecoderVAE,
131
            VQModel,
132
        )
133
        from .cache_utils import CacheMixin
134
135
        from .controlnets import (
            ControlNetModel,
hlky's avatar
hlky committed
136
            ControlNetUnionModel,
137
138
139
140
141
142
            ControlNetXSAdapter,
            FluxControlNetModel,
            FluxMultiControlNetModel,
            HunyuanDiT2DControlNetModel,
            HunyuanDiT2DMultiControlNetModel,
            MultiControlNetModel,
143
            MultiControlNetUnionModel,
144
            SanaControlNetModel,
145
146
147
148
149
            SD3ControlNetModel,
            SD3MultiControlNetModel,
            SparseControlNetModel,
            UNetControlNetXSModel,
        )
150
        from .embeddings import ImageProjection
151
        from .modeling_utils import ModelMixin
152
        from .transformers import (
Aryan's avatar
Aryan committed
153
            AllegroTransformer3DModel,
Sayak Paul's avatar
Sayak Paul committed
154
            AuraFlowTransformer2DModel,
Edna's avatar
Edna committed
155
            ChromaTransformer2DModel,
156
            CogVideoXTransformer3DModel,
Yuxuan.Zhang's avatar
Yuxuan.Zhang committed
157
            CogView3PlusTransformer2DModel,
158
            CogView4Transformer2DModel,
Shenghai Yuan's avatar
Shenghai Yuan committed
159
            ConsisIDTransformer3DModel,
Aryan's avatar
Aryan committed
160
            CosmosTransformer3DModel,
161
            DiTTransformer2DModel,
162
            DualTransformer2DModel,
163
            EasyAnimateTransformer3DModel,
Sayak Paul's avatar
Sayak Paul committed
164
            FluxTransformer2DModel,
hlky's avatar
hlky committed
165
            HiDreamImageTransformer2DModel,
166
            HunyuanDiT2DModel,
Aryan's avatar
Aryan committed
167
            HunyuanVideoFramepackTransformer3DModel,
Aryan's avatar
Aryan committed
168
            HunyuanVideoTransformer3DModel,
169
            LatteTransformer3DModel,
Aryan's avatar
Aryan committed
170
            LTXVideoTransformer3DModel,
Le Zhuo's avatar
Le Zhuo committed
171
            Lumina2Transformer2DModel,
172
            LuminaNextDiT2DModel,
Aryan's avatar
Aryan committed
173
            MochiTransformer3DModel,
Shitao Xiao's avatar
Shitao Xiao committed
174
            OmniGenTransformer2DModel,
175
            PixArtTransformer2DModel,
176
            PriorTransformer,
177
            SanaTransformer2DModel,
Dhruv Nair's avatar
Dhruv Nair committed
178
            SD3Transformer2DModel,
179
            StableAudioDiTModel,
180
181
182
            T5FilmDecoder,
            Transformer2DModel,
            TransformerTemporalModel,
183
            WanTransformer3DModel,
Aryan's avatar
Aryan committed
184
            WanVACETransformer3DModel,
185
        )
186
        from .unets import (
187
            I2VGenXLUNet,
188
189
            Kandinsky3UNet,
            MotionAdapter,
190
            StableCascadeUNet,
191
192
193
194
195
196
197
198
            UNet1DModel,
            UNet2DConditionModel,
            UNet2DModel,
            UNet3DConditionModel,
            UNetMotionModel,
            UNetSpatioTemporalConditionModel,
            UVit2DModel,
        )
199
200

    if is_flax_available():
201
        from .controlnets import FlaxControlNetModel
202
        from .unets import FlaxUNet2DConditionModel
203
204
205
206
        from .vae_flax import FlaxAutoencoderKL

else:
    import sys
Dhruv Nair's avatar
Dhruv Nair committed
207

208
    sys.modules[__name__] = _LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__)