# AutoencoderOobleck

El modelo de autoencoder variacional (VAE) Oobleck con pérdida KL se introdujo en [Stability-AI/stable-audio-tools](https://github.com/Stability-AI/stable-audio-tools) y [Stable Audio Open](https://huggingface.co/papers/2407.14358) de Stability AI. El modelo se utiliza en 🤗 Diffusers para codificar las formas de onda de audio en latentes y para decodificar las representaciones latentes en formas de onda de audio.

El resumen del artículo es:

*Los modelos generativos abiertos son de vital importancia para la comunidad, ya que permiten realizar ajustes finos y sirven como líneas base al presentar nuevos modelos. Sin embargo, la mayoría de los modelos actuales de texto a audio son privados y no están accesibles para que artistas e investigadores construyan sobre ellos. Aquí describimos la arquitectura y el proceso de entrenamiento de un nuevo modelo de texto a audio de pesos abiertos, entrenado con datos de Creative Commons. Nuestra evaluación muestra que el rendimiento del modelo es competitivo con el estado del arte en diversas métricas. Notablemente, los resultados de FDopenl3 reportados (que miden el realismo de las generaciones) muestran su potencial para la síntesis de sonido estéreo de alta calidad a 44.1 kHz.*

## AutoencoderOobleck[[diffusers.AutoencoderOobleck]]

#### diffusers.AutoencoderOobleck[[diffusers.AutoencoderOobleck]]

```python
diffusers.AutoencoderOobleck(encoder_hidden_size = 128, downsampling_ratios = [2, 4, 4, 8, 8], channel_multiples = [1, 2, 4, 8, 16], decoder_channels = 128, decoder_input_channels = 64, audio_channels = 2, sampling_rate = 44100)
```

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_oobleck.py#L294)

**Parámetros:**

encoder_hidden_size (`int`, *opcional*, valor predeterminado 128) : Dimensión de la representación intermedia para el codificador.

downsampling_ratios (`list[int]`, *opcional*, valor predeterminado `[2, 4, 4, 8, 8]`) : Proporciones para el muestreo descendente en el codificador. Se utilizan en orden inverso para el muestreo ascendente en el decodificador.

channel_multiples (`list[int]`, *opcional*, valor predeterminado `[1, 2, 4, 8, 16]`) : Multiplos utilizados para determinar los tamaños ocultos de las capas ocultas.

decoder_channels (`int`, *opcional*, valor predeterminado 128) : Dimensión de la representación intermedia para el decodificador.

decoder_input_channels (`int`, *opcional*, valor predeterminado 64) : Dimensión de entrada para el decodificador. Corresponde a la dimensión latente.

audio_channels (`int`, *opcional*, valor predeterminado 2) : Número de canales en los datos de audio. 1 para mono o 2 para estéreo.

sampling_rate (`int`, *opcional*, valor predeterminado 44100) : La tasa de muestreo a la que la forma de onda de audio debe digitalizarse, expresada en hercios (Hz).

Un autoencoder para codificar formas de onda en latentes y decodificar representaciones latentes en formas de onda. Introducido por primera vez en Stable Audio.

Este modelo hereda de [ModelMixin](/docs/diffusers/main/es/api/models/overview#diffusers.ModelMixin). Consulta la documentación de la superclase para sus métodos genéricos implementados para todos los modelos (como la descarga o el guardado).

#### decode[[diffusers.AutoencoderOobleck.decode]]

```python
decode(z: FloatTensor, return_dict: bool = True, generator = None)
```

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_oobleck.py#L488)

**Parámetros:**

z (`torch.Tensor`) : Lote de entrada de vectores latentes.

return_dict (`bool`, *opcional*, valor predeterminado `True`) : Si se debe devolver un `~models.vae.OobleckDecoderOutput` en lugar de una tupla simple.

**Devuelve:** `~models.vae.OobleckDecoderOutput` o `tuple`

If return_dict is True, a `~models.vae.OobleckDecoderOutput` is returned, otherwise a plain `tuple` is returned.

Decodificar un lote de imágenes.

#### encode[[diffusers.AutoencoderOobleck.encode]]

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

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_oobleck.py#L377)

**Parámetros:**

x (`torch.Tensor`) : Lote de entrada de imágenes.

return_dict (`bool`, *opcional*, valor predeterminado `True`) : Si se debe devolver un `~models.autoencoder_kl.AutoencoderKLOutput` en lugar de una tupla simple.

**Devuelve:**

Las representaciones latentes de las imágenes codificadas. Si `return_dict` es True, se devuelve un `~models.autoencoder_kl.AutoencoderKLOutput`; de lo contrario, se devuelve una `tuple` simple.

Codifica un lote de imágenes en latentes.

#### forward[[diffusers.AutoencoderOobleck.forward]]

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

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_oobleck.py#L517)

**Parámetros:**

sample (`torch.Tensor`) : Muestra de entrada.

sample_posterior (`bool`, *opcional*, por defecto `False`) : Si se muestrea de la posterior.

return_dict (`bool`, *opcional*, por defecto `True`) : Indica si se debe devolver un `OobleckDecoderOutput` en lugar de una tupla simple.

generator (`torch.Generator`, *opcional*) : Un [`torch.Generator`](https://pytorch.org/docs/stable/generated/torch.Generator.html) para hacer que la muestreo sea determinista.

**Devuelve:** `~models.vae.OobleckDecoderOutput` o `tuple`

Si `return_dict` es True, se devuelve un `~models.vae.OobleckDecoderOutput`; en caso contrario, se devuelve una `tuple` simple.

## OobleckDecoderOutput[[diffusers.models.autoencoders.autoencoder_oobleck.OobleckDecoderOutput]]

#### diffusers.models.autoencoders.autoencoder_oobleck.OobleckDecoderOutput[[diffusers.models.autoencoders.autoencoder_oobleck.OobleckDecoderOutput]]

```python
diffusers.models.autoencoders.autoencoder_oobleck.OobleckDecoderOutput(sample: Tensor)
```

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_oobleck.py#L202)

**Parámetros:**

sample (`torch.Tensor` de forma `(batch_size, audio_channels, sequence_length)`) : La muestra de salida decodificada de la última capa del modelo.

Salida del método de decodificación.

## AutoencoderOobleckOutput[[diffusers.models.autoencoders.autoencoder_oobleck.AutoencoderOobleckOutput]]

#### diffusers.models.autoencoders.autoencoder_oobleck.AutoencoderOobleckOutput[[diffusers.models.autoencoders.autoencoder_oobleck.AutoencoderOobleckOutput]]

```python
diffusers.models.autoencoders.autoencoder_oobleck.AutoencoderOobleckOutput(latent_dist: OobleckDiagonalGaussianDistribution)
```

[Fuente](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_oobleck.py#L187)

**Parámetros:**

latent_dist (`OobleckDiagonalGaussianDistribution`) : Salidas codificadas de `Encoder` representadas como la media y la desviación estándar de `OobleckDiagonalGaussianDistribution`. `OobleckDiagonalGaussianDistribution` permite muestrear latentes de la distribución.

Salida del método de codificación de AutoencoderOobleck.

