Diffusers documentation

PAN2Transformer3DModel

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.43.0).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

PAN2Transformer3DModel

O diffusion transformer do PAN 2. Ele executa atenção conjunta sobre os tokens de vídeo e os tokens de texto, com projeções e redes feed-forward separadas para cada fluxo.

A entrada de vídeo empilha os latentes ruidosos, os latentes de condicionamento e uma máscara de condicionamento de um canal, de modo que o mesmo modelo atende tanto a geração de vídeo a partir de texto quanto a geração de vídeo a partir de imagem.

import torch
from diffusers import PAN2Transformer3DModel

transformer = PAN2Transformer3DModel.from_pretrained("IFM/PAN2", subfolder="transformer", dtype=torch.bfloat16)

PAN2Transformer3DModel

classe diffusers.PAN2Transformer3DModel

< >

( patch_size: tuple[int, int, int] = (1, 2, 2)in_channels: int = 97out_channels: int = 48num_attention_heads: int = 32attention_head_dim: int = 128num_layers: int = 44num_refiner_layers: int = 4mlp_ratio: float = 8.0context_mlp_ratio: float = 4.0refiner_mlp_ratio: float = 4.0text_embed_dim: int = 4096rope_axes_dim: tuple[int, int, int] = (16, 56, 56)rope_theta: float = 256.0rope_temporal_scale: float = 0.6666666666666666 )

Parâmetros

  • patch_size (tuple[int, int, int], padrão (1, 2, 2)) — O tamanho do patch (t, h, w) da incorporação de patches.
  • in_channels (int, padrão 97) — O número de canais de entrada: latentes ruidosos, latentes de condicionamento e um canal de máscara de condicionamento.
  • out_channels (int, padrão 48) — O número de canais de saída.
  • num_attention_heads (int, padrão 32) — O número de cabeças de atenção.
  • attention_head_dim (int, padrão 128) — O número de canais em cada cabeça de atenção.
  • num_layers (int, padrão 44) — O número de blocos de atenção conjunta.
  • num_refiner_layers (int, padrão 4) — O número de blocos de refinamento de tokens aplicados aos embeddings de texto.
  • mlp_ratio (float, padrão 8.0) — A proporção da dimensão interna do feed-forward do vídeo em relação à dimensão oculta.
  • context_mlp_ratio (float, padrão 4.0) — A proporção da dimensão interna do feed-forward do texto em relação à dimensão oculta.
  • refiner_mlp_ratio (float, padrão 4.0) — A proporção da dimensão interna do feed-forward do refinador de tokens em relação à dimensão oculta.
  • text_embed_dim (int, padrão 4096) — A dimensão dos estados ocultos do codificador de texto.
  • rope_axes_dim (tuple[int, int, int], padrão (16, 56, 56)) — O número de canais de cada eixo (t, h, w) no embedding rotativo.
  • rope_theta (float, padrão 256.0) — A base do embedding rotativo.
  • rope_temporal_scale (float, padrão 16 / 24) — O fator pelo qual as posições dos quadros do embedding rotativo são multiplicadas: a taxa de quadros de referência do embedding rotativo em relação à taxa de quadros dos vídeos (16 sobre 24 fps).

O transformer de difusão do PAN 2.

Uma pilha de blocos de atenção conjunta sobre a concatenação dos latentes de vídeo em patches e dos tokens de texto refinados. A entrada de vídeo carrega os latentes ruidosos, os latentes de condicionamento e uma máscara de condicionamento empilhados ao longo do eixo de canais, de modo que o mesmo modelo atende tanto a geração de vídeo a partir de texto quanto a geração de vídeo a partir de imagem.

forward

< >

( hidden_states: Tensortimestep: Tensorencoder_hidden_states: Tensorattention_kwargs: dict[str, typing.Any] | None = Nonereturn_dict: bool = True ) → Transformer2DModelOutput or tuple

Parâmetros

  • hidden_states (torch.Tensor de forma (batch_size, in_channels, num_frames, height, width)) — Os latentes com ruído, os latentes de condicionamento e a máscara de condicionamento, concatenados ao longo dos canais.
  • timestep (torch.Tensor de forma (batch_size,)) — O passo de desruido em [0, 1000].
  • encoder_hidden_states (torch.Tensor de forma (batch_size, text_seq_len, text_embed_dim)) — Os estados ocultos do codificador de texto.
  • attention_kwargs (dict, opcional) — Um dicionário de kwargs passado para o AttentionProcessor; usado apenas para a escala do LoRA.
  • return_dict (bool, opcional, padrão True) — Se deve ou não retornar um Transformer2DModelOutput em vez de uma tupla simples.

Retorna

Transformer2DModelOutput ou tuple

A velocidade prevista de forma (batch_size, out_channels, num_frames, height, width).

O método forward do PAN2Transformer3DModel.

Update on GitHub