Diffusers documentation

HunyuanImageTransformer2DModel

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

HunyuanImageTransformer2DModel

Un modelo Diffusion Transformer para HunyuanImage2.1.

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

from diffusers import HunyuanImageTransformer2DModel

transformer = HunyuanImageTransformer2DModel.from_pretrained("hunyuanvideo-community/HunyuanImage-2.1-Diffusers", subfolder="transformer", dtype=torch.bfloat16)

HunyuanImageTransformer2DModel

clase diffusers.HunyuanImageTransformer2DModel

< >

( in_channels: int = 64out_channels: int = 64num_attention_heads: int = 28attention_head_dim: int = 128num_layers: int = 20num_single_layers: int = 40num_refiner_layers: int = 2mlp_ratio: float = 4.0patch_size: tuple[int, int] = (1, 1)qk_norm: str = 'rms_norm'guidance_embeds: bool = Falsetext_embed_dim: int = 3584text_embed_2_dim: int | None = Nonerope_theta: float = 256.0rope_axes_dim: tuple[int, ...] = (64, 64)use_meanflow: bool = False )

Parámetros

  • in_channels (int, por defecto 16) — El número de canales en la entrada.
  • out_channels (int, por defecto 16) — El número de canales en la salida.
  • num_attention_heads (int, por defecto 24) — El número de cabezas a utilizar para la atención multi-cabeza.
  • attention_head_dim (int, por defecto 128) — El número de canales en cada cabeza.
  • num_layers (int, por defecto 20) — El número de capas de bloques de doble flujo a utilizar.
  • num_single_layers (int, por defecto 40) — El número de capas de bloques de un solo flujo a utilizar.
  • num_refiner_layers (int, por defecto 2) — El número de capas de bloques refiner a utilizar.
  • mlp_ratio (float, por defecto 4.0) — La proporción entre el tamaño de la capa oculta y el tamaño de la entrada en la red feedforward.
  • patch_size (int, por defecto 2) — El tamaño de los parches espaciales que se usarán en la capa de incrustación de parches.
  • patch_size_t (int, por defecto 1) — El tamaño de los parches temporales que se usarán en la capa de incrustación de parches.
  • qk_norm (str, por defecto rms_norm) — La normalización que se utilizará para las proyecciones de consulta y clave en las capas de atención.
  • guidance_embeds (bool, por defecto True) — Si se deben usar embeddings de guía en el modelo.
  • text_embed_dim (int, por defecto 4096) — Dimensión de entrada de las incrustaciones de texto del codificador de texto.
  • pooled_projection_dim (int, por defecto 768) — La dimensión de la proyección agrupada de las incrustaciones de texto.
  • rope_theta (float, por defecto 256.0) — El valor de theta que se utilizará en la capa RoPE.
  • rope_axes_dim (tuple[int], por defecto (16, 56, 56)) — Las dimensiones de los ejes a utilizar en la capa RoPE.
  • image_condition_type (str, opcional, valor predeterminado None) — El tipo de condicionamiento de imagen a utilizar. Si es None, no se utiliza condicionamiento de imagen. Si es latent_concat, la imagen se concatena al flujo latente. Si es token_replace, la imagen se utiliza para reemplazar los tokens del primer fotograma en el flujo latente y aplicar el condicionamiento.

El modelo Transformer utilizado en HunyuanImage-2.1.

forward

< >

( hidden_states: Tensortimestep: LongTensorencoder_hidden_states: Tensorencoder_attention_mask: Tensortimestep_r: typing.Optional[torch.LongTensor] = Noneencoder_hidden_states_2: typing.Optional[torch.Tensor] = Noneencoder_attention_mask_2: typing.Optional[torch.Tensor] = Noneguidance: typing.Optional[torch.Tensor] = Noneattention_kwargs: dict[str, typing.Any] | None = Nonereturn_dict: bool = True )

Parámetros

  • hidden_states (torch.Tensor de forma (batch_size, num_channels, height, width) o (batch_size, num_channels, num_frames, height, width)) — Entrada hidden_states.
  • timestep (torch.LongTensor) — Se utiliza para indicar el paso de desruido.
  • encoder_hidden_states (torch.Tensor de forma (batch_size, sequence_len, embed_dims)) — Incrustaciones condicionales (incrustaciones calculadas a partir de las condiciones de entrada, como los prompts) que se deben utilizar.
  • encoder_attention_mask (torch.Tensor) — Máscara aplicada a encoder_hidden_states durante la atención.
  • timestep_r (torch.LongTensor, opcional) — Condicionamiento del paso de tiempo del refinador.
  • encoder_hidden_states_2 (torch.Tensor, opcional) — Incrustaciones condicionales adicionales calculadas a partir de un segundo codificador de texto.
  • encoder_attention_mask_2 (torch.Tensor, opcional) — Máscara aplicada a encoder_hidden_states_2 durante la atención.
  • guidance (torch.Tensor, opcional) — Incrustación de escala de orientación utilizada para las variantes destiladas por orientación del modelo.
  • 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 HunyuanImageTransformer2DModel.

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