Diffusers documentation

WanAnimateTransformer3DModel

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

WanAnimateTransformer3DModel

Un modèle Diffusion Transformer pour des données vidéo 3D a été introduit dans Wan Animate par l'équipe Alibaba Wan.

Le modèle peut être chargé à l'aide du fragment de code suivant.

from diffusers import WanAnimateTransformer3DModel

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

WanAnimateTransformer3DModel

classe diffusers.WanAnimateTransformer3DModel

< >

( patch_size: tuple = (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 )

Paramètres

  • patch_size (tuple[int], par défaut (1, 2, 2)) — Dimensions des patches 3D pour l'encodage vidéo (t_patch, h_patch, w_patch).
  • num_attention_heads (int, par défaut 40) — Longueur fixe pour les embeddings de texte.
  • attention_head_dim (int, par défaut 128) — Le nombre de canaux dans chaque tête.
  • in_channels (int, par défaut 16) — Le nombre de canaux dans l'entrée.
  • out_channels (int, par défaut 16) — Le nombre de canaux dans la sortie.
  • text_dim (int, par défaut 512) — Dimension d'entrée pour les embeddings de texte.
  • freq_dim (int, par défaut 256) — Dimension pour les embeddings temporels sinusoïdaux.
  • ffn_dim (int, par défaut 13824) — Dimension intermédiaire du réseau de propagation avant.
  • num_layers (int, par défaut 40) — Le nombre de blocs de transformeurs à utiliser.
  • window_size (tuple[int], par défaut (-1, -1)) — Taille de la fenêtre pour l'attention locale (-1 indique une attention globale).
  • cross_attn_norm (bool, par défaut True) — Active la normalisation de l'attention croisée.
  • qk_norm (bool, par défaut True) — Active la normalisation des requêtes/clés.
  • eps (float, par défaut 1e-6) — Valeur de l'épsilon pour les couches de normalisation.
  • image_dim (int, facultatif, par défaut 1280) — Le nombre de canaux à utiliser pour l'intégration d'image. Si None, aucune projection n'est utilisée.
  • added_kv_proj_dim (int, facultatif, par défaut 5120) — Le nombre de canaux à utiliser pour les projections clés et valeurs ajoutées. Si None, aucune projection n’est utilisée.

Un modèle Transformer pour des données de type vidéo utilisé dans le modèle 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

Paramètres

  • hidden_states (torch.Tensor de forme (B, 2C + 4, T + 1, H, W)) — Latents vidéo bruités en entrée de forme (B, 2C + 4, T + 1, H, W), où B est la taille du lot, C est le nombre de canaux latents (16 pour Wan VAE), T est le nombre de trames latentes dans un segment d’inférence, H est la hauteur latente et W est la largeur latente.
  • timestep — (torch.LongTensor) : L'étape temporelle actuelle dans la boucle de débruitage.
  • encoder_hidden_states (torch.Tensor) — Embeddings de texte issus de l'encodeur de texte (umT5 pour Wan Animate).
  • encoder_hidden_states_image (torch.Tensor) — Caractéristiques visuelles CLIP de l’image de référence (personnage).
  • pose_hidden_states (torch.Tensor de forme (B, C, T, H, W)) — Latents vidéo de pose. TODO : description
  • face_pixel_values (torch.Tensor de forme (B, C', S, H', W')) — Vidéo du visage dans l’espace des pixels (et non dans l’espace latent). En général, C’ = 3 et H’ et W’ correspondent à la hauteur/largeur de la vidéo du visage en pixels. Ici, S est la longueur du segment d’inférence, généralement fixée à 77.
  • motion_encode_batch_size (int, facultatif) — Taille du lot pour l'encodage par lots de la vidéo du visage via l'encodeur de mouvement. Par défaut, la valeur est self.config.motion_encoder_batch_size si elle n'est pas définie.
  • return_dict (bool, facultatif, par défaut True) — Indique s'il faut renvoyer la sortie sous forme de dictionnaire ou de tuple.
  • attention_kwargs (dict, facultatif) — Un dictionnaire de kwargs qui, s'il est spécifié, est transmis à l'AttentionProcessor défini sous self.processor dans diffusers.models.attention_processor.

Retourne

~models.transformer_2d.Transformer2DModelOutput ou tuple

Si return_dict est True, un ~models.transformer_2d.Transformer2DModelOutput dont le sample est le latent vidéo débruité est renvoyé, sinon un simple tuple dont le premier élément est ce tenseur est renvoyé.

Passage avant du modèle transformer Wan2.2-Animate.

Transformer2DModelOutput

classe diffusers.models.modeling_outputs.Transformer2DModelOutput

< >

( sample: torch.Tensor )

Paramètres

  • sample (torch.Tensor de forme (batch_size, num_channels, height, width) ou (batch size, num_vector_embeds - 1, num_latent_pixels) si Transformer2DModel est discret) — Les états cachés en sortie, conditionnés par l'entrée encoder_hidden_states. Si discret, renvoie les distributions de probabilité pour les pixels latents non bruités.

La sortie de Transformer2DModel.

Update on GitHub