Diffusers documentation

FluxTransformer2DModel

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

FluxTransformer2DModel

Un modelo Transformer para datos similares a imágenes de Flux.

FluxTransformer2DModel

clase diffusers.FluxTransformer2DModel

< >

( patch_size: int = 1in_channels: int = 64out_channels: int | None = Nonenum_layers: int = 19num_single_layers: int = 38attention_head_dim: int = 128num_attention_heads: int = 24joint_attention_dim: int = 4096pooled_projection_dim: int = 768guidance_embeds: bool = Falseaxes_dims_rope: tuple = (16, 56, 56) )

Parámetros

  • patch_size (int, por defecto 1) — Tamaño del parche para dividir los datos de entrada en parches pequeños.
  • in_channels (int, por defecto 64) — El número de canales en la entrada.
  • out_channels (int, opcional, valor predeterminado None) — El número de canales en la salida. Si no se especifica, el valor predeterminado es in_channels.
  • num_layers (int, por defecto 19) — El número de capas de bloques DiT de doble flujo a utilizar.
  • num_single_layers (int, por defecto 38) — El número de capas de bloques DiT de un solo flujo a utilizar.
  • attention_head_dim (int, por defecto 128) — El número de dimensiones a utilizar para cada cabeza de atención.
  • num_attention_heads (int, por defecto 24) — El número de cabezas de atención a utilizar.
  • joint_attention_dim (int, por defecto 4096) — El número de dimensiones a utilizar para la atención conjunta (dimensión de embedding/canal de encoder_hidden_states).
  • pooled_projection_dim (int, por defecto 768) — El número de dimensiones a utilizar para la proyección agrupada.
  • guidance_embeds (bool, por defecto False) — Si se deben usar embeddings de guía para la variante destilada con guía del modelo.
  • axes_dims_rope (tuple[int], por defecto (16, 56, 56)) — Las dimensiones a utilizar para los embeddings posicionales rotatorios.

El modelo Transformer introducido en Flux.

Referencia: https://blackforestlabs.ai/announcing-black-forest-labs/

forward

< >

( hidden_states: Tensorencoder_hidden_states: Tensor = Nonepooled_projections: Tensor = Nonetimestep: LongTensor = Noneimg_ids: Tensor = Nonetxt_ids: Tensor = Noneguidance: Tensor = Nonejoint_attention_kwargs: dict[str, typing.Any] | None = Nonecontrolnet_block_samples = Nonecontrolnet_single_block_samples = Nonereturn_dict: bool = Truecontrolnet_blocks_repeat: bool = False )

Parámetros

  • hidden_states (torch.Tensor de forma (batch_size, image_sequence_length, in_channels)) — Estados ocultos de entrada hidden_states.
  • encoder_hidden_states (torch.Tensor de forma (batch_size, text_sequence_length, joint_attention_dim)) — Incrustaciones condicionales (incrustaciones calculadas a partir de las condiciones de entrada, como los prompts) que se deben utilizar.
  • pooled_projections (torch.Tensor de forma (batch_size, projection_dim)) — Proyecciones de los embeddings de las condiciones de entrada.
  • timestep ( torch.LongTensor) — Se utiliza para indicar el paso de desruido.
  • img_ids (torch.Tensor) — ids de posición de imagen utilizados para calcular los embeddings posicionales rotatorios.
  • txt_ids (torch.Tensor) — ids de posición de texto utilizados para calcular los embeddings posicionales rotatorios.
  • guidance (torch.Tensor, opcional) — Incrustación de escala de orientación utilizada para las variantes destiladas por orientación del modelo.
  • controlnet_block_samples (list de torch.Tensor, opcional) — Una lista de tensores que, si se especifica, se añaden a los residuos de los bloques del transformer.
  • controlnet_single_block_samples (list de torch.Tensor, opcional) — Una lista de tensores que, si se especifica, se añaden a los residuos de los bloques de transformador individuales.
  • controlnet_blocks_repeat (bool, opcional, valor predeterminado False) — Si se deben repetir las muestras del bloque de controlnet en todos los bloques del transformer.
  • joint_attention_kwargs (dict, opcional) — Un diccionario de kwargs que, si se especifica, se pasa al AttentionProcessor definido en self.processor dentro de diffusers.models.attention_processor.
  • return_dict (bool, opcional, valor predeterminado True) — Indica si se debe devolver un ~models.transformer_2d.Transformer2DModelOutput en lugar de una tupla simple.

El método forward de FluxTransformer2DModel.

Update on GitHub