# 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 BigVGAN [MMAudioVocoder](/docs/diffusers/main/tr/api/models/kandinsky6_vae#diffusers.MMAudioVocoder) ile eşleştirilmiş MMAudio mel-spektrogram VAE'sini kullanır.

## Kandinsky6SRVAE[[diffusers.Kandinsky6SRVAE]]

[Kandinsky6SRPipeline](/docs/diffusers/main/tr/api/pipelines/kandinsky6#diffusers.Kandinsky6SRPipeline) tarafından kullanılan nedensel 3D K-VAE. Sınırlı bellekli segmentlerde keyfi uzunluktaki videoları işlerken tek, segmentlenmemiş geçişin tam çıktısını yeniden üretir.

```python
import torch
from diffusers import Kandinsky6SRVAE

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

#### diffusers.Kandinsky6SRVAE[[diffusers.Kandinsky6SRVAE]]

```python
diffusers.Kandinsky6SRVAE(in_channels: int = 3, out_channels: int = 3, latent_channels: int = 64, encoder_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 = 2, temporal_compression_ratio: int = 4, temporal_compression_start_level: int = 1, scaling_factor: float = 0.910344004631042)
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_kandinsky6_sr.py#L516)

**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 çözücü seviyesinde artımsal blokların çıktı genişliği.

layers_per_block (`int`, varsayılan `2`) : Her kodlayıcı seviyesi başına kalan blok sayısı; kodlayıcı her seviyede bir fazlasını kullanır.

temporal_compression_ratio (`int`, varsayılan `4`) : Zamsal sıkıştırma faktörü; 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`) : Difüzyon dönüştürücüsüne girmeden önce latentlere uygulanan ölçek.

[Kandinsky6SRPipeline](/docs/diffusers/main/tr/api/pipelines/kandinsky6#diffusers.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, yastıklama 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[[diffusers.Kandinsky6SRVAE.encode]]

```python
encode(x: torch.Tensor, return_dict: bool = True)
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_kandinsky6_sr.py#L585)

**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](/docs/diffusers/main/tr/api/models/autoencoderkl_qwenimage#diffusers.models.modeling_outputs.AutoencoderKLOutput) döndürülüp döndürülmemesi.

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

#### decode[[diffusers.Kandinsky6SRVAE.decode]]

```python
decode(z: torch.Tensor, return_dict: bool = True)
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_kandinsky6_sr.py#L611)

**Parametreler:**

z (`torch.Tensor`, şekli `(batch_size, latent_channels, num_latent_frames, height, width)`) : `scaling_factor` değerine 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[[diffusers.Kandinsky6SRVAE.forward]]

```python
forward(sample: torch.Tensor, sample_posterior: bool = False, return_dict: bool = True, generator: torch.Generator | None = None)
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_kandinsky6_sr.py#L642)

**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ülmediğini belirtir.

generator (`torch.Generator`, *isteğe bağlı*) : Örnekleme işlemini deterministik hale getirmek için kullanılan bir [`torch.Generator`](https://pytorch.org/docs/stable/generated/torch.Generator.html).

**Dönüş:** `~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[[diffusers.MMAudioVAE]]

`sample_audio=True` olduğunda [Kandinsky6TI2VAPipeline](/docs/diffusers/main/tr/api/pipelines/kandinsky6#diffusers.Kandinsky6TI2VAPipeline)'ın kullandığı mel-spektrogram VAE. `decode` çıktısı bir mel spektrogramdır; dalga formu almak için bunu [MMAudioVocoder](/docs/diffusers/main/tr/api/models/kandinsky6_vae#diffusers.MMAudioVocoder) üzerinden geçirin.

Referans uygulama [hkchengrex/MMAudio](https://github.com/hkchengrex/MMAudio) adresinde bulunabilir (MIT lisansı).

```python
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
)
```

#### diffusers.MMAudioVAE[[diffusers.MMAudioVAE]]

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

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_mmaudio.py#L350)

**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`) : Otoenkoderin taban genişliği.

channel_multipliers (`tuple[int, ...]`, varsayılan `(1, 2, 4)`) : Otoenkoder 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 seviye için 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 ile eşleştirilen [MMAudioVocoder](/docs/diffusers/main/tr/api/models/kandinsky6_vae#diffusers.MMAudioVocoder)'nin toplam örnekleme artırma katsayısıyla eşleşmelidir.

scaling_factor (`float`, varsayılan `0.417`) : Difüzyon dönüştürücüsüne girmeden önce latentlere uygulanan ölçek.

[Kandinsky6TI2VAPipeline](/docs/diffusers/main/tr/api/pipelines/kandinsky6#diffusers.Kandinsky6TI2VAPipeline)'in ses 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](/docs/diffusers/main/tr/api/models/kandinsky6_vae#diffusers.MMAudioVocoder) bunu bir dalga formuna çevirir. Bir gizli çerçeve `hop_length * 2` örneklemi kapsar.

#### encode[[diffusers.MMAudioVAE.encode]]

```python
encode(audio: torch.Tensor, return_dict: bool = True)
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_mmaudio.py#L403)

**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](/docs/diffusers/main/tr/api/models/autoencoderkl_qwenimage#diffusers.models.modeling_outputs.AutoencoderKLOutput) döndürülüp döndürülmemesi.

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

#### decode[[diffusers.MMAudioVAE.decode]]

```python
decode(z: torch.Tensor, return_dict: bool = True)
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_mmaudio.py#L420)

**Parametreler:**

z (`torch.Tensor`, şekli `(batch_size, latent_channels, num_latent_frames)`) : `scaling_factor` değerine 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.

**Dönüş:**

[MMAudioVocoder](/docs/diffusers/main/tr/api/models/kandinsky6_vae#diffusers.MMAudioVocoder) için hazır, `(batch_size, mel_bins, num_mel_frames)` boyutlu mel spektrogramı.

Latentleri mel spektrograma çözümlen.

#### forward[[diffusers.MMAudioVAE.forward]]

```python
forward(sample: torch.Tensor, sample_posterior: bool = False, return_dict: bool = True, generator: torch.Generator | None = None)
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_mmaudio.py#L439)

**Parametreler:**

sample (`torch.Tensor`, şekli `(batch_size, num_samples)`) : Mel spektrogram olarak kodlanacak ve 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ülmediğini belirtir.

generator (`torch.Generator`, *isteğe bağlı*) : Örnekleme işlemini deterministik hale getirmek için kullanılan bir [`torch.Generator`](https://pytorch.org/docs/stable/generated/torch.Generator.html).

**Dönüş:** `~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[[diffusers.MMAudioVocoder]]

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

#### diffusers.MMAudioVocoder[[diffusers.MMAudioVocoder]]

```python
diffusers.MMAudioVocoder(num_mels: int = 128, upsample_initial_channel: int = 1536, upsample_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)))
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/mmaudio_vocoder.py#L154)

**Parametreler:**

num_mels (`int`, varsayılan `128`) : Girdi spektrogramının mel kutu sayısı. Eşleşen [MMAudioVAE](/docs/diffusers/main/tr/api/models/kandinsky6_vae#diffusers.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](/docs/diffusers/main/tr/api/models/kandinsky6_vae#diffusers.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)`) : Kalıntı bloklarının çekirdek boyutları.

resblock_dilation_sizes (`tuple[tuple[int, ...], ...]`, varsayılan `((1, 3, 5), (1, 3, 5), (1, 3, 5))`) : Kalıntı bloklarının dilasyonları.

Anti-aliased Snake aktivasyonlarına sahip (https://github.com/junjun3518/alias-free-torch, Apache 2.0) BigVGAN-v2 vokoderi (https://github.com/NVIDIA/BigVGAN, MIT lisansı), [MMAudioVAE](/docs/diffusers/main/tr/api/models/kandinsky6_vae#diffusers.MMAudioVAE)'nin çözdüğü mel spektrogramlarını [Kandinsky6TI2VAPipeline](/docs/diffusers/main/tr/api/pipelines/kandinsky6#diffusers.Kandinsky6TI2VAPipeline) için dalga formlarına dönüştürür.

#### forward[[diffusers.MMAudioVocoder.forward]]

```python
forward(mel: torch.Tensor, return_dict: bool = True)
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/mmaudio_vocoder.py#L213)

**Parametreler:**

mel (`torch.Tensor`, şekli `(batch_size, num_mels, num_mel_frames)`) : [MMAudioVAE](/docs/diffusers/main/tr/api/models/kandinsky6_vae#diffusers.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.

**Dönüş:**

`[-1, 1]` aralığında, `(batch_size, 1, num_samples)` biçimindeki dalga formu.

