# AutoencoderKLKVAEAudio

Un auto-encodeur variationnel convolutif 1D (VAE) avec perte KL pour l'audio, introduit par l'équipe Kandinsky Lab dans [KVAE-Audio](https://huggingface.co/kandinskylab/KVAE-Audio). Il compresse les formes d'onde brutes, à bande complète (48 kHz), en latents continus compacts et les reconstruit avec une haute fidélité pour la parole, la musique et l'audio général.

Le modèle peut être chargé à l'aide du fragment de code suivant.

```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 = [2, 3, 4, 5, 8], latent_dim: int = 2048, codebook_dim: int = 64, decoder_dim: int = 1536, decoder_rates: list = [8, 5, 4, 3, 2], sample_rate: int = 48000, num_channels: int = 1, attn_num_heads: int = 8)
```

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

**Paramètres :**

encoder_dim (`int`, *facultatif*, valeur par défaut 64) : Dimension de base des canaux pour l'encodeur ; doublée à chaque étape de sous-échantillonnage.

encoder_rates (`list[int]`, *facultatif*, par défaut `[2, 3, 4, 5, 8]`) : Pas de sous-échantillonnage dans l'encodeur.

latent_dim (`int`, *facultatif*, valeur par défaut 2048) : Dimension du canal de la sortie de l'encodeur (avant le goulot d'étranglement `in_proj`).

codebook_dim (`int`, *facultatif*, valeur par défaut 64) : Dimension du canal de l'espace latent de la distribution a posteriori (après le goulot d'étranglement `in_proj`).

decoder_dim (`int`, *facultatif*, valeur par défaut 1536) : Dimension de base des canaux du décodeur ; divisée par deux à chaque étape de suréchantillonnage.

decoder_rates (`list[int]`, *facultatif*, par défaut `[8, 5, 4, 3, 2]`) : Pas pour le rééchantillonnage par interpolation dans le décodeur.

sample_rate (`int`, *facultatif*, valeur par défaut 48000) : Le taux d'échantillonnage, en Hz, sur lequel le modèle a été entraîné.

num_channels (`int`, *facultatif*, valeur par défaut 1) : Nombre de canaux dans les données audio (1 pour le mono).

attn_num_heads (`int`, *facultatif*, valeur par défaut 8) : Nombre de têtes dans le bloc d'auto-attention appliqué à la sortie de l'encodeur.

Un auto-encodeur convolutif 1D pour encoder les formes d'onde audio brutes en latents continus et les décoder à nouveau en formes d'onde. Introduit dans [KVAE-Audio](https://huggingface.co/kandinskylab/KVAE-Audio).

Ce modèle hérite de [ModelMixin](/docs/diffusers/main/fr/api/models/overview#diffusers.ModelMixin). Consultez la documentation de la classe parente pour ses méthodes génériques implémentées pour tous les modèles (tels que le téléchargement ou l'enregistrement).

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

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

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

**Paramètres :**

z (`torch.Tensor`) : Lot d'entrée de vecteurs latents.

return_dict (`bool`, *facultatif*, par défaut `True`) : Indique s'il faut retourner un [DecoderOutput](/docs/diffusers/main/fr/api/models/autoencoderkl_qwenimage#diffusers.models.autoencoders.vae.DecoderOutput) plutôt qu'un simple tuple.

**Retourne :** [DecoderOutput](/docs/diffusers/main/fr/api/models/autoencoderkl_qwenimage#diffusers.models.autoencoders.vae.DecoderOutput) ou `tuple`

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

Décoder un lot de latents en formes d’onde audio.

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

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

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

**Paramètres :**

audio_data (`torch.Tensor` de forme `(batch_size, num_channels, num_samples)`) : Lot d'entrée de formes d'onde audio brutes.

return_dict (`bool`, *facultatif*, par défaut `True`) : Indique s'il faut retourner un `~models.autoencoder_kl.AutoencoderKLOutput` plutôt qu'un simple tuple.

**Retourne :**

Les représentations latentes de l'audio encodé. Si `return_dict` est True, un `~models.autoencoder_kl.AutoencoderKLOutput` est renvoyé, sinon un simple `tuple` est renvoyé.

Encode un lot de formes d'onde audio en latents.

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

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

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

**Paramètres :**

sample (`torch.Tensor` de forme `(batch_size, num_channels, num_samples)`) : Lot d'entrée de formes d'onde audio brutes.

sample_posterior (`bool`, *facultatif*, par défaut `False`) : Indique s'il faut échantillonner à partir de la distribution a posteriori.

return_dict (`bool`, *facultatif*, par défaut `True`) : Indique s'il faut retourner un [DecoderOutput](/docs/diffusers/main/fr/api/models/autoencoderkl_qwenimage#diffusers.models.autoencoders.vae.DecoderOutput) plutôt qu'un simple tuple.

generator (`torch.Generator`, *facultatif*) : Un [`torch.Generator`](https://pytorch.org/docs/stable/generated/torch.Generator.html) pour rendre l'échantillonnage déterministe.

**Retourne :** [DecoderOutput](/docs/diffusers/main/fr/api/models/autoencoderkl_qwenimage#diffusers.models.autoencoders.vae.DecoderOutput) ou `tuple`

Si `return_dict` est True, un [DecoderOutput](/docs/diffusers/main/fr/api/models/autoencoderkl_qwenimage#diffusers.models.autoencoders.vae.DecoderOutput) est renvoyé, sinon un simple `tuple` est renvoyé.

