Diffusers documentation

MotifVideoTransformer3DModel

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

MotifVideoTransformer3DModel

Um modelo Diffusion Transformer para dados de vídeo 3D foi introduzido em Motif-Video pela equipe da Motif Technologies.

O modelo utiliza uma arquitetura de três estágios com 12 camadas de decodificador dual-stream + 16 camadas de decodificador single-stream + 8 camadas de decodificador DDT e embeddings posicionais rotativos (RoPE) para geração de vídeo.

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

from diffusers import MotifVideoTransformer3DModel

transformer = MotifVideoTransformer3DModel.from_pretrained("Motif-Technologies/Motif-Video-2B", subfolder="transformer", dtype=torch.bfloat16)

MotifVideoTransformer3DModel

classe diffusers.MotifVideoTransformer3DModel

< >

( in_channels: int = 33out_channels: int = 16num_attention_heads: int = 24attention_head_dim: int = 128num_layers: int = 20num_single_layers: int = 40num_decoder_layers: int = 0mlp_ratio: float = 4.0patch_size: int = 2patch_size_t: int = 1qk_norm: str = 'rms_norm'norm_type: str = 'layer_norm'text_embed_dim: int = 4096image_embed_dim: int | None = Nonerope_theta: float = 256.0rope_axes_dim: typing.Tuple[int, ...] = (16, 56, 56)enable_text_cross_attention_dual: bool = Falseenable_text_cross_attention_single: bool = False )

Parâmetros

  • in_channels (int, padrão 33) — O número de canais na entrada.
  • out_channels (int, padrão 16) — O número de canais na saída.
  • 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 20) — O número de blocos de fluxo duplo a serem usados.
  • num_single_layers (int, padrão 40) — O número de camadas de blocos de fluxo único a serem usadas.
  • num_decoder_layers (int, padrão 0) — O número de camadas de decodificador em blocos de fluxo único.
  • mlp_ratio (float, padrão 4.0) — A proporção entre o tamanho da camada oculta e o tamanho da entrada na rede feedforward.
  • patch_size (int, padrão 2) — O tamanho dos patches espaciais a serem usados na camada de incorporação de patches.
  • patch_size_t (int, padrão 1) — O tamanho dos patches temporais a serem usados na camada de incorporação de patches.
  • qk_norm (str, padrão rms_norm) — A normalização a ser usada para as projeções de query e key nas camadas de atenção.
  • text_embed_dim (int, padrão 4096) — Dimensão de entrada dos embeddings de texto do codificador de texto.
  • image_embed_dim (int, opcional) — Dimensão de entrada dos embeddings de imagem de um codificador de visão. Se fornecida, habilita a condicionamento por imagem.
  • rope_theta (float, padrão 256.0) — O valor de theta a ser usado na camada RoPE.
  • rope_axes_dim (Tuple[int], padrão (16, 56, 56)) — As dimensões dos eixos a serem usados na camada RoPE.

Um modelo Transformer para dados semelhantes a vídeo usado no modelo Motif-Video.

forward

< >

( hidden_states: Tensortimestep: LongTensorencoder_hidden_states: Tensorencoder_attention_mask: typing.Optional[torch.Tensor] = Noneimage_embeds: typing.Optional[torch.Tensor] = Noneattention_kwargs: typing.Optional[typing.Dict[str, typing.Any]] = Nonereturn_dict: bool = True ) → Transformer2DModelOutput or tuple

Parâmetros

  • hidden_states (torch.Tensor) — Tensor latente de entrada com forma (batch_size, channels, num_frames, height, width).
  • timestep (torch.LongTensor) — Passos de difusão com forma (batch_size,).
  • encoder_hidden_states (torch.Tensor) — Condição de texto com forma (batch_size, sequence_length, embed_dim).
  • encoder_attention_mask (torch.Tensor) — Máscara para condicionamento de texto com forma (batch_size, sequence_length).
  • image_embeds (torch.Tensor, opcional) — Incorporações de imagem do codificador de visão com forma (batch_size, num_tokens, embed_dim).
  • attention_kwargs (dict, opcional) — Argumentos adicionais para os processadores de atenção.
  • return_dict (bool, padrão True) — Se deve retornar um Transformer2DModelOutput.

Retorna

Transformer2DModelOutput ou tuple

As amostras previstas.

Passada para frente do MotifVideoTransformer3DModel.

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