Buckets:

hf-doc-build/doc / diffusers /main /fr /api /models /kandinsky_s2v_transformer.md
mishig's picture
|
download
raw
4.26 kB

KandinskyS2VTransformer3DModel

Le Diffusion Transformer (DiT) de Kandinsky S2V 1.0, conditionné par une image de référence et une piste audio.

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)

Source

Transformeur de diffusion pour la conversion de la parole en vidéo.

Les noms des paramètres correspondent aux points de contrôle d’entraînement, de sorte qu’un fichier .safetensors converti se charge sans remappage des clés. L’inférence est effectuée avec une taille de lot de 1 : la séquence est compactée et l’attention croisée avec la parole est alignée sur les trames, de sorte que forward accepte un axe de lot de tête de taille 1 et le supprime.

Le flux visuel est une séquence compacte [memory | ref | visual] :

  • memory — Contexte FramePack du bloc précédent avec un sous-échantillonnage temporel 4x / 2x / 1x, placé à des positions temporelles RoPE négatives ;
  • ref — le repère de référence, fixé à l'index temporel RoPE index_rope_ref_image ;
  • visual — le latent bruité en cours de débruitage.

memory et ref sont propres, ils sont donc modulés avec t = 0 tandis que visual utilise le pas de temps réel ; la modulation contient les deux lignes et un index sélectionne par jeton.

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)

Source

Paramètres :

hidden_states : latent bruité, (1, T, H, W, C).

encoder_hidden_states : embeddings de texte, (1, S_text, in_text_dim).

audio_hidden_states : caractéristiques de la parole, (1, S_audio, in_audio_dim).

reference_hidden_states : latent de référence, (1, 1, H, W, C).

memory_hidden_states : mémoire de FramePack à 4x / 2x / 1x, chacune (1, T_i, H_i, W_i, C).

timestep : pas de temps actuel, (1,).

pooled_projections : plongement de texte CLIP agrégé, (1, in_text_dim2).

visual_rope_pos : positions RoPE par axe du latent bruité.

reference_rope_pos : positions RoPE par axe du repère de référence.

memory_rope_pos : positions RoPE par axe de chaque échelle de mémoire FramePack.

text_rope_pos : positions RoPE 1-D des jetons de texte.

audio_rope_pos : cadre latent auquel chaque jeton de parole appartient.

scale_factor : échelle RoPE par axe, définie par le seau de résolution.

return_dict : renvoyer un Transformer2DModelOutput au lieu d'un tuple.

Retourne : [~models.modeling_outputs.Transformer2DModelOutput] ou tuple

la vitesse prédite, de forme hidden_states.

Dénuiser un bloc.

La taille du lot doit être 1 : la séquence est compactée et l'attention croisée vocale est alignée sur les trames.

Xet Storage Details

Size:
4.26 kB
·
Xet hash:
b21c35e80f2e584e96252969dea14d9d339d6c85133a85dc06d02833727974db

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.