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

Um modelo Transformer para dados semelhantes a imagens do 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 )

Parâmetros

  • patch_size (int, padrão 1) — Tamanho do patch para dividir os dados de entrada em pequenos patches.
  • in_channels (int, padrão 128) — O número de canais na entrada.
  • out_channels (int, opcional, padrão None) — O número de canais na saída. Se não for especificado, o padrão é in_channels.
  • num_layers (int, padrão 8) — O número de blocos DiT de fluxo duplo a serem usados.
  • num_single_layers (int, padrão 48) — O número de blocos DiT de fluxo único a serem usados.
  • attention_head_dim (int, padrão 128) — O número de dimensões a serem usadas para cada cabeça de atenção.
  • num_attention_heads (int, padrão 48) — O número de cabeças de atenção a serem usadas.
  • joint_attention_dim (int, padrão 15360) — O número de dimensões a serem usadas para a atenção conjunta (dimensão de incorporação/canal de encoder_hidden_states).
  • pooled_projection_dim (int, padrão 768) — O número de dimensões a serem usadas para a projeção agregada.
  • guidance_embeds (bool, padrão True) — Se deve usar embeddings de orientação para a variante destilada por orientação do modelo.
  • axes_dims_rope (tuple[int], padrão (32, 32, 32, 32)) — As dimensões a serem usadas para os embeddings posicionais rotativos.

O modelo Transformer introduzido no Flux 2.

Referência: 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 )

Parâmetros

  • hidden_states (torch.Tensor de forma (batch_size, image_sequence_length, in_channels)) — hidden_states de entrada.
  • encoder_hidden_states (torch.Tensor de forma (batch_size, text_sequence_length, joint_attention_dim)) — Incorporações condicionais (incorporações calculadas a partir das condições de entrada, como prompts) a serem usadas.
  • timestep (torch.LongTensor) — Usado para indicar o passo de desruido.
  • img_ids (torch.Tensor) — ids de posição de imagem usados para calcular os embeddings posicionais rotativos.
  • txt_ids (torch.Tensor) — Ids de posição de texto usados para calcular os embeddings posicionais rotativos.
  • guidance (torch.Tensor, opcional) — Embedding de escala de orientação usado para variantes destiladas por orientação do modelo.
  • joint_attention_kwargs (dict, opcional) — Um dicionário de kwargs que, se especificado, é passado ao AttentionProcessor conforme definido em self.processor em diffusers.models.attention_processor.
  • return_dict (bool, opcional, padrão True) — Se deve ou não retornar um ~models.transformer_2d.Transformer2DModelOutput em vez de uma tupla simples.
  • kv_cache (Flux2KVCache, opcional) — Cache de KV para tokens de imagem de referência. Quando kv_cache_mode é “extract”, um novo cache é criado e retornado. Quando “cached”, o cache fornecido é usado para injetar K/V de referência durante a atenção.
  • kv_cache_mode (str, opcional) — Um de “extract” (primeira etapa com tokens de referência) ou “cached” (etapas subsequentes usando K/V de referência em cache). Quando None, passagem de frente padrão sem cache de KV.
  • num_ref_tokens (int, padrão 0) — Número de tokens de imagem de referência adicionados antes de hidden_states (usado apenas quando kv_cache_mode="extract").
  • ref_fixed_timestep (float, padrão 0.0) — Passo de tempo fixo para modulação de tokens de referência (usado apenas quando kv_cache_mode="extract").

O método forward do Flux2Transformer2DModel.

Flux2Transformer2DModelOutput

classe diffusers.models.transformers.transformer_flux2.Flux2Transformer2DModelOutput

< >

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

Parâmetros

  • sample (torch.Tensor de forma (batch_size, num_channels, height, width)) — A saída dos estados ocultos condicionada à entrada encoder_hidden_states.
  • kv_cache (Flux2KVCache, opcional) — O cache KV preenchido para os tokens da imagem de referência. Retornado apenas quando kv_cache_mode="extract".

A saída de Flux2Transformer2DModel.

Update on GitHub