Diffusers documentation

KandinskyS2VTransformer3DModel

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

KandinskyS2VTransformer3DModel

O Diffusion Transformer (DiT) do Kandinsky S2V 1.0, condicionado em um quadro de referência e uma trilha de fala.

KandinskyS2VTransformer3DModel

classe diffusers.KandinskyS2VTransformer3DModel

< >

( in_visual_dim: int = 16out_visual_dim: int = 16in_text_dim: int = 3584in_text_dim2: int = 768in_audio_dim: int = 3584time_dim: int = 512patch_size: tuple[int, int, int] = (1, 2, 2)frame_buckets: tuple[int, int, int] = (2, 4, 24)enable_framepack: bool = Trueindex_rope_ref_image: int = 40patch_proj1x_coef: tuple[int, int, int] = (1, 1, 1)patch_proj2x_coef: tuple[int, int, int] = (2, 2, 2)patch_proj4x_coef: tuple[int, int, int] = (4, 4, 4)model_dim: int = 1792ff_dim: int = 7168num_text_blocks: int = 2num_audio_blocks: int = 2num_visual_blocks: int = 32axes_dims: tuple[int, int, int] = (16, 24, 24)audio_inject_layers: tuple[int, ...] = ()text_rope_max_pos: int = 4096 )

Transformador de difusão para conversão de fala em vídeo.

Os nomes dos parâmetros correspondem aos checkpoints de treinamento, portanto um .safetensors convertido é carregado sem remapeamento de chaves. A inferência é com tamanho de lote 1: a sequência é empacotada e a atenção cruzada de fala é alinhada por quadro, de modo que forward recebe um eixo de lote inicial de 1 e o comprime.

O fluxo visual é uma sequência compacta [memory | ref | visual]:

  • memory — contexto do FramePack do chunk anterior com downsampling temporal de 4x / 2x / 1x, posicionado em posições temporais de RoPE negativas;
  • ref — o referencial, fixado no índice temporal de RoPE index_rope_ref_image;
  • visual — o latente ruidoso sendo desruidado.

memory e ref são limpos, portanto são modulados com t = 0, enquanto visual usa o timestep real; a modulação contém ambas as linhas e um índice seleciona por token.

forward

< >

( hidden_states: Tensorencoder_hidden_states: Tensoraudio_hidden_states: Tensorreference_hidden_states: Tensormemory_hidden_states: tuple[Tensor, Tensor, Tensor]timestep: Tensorpooled_projections: Tensorvisual_rope_pos: list[Tensor]reference_rope_pos: list[Tensor]memory_rope_pos: tuple[list[Tensor], list[Tensor], list[Tensor]]text_rope_pos: Tensoraudio_rope_pos: Tensorscale_factor: tuple[float, float, float] = (1.0, 1.0, 1.0)return_dict: bool = True ) → [~models.modeling_outputs.Transformer2DModelOutput] or tuple

Parâmetros

  • hidden_states — latente com ruído, (1, T, H, W, C).
  • encoder_hidden_states — embeddings de texto, (1, S_text, in_text_dim).
  • audio_hidden_states — recursos de fala, (1, S_audio, in_audio_dim).
  • reference_hidden_states — latente do quadro de referência, (1, 1, H, W, C).
  • memory_hidden_states — memória do FramePack em 4x / 2x / 1x, cada uma com (1, T_i, H_i, W_i, C).
  • timestep — timestep atual, (1,).
  • pooled_projections — incorporações de texto CLIP agregadas, (1, in_text_dim2).
  • visual_rope_pos — posições de RoPE por eixo do latente com ruído.
  • reference_rope_pos — posições de RoPE por eixo do quadro de referência.
  • memory_rope_pos — posições de RoPE por eixo de cada escala de memória do FramePack.
  • text_rope_pos — posições 1-D de RoPE dos tokens de texto.
  • audio_rope_pos — quadro latente ao qual cada token de fala pertence.
  • scale_factor — escala do RoPE por eixo, definida pelo bucket de resolução.
  • return_dict — retorna um Transformer2DModelOutput em vez de uma tupla.

Retorna

[~models.modeling_outputs.Transformer2DModelOutput] ou tuple

a velocidade prevista, com a forma de hidden_states.

Remova o ruído de um bloco.

O tamanho do lote deve ser 1: a sequência é empacotada e a atenção cruzada de fala é alinhada por quadro.

Update on GitHub