# AutoencoderKLHunyuanImage

Model autoencoder variational (VAE) 2D dengan kerugian KL yang digunakan dalam [HunyuanImage2.1].

Model dapat dimuat dengan potongan kode berikut.

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

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

Model VAE untuk gambar 2D dengan dukungan penataan spasial.

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

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

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

**Parameter:**

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

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

**Mengembalikan:** `~models.vae.DecoderOutput` atau `tuple`

Jika return_dict adalah True, sebuah `~models.vae.DecoderOutput` dikembalikan, selain itu sebuah `tuple` biasa dikembalikan.

Decode sekelompok gambar.

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

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

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

**Parameter:**

tile_sample_min_size (`int`, *opsional*) : Ukuran minimum yang diperlukan agar sampel dapat dipisahkan menjadi ubin di sepanjang dimensi spasial.

tile_overlap_factor (`float`, *opsional*) : Faktor overlap yang diperlukan agar latent dapat dipisahkan menjadi tile di sepanjang dimensi spasial.

Aktifkan decoding VAE bertile spasial. Ketika opsi ini diaktifkan, VAE akan membagi tensor input menjadi beberapa tile untuk menghitung decoding dan encoding dalam beberapa langkah. Hal ini berguna untuk menghemat memori dalam jumlah besar dan memungkinkan pemrosesan gambar yang lebih besar.

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

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

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

**Parameter:**

x (`torch.Tensor`) : Batch input gambar.

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

**Mengembalikan:**

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

Enkodekan batch gambar menjadi latents.

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

**Parameter:**

sample (`torch.Tensor`) : Sampel input.

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

return_dict (`bool`, *opsional*, defaultnya `True`) : Apakah akan mengembalikan `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:** `~models.vae.DecoderOutput` atau `tuple`

Jika `return_dict` bernilai True, sebuah `~models.vae.DecoderOutput` akan dikembalikan, selain itu sebuah `tuple` biasa akan dikembalikan.

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

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

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

**Parameter:**

z (`torch.Tensor`) : Tensor laten dengan bentuk (B, C, H, W).

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

**Mengembalikan:** `~models.vae.DecoderOutput` atau `tuple`

Jika return_dict adalah True, sebuah `~models.vae.DecoderOutput` dikembalikan, selain itu sebuah `tuple` biasa dikembalikan.

Decode latent menggunakan strategi tiling spasial.

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

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

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

**Parameter:**

x (`torch.Tensor`) : Tensor input dengan bentuk (B, C, T, H, W).

**Mengembalikan:** `torch.Tensor`

Representasi laten dari gambar yang dikodekan.

Enkodekan input menggunakan strategi penataan spasial.

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

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

**Parameter:**

sample (`torch.Tensor` dengan bentuk `(batch_size, num_channels, height, width)`) : Sampel output yang didekodekan dari lapisan terakhir model.

Output dari metode decoding.

