Diffusers documentation

AuraFlowTransformer2DModel

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.42.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

AuraFlowTransformer2DModel

Un modèle Transformer pour des données de type image issu de AuraFlow.

AuraFlowTransformer2DModel

classe diffusers.AuraFlowTransformer2DModel

< >

( sample_size: int = 64patch_size: int = 2in_channels: int = 4num_mmdit_layers: int = 4num_single_dit_layers: int = 32attention_head_dim: int = 256num_attention_heads: int = 12joint_attention_dim: int = 2048caption_projection_dim: int = 3072out_channels: int = 4pos_embed_max_size: int = 1024 )

Paramètres

  • sample_size (int) — La largeur des images latentes. Cette valeur est fixe pendant l’entraînement, car elle est utilisée pour apprendre un nombre d’embeddings de position.
  • patch_size (int) — Taille des patches pour découper les données d'entrée en petits patches.
  • in_channels (int, facultatif, par défaut 4) — Le nombre de canaux de l'entrée.
  • num_mmdit_layers (int, facultatif, valeur par défaut 4) — Le nombre de blocs Transformer MMDiT à utiliser.
  • num_single_dit_layers (int, facultatif, valeur par défaut 32) — Le nombre de blocs Transformer à utiliser. Ces blocs utilisent des représentations d'image et de texte concaténées.
  • attention_head_dim (int, facultatif, valeur par défaut 256) — Le nombre de canaux dans chaque tête.
  • num_attention_heads (int, facultatif, valeur par défaut 12) — Le nombre de têtes à utiliser pour l'attention multi-têtes.
  • joint_attention_dim (int, facultatif) — Le nombre de dimensions de encoder_hidden_states à utiliser.
  • caption_projection_dim (int) — Nombre de dimensions à utiliser lors de la projection des encoder_hidden_states.
  • out_channels (int, par défaut 4) — Nombre de canaux de sortie.
  • pos_embed_max_size (int, par défaut 1024) — Nombre maximal de positions à intégrer à partir des latents de l’image.

Un modèle Transformer 2D tel qu'introduit dans AuraFlow (https://blog.fal.ai/auraflow/).

forward

< >

( hidden_states: FloatTensorencoder_hidden_states: FloatTensor = Nonetimestep: LongTensor = Noneattention_kwargs: dict[str, typing.Any] | None = Nonereturn_dict: bool = True )

Paramètres

  • hidden_states (torch.FloatTensor de forme (batch size, channel, height, width)) — hidden_states d'entrée.
  • encoder_hidden_states (torch.FloatTensor de forme (batch size, sequence_len, embed_dims)) — Embeddings conditionnels (embeddings calculés à partir des conditions d’entrée telles que les prompts) à utiliser.
  • timestep (torch.LongTensor) — Utilisé pour indiquer l'étape de débruitage.
  • attention_kwargs (dict, facultatif) — Un dictionnaire de kwargs qui, s'il est spécifié, est transmis à l'AttentionProcessor défini sous self.processor dans diffusers.models.attention_processor.
  • return_dict (bool, facultatif, par défaut True) — Indique s'il faut retourner un ~models.transformer_2d.Transformer2DModelOutput plutôt qu'un simple tuple.

La méthode forward du AuraFlowTransformer2DModel.

fuse_qkv_projections

< >

( )

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.

unfuse_qkv_projections

< >

( )

Désactive la projection QKV fusionnée si elle est activée.

> Cette API est 🧪 expérimentale.

Update on GitHub