Diffusers documentation

WanTransformer3DModel

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

WanTransformer3DModel

Um modelo Diffusion Transformer para dados de vídeo 3D foi introduzido no Wan 2.1 pela equipe Wan da Alibaba.

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

from diffusers import WanTransformer3DModel

transformer = WanTransformer3DModel.from_pretrained("Wan-AI/Wan2.1-T2V-1.3B-Diffusers", subfolder="transformer", dtype=torch.bfloat16)

WanTransformer3DModel

classe diffusers.WanTransformer3DModel

< >

( patch_size: tuple[int, ...] = (1, 2, 2)num_attention_heads: int = 40attention_head_dim: int = 128in_channels: int = 16out_channels: int = 16text_dim: int = 4096freq_dim: int = 256ffn_dim: int = 13824num_layers: int = 40cross_attn_norm: bool = Trueqk_norm: str | None = 'rms_norm_across_heads'eps: float = 1e-06image_dim: int | None = Noneadded_kv_proj_dim: int | None = Nonerope_max_seq_len: int = 1024pos_embed_seq_len: int | None = None )

Parâmetros

  • patch_size (tuple[int], padrão (1, 2, 2)) — Dimensões do patch 3D para incorporação de vídeo (t_patch, h_patch, w_patch).
  • num_attention_heads (int, padrão 40) — Comprimento fixo para embeddings de texto.
  • attention_head_dim (int, padrão 128) — O número de canais em cada head.
  • in_channels (int, padrão 16) — O número de canais na entrada.
  • out_channels (int, padrão 16) — O número de canais na saída.
  • text_dim (int, padrão 512) — Dimensão de entrada para embeddings de texto.
  • freq_dim (int, padrão 256) — Dimensão para incorporações de tempo sinusoidais.
  • ffn_dim (int, padrão 13824) — Dimensão intermediária na rede feed-forward.
  • num_layers (int, padrão 40) — O número de blocos de transformadores a serem usados.
  • window_size (tuple[int], padrão (-1, -1)) — Tamanho da janela para atenção local (-1 indica atenção global).
  • cross_attn_norm (bool, padrão True) — Ativa a normalização de atenção cruzada.
  • qk_norm (bool, padrão True) — Ativa a normalização de query/key.
  • eps (float, padrão 1e-6) — Valor de epsilon para as camadas de normalização.
  • add_img_emb (bool, padrão False) — Se deve usar img_emb.
  • added_kv_proj_dim (int, opcional, padrão None) — O número de canais a serem usados para as projeções de chave e valor adicionadas. Se None, nenhuma projeção é usada.

Um modelo Transformer para dados semelhantes a vídeo usado no modelo Wan.

forward

< >

( hidden_states: Tensortimestep: LongTensorencoder_hidden_states: Tensorencoder_hidden_states_image: typing.Optional[torch.Tensor] = Nonereturn_dict: bool = Trueattention_kwargs: dict[str, typing.Any] | None = None )

Parâmetros

  • hidden_states (torch.Tensor de forma (batch_size, num_channels, num_frames, height, width)) — hidden_states de entrada.
  • timestep (torch.LongTensor) — Usado para indicar o passo de desruido.
  • 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.
  • encoder_hidden_states_image (torch.Tensor, opcional) — Incorporações condicionais de imagem para geração condicionada por imagem.
  • return_dict (bool, opcional, padrão True) — Se deve ou não retornar um ~models.transformer_2d.Transformer2DModelOutput em vez de uma tupla simples.
  • 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.

O método forward do WanTransformer3DModel.

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