Diffusers documentation

EasyAnimateTransformer3DModel

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

EasyAnimateTransformer3DModel

Un modèle Diffusion Transformer pour des données 3D issu de EasyAnimate a été introduit par Alibaba PAI.

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

from diffusers import EasyAnimateTransformer3DModel

transformer = EasyAnimateTransformer3DModel.from_pretrained("alibaba-pai/EasyAnimateV5.1-12b-zh", subfolder="transformer", dtype=torch.float16).to("cuda")  # or "mps", "xpu", "cpu"

EasyAnimateTransformer3DModel

classe diffusers.EasyAnimateTransformer3DModel

< >

( num_attention_heads: int = 48attention_head_dim: int = 64in_channels: int | None = Noneout_channels: int | None = Nonepatch_size: int | None = Nonesample_width: int = 90sample_height: int = 60activation_fn: str = 'gelu-approximate'timestep_activation_fn: str = 'silu'freq_shift: int = 0num_layers: int = 48mmdit_layers: int = 48dropout: float = 0.0time_embed_dim: int = 512add_norm_text_encoder: bool = Falsetext_embed_dim: int = 3584text_embed_dim_t5: int = Nonenorm_eps: float = 1e-05norm_elementwise_affine: bool = Trueflip_sin_to_cos: bool = Truetime_position_encoding_type: str = '3d_rope'after_norm = Falseresize_inpaint_mask_directly: bool = Trueenable_text_attention_mask: bool = Trueadd_noise_in_inpaint_model: bool = True )

Paramètres

  • num_attention_heads (int, par défaut 48) — Le nombre de têtes à utiliser pour l'attention multi-têtes.
  • attention_head_dim (int, par défaut 64) — 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, facultatif, par défaut 16) — Le nombre de canaux dans la sortie.
  • patch_size (int, par défaut 2) — La taille des patches à utiliser dans la couche d'embedding de patches.
  • sample_width (int, par défaut 90) — La largeur des latents d'entrée.
  • sample_height (int, par défaut 60) — La hauteur des latents d'entrée.
  • activation_fn (str, par défaut "gelu-approximate") — Fonction d'activation à utiliser dans le réseau de neurones à propagation avant.
  • timestep_activation_fn (str, par défaut "silu") — Fonction d'activation à utiliser lors de la génération des embeddings de timestep.
  • num_layers (int, par défaut 30) — Le nombre de blocs Transformer à utiliser.
  • mmdit_layers (int, par défaut 1000) — Le nombre de blocs Multi Modal Transformer à utiliser.
  • dropout (float, par défaut 0.0) — La probabilité de dropout à utiliser.
  • time_embed_dim (int, par défaut 512) — Dimension de sortie des embeddings de pas de temps.
  • text_embed_dim (int, par défaut 4096) — Dimension d'entrée des embeddings de texte issus de l'encodeur de texte.
  • norm_eps (float, par défaut 1e-5) — La valeur epsilon à utiliser dans les couches de normalisation.
  • norm_elementwise_affine (bool, par défaut True) — Indique s'il faut utiliser l'affine élément par élément dans les couches de normalisation.
  • flip_sin_to_cos (bool, par défaut True) — Indique s'il faut inverser le sin en cos dans l'embedding temporel.
  • time_position_encoding_type (str, par défaut 3d_rope) — Type d’encodage de position temporelle.
  • after_norm (bool, par défaut False) — Indique si une normalisation doit être appliquée après.
  • resize_inpaint_mask_directly (bool, par défaut True) — Indique s'il faut redimensionner directement le masque d'inpainting.
  • enable_text_attention_mask (bool, par défaut True) — Indicateur pour activer le masque d'attention du texte.
  • add_noise_in_inpaint_model (bool, par défaut False) — Indicateur pour ajouter du bruit dans le modèle d'inpainting.

Un modèle Transformer pour des données de type vidéo dans EasyAnimate.

forward

< >

( hidden_states: Tensortimestep: Tensortimestep_cond: typing.Optional[torch.Tensor] = Noneencoder_hidden_states: typing.Optional[torch.Tensor] = Noneencoder_hidden_states_t5: typing.Optional[torch.Tensor] = Noneinpaint_latents: typing.Optional[torch.Tensor] = Nonecontrol_latents: typing.Optional[torch.Tensor] = Nonereturn_dict: bool = True )

Paramètres

  • hidden_states (torch.Tensor de forme (batch_size, channels, num_frames, height, width)) — hidden_states d'entrée.
  • timestep (torch.LongTensor) — Utilisé pour indiquer l'étape de débruitage.
  • timestep_cond (torch.Tensor, facultatif) — Embeddings conditionnels pour le timestep. S'ils sont fournis, les embeddings seront additionnés aux échantillons passés à travers la couche self.time_embedding pour obtenir les embeddings finaux de timestep.
  • encoder_hidden_states (torch.Tensor, facultatif) — Embeddings conditionnels (embeddings calculés à partir des conditions d’entrée telles que les prompts) à utiliser.
  • encoder_hidden_states_t5 (torch.Tensor, facultatif) — Embeddings conditionnels supplémentaires calculés à partir d'un encodeur de texte T5.
  • inpaint_latents (torch.Tensor, facultatif) — Latents concaténés à hidden_states pour les variantes d'inpainting du modèle.
  • control_latents (torch.Tensor, facultatif) — Latents concaténés à hidden_states pour les variantes de contrôle du modèle.
  • return_dict (bool, facultatif, par défaut True) — Indique s'il faut retourner un ~models.transformer_2d.Transformer2DModelOutput plutôt qu'un simple tuple.

La méthode forward du EasyAnimateTransformer3DModel.

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