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

El Diffusion Transformer (DiT) de Kandinsky S2V 1.0, condicionado por un fotograma de referencia y una pista de audio.

KandinskyS2VTransformer3DModel

clase 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 difusión de voz a video.

Los nombres de los parámetros coinciden con los puntos de control de entrenamiento, por lo que un .safetensors convertido se carga sin remapeo de claves. La inferencia se realiza con un tamaño de lote de 1: la secuencia se empaqueta y la atención cruzada del habla se alinea por cuadro, por lo que forward toma un eje de lote inicial de 1 y lo comprime.

El flujo visual es una secuencia empaquetada [memory | ref | visual]:

  • memory — Contexto de FramePack del fragmento anterior con submuestreo temporal de 4x / 2x / 1x, colocado en posiciones temporales de RoPE negativas;
  • ref — el marco de referencia, fijado al índice temporal de RoPE index_rope_ref_image;
  • visual — el latente ruidoso que se está desruidando.

memory y ref están limpios, por lo que se modulan con t = 0, mientras que visual utiliza el paso temporal real; la modulación contiene ambas filas y un índice selecciona 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 con ruido, (1, T, H, W, C).
  • encoder_hidden_states — incrustaciones de texto, (1, S_text, in_text_dim).
  • audio_hidden_states — características del habla, (1, S_audio, in_audio_dim).
  • reference_hidden_states — latente del marco de referencia, (1, 1, H, W, C).
  • memory_hidden_states — Memoria de FramePack a 4x / 2x / 1x, cada una (1, T_i, H_i, W_i, C).
  • timestep — paso temporal actual, (1,).
  • pooled_projections — embedding de texto CLIP agrupado, (1, in_text_dim2).
  • visual_rope_pos — posiciones de RoPE por eje del latente con ruido.
  • reference_rope_pos — posiciones de RoPE por eje del marco de referencia.
  • memory_rope_pos — posiciones de RoPE por eje de cada escala de memoria de FramePack.
  • text_rope_pos — posiciones RoPE de 1-D de los tokens de texto.
  • audio_rope_pos — cuadro latente al que pertenece cada token de voz.
  • scale_factor — Escala de RoPE por eje, definida por el cubo de resolución.
  • return_dict — devuelve un Transformer2DModelOutput en lugar de una tupla.

Devuelve

[~models.modeling_outputs.Transformer2DModelOutput] o tuple

la velocidad predicha, con la forma de hidden_states.

Desruidar un fragmento.

El tamaño del lote debe ser 1: la secuencia está empaquetada y la atención cruzada del habla está alineada por cuadro.

Update on GitHub