Diffusers documentation

Kandinsky 6 Dönüştürücüler

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

Kandinsky 6 Dönüştürücüler

Kandinsky 6, metin/görsel-vidyo-ve-ses üretimi için vidyo ve ses latentlerini birlikte gürültüden arındıran çok modlu bir difüzyon dönüştürücüsü ve vidyo süper çözünürlüğü için metinsiz bir difüzyon dönüştürücüsü kullanır.

Kandinsky6Transformer3DModel

Kandinsky6TI2VAPipeline tarafından kullanılan çok modlu dönüştürücü.

import torch
from diffusers import Kandinsky6Transformer3DModel

transformer = Kandinsky6Transformer3DModel.from_pretrained(
    "kandinskylab/Kandinsky-6.0-Pro-distill-5s-Diffusers", subfolder="transformer", torch_dtype=torch.bfloat16
)

sınıf diffusers.Kandinsky6Transformer3DModel

< >

( in_visual_dim: int = 16out_visual_dim: int = 16in_text_dim: int = 3584in_text_dim2: int = 768time_dim: int = 1024patch_size: tuple = (1, 2, 2)model_dim: int = 4096ff_dim: int = 16384num_text_blocks: int = 4num_visual_blocks: int = 60axes_dims: tuple = (32, 48, 48)visual_cond: bool = Truein_audio_dim: int = 20out_audio_dim: int = 20model_dim_a: int | None = Nonetime_dim_a: int | None = Noneff_dim_a: int | None = Noneaxes_dims_a: tuple | None = Noneaudio_freqs_scaling: float = 1.0scale_factor: tuple | list[float] = (1.0, 2.0, 2.0)text_token_padding: bool = Falseca_rope: bool = Falsecross_gates: bool = Falsefix_modulation: bool = Falsevisual_token_type_num_embeddings: int = 0 )

Parametreler

  • in_visual_dim (int, isteğe bağlı, varsayılan 16) — Giriş video gizli kanal sayısı.
  • out_visual_dim (int, opsiyonel, varsayılan 16) — Çıktı video latent kanal sayısı.
  • in_text_dim (int, isteğe bağlı, varsayılan 3584) — Metin token gömme boyutu.
  • in_text_dim2 (int, isteğe bağlı, varsayılan 768) — Havuzlanmış metin gömme boyutu.
  • time_dim (int, opsiyonel, varsayılan 1024) — Zaman gömme boyutu.
  • patch_size (tuple[int, int, int], opsiyonel, varsayılan (1, 2, 2)) — Video yama boyutu.
  • model_dim (int, isteğe bağlı, varsayılan 4096) — Video dönüştürücüsü gizli boyutu.
  • ff_dim (int, isteğe bağlı, varsayılan 16384) — Video ileri beslemeli gizli boyutu.
  • num_text_blocks (int, isteğe bağlı, varsayılan 4) — Her modalite başına metin bloğu sayısı.
  • num_visual_blocks (int, isteğe bağlı, varsayılan 60) — Birleştirilmiş video/ses bloklarının sayısı.
  • axes_dims (tuple[int, int, int], opsiyonel, varsayılan (32, 48, 48)) — Video için RoPE boyutları.
  • visual_cond (bool, isteğe bağlı, varsayılan True) — Video koşullama kanallarının mevcut olup olmadığı.
  • in_audio_dim (int, isteğe bağlı, varsayılan 20) — Girdi ses latent kanallarının sayısı.
  • out_audio_dim (int, opsiyonel, varsayılan 20) — Çıktı ses latent kanal sayısı.
  • model_dim_a (int, isteğe bağlı) — Ses dönüştürücüsü gizli boyutu. Varsayılan olarak model_dim'dir.
  • time_dim_a (int, isteğe bağlı) — Ses zaman gömme boyutu. Varsayılan olarak time_dim'dir.
  • ff_dim_a (int, isteğe bağlı) — Ses yönlü ileri besleme gizli boyutu. Varsayılan değeri ff_dim'dir.
  • axes_dims_a (tuple[int, int, int], isteğe bağlı) — Ses RoPE boyutları. Varsayılan olarak axes_dims.
  • audio_freqs_scaling (float, opsiyonel, varsayılan 1.0) — Ses RoPE frekans ölçekleme.
  • scale_factor (tuple[float, float, float], opsiyonel, varsayılan (1.0, 2.0, 2.0)) — Video konumlarına uygulanan, eksen başına (t, h, w) RoPE frekans ölçeklendirmesi.
  • text_token_padding (bool, isteğe bağlı, varsayılan olarak False) — Referans modelin metin dizilerinin dolgu (padding) yapıldığını kaydeden checkpoint meta verisi. forward, bu bayraktan bağımsız olarak her zaman isteğe bağlı bir encoder_attention_mask kabul eder; bunun gerçekten geçirilip geçirilmeyeceği tamamen çağırana bağlıdır.
  • ca_rope (bool, isteğe bağlı, varsayılan: False) — Çapraz modlu ses RoPE kullanılacak mı?
  • cross_gates (bool, opsiyonel, varsayılan olarak False) — Çapraz modlu artımsal kapıların (cross-modal residual gates) kullanılıp kullanılmayacağı.
  • fix_modulation (bool, opsiyonel, varsayılan False) — Sabit modülasyon varyantının kullanılıp kullanılmayacağını belirtir.
  • visual_token_type_num_embeddings (int, opsiyonel, varsayılan 0) — Görsel jeton türü gömme sayısı.

Kandinsky 6, metin/görselden video ve ses üretimi için çok modlu dönüştürücü.

Video ve ses, her biri kendi metin dalına (Qwen2.5-VL token'ları + CLIP havuzlanmış gömme) koşullanan füzyonlu, çapraz modallı transformer blokları aracılığıyla birlikte gürültüden arındırılır. audio_hidden_states geçirilmezse, füzyonlu bloğun video öz-dikkat, çapraz-dikkat ve ileri besleme aşamaları çalışmaya devam ederken yalnızca video gürültüden arındırılır. Döner gömlemeler, forward içinde token ızgarasından hesaplanır.

Yayınlanan denetim noktaları text_token_padding, ca_rope, cross_gates ve fix_modulation değerlerini True olarak ayarlar (her denetim noktasının transformer/config.json dosyasına bakın); False varsayılanları yalnızca bu repoda ağırlıkları bulunmayan bir mimari varyantını tanımlar.

forward

< >

( hidden_states: Tensorencoder_hidden_states: Tensorpooled_projections: Tensortimestep: Tensoraudio_hidden_states: Tensor | None = Nonevisual_rope_pos: tuple[Tensor, Tensor, Tensor] | None = Noneencoder_attention_mask: Tensor | None = Nonevisual_token_type_ids: Tensor | None = Nonereturn_dict: bool = True ) → Kandinsky6TransformerOutput or tuple

Parametreler

  • hidden_states (torch.Tensor, şekli (batch_size, num_frames, height, width, in_channels)) — (B, T, H, W, C) yerleşimindeki video latentleri. visual_cond=True olduğunda, in_channels değeri 2 * in_visual_dim + 1'dir: gürültülü latent, koşullandırma latentleri ve koşullandırma maskesi.
  • encoder_hidden_states (torch.Tensor, şekli (batch_size, sequence_length, in_text_dim)) — Video ve ses metin dalları tarafından paylaşılan metin token gömme değerleri.
  • pooled_projections (torch.Tensor, şekli (batch_size, in_text_dim2)) — Her iki dalın timestep gömümüne eklenen havuzlanmış metin gömümü.
  • timestep (torch.Tensor, şekli (batch_size,)) — Her iki modalite tarafından paylaşılan, [0, num_train_timesteps] ölçeğinde bir difüzyon zaman adımı.
  • audio_hidden_states (torch.Tensor, şekli (batch_size, audio_length, in_audio_dim), isteğe bağlı) — Ses latentleri. Atlandığında füzyon blokları yalnızca video yolunu çalıştırır.
  • visual_rope_pos (tuple[torch.Tensor, torch.Tensor, torch.Tensor], isteğe bağlı) — Patch'lenmiş video token'larının eksen başına (t, h, w) döner konum indeksleri. Varsayılan olarak her eksen için arange kullanılır. Pipeline, konumu 0 olan bir referans çerçevesi eklediğinde açık bir zaman indeksini iletir.
  • encoder_attention_mask (torch.Tensor, şekli (batch_size, sequence_length), isteğe bağlı) — encoder_hidden_states için Boole dolgu maskesi. Hiçbir prompt dolgu yapılmadıysa None geçirin.
  • visual_token_type_ids (torch.Tensor, şekli (batch_size, num_frames), isteğe bağlı) — Kare başına token türü kimlikleri, visual_token_type_embeddings üzerinden gömülür. visual_token_type_num_embeddings > 0 gerektirir.
  • return_dict (bool, varsayılan True) — Düz bir tuple yerine Kandinsky6TransformerOutput döndürülüp döndürülmemesi.

Dönüş değeri

Kandinsky6TransformerOutput veya tuple

(B, T, H, W, out_visual_dim) yerleşimindeki tahmini video hızı ve audio_hidden_states verildiğinde (B, audio_length, out_audio_dim) biçimindeki tahmini ses hızı.

Kandinsky6SRTransformer3DModel

Kandinsky6SRPipeline'in, ölçeklendirilmiş videonun bir karoselini birer birer iyileştirmek için kullandığı metinsiz dönüştürücü.

import torch
from diffusers import Kandinsky6SRTransformer3DModel

transformer = Kandinsky6SRTransformer3DModel.from_pretrained(
    "kandinskylab/Kandinsky-6.0-VSR-distilled2steps-5s-Diffusers", subfolder="transformer", torch_dtype=torch.bfloat16
)
# The transformer always runs NABLA sparse attention (`nabla_threshold`, 0.8 by default) on the `flex` backend.
# Compile it, otherwise flex falls back to an eager implementation that needs far more memory at video resolutions.
transformer.compile_repeated_blocks(fullgraph=True)

sınıf diffusers.Kandinsky6SRTransformer3DModel

< >

( in_visual_dim: int = 64out_visual_dim: int = 640time_dim: int = 512patch_size: tuple[int, int, int] = (1, 1, 1)model_dim: int = 1792ff_dim: int = 7168num_visual_blocks: int = 32axes_dims: tuple[int, int, int] = (16, 24, 24)scale_factor: tuple[float, float, float] = (1.0, 2.0, 2.0)nabla_threshold: float = 0.8nabla_window: tuple[int, int, int] = (11, 7, 7)tile_sizes: tuple[tuple[int, int], ...] = ((512, 512), (512, 768), (768, 512)) )

Parametreler

  • in_visual_dim (int, varsayılan 64) — K-VAE'nin gizli kanal sayısı.
  • out_visual_dim (int, varsayılan 640) — Çıkış kanal sayısı.
  • time_dim (int, varsayılan 512) — Zaman adımı gömme boyutu.
  • patch_size (tuple[int, int, int], varsayılan (1, 1, 1)) — (temporal, height, width) olarak yama boyutu.
  • model_dim (int, varsayılan 1792) — Transformer'ın gizli boyutu.
  • ff_dim (int, varsayılan 7168) — İleri beslemeli ağların iç boyutu.
  • num_visual_blocks (int, varsayılan 32) — Transformer bloğu sayısı.
  • axes_dims (tuple[int, int, int], varsayılan (16, 24, 24)) — (t, h, w) eksenleri için RoPE boyutları; toplamı dikkat başı boyutudur.
  • scale_factor (tuple[float, float, float], varsayılan (1.0, 2.0, 2.0)) — Token konumlarına uygulanan eksen başına RoPE frekans ölçeklendirmesi.
  • nabla_threshold (float, varsayılan 0.8) — NABLA blok seçiminin kümülatif dikkat eşiği.
  • nabla_window (tuple[int, int, int], varsayılan (11, 7, 7)) — Her 8x8 token bloğunun her zaman dikkat ettiği kayan karot (sliding-tile) öncelinin tek sayılı (t, h, w) boyutları.
  • tile_sizes (tuple[tuple[int, int], ...], varsayılan ((512, 512), (512, 768), (768, 512))) — Modelin eğitiminde kullanılan video karolarının piksel (height, width) boyutları. Kandinsky6SRPipeline, girdi videosunun en yakın en-boy oranına sahip boyutta her karoyu iyileştirir.

Kandinsky 6 video süper çözünürlüğü için metinsiz difüzyon dönüştürücüsü.

Model, K-VAE gizli videosunun karolarını gürültüden arındırır. Girdisi, süper çözünürlüğü koşullandıran gürültülü gizli durumu, çapa gizli durumu ve çapa maskesini birleştirir (2 * in_visual_dim + 1 kanal) ve çıktısı out_visual_dim kanal içerir: düz bir hız kontrol noktası için in_visual_dim veya PiflowScheduler damıtılmış kontrol noktaları için genişletilmiş n_grid * in_visual_dim. Video öz-dikkati, flex dikkat arka ucunda NABLA seyrek blok deseninden geçer; bunun için jeton ızgarasının (patch_size sonrası height ve width) 8'e bölünebilir olması gerekir.

forward

< >

( hidden_states: Tensortimestep: Tensorreturn_dict: bool = True ) → Transformer2DModelOutput or tuple

Parametreler

  • hidden_states (torch.Tensor, şekli (batch_size, num_frames, height, width, 2 * in_visual_dim + 1)) — (B, T, H, W, C) yerleşimindeki gizli karolar: kanal ekseni boyunca birleştirilmiş gürültülü gizli durum, çapa gizli durumu ve çapa maskesi.
  • timestep (torch.Tensor, şekli (batch_size,)) — [0, num_train_timesteps] ölçeğinde difüzyon zaman adımı.
  • return_dict (bool, varsayılan True) — Düz bir tuple yerine Transformer2DModelOutput döndürülüp döndürülmemesi.

Dönüş değeri

Transformer2DModelOutput veya tuple

Şekil (batch_size, num_frames, height, width, out_visual_dim) tahmini.

Update on GitHub