Diffusers documentation

MochiTransformer3DModel

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

MochiTransformer3DModel

Un modèle Diffusion Transformer pour des données vidéo 3D a été introduit dans Mochi-1 Preview par Genmo.

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

from diffusers import MochiTransformer3DModel

transformer = MochiTransformer3DModel.from_pretrained("genmo/mochi-1-preview", subfolder="transformer", dtype=torch.float16).to("cuda")  # or "mps", "xpu", "cpu"

MochiTransformer3DModel

classe diffusers.MochiTransformer3DModel

< >

( patch_size: int = 2num_attention_heads: int = 24attention_head_dim: int = 128num_layers: int = 48pooled_projection_dim: int = 1536in_channels: int = 12out_channels: int | None = Noneqk_norm: str = 'rms_norm'text_embed_dim: int = 4096time_embed_dim: int = 256activation_fn: str = 'swiglu'max_sequence_length: int = 256 )

Paramètres

  • patch_size (int, par défaut 2) — La taille des patches à utiliser dans la couche d'embedding de patches.
  • num_attention_heads (int, par défaut 24) — Le nombre de têtes à utiliser pour l'attention multi-têtes.
  • attention_head_dim (int, par défaut 128) — Le nombre de canaux dans chaque tête.
  • num_layers (int, par défaut 48) — Le nombre de blocs Transformer à utiliser.
  • in_channels (int, par défaut 12) — Le nombre de canaux dans l'entrée.
  • out_channels (int, facultatif, par défaut None) — Le nombre de canaux dans la sortie.
  • qk_norm (str, par défaut "rms_norm") — La couche de normalisation à utiliser.
  • text_embed_dim (int, par défaut 4096) — Dimension d'entrée des embeddings de texte issus de l'encodeur de texte.
  • time_embed_dim (int, par défaut 256) — Dimension de sortie des embeddings de pas de temps.
  • activation_fn (str, par défaut "swiglu") — Fonction d'activation à utiliser dans le réseau de neurones à propagation avant.
  • max_sequence_length (int, par défaut 256) — La longueur de séquence maximale des embeddings de texte prise en charge.

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

forward

< >

( hidden_states: Tensorencoder_hidden_states: Tensortimestep: LongTensorencoder_attention_mask: Tensorattention_kwargs: dict[str, typing.Any] | None = Nonereturn_dict: bool = True ) → torch.Tensor

Paramètres

  • hidden_states (torch.Tensor de forme (batch_size, num_channels, num_frames, height, width)) — hidden_states d'entrée.
  • encoder_hidden_states (torch.Tensor de forme (batch_size, sequence_len, embed_dims)) — Embeddings conditionnels (embeddings calculés à partir des conditions d’entrée telles que les prompts) à utiliser.
  • timestep (torch.LongTensor) — Utilisé pour indiquer l'étape de débruitage.
  • encoder_attention_mask (torch.Tensor) — Masque appliqué à encoder_hidden_states lors de l'attention.
  • 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.
  • return_dict (bool, facultatif, par défaut True) — Indique s'il faut retourner un ~models.transformer_2d.Transformer2DModelOutput plutôt qu'un simple tuple.

Retourne

torch.Tensor

Le tenseur de sortie débruité de forme (batch_size, out_channels, num_frames, height, width).

La méthode forward du MochiTransformer3DModel.

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