# AutoencoderKLHunyuanImage

Le modèle d'auto-encodeur variationnel (VAE) 2D avec perte KL utilisé dans [HunyuanImage2.1].

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

```python
from diffusers import AutoencoderKLHunyuanImage

vae = AutoencoderKLHunyuanImage.from_pretrained("hunyuanvideo-community/HunyuanImage-2.1-Diffusers", subfolder="vae", dtype=torch.bfloat16)
```

## AutoencoderKLHunyuanImage[[diffusers.AutoencoderKLHunyuanImage]]

#### diffusers.AutoencoderKLHunyuanImage[[diffusers.AutoencoderKLHunyuanImage]]

```python
diffusers.AutoencoderKLHunyuanImage(in_channels: int, out_channels: int, latent_channels: int, block_out_channels: tuple[int, ...], layers_per_block: int, spatial_compression_ratio: int, sample_size: int, scaling_factor: float = None, downsample_match_channel: bool = True, upsample_match_channel: bool = True)
```

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

Un modèle VAE pour images 2D avec prise en charge du tuilage spatial.

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.AutoencoderKLHunyuanImage.decode]]

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

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

**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 `~models.vae.DecoderOutput` plutôt qu'un simple tuple.

**Retourne :** `~models.vae.DecoderOutput` ou `tuple`

Si `return_dict` est True, un `~models.vae.DecoderOutput` est renvoyé, sinon un simple `tuple` est renvoyé.

Décoder un lot d'images.

#### enable_tiling[[diffusers.AutoencoderKLHunyuanImage.enable_tiling]]

```python
enable_tiling(tile_sample_min_size: int | None = None, tile_overlap_factor: float | None = None)
```

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

**Paramètres :**

tile_sample_min_size (`int`, *facultatif*) : La taille minimale requise pour qu'un échantillon soit séparé en tuiles le long de la dimension spatiale.

tile_overlap_factor (`float`, *facultatif*) : Le facteur de chevauchement requis pour qu'un latent soit séparé en tuiles le long de la dimension spatiale.

Active le décodage VAE par tuiles spatiales. Lorsque cette option est activée, le VAE divise le tenseur d’entrée en tuiles pour effectuer le décodage et l’encodage en plusieurs étapes. Cela est utile pour économiser une grande quantité de mémoire et pour permettre le traitement d’images plus grandes.

#### encode[[diffusers.AutoencoderKLHunyuanImage.encode]]

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

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

**Paramètres :**

x (`torch.Tensor`) : Lot d'images en entrée.

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 des vidéos encodées. Si `return_dict` est True, un `~models.autoencoder_kl.AutoencoderKLOutput` est renvoyé, sinon un simple `tuple` est renvoyé.

Encode un lot d'images en latents.

#### forward[[diffusers.AutoencoderKLHunyuanImage.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_hunyuanimage.py#L667)

**Paramètres :**

sample (`torch.Tensor`) : Échantillon d'entrée.

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` 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 :** `~models.vae.DecoderOutput` ou `tuple`

Si `return_dict` est True, un `~models.vae.DecoderOutput` est renvoyé, sinon un simple `tuple` est renvoyé.

#### tiled_decode[[diffusers.AutoencoderKLHunyuanImage.tiled_decode]]

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

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

**Paramètres :**

z (`torch.Tensor`) : Tenseur latent de forme (B, C, H, W).

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

**Retourne :** `~models.vae.DecoderOutput` ou `tuple`

Si `return_dict` est True, un `~models.vae.DecoderOutput` est renvoyé, sinon un simple `tuple` est renvoyé.

Décoder les latents en utilisant la stratégie de tuilage spatial.

#### tiled_encode[[diffusers.AutoencoderKLHunyuanImage.tiled_encode]]

```python
tiled_encode(x: Tensor)
```

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

**Paramètres :**

x (`torch.Tensor`) : Tenseur d'entrée de forme (B, C, T, H, W).

**Retourne :** `torch.Tensor`

La représentation latente des images encodées.

Encode l'entrée en utilisant une stratégie de tuilage spatial.

## DecoderOutput[[diffusers.models.autoencoders.vae.DecoderOutput]]

#### diffusers.models.autoencoders.vae.DecoderOutput[[diffusers.models.autoencoders.vae.DecoderOutput]]

```python
diffusers.models.autoencoders.vae.DecoderOutput(sample: Tensor, commit_loss: typing.Optional[torch.FloatTensor] = None)
```

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

**Paramètres :**

sample (`torch.Tensor` de forme `(batch_size, num_channels, height, width)`) : L'échantillon de sortie décodé de la dernière couche du modèle.

Sortie de la méthode de décodage.

