Buckets:
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[[diffusers.WanAnimateTransformer3DModel]]
diffusers.WanAnimateTransformer3DModel[[diffusers.WanAnimateTransformer3DModel]]
diffusers.WanAnimateTransformer3DModel(patch_size: tuple[int] = (1, 2, 2), num_attention_heads: int = 40, attention_head_dim: int = 128, in_channels: int | None = 36, latent_channels: int | None = 16, out_channels: int | None = 16, text_dim: int = 4096, freq_dim: int = 256, ffn_dim: int = 13824, num_layers: int = 40, cross_attn_norm: bool = True, qk_norm: str | None = 'rms_norm_across_heads', eps: float = 1e-06, image_dim: int | None = 1280, added_kv_proj_dim: int | None = None, rope_max_seq_len: int = 1024, pos_embed_seq_len: int | None = None, motion_encoder_channel_sizes: dict[str, int] | None = None, motion_encoder_size: int = 512, motion_style_dim: int = 512, motion_dim: int = 20, motion_encoder_dim: int = 512, face_encoder_hidden_dim: int = 1024, face_encoder_num_heads: int = 4, inject_face_latents_blocks: int = 5, motion_encoder_batch_size: int = 8)
Parámetros:
patch_size (tuple[int], por defecto (1, 2, 2)) : dimensiones de 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 incorporaciones 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 consulta/clave.
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 la 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[[diffusers.WanAnimateTransformer3DModel.forward]]
forward(hidden_states: Tensor, timestep: LongTensor, encoder_hidden_states: Tensor, encoder_hidden_states_image: typing.Optional[torch.Tensor] = None, pose_hidden_states: typing.Optional[torch.Tensor] = None, face_pixel_values: typing.Optional[torch.Tensor] = None, motion_encode_batch_size: int | None = None, return_dict: bool = True, attention_kwargs: dict[str, typing.Any] | None = None)
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 temporal actual en el bucle de desruido.
encoder_hidden_states (torch.Tensor) : Embeddings 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 facial en espacio de píxeles (no en espacio latente). Típicamente C' = 3 y H' y W' son la altura/ancho del video facial 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 del lote para la codificación por lotes del video facial mediante el codificador de movimiento. Si no se establece, el valor predeterminado será self.config.motion_encoder_batch_size.
return_dict (bool, opcional, por defecto 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 tal como se define bajo self.processor en 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[[diffusers.models.modeling_outputs.Transformer2DModelOutput]]
diffusers.models.modeling_outputs.Transformer2DModelOutput[[diffusers.models.modeling_outputs.Transformer2DModelOutput]]
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): las salidas de estados ocultos condicionadas a la entrada encoder_hidden_states. Si es discreto, devuelve distribuciones de probabilidad para los píxeles latentes sin ruido.
La salida de Transformer2DModel.
Xet Storage Details
- Size:
- 7.08 kB
- Xet hash:
- e16286dd3ef0c70fe9461c0706cf332b21fb31b340f1af56886071052540bbba
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.