Diffusers documentation

Flux2Transformer2DModel

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

Flux2Transformer2DModel

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

Flux2Transformer2DModel

classe diffusers.Flux2Transformer2DModel

< >

( patch_size: int = 1in_channels: int = 128out_channels: int | None = Nonenum_layers: int = 8num_single_layers: int = 48attention_head_dim: int = 128num_attention_heads: int = 48joint_attention_dim: int = 15360timestep_guidance_channels: int = 256mlp_ratio: float = 3.0axes_dims_rope: tuple = (32, 32, 32, 32)rope_theta: int = 2000eps: float = 1e-06guidance_embeds: bool = True )

Paramètres

  • patch_size (int, par défaut 1) — Taille des patches pour découper les données d'entrée en petits patches.
  • in_channels (int, par défaut 128) — Le nombre de canaux dans l'entrée.
  • out_channels (int, facultatif, par défaut None) — Le nombre de canaux dans la sortie. S'il n'est pas spécifié, il est par défaut égal à in_channels.
  • num_layers (int, par défaut 8) — Le nombre de blocs DiT à double flux à utiliser.
  • num_single_layers (int, par défaut 48) — Le nombre de blocs DiT à flux unique à utiliser.
  • attention_head_dim (int, par défaut 128) — Le nombre de dimensions à utiliser pour chaque tête d'attention.
  • num_attention_heads (int, par défaut 48) — Le nombre de têtes d'attention à utiliser.
  • joint_attention_dim (int, par défaut 15360) — Le nombre de dimensions à utiliser pour l'attention conjointe (dimension d'embedding/canal de encoder_hidden_states).
  • pooled_projection_dim (int, par défaut 768) — Le nombre de dimensions à utiliser pour la projection agrégée.
  • guidance_embeds (bool, par défaut True) — Indique s'il faut utiliser des embeddings de guidance pour la variante du modèle distillée par guidance.
  • axes_dims_rope (tuple[int], par défaut (32, 32, 32, 32)) — Les dimensions à utiliser pour les embeddings positionnels rotatifs.

Le modèle Transformer introduit dans Flux 2.

Référence : https://blackforestlabs.ai/announcing-black-forest-labs/

forward

< >

( hidden_states: Tensorencoder_hidden_states: Tensor = Nonetimestep: LongTensor = Noneimg_ids: Tensor = Nonetxt_ids: Tensor = Noneguidance: Tensor = Nonejoint_attention_kwargs: dict[str, typing.Any] | None = Nonereturn_dict: bool = Truekv_cache: Flux2KVCache | None = Nonekv_cache_mode: str | None = Nonenum_ref_tokens: int = 0ref_fixed_timestep: float = 0.0 )

Paramètres

  • hidden_states (torch.Tensor de forme (batch_size, image_sequence_length, in_channels)) — hidden_states d'entrée.
  • encoder_hidden_states (torch.Tensor de forme (batch_size, text_sequence_length, joint_attention_dim)) — 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.
  • img_ids (torch.Tensor) — Identifiants de position des images utilisés pour calculer les embeddings positionnels rotatifs.
  • txt_ids (torch.Tensor) — Identifiants de position du texte utilisés pour calculer les embeddings positionnels rotatifs.
  • guidance (torch.Tensor, optional) — Guidance scale embedding used for guidance-distilled variants of the model.
  • joint_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.
  • kv_cache (Flux2KVCache, facultatif) — Cache KV pour les jetons de l’image de référence. Lorsque kv_cache_mode est « extract », un nouveau cache est créé et retourné. En mode « cached », le cache fourni est utilisé pour injecter les K/V de référence pendant l’attention.
  • kv_cache_mode (str, facultatif) — L’un des modes « extract » (première étape avec les jetons de référence) ou « cached » (étapes suivantes utilisant les K/V de référence mis en cache). Lorsque None, passe avant standard sans mise en cache des KV.
  • num_ref_tokens (int, par défaut 0) — Nombre de jetons d'image de référence ajoutés en préfixe à hidden_states (utilisé uniquement lorsque kv_cache_mode="extract").
  • ref_fixed_timestep (float, par défaut 0.0) — Pas de temps fixe pour la modulation des jetons de référence (utilisé uniquement lorsque kv_cache_mode="extract").

La méthode forward du Flux2Transformer2DModel.

Flux2Transformer2DModelOutput

classe diffusers.models.transformers.transformer_flux2.Flux2Transformer2DModelOutput

< >

( sample: torch.Tensorkv_cache: Flux2KVCache | None = None )

Paramètres

  • sample (torch.Tensor de forme (batch_size, num_channels, height, width)) — Les états cachés en sortie, conditionnés par l'entrée encoder_hidden_states.
  • kv_cache (Flux2KVCache, facultatif) — Le cache KV rempli pour les jetons d’image de référence. N’est renvoyé que lorsque kv_cache_mode="extract".

La sortie de Flux2Transformer2DModel.

Update on GitHub