Diffusers documentation

Kandinsky 6 VAE'leri

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 VAE'leri

Kandinsky 6, video süper çözünürlüğü için nedensel 3D K-VAE'yi ve senkronize ses üretimi için ayrı bir MMAudioVocoder ile eşleştirilmiş MMAudio mel-spektrogram VAE'sini kullanır.

Kandinsky6SRVAE

Kandinsky6SRPipeline tarafından kullanılan nedensel 3D K-VAE. Sınırlı bellek segmentlerinde keyfi uzunluktaki videoları işlerken tek, segmentlenmemiş geçişin tam çıktısını yeniden üretir.

import torch
from diffusers import Kandinsky6SRVAE

vae = Kandinsky6SRVAE.from_pretrained(
    "kandinskylab/Kandinsky-6.0-VSR-5s-Diffusers", subfolder="vae", torch_dtype=torch.bfloat16
)

sınıf diffusers.Kandinsky6SRVAE

< >

( in_channels: int = 3out_channels: int = 3latent_channels: int = 64encoder_block_out_channels: tuple[int, ...] = (16, 128, 256, 512, 1024)decoder_block_out_channels: tuple[int, ...] = (16, 256, 512, 1024, 2048)layers_per_block: int = 2temporal_compression_ratio: int = 4temporal_compression_start_level: int = 1scaling_factor: float = 0.910344004631042 )

Parametreler

  • in_channels (int, varsayılan 3) — Piksel kanal sayısı.
  • out_channels (int, varsayılan 3) — Yeniden oluşturulan piksel kanal sayısı.
  • latent_channels (int, varsayılan 64) — Gizli kanal sayısı.
  • encoder_block_out_channels (tuple[int, ...], varsayılan (16, 128, 256, 512, 1024)) — Her kodlayıcı seviyesindeki artımsal blokların çıktı genişliği; son seviye hariç her seviye, bir sonraki seviyeye geçerken uzamsal boyutu yarıya indirir ve genişliği ikiye katlar.
  • decoder_block_out_channels (tuple[int, ...], varsayılan (16, 256, 512, 1024, 2048)) — Her decoder seviyesindeki artımsal blokların çıktı genişliği.
  • layers_per_block (int, varsayılan 2) — Her kodlayıcı seviyesindeki artımsal blok sayısı; çözücü her seviyede bir fazlasını kullanır.
  • temporal_compression_ratio (int, varsayılan 4) — Zamansal sıkıştırma çarpanı; ardışık log2 seviyesi de zamanı sıkıştırır.
  • temporal_compression_start_level (int, varsayılan 1) — Zamanı sıkıştıran ilk seviye.
  • scaling_factor (float, varsayılan 0.910344) — Diffusion transformer'a girmeden önce latents'lere uygulanan ölçek.

Kandinsky6SRPipeline tarafından videoyu kodlamak ve çözmek için kullanılan Nedenli 3D K-VAE.

Videolar, 16 piksel karesi (başlangıç karesi hariç) uzunluğunda zaman dilimlerinde işlenir. Neden-sonuç konvolüsyonlar, dolgu durumlarını dilimler arasında taşır; bu nedenle segmentasyon yalnızca tepe bellek kullanımını sınırlar, sonucu değiştirmez.

encode

< >

( x: torch.Tensorreturn_dict: bool = True )

Parametreler

  • x (torch.Tensor, şekli (batch_size, channels, num_frames, height, width)) — [-1, 1] aralığında piksel video. num_frames değeri 1 + k * temporal_compression_ratio olmalıdır.
  • return_dict (bool, varsayılan True) — Düz bir tuple yerine AutoencoderKLOutput döndürülüp döndürülmediğini belirtir.

Bir videoyu gizli dağılımına kodlayın.

decode

< >

( z: torch.Tensorreturn_dict: bool = True )

Parametreler

  • z (torch.Tensor, şekli (batch_size, latent_channels, num_latent_frames, height, width)) — Zaten scaling_factor ile bölünmüş latentler.
  • return_dict (bool, varsayılan True) — Düz bir tuple yerine ~models.autoencoder_kl.DecoderOutput döndürülüp döndürülmemesi.

Latentleri bir videoya dönüştürün.

forward

< >

( sample: torch.Tensorsample_posterior: bool = Falsereturn_dict: bool = Truegenerator: torch.Generator | None = None ) → ~models.autoencoder_kl.DecoderOutput or tuple

Parametreler

  • sample (torch.Tensor, şekli (batch_size, channels, num_frames, height, width)) — [-1, 1] aralığında piksel video. num_frames değeri 1 + k * temporal_compression_ratio olmalıdır.
  • sample_posterior (bool, isteğe bağlı, varsayılan False) — Modu kullanmak yerine latent posterior'dan örneklem alınıp alınmayacağı.
  • return_dict (bool, isteğe bağlı, varsayılan True) — Düz bir tuple yerine ~models.autoencoder_kl.DecoderOutput döndürülüp döndürülmemesi.
  • generator (torch.Generator, isteğe bağlı) — Örnekleme işlemini deterministik hale getirmek için kullanılan bir torch.Generator.

Dönüş değeri

~models.autoencoder_kl.DecoderOutput veya tuple

return_dict True ise, ~models.autoencoder_kl.DecoderOutput döndürülür, aksi takdirde düz bir tuple döndürülür. sample alanı, yeniden oluşturulan videoya karşılık gelir.

MMAudioVAE

sample_audio=True olduğunda Kandinsky6TI2VAPipeline'ın kullandığı mel-spektrogram VAE. decode çıktısı bir mel spektrogramdır; dalga formu almak için bunu MMAudioVocoder üzerinden geçirin.

Referans uygulama hkchengrex/MMAudio adresinde bulunabilir (MIT lisansı).

import torch
from diffusers import MMAudioVAE

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

sınıf diffusers.MMAudioVAE

< >

( mel_bins: int = 128latent_channels: int = 40hidden_channels: int = 512channel_multipliers: tuple[int, ...] = (1, 2, 4)layers_per_block: int = 2sample_rate: int = 44100n_fft: int = 2048hop_length: int = 512scaling_factor: float = 0.417 )

Parametreler

  • mel_bins (int, varsayılan 128) — Mel kutu sayısı.
  • latent_channels (int, varsayılan 40) — Gizli kanal sayısı.
  • hidden_channels (int, varsayılan 512) — Otomatik kodlayıcının temel genişliği.
  • channel_multipliers (tuple[int, ...], varsayılan (1, 2, 4)) — Otomatik kodlayıcı seviyelerinin genişlik çarpanları.
  • layers_per_block (int, varsayılan 2) — Her kodlayıcı seviyesi için artımsal blok sayısı; çözücü her seviyede bir fazlasını kullanır.
  • sample_rate (int, varsayılan 44100) — Dalga formu örneklem hızı.
  • n_fft (int, varsayılan 2048) — Mel ön ucunun FFT boyutu.
  • hop_length (int, varsayılan 512) — Mel ön ucunun atlama uzunluğu. Bu VAE'nin eşleştirildiği MMAudioVocoder'nin toplam örnekleme artırma katsayısıyla eşleşmelidir.
  • scaling_factor (float, varsayılan 0.417) — Diffusion transformer'a girmeden önce latente uygulanan ölçek.

Kandinsky6TI2VAPipeline'in Audio VAE'si: log-mel spektrogramları üzerinde büyüklük koruyucu bir otoenkoder (MMAudio, https://arxiv.org/abs/2412.15322).

encode, bir dalga formunu gizli bir dağıtıma dönüştürür; decode, gizli değerleri tekrar bir mel spektrograma dönüştürür ve MMAudioVocoder bunu bir dalga formuna çevirir. Bir gizli çerçeve hop_length * 2 örneklemi kapsar.

encode

< >

( audio: torch.Tensorreturn_dict: bool = True )

Parametreler

  • audio (torch.Tensor, şekli (batch_size, num_samples)) — sample_rate örnekleme hızında, [-1, 1] aralığında mono dalga formu.
  • return_dict (bool, varsayılan True) — Düz bir tuple yerine AutoencoderKLOutput döndürülüp döndürülmediğini belirtir.

Bir dalga formunu gizli dağılımına kodlayın.

decode

< >

( z: torch.Tensorreturn_dict: bool = True )

Parametreler

  • z (torch.Tensor, şekli (batch_size, latent_channels, num_latent_frames)) — Zaten scaling_factor ile bölünmüş latentler.
  • return_dict (bool, varsayılan True) — Düz bir tuple yerine ~models.autoencoder_kl.DecoderOutput döndürülüp döndürülmemesi.

Latentleri mel spektrograma çözümlen.

forward

< >

( sample: torch.Tensorsample_posterior: bool = Falsereturn_dict: bool = Truegenerator: torch.Generator | None = None ) → ~models.autoencoder_kl.DecoderOutput or tuple

Parametreler

  • sample (torch.Tensor, şekli (batch_size, num_samples)) — Mel spektrogram olarak kodlanıp yeniden oluşturulacak, sample_rate örnekleme hızında [-1, 1] aralığında mono dalga formu.
  • sample_posterior (bool, isteğe bağlı, varsayılan False) — Modu kullanmak yerine latent posterior'dan örneklem alınıp alınmayacağı.
  • return_dict (bool, isteğe bağlı, varsayılan True) — Düz bir tuple yerine ~models.autoencoder_kl.DecoderOutput döndürülüp döndürülmemesi.
  • generator (torch.Generator, isteğe bağlı) — Örnekleme işlemini deterministik hale getirmek için kullanılan bir torch.Generator.

Dönüş değeri

~models.autoencoder_kl.DecoderOutput veya tuple

return_dict True ise, ~models.autoencoder_kl.DecoderOutput döndürülür, aksi takdirde düz bir tuple döndürülür. sample alanı, (batch_size, mel_bins, num_mel_frames) biçiminde yeniden oluşturulmuş mel spektrumudur.

MMAudioVocoder

MMAudio demetleri, BigVGAN-v2 vokalizerinden uyarlanmıştır; bu demetler de NVIDIA/BigVGAN (MIT lisansı) kaynaklıdır ve alias-free-torch'ün (Apache Lisansı 2.0) anti-aliased Snake aktivasyonlarını içerir.

sınıf diffusers.MMAudioVocoder

< >

( num_mels: int = 128upsample_initial_channel: int = 1536upsample_rates: tuple[int, ...] = (8, 4, 2, 2, 2, 2)upsample_kernel_sizes: tuple[int, ...] = (16, 8, 4, 4, 4, 4)resblock_kernel_sizes: tuple[int, ...] = (3, 7, 11)resblock_dilation_sizes: tuple[tuple[int, ...], ...] = ((1, 3, 5), (1, 3, 5), (1, 3, 5)) )

Parametreler

  • num_mels (int, varsayılan 128) — Giriş spektrogramının mel kutu sayısı. Eşleşen MMAudioVAE'nin mel_bins değeriyle aynı olmalıdır.
  • upsample_initial_channel (int, varsayılan 1536) — İlk katmanın genişliği.
  • upsample_rates (tuple[int, ...], varsayılan (8, 4, 2, 2, 2, 2)) — Vokoder aşamalarının örnekleme artırma (upsampling) çarpanları. Bunların çarpımı toplam örnekleme artırma çarpanını verir ve eşleşen MMAudioVAE'nin hop_length değeriyle aynı olmalıdır.
  • upsample_kernel_sizes (tuple[int, ...], varsayılan (16, 8, 4, 4, 4, 4)) — Vokoder aşamalarının transpoze konvolüsyon çekirdek boyutları.
  • resblock_kernel_sizes (tuple[int, ...], varsayılan (3, 7, 11)) — Artık blokların çekirdek boyutları.
  • resblock_dilation_sizes (tuple[tuple[int, ...], ...], varsayılan ((1, 3, 5), (1, 3, 5), (1, 3, 5))) — Artık blokların (residual blocks) dilatasyonları.

Anti-aliased Snake aktivasyonlarına sahip https://github.com/junjun3518/alias-free-torch (Apache 2.0) ile https://github.com/NVIDIA/BigVGAN (MIT lisansı) tabanlı BigVGAN-v2 vokoderi, MMAudioVAE'nin çözdüğü mel spektrogramlarını Kandinsky6TI2VAPipeline için dalga formlarına dönüştürür.

forward

< >

( mel: torch.Tensorreturn_dict: bool = True )

Parametreler

  • mel (torch.Tensor, şekli (batch_size, num_mels, num_mel_frames)) — MMAudioVAE tarafından çözülen Mel spektrogramı.
  • return_dict (bool, varsayılan True) — Düz bir tuple yerine ~models.autoencoder_kl.DecoderOutput döndürülüp döndürülmemesi.
Update on GitHub