Diffusers documentation
HunyuanDiT2DModel
HunyuanDiT2DModel
Un modèle Diffusion Transformer pour des données 2D issu de Hunyuan-DiT.
HunyuanDiT2DModel
classe diffusers.HunyuanDiT2DModel
< source >( num_attention_heads: int = 16attention_head_dim: int = 88in_channels: int | None = Nonepatch_size: int | None = Noneactivation_fn: str = 'gelu-approximate'sample_size = 32hidden_size = 1152num_layers: int = 28mlp_ratio: float = 4.0learn_sigma: bool = Truecross_attention_dim: int = 1024norm_type: str = 'layer_norm'cross_attention_dim_t5: int = 2048pooled_projection_dim: int = 1024text_len: int = 77text_len_t5: int = 256use_style_cond_and_image_meta_size: bool = True )
Paramètres
- num_attention_heads (
int, facultatif, valeur par défaut 16) — Le nombre de têtes à utiliser pour l'attention multi-têtes. - attention_head_dim (
int, facultatif, valeur par défaut : 88) — Le nombre de canaux dans chaque tête. - in_channels (
int, facultatif) — Le nombre de canaux dans l'entrée et la sortie (à spécifier si l'entrée est continue). - patch_size (
int, facultatif) — La taille du patch à utiliser pour l'entrée. - activation_fn (
str, facultatif, par défaut"geglu") — Fonction d'activation à utiliser dans le réseau de neurones à propagation avant. - sample_size (
int, facultatif) — La largeur des images latentes. Cette valeur est fixe pendant l’entraînement, car elle est utilisée pour apprendre un certain nombre d’embeddings de position. - dropout (
float, facultatif, valeur par défaut 0.0) — La probabilité de dropout à utiliser. - cross_attention_dim (
int, facultatif) — Le nombre de dimensions de l'embedding de texte clip. - hidden_size (
int, facultatif) — La taille de la couche cachée dans les couches d'incorporation de conditionnement. - num_layers (
int, facultatif, par défaut 1) — Le nombre de blocs Transformer à utiliser. - mlp_ratio (
float, facultatif, valeur par défaut 4.0) — Le ratio de la taille de la couche cachée par rapport à la taille de l'entrée. - learn_sigma (
bool, facultatif, par défautTrue) — Indique s'il faut prédire la variance. - cross_attention_dim_t5 (
int, facultatif) — Le nombre de dimensions de l'embedding de texte t5. - pooled_projection_dim (
int, facultatif) — La taille de la projection agrégée. - text_len (
int, facultatif) — La longueur de l’embedding de texte de la séquence. - text_len_t5 (
int, facultatif) — La longueur de l’embedding de texte T5. - use_style_cond_and_image_meta_size (
bool, facultatif) — Indique s'il faut utiliser la condition de style et la taille métadonnée de l'image. True pour la version <=1.1, False pour la version >= 1.2
HunYuanDiT : modèle de diffusion avec un backbone Transformer.
Hériter de ModelMixin et ConfigMixin pour être compatible avec le sampler StableDiffusionPipeline de diffusers.
enable_forward_chunking
< source >( chunk_size: int | None = Nonedim: int = 0 )
Paramètres
- chunk_size (
int, facultatif) — La taille des blocs des couches feed-forward. Si non spécifiée, la couche feed-forward est exécutée individuellement sur chaque tenseur de dim=dim. - dim (
int, facultatif, par défaut0) — La dimension sur laquelle le calcul feed-forward doit être découpé. Choisissez entre dim=0 (batch) ou dim=1 (longueur de la séquence).
Définit le processeur d'attention à utiliser feed forward chunking.
forward
< source >( hidden_statestimestepencoder_hidden_states = Nonetext_embedding_mask = Noneencoder_hidden_states_t5 = Nonetext_embedding_mask_t5 = Noneimage_meta_size = Nonestyle = Noneimage_rotary_emb = Nonecontrolnet_block_samples = Nonereturn_dict = True )
Paramètres
- hidden_states (
torch.Tensorde forme(batch size, dim, height, width)) — Le tenseur d'entrée. - timestep (
torch.LongTensor, facultatif) — Utilisé pour indiquer l'étape de débruitage. - encoder_hidden_states (
torch.Tensorde forme(batch size, sequence len, embed dims), facultatif) — Embeddings conditionnels pour la couche d'attention croisée. Il s'agit de la sortie deBertModel. - text_embedding_mask — torch.Tensor
Un masque d’attention de forme
(batch, key_tokens)est appliqué àencoder_hidden_states. Il s’agit de la sortie deBertModel. - encoder_hidden_states_t5 (
torch.Tensorde forme(batch size, sequence len, embed dims), facultatif) — Embeddings conditionnels pour la couche d'attention croisée. Il s'agit de la sortie du T5 Text Encoder. - text_embedding_mask_t5 — torch.Tensor
Un masque d’attention de forme
(batch, key_tokens)est appliqué àencoder_hidden_states. Il s’agit de la sortie de l’encodeur de texte T5. - image_meta_size (torch.Tensor) — Embedding conditionnel indiquant les tailles des images
- style — torch.Tensor : Embedding conditionnel indiquant le style
- image_rotary_emb (
torch.Tensor) — Les embeddings rotationnels d’image à appliquer aux tenseurs de requête et de clé lors du calcul de l’attention. - controlnet_block_samples (
listdetorch.Tensor, facultatif) — Une liste de tenseurs qui, si elle est spécifiée, est ajoutée aux résidus des blocs du transformeur. - return_dict — bool Indique s'il faut retourner un dictionnaire.
La méthode forward du HunyuanDiT2DModel.
Active les projections QKV fusionnées. Pour les modules d'auto-attention, toutes les matrices de projection (c'est-à-dire requête, clé, valeur) sont fusionnées. Pour les modules d'attention croisée, les matrices de projection des clés et des valeurs sont fusionnées.
> Cette API est 🧪 expérimentale.
Désactive les processeurs d'attention personnalisés et définit l'implémentation d'attention par défaut.
Désactive la projection QKV fusionnée si elle est activée.
> Cette API est 🧪 expérimentale.