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

Um modelo Diffusion Transformer para dados de vídeo 3D foi introduzido em Mochi-1 Preview pela Genmo.

O modelo pode ser carregado com o seguinte trecho de código.

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 )

Parâmetros

  • patch_size (int, padrão 2) — O tamanho dos patches a serem usados na camada de incorporação de patches.
  • num_attention_heads (int, padrão 24) — O número de cabeças a serem usadas para a atenção multi-cabeça.
  • attention_head_dim (int, padrão 128) — O número de canais em cada head.
  • num_layers (int, padrão 48) — O número de blocos de camadas de Transformer a serem usados.
  • in_channels (int, padrão 12) — O número de canais na entrada.
  • out_channels (int, opcional, padrão None) — O número de canais na saída.
  • qk_norm (str, padrão "rms_norm") — A camada de normalização a ser usada.
  • text_embed_dim (int, padrão 4096) — Dimensão de entrada dos embeddings de texto do codificador de texto.
  • time_embed_dim (int, padrão 256) — Dimensão de saída dos embeddings de timestep.
  • activation_fn (str, padrão "swiglu") — Função de ativação a ser usada no feed-forward.
  • max_sequence_length (int, padrão 256) — O comprimento máximo de sequência suportado para embeddings de texto.

Um modelo Transformer para dados semelhantes a vídeo introduzido em Mochi.

forward

< >

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

Parâmetros

  • hidden_states (torch.Tensor de forma (batch_size, num_channels, num_frames, height, width)) — hidden_states de entrada.
  • encoder_hidden_states (torch.Tensor de forma (batch_size, sequence_len, embed_dims)) — Incorporações condicionais (incorporações calculadas a partir das condições de entrada, como prompts) a serem usadas.
  • timestep (torch.LongTensor) — Usado para indicar o passo de desruido.
  • encoder_attention_mask (torch.Tensor) — Máscara aplicada a encoder_hidden_states durante a atenção.
  • attention_kwargs (dict, opcional) — Um dicionário de kwargs que, se especificado, é passado ao AttentionProcessor conforme definido em self.processor em diffusers.models.attention_processor.
  • return_dict (bool, opcional, padrão True) — Se deve ou não retornar um ~models.transformer_2d.Transformer2DModelOutput em vez de uma tupla simples.

Retorna

torch.Tensor

O tensor de saída dessonificado com forma (batch_size, out_channels, num_frames, height, width).

O método forward do MochiTransformer3DModel.

Transformer2DModelOutput

classe diffusers.models.modeling_outputs.Transformer2DModelOutput

< >

( sample: torch.Tensor )

Parâmetros

  • sample (torch.Tensor de forma (batch_size, num_channels, height, width) ou (batch size, num_vector_embeds - 1, num_latent_pixels) se Transformer2DModel for discreto) — A saída dos estados ocultos condicionada à entrada encoder_hidden_states. Se discreto, retorna distribuições de probabilidade para os pixels latentes sem ruído.

A saída de Transformer2DModel.

Update on GitHub