Buckets:
KandinskyS2VTransformer3DModel
O Diffusion Transformer (DiT) do Kandinsky S2V 1.0, condicionado em um quadro de referência e uma trilha de fala.
KandinskyS2VTransformer3DModel[[diffusers.KandinskyS2VTransformer3DModel]]
diffusers.KandinskyS2VTransformer3DModel[[diffusers.KandinskyS2VTransformer3DModel]]
diffusers.KandinskyS2VTransformer3DModel(in_visual_dim: int = 16, out_visual_dim: int = 16, in_text_dim: int = 3584, in_text_dim2: int = 768, in_audio_dim: int = 3584, time_dim: int = 512, patch_size: tuple[int, int, int] = (1, 2, 2), frame_buckets: tuple[int, int, int] = (2, 4, 24), enable_framepack: bool = True, index_rope_ref_image: int = 40, patch_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 = 1792, ff_dim: int = 7168, num_text_blocks: int = 2, num_audio_blocks: int = 2, num_visual_blocks: int = 32, axes_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 RoPEindex_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[[diffusers.KandinskyS2VTransformer3DModel.forward]]
forward(hidden_states: Tensor, encoder_hidden_states: Tensor, audio_hidden_states: Tensor, reference_hidden_states: Tensor, memory_hidden_states: tuple[Tensor, Tensor, Tensor], timestep: Tensor, pooled_projections: Tensor, visual_rope_pos: list[Tensor], reference_rope_pos: list[Tensor], memory_rope_pos: tuple[list[Tensor], list[Tensor], list[Tensor]], text_rope_pos: Tensor, audio_rope_pos: Tensor, scale_factor: tuple[float, float, float] = (1.0, 1.0, 1.0), return_dict: bool = True)
Parâmetros:
hidden_states : latente ruidoso, (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 referencial, (1, 1, H, W, C).
memory_hidden_states : Memória do FramePack em 4x / 2x / 1x, cada uma (1, T_i, H_i, W_i, C).
timestep : timestep atual, (1,).
pooled_projections : incorporado de texto CLIP agregado, (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 referencial.
memory_rope_pos : posições de RoPE por eixo de cada escala de memória do FramePack.
text_rope_pos : posições 1-D do RoPE dos tokens de texto.
audio_rope_pos : quadro latente ao qual cada token de fala pertence.
scale_factor : escala de 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 mesma 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.
Xet Storage Details
- Size:
- 4.15 kB
- Xet hash:
- 14cbf2553492a26f8cb56a36933a23589bb19301aaac41dd090184bc6553704b
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.