# MiniMaxH3ImageTransformer2DModel

MiniMax tarafından [MiniMax-H3-Image](https://huggingface.co/MiniMaxAI/MiniMax-H3-Image) içinde tanıtılan, görüntü üretimi ve düzenlemesi için bir Diffusion Transformer modeli.

Bu, ses akışı olmadan [MiniMaxH3Transformer3DModel](/docs/diffusers/v0.43.0/tr/api/models/minimax_h3_transformer3d#diffusers.MiniMaxH3Transformer3DModel)'dir: tek bir blok yığını, metin koşullandırma bilgisini, referans görüntülerin satırlarını ve üretilen görüntünün satırlarını içeren **tek bir paketlenmiş 1-B diziyi** kapsar. Paketlenmiş yerleşimi oluşturma işi çağırana aittir; bu nedenle forward imzası, latentlerden ayrı olarak yerleşimi alır: `(t, h, w)` konum ızgarası, satır başına modalite etiketleri, satır başına zaman adımı indeksleri ve görüntü ile metin satırlarına adres veren iki indeks tensörü. [MiniMaxH3ImageBlocks](/docs/diffusers/v0.43.0/tr/api/pipelines/minimax_h3_image#diffusers.MiniMaxH3ImageBlocks) tüm bunları oluşturur.

Kontrol noktası, her adım için bir çıktı başlığı koruyan Parallel Decoding Distillation (PDD) ile altı örneklem adımına damıtılır. Bu nedenle `forward`, çalıştığı adımı temsil eden `pdd_step_index` parametresini alır ve o adımın başlığıyla projeksiyon yapar.

```python
import torch
from diffusers import MiniMaxH3ImageTransformer2DModel

transformer = MiniMaxH3ImageTransformer2DModel.from_pretrained(
    "MiniMaxAI/MiniMax-H3-Image", subfolder="transformer_diffusers", dtype=torch.bfloat16
).to("cuda")  # or "mps", "xpu", "cpu"
```

Checkpoint karma hassasiyete sahiptir: giriş yama projeksiyonu, zaman adımı MLP ve çıktı başları float32 iken blok yığını bfloat16'dır. `from_pretrained`, `_keep_in_fp32_modules` sayesinde bu yerleşimi korur; bu nedenle `dtype=torch.bfloat16` parametresini iletin ve float32 modüllerin yerleştirilmesini sağlayın, modelin ardından `.to(torch.bfloat16)` ile dönüştürülmesine izin vermeyin.

## MiniMaxH3ImageTransformer2DModel[[diffusers.MiniMaxH3ImageTransformer2DModel]]

#### diffusers.MiniMaxH3ImageTransformer2DModel[[diffusers.MiniMaxH3ImageTransformer2DModel]]

```python
diffusers.MiniMaxH3ImageTransformer2DModel(num_attention_heads: int = 56, attention_head_dim: int = 128, hidden_size: int = 5376, num_layers: int = 50, num_refiner_layers: int = 2, ffn_dim: int = 14336, in_channels: int = 24, patch_size: tuple[int, int, int] = (1, 2, 2), text_dim: int = 5120, freq_dim: int = 256, time_embed_hidden_dim: int = 5376, time_embed_dim: int = 2688, rope_freq_dim: int = 16, rope_theta: float = 10000.0, norm_eps: float = 1e-05, qk_norm_eps: float = 1e-05, final_norm_eps: float = 1e-05, num_pdd_heads: int = 6)
```

[Kaynak](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/transformers/transformer_minimax_h3_image.py#L365)

**Parametreler:**

num_attention_heads (`int`, varsayılan `56`) : Çok başlı dikkat için kullanılacak baş sayısı.

attention_head_dim (`int`, varsayılan `128`) : Her dikkat başlığındaki kanal sayısı. Not: `num_attention_heads * attention_head_dim`, `hidden_size`'ten *büyüktür*.

hidden_size (`int`, varsayılan `5376`) : Paketlenmiş dizinin (artık akışının) kanal sayısı.

num_layers (`int`, varsayılan `50`) : Transformer bloklarının sayısı.

num_refiner_layers (`int`, varsayılan `2`) : Projelendirilmiş metin akışına uygulanan token iyileştirme bloklarının sayısı.

ffn_dim (`int`, varsayılan `14336`) : SwiGLU ileri besleme katmanlarının iç boyutu.

in_channels (`int`, varsayılan `24`) : Görüntü latentlerinin kanal sayısı.

patch_size (`tuple[int, int, int]`, varsayılan `(1, 2, 2)`) : Latentleri satırlara paketlemek için kullanılan `(t, h, w)` yaması.

text_dim (`int`, varsayılan `5120`) : Metin kodlayıcısının ürettiği metin koşullandırmasının kanal sayısı.

freq_dim (`int`, varsayılan `256`) : Sinüsoidal zaman adımı gömme boyutu. Zaman adımları `[0, 1]` aralığında ölçeklenmeden kullanılır.

time_embed_hidden_dim (`int`, varsayılan `5376`) : timestep MLP'nin iç boyutu.

time_embed_dim (`int`, varsayılan `2688`) : timestep MLP'nin çıktı boyutu, yani her AdaLN projeksiyonunun girdisi.

rope_freq_dim (`int`, varsayılan `16`) : Eksen başına dönerli frekans sayısı. `(t, h, w)` eksenleri bu uzunlukta tek bir `inv_freq` tamponunu paylaşır ve `attention_head_dim` kanallarının `2 * 3 * rope_freq_dim` tanesi döndürülür.

rope_theta (`float`, varsayılan `10000.0`) : `rope.inv_freq` tamponunun hesaplandığı döner frekans zamanlamasının tabanı.

norm_eps (`float`, varsayılan `1e-5`) : Dikkat öncesi ve ileri besleme öncesi normların epsilon değeri.

qk_norm_eps (`float`, varsayılan `1e-5`) : Baş başına sorgu/anahtar normlarının epsilon değeri.

final_norm_eps (`float`, varsayılan `1e-5`) : Token refiner çıktı normunun ve `norm_out`'un epsilon değeri.

num_pdd_heads (`int`, varsayılan `6`) : Kontrol noktasının damıtıldığı örneklem adım sayısı; her adımın kendi çıktı başlığı vardır.

MiniMax-H3-Image'de tanıtılan, görüntü üretimi ve düzenlemesi için bir Transformer modeli.

Bu, ses akışı olmadan MiniMax-H3 dönüştürücüsüdür: tek bir blok yığını, metin koşulunu, referans görüntülerin satırlarını ve üretilen görüntünün satırlarını içeren **tek bir paketlenmiş 1-B diziyi** üzerinde çalışır. Dikkat, bu dizinin üzerinde tam öz-dikkattir; çapraz dikkat yoktur. Kontrol noktası, Parallel Decoding Distillation (PDD) ile sabit bir örneklem adım sayısına damıtılmıştır; bu yöntem her adım için bir çıktı başlığı koruduğundan `forward`, çalıştığı adımın indeksini alır.

Çağıran, paketli yerleşimi oluşturmaktan sorumludur: latentleri yama (patch) haline getirme, satırları sıralama ve `(t, h, w)` konum ızgarasını, satır başına modalite etiketlerini ve satır başına zaman adımı indekslerini üretme. Dizi dolgu (padding) içermediğinden, dikkat (attention) tek bir belge üzerinde maskesiz çalışır ve tüm dikkat arka uçları (attention backend) kullanılabilir kalır.

Batch ekseni saf bir replikasyon eksenidir: yapısal argümanlar (`timestep`, `timestep_indices`, `token_tags`, `position_ids` ve iki indeks tensörü) her batch öğesinin paylaştığı tek bir paketlenmiş düzeni tanımlar.

#### forward[[diffusers.MiniMaxH3ImageTransformer2DModel.forward]]

```python
forward(hidden_states: Tensor, encoder_hidden_states: Tensor, timestep: Tensor, timestep_indices: Tensor, token_tags: Tensor, position_ids: Tensor, image_indices: Tensor, text_indices: Tensor, pdd_step_index: int, return_dict: bool = True)
```

[Kaynak](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/transformers/transformer_minimax_h3_image.py#L545)

**Parametreler:**

hidden_states (`torch.Tensor`, şekli `(batch_size, num_image_tokens, in_channels * prod(patch_size))`) : Patch'lenmiş latent satırlar — referans görüntülerin satırları ve üretilen görüntünün satırları — paketlenmiş dizide göründükleri sıraya göre, yani `image_indices` ile eşleşecek şekilde.

encoder_hidden_states (`torch.Tensor`, şekli `(batch_size, num_text_tokens, text_dim)`) : `text_indices` ile eşleşecek şekilde sıralanmış metin koşullandırma.

timestep (`torch.Tensor`, şekli `(num_timesteps,)`) : Paketlenmiş dizide bulunan *ayrı* zaman adımı değerleri, `[0, 1]` aralığında ve ölçeklenmemiş. Tek bir ileri geçiş, farklı gürültü seviyelerindeki satırları (üretilen satırlar, referans satırlar) işler.

timestep_indices (`torch.Tensor`, şekli `(seq_len,)`) : Paketlenmiş dizinin her satırı için, `timestep` içindeki zaman adımı indeksi.

token_tags (`torch.Tensor`, şekli `(seq_len,)`) : Paketlenmiş dizinin her satırı için, o satırın modalitesi: `0` görüntü, `1` metin.

position_ids (`torch.Tensor`, şekli `(seq_len, 3)`) : Paketlenmiş dizinin her satırının `(t, h, w)` döner koordinatları.

image_indices (`torch.Tensor`, şekli `(num_image_tokens,)`) : Paketlenmiş dizideki görüntü satırlarının konumları.

text_indices (`torch.Tensor`, şekli `(num_text_tokens,)`) : Paketlenmiş dizideki metin satırlarının konumları.

pdd_step_index (`int`) : Çıktı başlığını seçen örneklem adımını belirtir.

return_dict (`bool`, varsayılan `True`) : Düz bir tuple yerine [Transformer2DModelOutput](/docs/diffusers/v0.43.0/tr/api/models/cogview3plus_transformer2d#diffusers.models.modeling_outputs.Transformer2DModelOutput) döndürülüp döndürülmemesi.

**Dönüş:** [Transformer2DModelOutput](/docs/diffusers/v0.43.0/tr/api/models/cogview3plus_transformer2d#diffusers.models.modeling_outputs.Transformer2DModelOutput) veya `tuple`

`image_indices` satır sırasına göre, `(batch_size, num_image_tokens, in_channels * prod(patch_size))` biçimindeki her görüntü satırının hızı.

