Diffusers documentation

PAN2Transformer3DModel

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

PAN2Transformer3DModel

Le diffusion transformer de PAN 2. Il exécute une attention conjointe sur les jetons vidéo et les jetons texte, avec des projections et des réseaux feed-forward distincts pour chaque flux.

L'entrée vidéo empile les latents bruités, les latents de conditionnement et un masque de conditionnement à un canal, de sorte que le même modèle sert à la fois pour la génération de vidéo à partir de texte et pour la génération de vidéo à partir d'image.

import torch
from diffusers import PAN2Transformer3DModel

transformer = PAN2Transformer3DModel.from_pretrained("IFM/PAN2", subfolder="transformer", dtype=torch.bfloat16)

PAN2Transformer3DModel

classe diffusers.PAN2Transformer3DModel

< >

( patch_size: tuple[int, int, int] = (1, 2, 2)in_channels: int = 97out_channels: int = 48num_attention_heads: int = 32attention_head_dim: int = 128num_layers: int = 44num_refiner_layers: int = 4mlp_ratio: float = 8.0context_mlp_ratio: float = 4.0refiner_mlp_ratio: float = 4.0text_embed_dim: int = 4096rope_axes_dim: tuple[int, int, int] = (16, 56, 56)rope_theta: float = 256.0rope_temporal_scale: float = 0.6666666666666666 )

Paramètres

  • patch_size (tuple[int, int, int], par défaut (1, 2, 2)) — La taille de patch (t, h, w) de l’incorporation de patch.
  • in_channels (int, par défaut 97) — Le nombre de canaux d’entrée : latents bruités, latents de conditionnement et un canal de masque de conditionnement.
  • out_channels (int, par défaut 48) — Le nombre de canaux de sortie.
  • num_attention_heads (int, par défaut 32) — Le nombre de têtes d'attention.
  • attention_head_dim (int, par défaut 128) — Le nombre de canaux dans chaque tête d'attention.
  • num_layers (int, par défaut 44) — Le nombre de blocs d'attention conjointe.
  • num_refiner_layers (int, par défaut 4) — Le nombre de blocs de raffinement de jetons appliqués aux embeddings de texte.
  • mlp_ratio (float, par défaut 8.0) — Le ratio de la dimension interne du réseau de propagation avant de la vidéo par rapport à la dimension cachée.
  • context_mlp_ratio (float, par défaut 4.0) — Le ratio de la dimension interne du réseau de propagation avant du texte par rapport à la dimension cachée.
  • refiner_mlp_ratio (float, par défaut 4.0) — Le ratio entre la dimension interne du réseau de propagation avant du raffineur de jetons et la dimension cachée.
  • text_embed_dim (int, par défaut 4096) — La dimension des états cachés de l'encodeur de texte.
  • rope_axes_dim (tuple[int, int, int], par défaut (16, 56, 56)) — Le nombre de canaux de chaque axe (t, h, w) dans l'incorporation rotative.
  • rope_theta (float, par défaut 256.0) — La base de l'incorporation rotative.
  • rope_temporal_scale (float, par défaut 16 / 24) — Le facteur par lequel les positions des images de l'incorporation rotative sont multipliées : le taux d'images de référence de l'incorporation rotative par rapport au taux d'images des vidéos (16 sur 24 i/s).

Le diffusion transformer de PAN 2.

Une pile de blocs d'attention conjointe sur la concaténation des latents vidéo patchifiés et des jetons de texte affinés. L'entrée vidéo porte les latents bruités, les latents de conditionnement et un masque de conditionnement empilés le long de l'axe des canaux, de sorte que le même modèle sert à la fois pour la génération de vidéo à partir de texte et pour la génération de vidéo à partir d'image.

forward

< >

( hidden_states: Tensortimestep: Tensorencoder_hidden_states: Tensorattention_kwargs: dict[str, typing.Any] | None = Nonereturn_dict: bool = True ) → Transformer2DModelOutput or tuple

Paramètres

  • hidden_states (torch.Tensor de forme (batch_size, in_channels, num_frames, height, width)) — Les latents bruités, les latents de conditionnement et le masque de conditionnement, concaténés le long des canaux.
  • timestep (torch.Tensor de forme (batch_size,)) — Le pas de débruitage dans [0, 1000].
  • encoder_hidden_states (torch.Tensor de forme (batch_size, text_seq_len, text_embed_dim)) — Les états cachés de l'encodeur de texte.
  • attention_kwargs (dict, facultatif) — Dictionnaire de kwargs transmis à AttentionProcessor ; utilisé uniquement pour l'échelle LoRA.
  • return_dict (bool, facultatif, par défaut True) — Indique s'il faut retourner un Transformer2DModelOutput plutôt qu'un simple tuplet.

Retourne

Transformer2DModelOutput ou tuple

La vitesse prédite de forme (batch_size, out_channels, num_frames, height, width).

La méthode forward du PAN2Transformer3DModel.

Update on GitHub