Diffusers documentation

QwenImageTransformer2DModel

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

QwenImageTransformer2DModel

El modelo se puede cargar con el siguiente fragmento de código.

from diffusers import QwenImageTransformer2DModel

transformer = QwenImageTransformer2DModel.from_pretrained("Qwen/QwenImage-20B", subfolder="transformer", dtype=torch.bfloat16)

QwenImageTransformer2DModel

clase diffusers.QwenImageTransformer2DModel

< >

( patch_size: int = 2in_channels: int = 64out_channels: int | None = 16num_layers: int = 60attention_head_dim: int = 128num_attention_heads: int = 24joint_attention_dim: int = 3584guidance_embeds: bool = Falseaxes_dims_rope: tuple = (16, 56, 56)zero_cond_t: bool = Falseuse_additional_t_cond: bool = Falseuse_layer3d_rope: bool = False )

Parámetros

  • patch_size (int, por defecto 2) — 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 60) — El número de capas de bloques DiT de doble 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 3584) — El número de dimensiones a utilizar para la atención conjunta (dimensión de embedding/canal de encoder_hidden_states).
  • 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 Qwen.

forward

< >

( hidden_states: Tensorencoder_hidden_states: Tensor = Noneencoder_hidden_states_mask: Tensor = Nonetimestep: LongTensor = Noneimg_shapes: list[tuple[int, int, int]] | None = Noneguidance: Tensor = Noneattention_kwargs: dict[str, typing.Any] | None = Nonecontrolnet_block_samples = Noneadditional_t_cond = Nonereturn_dict: bool = True )

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.
  • encoder_hidden_states_mask (torch.Tensor de forma (batch_size, text_sequence_length), opcional) — Máscara para los estados ocultos del codificador. Se espera que tenga 1.0 para los tokens válidos y 0.0 para los tokens de relleno. Se utiliza en el procesador de atención para evitar prestar atención a los tokens de relleno. La máscara puede tener cualquier patrón (no solo tokens válidos contiguos seguidos de relleno) ya que se aplica elemento a elemento en la atención.
  • timestep ( torch.LongTensor) — Se utiliza para indicar el paso de desruido.
  • img_shapes (list[tuple[int, int, int]], opcional) — Formas de imagen para el cálculo de RoPE.
  • guidance (torch.Tensor, opcional) — Tensor de guía para la generación condicional.
  • 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.
  • controlnet_block_samples (opcional) — Muestras de bloques de ControlNet para añadir a los bloques del transformer.
  • additional_t_cond (torch.Tensor, opcional) — Condicionamiento de paso de tiempo adicional que se añade al incrustado del paso de tiempo.
  • 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 QwenTransformer2DModel.

Transformer2DModelOutput

clase diffusers.models.modeling_outputs.Transformer2DModelOutput

< >

( sample: torch.Tensor )

Parámetros

  • sample (torch.Tensor de forma (batch_size, num_channels, height, width) o (batch size, num_vector_embeds - 1, num_latent_pixels) si Transformer2DModel es discreto) — La salida de estados ocultos condicionada a la entrada encoder_hidden_states. Si es discreto, devuelve distribuciones de probabilidad para los píxeles latentes sin ruido.

La salida de Transformer2DModel.

Update on GitHub