Diffusers documentation

WanAnimateTransformer3DModel

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

WanAnimateTransformer3DModel

Un modelo Diffusion Transformer para datos de video 3D fue introducido en Wan Animate por el equipo Alibaba Wan.

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

from diffusers import WanAnimateTransformer3DModel

transformer = WanAnimateTransformer3DModel.from_pretrained("Wan-AI/Wan2.2-Animate-14B-Diffusers", subfolder="transformer", dtype=torch.bfloat16)

WanAnimateTransformer3DModel

clase diffusers.WanAnimateTransformer3DModel

< >

( patch_size: tuple[int] = (1, 2, 2)num_attention_heads: int = 40attention_head_dim: int = 128in_channels: int | None = 36latent_channels: int | None = 16out_channels: int | None = 16text_dim: int = 4096freq_dim: int = 256ffn_dim: int = 13824num_layers: int = 40cross_attn_norm: bool = Trueqk_norm: str | None = 'rms_norm_across_heads'eps: float = 1e-06image_dim: int | None = 1280added_kv_proj_dim: int | None = Nonerope_max_seq_len: int = 1024pos_embed_seq_len: int | None = Nonemotion_encoder_channel_sizes: dict[str, int] | None = Nonemotion_encoder_size: int = 512motion_style_dim: int = 512motion_dim: int = 20motion_encoder_dim: int = 512face_encoder_hidden_dim: int = 1024face_encoder_num_heads: int = 4inject_face_latents_blocks: int = 5motion_encoder_batch_size: int = 8 )

Parámetros

  • patch_size (tuple[int], por defecto (1, 2, 2)) — Dimensiones del parche 3D para la incrustación de video (t_patch, h_patch, w_patch).
  • num_attention_heads (int, por defecto 40) — Longitud fija para las incrustaciones de texto.
  • attention_head_dim (int, por defecto 128) — El número de canales en cada cabeza.
  • 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.
  • text_dim (int, por defecto 512) — Dimensión de entrada para las incrustaciones de texto.
  • freq_dim (int, por defecto 256) — Dimensión para las incrustaciones sinusoidales de tiempo.
  • ffn_dim (int, por defecto 13824) — Dimensión intermedia en la red feed-forward.
  • num_layers (int, por defecto 40) — El número de capas de bloques de transformador a utilizar.
  • window_size (tuple[int], por defecto (-1, -1)) — Tamaño de la ventana para la atención local (-1 indica atención global).
  • cross_attn_norm (bool, por defecto True) — Habilita la normalización de atención cruzada.
  • qk_norm (bool, por defecto True) — Habilita la normalización de query/key.
  • eps (float, por defecto 1e-6) — Valor de epsilon para las capas de normalización.
  • image_dim (int, opcional, valor predeterminado 1280) — El número de canales a utilizar para la incrustación de imagen. Si es None, no se utiliza ninguna proyección.
  • added_kv_proj_dim (int, opcional, valor predeterminado 5120) — El número de canales a utilizar para las proyecciones de clave y valor añadidas. Si es None, no se utiliza ninguna proyección.

Un modelo Transformer para datos similares a video utilizado en el modelo WanAnimate.

forward

< >

( hidden_states: Tensortimestep: LongTensorencoder_hidden_states: Tensorencoder_hidden_states_image: typing.Optional[torch.Tensor] = Nonepose_hidden_states: typing.Optional[torch.Tensor] = Noneface_pixel_values: typing.Optional[torch.Tensor] = Nonemotion_encode_batch_size: int | None = Nonereturn_dict: bool = Trueattention_kwargs: dict[str, typing.Any] | None = None ) → ~models.transformer_2d.Transformer2DModelOutput or tuple

Parámetros

  • hidden_states (torch.Tensor de forma (B, 2C + 4, T + 1, H, W)) — Latentes de video con ruido de entrada de forma (B, 2C + 4, T + 1, H, W), donde B es el tamaño del lote, C es el número de canales latentes (16 para Wan VAE), T es el número de fotogramas latentes en un segmento de inferencia, H es la altura latente y W es el ancho latente.
  • timestep — (torch.LongTensor): El paso de tiempo actual en el bucle de desruido.
  • encoder_hidden_states (torch.Tensor) — Incrustaciones de texto del codificador de texto (umT5 para Wan Animate).
  • encoder_hidden_states_image (torch.Tensor) — Características visuales de CLIP de la imagen de referencia (personaje).
  • pose_hidden_states (torch.Tensor de forma (B, C, T, H, W)) — Latentes de video de pose. TODO: descripción
  • face_pixel_values (torch.Tensor de forma (B, C', S, H', W')) — Video de rostro en espacio de píxeles (no en espacio latente). Típicamente C’ = 3 y H’ y W’ son la altura/ancho del video de rostro en píxeles. Aquí S es la longitud del segmento de inferencia, generalmente fijada en 77.
  • motion_encode_batch_size (int, opcional) — El tamaño de lote para la codificación por lotes del video facial a través del codificador de movimiento. Si no se establece, el valor predeterminado será self.config.motion_encoder_batch_size.
  • return_dict (bool, opcional, valor predeterminado True) — Si se devuelve la salida como un diccionario o una tupla.
  • 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.

Devuelve

~models.transformer_2d.Transformer2DModelOutput o tuple

Si return_dict es True, se devuelve un ~models.transformer_2d.Transformer2DModelOutput cuyo sample es el latente del video desruidado; de lo contrario, se devuelve una tuple simple cuyo primer elemento es ese tensor.

Paso hacia adelante del modelo transformer Wan2.2-Animate.

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