# AutoencoderKLKVAEAudio

Одномерный свёрточный вариационный автоэнкодер (VAE) с потерей KL для аудио, предложенный командой Kandinsky Lab в [KVAE-Audio](https://huggingface.co/kandinskylab/KVAE-Audio). Он сжимает необработанные полнодиапазонные (48 кГц) звуковые сигналы в компактные непрерывные латенты и восстанавливает их с высокой точностью для речи, музыки и общего аудио.

Модель можно загрузить с помощью следующего фрагмента кода.

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

[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_kl_kvae_audio.py#L249)

**Параметры:**

encoder_dim (`int`, *optional*, по умолчанию 64) : Базовое измерение каналов для кодировщика; удваивается на каждом этапе понижающей дискретизации.

encoder_rates (`list[int]`, *необязательный*, по умолчанию `[2, 3, 4, 5, 8]`) : Шаги для понижения разрешения в кодировщике.

latent_dim (`int`, *optional*, по умолчанию 2048) : Размерность канала на выходе кодировщика (до узкого места `in_proj`).

codebook_dim (`int`, *optional*, по умолчанию 64) : Размерность канала в латентном пространстве апостериорного распределения (после бутылочного горлышка `in_proj`).

decoder_dim (`int`, *optional*, по умолчанию 1536) : Базовое измерение каналов для декодера; уменьшается вдвое на каждом этапе апсемплинга.

decoder_rates (`list[int]`, *необязательный*, по умолчанию `[8, 5, 4, 3, 2]`) : Ступени для апсемплинга в декодере.

sample_rate (`int`, *optional*, по умолчанию 48000) : Частота дискретизации, в Гц, на которой обучалась модель.

num_channels (`int`, *необязательный*, по умолчанию 1) : Количество каналов в аудиоданных (1 для моно).

attn_num_heads (`int`, *optional*, по умолчанию 8) : Количество головок в блоке само-внимания, применяемом к выходу кодировщика.

Одномерный свёрточный автоэнкодер для кодирования сырых аудиосигналов в непрерывные латенты и декодирования их обратно в сигналы. Представлен в [KVAE-Audio](https://huggingface.co/kandinskylab/KVAE-Audio).

Эта модель наследуется от [ModelMixin](/docs/diffusers/main/ru/api/models/overview#diffusers.ModelMixin). См. документацию суперкласса для его универсальных методов, реализованных для всех моделей (например, загрузка или сохранение).

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

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

[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_kl_kvae_audio.py#L354)

**Параметры:**

z (`torch.Tensor`) : Входная партия латентных векторов.

return_dict (`bool`, *необязательный*, по умолчанию `True`) : Нужно ли возвращать [DecoderOutput](/docs/diffusers/main/ru/api/models/autoencoderkl_qwenimage#diffusers.models.autoencoders.vae.DecoderOutput) вместо обычного кортежа.

**Возвращает:** [DecoderOutput](/docs/diffusers/main/ru/api/models/autoencoderkl_qwenimage#diffusers.models.autoencoders.vae.DecoderOutput) или `tuple`

If return_dict is True, a [DecoderOutput](/docs/diffusers/main/ru/api/models/autoencoderkl_qwenimage#diffusers.models.autoencoders.vae.DecoderOutput) is returned, otherwise a plain `tuple` is returned.

Декодирование батча латентов в аудиоволны.

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

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

[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_kl_kvae_audio.py#L321)

**Параметры:**

audio_data (`torch.Tensor` формы `(batch_size, num_channels, num_samples)`) : Входная партия сырых аудиоволновых форм.

return_dict (`bool`, *необязательный*, по умолчанию `True`) : Возвращать ли `~models.autoencoder_kl.AutoencoderKLOutput` вместо обычного кортежа.

**Возвращает:**

Латентные представления закодированного аудио. Если `return_dict` равно True, возвращается `~models.autoencoder_kl.AutoencoderKLOutput`, в противном случае возвращается обычный `tuple`.

Кодирует пакет аудиоволн в латенты.

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

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

[Источник](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_kl_kvae_audio.py#L379)

**Параметры:**

sample (`torch.Tensor` формы `(batch_size, num_channels, num_samples)`) : Входная партия сырых аудиоволновых форм.

sample_posterior (`bool`, *необязательный*, по умолчанию `False`) : Флаг, определяющий, следует ли выполнять выборку из апостериорного распределения.

return_dict (`bool`, *необязательный*, по умолчанию `True`) : Возвращать ли [DecoderOutput](/docs/diffusers/main/ru/api/models/autoencoderkl_qwenimage#diffusers.models.autoencoders.vae.DecoderOutput) вместо обычного кортежа.

generator (`torch.Generator`, *необязательный*) : [`torch.Generator`](https://pytorch.org/docs/stable/generated/torch.Generator.html) для обеспечения детерминированности выборки.

**Возвращает:** [DecoderOutput](/docs/diffusers/main/ru/api/models/autoencoderkl_qwenimage#diffusers.models.autoencoders.vae.DecoderOutput) или `tuple`

Если `return_dict` равно True, возвращается [DecoderOutput](/docs/diffusers/main/ru/api/models/autoencoderkl_qwenimage#diffusers.models.autoencoders.vae.DecoderOutput), иначе возвращается обычный `tuple`.

