Diffusers documentation
Flux2Transformer2DModel
Flux2Transformer2DModel
Un modèle Transformer pour des données de type image issu de Flux2.
Flux2Transformer2DModel
classe diffusers.Flux2Transformer2DModel
< source >( 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éfaut1) — Taille des patches pour découper les données d'entrée en petits patches. - in_channels (
int, par défaut128) — Le nombre de canaux dans l'entrée. - out_channels (
int, facultatif, par défautNone) — 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éfaut8) — Le nombre de blocs DiT à double flux à utiliser. - num_single_layers (
int, par défaut48) — Le nombre de blocs DiT à flux unique à utiliser. - attention_head_dim (
int, par défaut128) — Le nombre de dimensions à utiliser pour chaque tête d'attention. - num_attention_heads (
int, par défaut48) — Le nombre de têtes d'attention à utiliser. - joint_attention_dim (
int, par défaut15360) — Le nombre de dimensions à utiliser pour l'attention conjointe (dimension d'embedding/canal deencoder_hidden_states). - pooled_projection_dim (
int, par défaut768) — Le nombre de dimensions à utiliser pour la projection agrégée. - guidance_embeds (
bool, par défautTrue) — 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
< source >( 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.Tensorde forme(batch_size, image_sequence_length, in_channels)) —hidden_statesd'entrée. - encoder_hidden_states (
torch.Tensorde 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'AttentionProcessordéfini sousself.processordans diffusers.models.attention_processor. - return_dict (
bool, facultatif, par défautTrue) — Indique s'il faut retourner un~models.transformer_2d.Transformer2DModelOutputplutôt qu'un simple tuple. - kv_cache (
Flux2KVCache, facultatif) — Cache KV pour les jetons de l’image de référence. Lorsquekv_cache_modeest « 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). LorsqueNone, passe avant standard sans mise en cache des KV. - num_ref_tokens (
int, par défaut0) — Nombre de jetons d'image de référence ajoutés en préfixe àhidden_states(utilisé uniquement lorsquekv_cache_mode="extract"). - ref_fixed_timestep (
float, par défaut0.0) — Pas de temps fixe pour la modulation des jetons de référence (utilisé uniquement lorsquekv_cache_mode="extract").
La méthode forward du Flux2Transformer2DModel.
Flux2Transformer2DModelOutput
classe diffusers.models.transformers.transformer_flux2.Flux2Transformer2DModelOutput
< source >( sample: torch.Tensorkv_cache: Flux2KVCache | None = None )
Paramètres
La sortie de Flux2Transformer2DModel.