# AutoencoderKLKVAEAudio

Variational autoencoder (VAE) konvolusional 1D dengan kerugian KL untuk audio, yang diperkenalkan oleh Tim Kandinsky Lab dalam [KVAE-Audio](https://huggingface.co/kandinskylab/KVAE-Audio). Model ini mengompres waveform mentah pita penuh (48 kHz) menjadi latens kontinu yang ringkas dan merekonstruksinya dengan fidelitas tinggi untuk ucapan, musik, dan audio umum.

Model dapat dimuat dengan potongan kode berikut.

```python
import torch
from diffusers import AutoencoderKLKVAEAudio

vae = AutoencoderKLKVAEAudio.from_pretrained("kandinskylab/KVAE-Audio", subfolder="diffusers", dtype=torch.float32)
```

## AutoencoderKLKVAEAudio[[diffusers.AutoencoderKLKVAEAudio]]

#### diffusers.AutoencoderKLKVAEAudio[[diffusers.AutoencoderKLKVAEAudio]]

```python
diffusers.AutoencoderKLKVAEAudio(encoder_dim: int = 64, encoder_rates: list[int] = [2, 3, 4, 5, 8], latent_dim: int = 2048, codebook_dim: int = 64, decoder_dim: int = 1536, decoder_rates: list[int] = [8, 5, 4, 3, 2], sample_rate: int = 48000, num_channels: int = 1, attn_num_heads: int = 8)
```

[Sumber](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_kl_kvae_audio.py#L249)

**Parameter:**

encoder_dim (`int`, *opsional*, default 64) : Dimensi channel dasar untuk encoder; digandakan di setiap tahap downsampling.

encoder_rates (`list[int]`, *opsional*, defaultnya `[2, 3, 4, 5, 8]`) : Strides untuk downsampling di encoder.

latent_dim (`int`, *opsional*, default 2048) : Dimensi channel dari output encoder (sebelum bottleneck `in_proj`).

codebook_dim (`int`, *opsional*, default 64) : Dimensi channel dari ruang laten distribusi posterior (setelah bottleneck `in_proj`).

decoder_dim (`int`, *opsional*, default 1536) : Dimensi channel dasar untuk decoder; dibagi dua di setiap tahap upsampling.

decoder_rates (`list[int]`, *opsional*, defaultnya `[8, 5, 4, 3, 2]`) : Strides untuk upsampling di decoder.

sample_rate (`int`, *opsional*, default 48000) : Laju sampling, dalam Hz, yang digunakan saat model dilatih.

num_channels (`int`, *opsional*, default 1) : Jumlah channel dalam data audio (1 untuk mono).

attn_num_heads (`int`, *opsional*, default 8) : Jumlah head dalam blok self-attention yang diterapkan pada output encoder.

Autoencoder konvolusional 1D untuk mengkodekan bentuk gelombang audio mentah menjadi latens kontinu dan mendekodekannya kembali menjadi bentuk gelombang. Diperkenalkan dalam [KVAE-Audio](https://huggingface.co/kandinskylab/KVAE-Audio).

Model ini mewarisi dari [ModelMixin](/docs/diffusers/main/id/api/models/overview#diffusers.ModelMixin). Periksa dokumentasi kelas induk untuk metode generiknya yang diimplementasikan untuk semua model (seperti mengunduh atau menyimpan).

#### decode[[diffusers.AutoencoderKLKVAEAudio.decode]]

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

[Sumber](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_kl_kvae_audio.py#L354)

**Parameter:**

z (`torch.Tensor`) : Batch input dari vektor laten.

return_dict (`bool`, *opsional*, defaultnya `True`) : Apakah akan mengembalikan [DecoderOutput](/docs/diffusers/main/id/api/models/autoencoderkl_qwenimage#diffusers.models.autoencoders.vae.DecoderOutput) alih-alih tuple biasa.

**Mengembalikan:** [DecoderOutput](/docs/diffusers/main/id/api/models/autoencoderkl_qwenimage#diffusers.models.autoencoders.vae.DecoderOutput) atau `tuple`

Jika return_dict adalah True, sebuah [DecoderOutput](/docs/diffusers/main/id/api/models/autoencoderkl_qwenimage#diffusers.models.autoencoders.vae.DecoderOutput) dikembalikan, selain itu sebuah `tuple` polos dikembalikan.

Decode batch of latents menjadi waveform audio.

#### encode[[diffusers.AutoencoderKLKVAEAudio.encode]]

```python
encode(audio_data: Tensor, return_dict: bool = True)
```

[Sumber](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_kl_kvae_audio.py#L321)

**Parameter:**

audio_data (`torch.Tensor` dengan bentuk `(batch_size, num_channels, num_samples)`) : Batch input dari waveform audio mentah.

return_dict (`bool`, *opsional*, defaultnya `True`) : Apakah akan mengembalikan `~models.autoencoder_kl.AutoencoderKLOutput` alih-alih tuple biasa.

**Mengembalikan:**

Representasi laten dari audio yang dikodekan. Jika `return_dict` bernilai True, sebuah `~models.autoencoder_kl.AutoencoderKLOutput` dikembalikan, selain itu sebuah `tuple` polos yang dikembalikan.

Enkodekan batch waveform audio menjadi latents.

#### forward[[diffusers.AutoencoderKLKVAEAudio.forward]]

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

[Sumber](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_kl_kvae_audio.py#L379)

**Parameter:**

sample (`torch.Tensor` dengan bentuk `(batch_size, num_channels, num_samples)`) : Batch input dari waveform audio mentah.

sample_posterior (`bool`, *opsional*, defaultnya `False`) : Apakah akan melakukan sampling dari posterior.

return_dict (`bool`, *opsional*, defaultnya `True`) : Apakah akan mengembalikan [DecoderOutput](/docs/diffusers/main/id/api/models/autoencoderkl_qwenimage#diffusers.models.autoencoders.vae.DecoderOutput) alih-alih tuple biasa.

generator (`torch.Generator`, *opsional*) : Sebuah [`torch.Generator`](https://pytorch.org/docs/stable/generated/torch.Generator.html) untuk membuat sampling menjadi deterministik.

**Mengembalikan:** [DecoderOutput](/docs/diffusers/main/id/api/models/autoencoderkl_qwenimage#diffusers.models.autoencoders.vae.DecoderOutput) atau `tuple`

Jika `return_dict` bernilai True, sebuah [DecoderOutput](/docs/diffusers/main/id/api/models/autoencoderkl_qwenimage#diffusers.models.autoencoders.vae.DecoderOutput) akan dikembalikan, selain itu sebuah `tuple` biasa akan dikembalikan.

