# AutoencoderKLMiniMaxH3Image

MiniMax tarafından [MiniMax-H3-Image](https://huggingface.co/MiniMaxAI/MiniMax-H3-Image)'da kullanılan, KL kaybı içeren görüntü varyasyonel otoenkoder (VAE) modeli. [AutoencoderKLMiniMaxH3](/docs/diffusers/v0.43.0/tr/api/models/autoencoderkl_minimax_h3#diffusers.AutoencoderKLMiniMaxH3)'ün tek bir kare üzerinde çalıştırılan nedensel 3D CNN enkoderini, 2D ViT dekoderiyle eşleştirir ve uzaysal olarak 16x sıkıştırır. `encode` ve `decode`, 4B görüntü tensörlerini alır ve döndürür.

[AutoencoderKLMiniMaxH3](/docs/diffusers/v0.43.0/tr/api/models/autoencoderkl_minimax_h3#diffusers.AutoencoderKLMiniMaxH3) ile üç ortak kuralı paylaşır:

- **Latentler kanal başına normalize edilir.** `scaling_factor` yoktur: bir pipeline `(latent - latents_mean) / latents_std` ile kodlar ve `latent * latents_std + latents_mean` ile çözer.
- **Piksel konvansiyonu, `[0, 1]` taban aralığı üzerinde ImageNet-normalize edilmiş RGB'dir**, alışıldık `[-1, 1]` değildir. `encode`, `(pixel - imagenet_mean) / imagenet_std` bekler ve `decode` değerleri aynı uzayda döndürür; bu nedenle bir pipeline, ön işlemden önce `sample * imagenet_std + imagenet_mean` uygular ve `[0, 1]` aralığına kırpma yapar.
- **Uzamsal karolar varsayılan olarak açıktır.** MiniMax-H3-Image, hem kodlama hem de çözümlüme için karolama etkinleştirilmiş olarak yayınlanmış ve yayınlanan görseller karoları birleştirilmiş olanlardır; bu nedenle bu özelliği kapatmak çıktıyı değiştirir. Karo geometrisini değiştirmek için `enable_tiling`, kapatmak için `disable_tiling` kullanın.

```python
import torch
from diffusers import AutoencoderKLMiniMaxH3Image

vae = AutoencoderKLMiniMaxH3Image.from_pretrained(
    "MiniMaxAI/MiniMax-H3-Image", subfolder="vae_diffusers", dtype=torch.float32
).to("cuda")  # or "mps", "xpu", "cpu"
```

## AutoencoderKLMiniMaxH3Image[[diffusers.AutoencoderKLMiniMaxH3Image]]

#### diffusers.AutoencoderKLMiniMaxH3Image[[diffusers.AutoencoderKLMiniMaxH3Image]]

```python
diffusers.AutoencoderKLMiniMaxH3Image(in_channels: int = 3, out_channels: int = 3, latent_channels: int = 24, block_out_channels: tuple[int, ...] = (128, 256, 256, 512, 512, 1024), layers_per_block: int = 2, spatial_downsample_factors: tuple[int, ...] = (2, 2, 2, 2, 1, 1), temporal_downsample_factors: tuple[int, ...] = (1, 2, 2, 1, 1, 1), norm_num_groups: int = 32, norm_eps: float = 1e-06, spatial_padding_mode: str = 'reflect', decoder_num_layers: int = 24, decoder_num_attention_heads: int = 16, decoder_attention_head_dim: int = 64, decoder_num_register_tokens: int = 4, decoder_ffn_mult: int = 4, decoder_rope_theta: float = 100.0, decoder_rope_dim_ratio: float = 0.5, decoder_norm_eps: float = 1e-05, latents_mean: tuple[float, ...] = (0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0), latents_std: tuple[float, ...] = (1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0))
```

[Kaynak](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/autoencoders/autoencoder_kl_minimax_h3_image.py#L499)

Nedensel 3D CNN kodlayıcıya ve nedensiz 2D ViT çözücüye sahip, [MiniMax-H3-Image](https://huggingface.co/MiniMaxAI) içinde kullanılan bir VAE modeli. Kodlayıcı, tek bir kare üzerinde çalıştırılan MiniMax-H3 video kodlayıcısıdır; çözücü ise yalnızca görüntü için tasarlanmış bir ViT'dir.

Bu model [ModelMixin](/docs/diffusers/v0.43.0/tr/api/models/overview#diffusers.ModelMixin) sınıfından devralır. Tüm modeller için uygulanan genel yöntemlerini (indirme veya kaydetme gibi) görmek için üst sınıfın belgelendirmesine bakın.

Latentler, `scaling_factor` yerine kanal başına `latents_mean` / `latents_std` ile normalize edilir; bir pipeline, `(latent - latents_mean) / latents_std` ile kodlar ve `latent * latents_std + latents_mean` ile çözer.

Piksel konvansiyonu, alışıldık `[-1, 1]` aralığı yerine `[0, 1]` taban aralığı üzerinde ImageNet-normalize edilmiş RGB'dir: `encode`, `(pixel - imagenet_mean) / imagenet_std` bekler ve `decode` değerleri aynı uzayda döndürür; bu nedenle bir pipeline, ön işlemden önce `sample * imagenet_std + imagenet_mean` (ortalama `(0.485, 0.456, 0.406)`, standart sapma `(0.229, 0.224, 0.225)`) uygulayıp `[0, 1]` aralığına kırpmalıdır.

Kütüphanedeki çoğu otoenkoderın aksine, uzamsal karolama (tiling) **varsayılan olarak açıktır**: MiniMax-H3-Image, hem kodlama hem de çözümlendirme için karolama etkinleştirilerek yayımlanmıştır ve yayımlanan görseller karoların birleştirilmiş hâlleridir; bu nedenle karolamayı devre dışı bırakmak çıktıyı değiştirir. Karolama geometrisini değiştirmek için `enable_tiling`, kapatmak için `disable_tiling` kullanın.

#### encode[[diffusers.AutoencoderKLMiniMaxH3Image.encode]]

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

[Kaynak](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/autoencoders/autoencoder_kl_minimax_h3_image.py#L758)

**Parametreler:**

x (`torch.Tensor`) : Giriş görüntü partisi, şekli `(batch_size, in_channels, height, width)`.

return_dict (`bool`, *isteğe bağlı*, varsayılan `True`) : Düz bir tuple yerine [AutoencoderKLOutput](/docs/diffusers/v0.43.0/tr/api/models/autoencoderkl_qwenimage#diffusers.models.modeling_outputs.AutoencoderKLOutput) döndürülüp döndürülmediğini belirtir.

**Dönüş:**

Kodlanmış görüntülerin gizli dağılımı, `(batch_size, latent_channels, height // spatial_compression_ratio, width // spatial_compression_ratio)` biçiminde gizli değişkenler üzerinde. Not: MiniMax-H3-Image, örneklenen gizli değişkenleri sonrasında `latents_mean` / `latents_std` ile normalize eder.

Bir görüntü grubunu latentlere kodlayın.

#### decode[[diffusers.AutoencoderKLMiniMaxH3Image.decode]]

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

[Kaynak](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/autoencoders/autoencoder_kl_minimax_h3_image.py#L786)

**Parametreler:**

z (`torch.Tensor`) : Girdi partisi latensleri, şekil `(batch_size, latent_channels, height, width)`.

return_dict (`bool`, *isteğe bağlı*, varsayılan `True`) : Düz bir tuple yerine [DecoderOutput](/docs/diffusers/v0.43.0/tr/api/models/autoencoderkl_qwenimage#diffusers.models.autoencoders.vae.DecoderOutput) döndürülüp döndürülmemesi.

**Dönüş:** [DecoderOutput](/docs/diffusers/v0.43.0/tr/api/models/autoencoderkl_qwenimage#diffusers.models.autoencoders.vae.DecoderOutput) veya `tuple`

Çözülen görüntülerin şekli `(batch_size, out_channels, height * spatial_compression_ratio, width * spatial_compression_ratio)`.

Bir latent grubunu çözümlenir.

#### enable_tiling[[diffusers.AutoencoderKLMiniMaxH3Image.enable_tiling]]

```python
enable_tiling(tile_sample_min_height: int | None = None, tile_sample_min_width: int | None = None, tile_sample_min_overlap_height: int | None = None, tile_sample_min_overlap_width: int | None = None)
```

[Kaynak](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/autoencoders/autoencoder_kl_minimax_h3_image.py#L608)

**Parametreler:**

tile_sample_min_height (`int`, *isteğe bağlı*) : Piksel uzayındaki karoların yüksekliği. Bu değere göre daha yüksek olan kareler, yükseklik boyutu boyunca bölünür.

tile_sample_min_width (`int`, *isteğe bağlı*) : Piksel uzayındaki karoların genişliği. Bu değerden daha geniş olan kareler, genişlik boyutu boyunca bölünür.

tile_sample_min_overlap_height (`int`, *isteğe bağlı*) : İki ardışık dikey karolar arasındaki minimum örtüşme, piksel cinsinden.

tile_sample_min_overlap_width (`int`, *isteğe bağlı*) : İki ardışık yatay karolar arasındaki minimum örtüşme, piksel cinsinden.

Döşemeli VAE kodlama/çözme işlemini etkinleştirir. Bu seçenek etkinleştirildiğinde, VAE kareleri döşemelere ayırır, her döşemeyi ayrı ayrı kodlar veya çözer ve örtüşen kısımları doğrusal olarak birleştirir. Bu, bellek gereksinimini azaltır ve daha büyük karelerin işlenmesine olanak tanır.

#### forward[[diffusers.AutoencoderKLMiniMaxH3Image.forward]]

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

[Kaynak](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/autoencoders/autoencoder_kl_minimax_h3_image.py#L812)

**Parametreler:**

sample (`torch.Tensor`) : Giriş görüntü partisi, şekli `(batch_size, in_channels, height, width)`.

sample_posterior (`bool`, *isteğe bağlı*, varsayılan `False`) : Posterior dağılımın modunu almak yerine örneklemesinin alınması.

generator (`torch.Generator`, *isteğe bağlı*) : `sample_posterior=True` olduğunda kullanılan Generator.

return_dict (`bool`, *isteğe bağlı*, varsayılan `True`) : Düz bir tuple yerine [DecoderOutput](/docs/diffusers/v0.43.0/tr/api/models/autoencoderkl_qwenimage#diffusers.models.autoencoders.vae.DecoderOutput) döndürülüp döndürülmemesi.

**Dönüş:** [DecoderOutput](/docs/diffusers/v0.43.0/tr/api/models/autoencoderkl_qwenimage#diffusers.models.autoencoders.vae.DecoderOutput) veya `tuple`

Geri dönen görüntüler, şekli `(batch_size, out_channels, height, width)`.

Bir görüntü grubunu kodlayıp ardından çözümlendirin.

