# Ideogram4Transformer2DModel

[Ideogram 4](https://github.com/ideogram-oss/ideogram-4)'ten görüntü benzeri veriler için bir transformer.

## Ideogram4Transformer2DModel[[diffusers.Ideogram4Transformer2DModel]]

#### diffusers.Ideogram4Transformer2DModel[[diffusers.Ideogram4Transformer2DModel]]

```python
diffusers.Ideogram4Transformer2DModel(in_channels: int = 128, num_layers: int = 34, attention_head_dim: int = 256, num_attention_heads: int = 18, intermediate_size: int = 12288, adaln_dim: int = 512, llm_features_dim: int = 53248, rope_theta: int = 5000000, mrope_section: tuple = (24, 20, 20), norm_eps: float = 1e-05)
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/transformer_ideogram4.py#L278)

**Parametreler:**

in_channels (`int`, varsayılan 128) : Patchification sonrası latent kanal sayısı (`ae_channels * patch_size ** 2`).

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

attention_head_dim (`int`, varsayılan 256) : Her dikkat başının boyutu; toplam gizli boyut `attention_head_dim * num_attention_heads`'tir.

num_attention_heads (`int`, varsayılan 18) : Dikkat başlarının sayısı.

intermediate_size (`int`, varsayılan 12288) : Her blok içindeki SwiGLU MLP tarafından kullanılan ileri besleme gizli boyutu.

adaln_dim (`int`, varsayılan 512) : AdaLN modülasyonları tarafından tüketilen koşullama vektörünün boyutluluğu.

llm_features_dim (`int`, varsayılan 53248) : Modelin girdisine verilen token başına metin özelliklerinin boyutu (genellikle metin kodlayıcısının birkaç katmanındaki gizli durumların birleştirilmesi).

rope_theta (`int`, varsayılan 5_000_000) : Çok eksenli döner konum gömme tarafından kullanılan taban.

mrope_section (`tuple[int, int, int]`, varsayılan `(24, 20, 20)`) : MRoPE'nin (t, h, w) eksenlerinden her birine ayrılan frekans sayısı.

norm_eps (`float`, varsayılan 1e-5) : Transformer blokları içindeki RMSNorm modüllerinin kullandığı epsilon.

Ideogram 4 hattında kullanılan akış eşleştirme (flow-matching) dönüştürücü (transformer) omurgası.

Transformer, hem metin koşullama belirteçlerini (çok modlu metin kodlayıcı tarafından üretilen) hem de yamalanmış görüntü latentlerini içeren tek bir paketlenmiş dizide çalışır. Belirteç başına göstergeler bu iki rolü ayırt eder ve `segment_ids`'den türetilen blok diyagonal dikkat maskesi, paketlenmiş bir partide her örneğin yalnızca kendisine dikkat etmesini kısıtlar.

#### forward[[diffusers.Ideogram4Transformer2DModel.forward]]

```python
forward(hidden_states: Tensor, timestep: Tensor, encoder_hidden_states: Tensor, position_ids: Tensor, segment_ids: Tensor, indicator: Tensor, attention_kwargs: dict | None = None, return_dict: bool = True)
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/transformer_ideogram4.py#L373)

**Parametreler:**

hidden_states (`torch.Tensor`, şekli `(batch_size, sequence_length, in_channels)`) : Patch'lenmiş gürültülü görüntü token'larının paketlenmiş dizisi. Görüntü dışı konumlar içsel olarak maskeleme uygulanır.

timestep (`torch.Tensor`, şekli `(batch_size,)` veya `(batch_size, sequence_length)`) : `[0, 1]` aralığında akış eşleştirme zamanı (0 saf gürültü, 1 temiz veridir).

encoder_hidden_states (`torch.Tensor`, şekli `(batch_size, sequence_length, llm_features_dim)`) : Token başına metin koşullandırma özellikleri. Metin dışı konumlar içsel olarak maskeleme yapılır.

position_ids (`torch.Tensor`, şekli `(batch_size, sequence_length, 3)`) : Çok eksenli RoPE tarafından tüketilen `(t, h, w)` koordinatları.

segment_ids (`torch.Tensor`, şekli `(batch_size, sequence_length)`) : Paketlenmiş bir batch içindeki token başına örnek kimliği. Aynı `segment_id`'ye sahip konumlar birbirine dikkat eder.

indicator (`torch.Tensor`, şekli `(batch_size, sequence_length)`) : Token başına rol: `LLM_TOKEN_INDICATOR` (metin) veya `OUTPUT_IMAGE_INDICATOR` (görsel).

attention_kwargs (`dict`, *isteğe bağlı*) : Dikkat işlemcisine iletilen bir kwargs sözlüğü. `"scale"` girdisi, LoRA ağırlıklarını ölçekler (PEFT arka ucu etkin olduğunda).

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

**Dönüş:**

[Transformer2DModelOutput](/docs/diffusers/main/tr/api/models/cogview3plus_transformer2d#diffusers.models.modeling_outputs.Transformer2DModelOutput) veya modelin hesaplama veri türünde `(batch_size, sequence_length, in_channels)` biçiminde bir tensörün ilk elemanı olan bir `tuple`. Yalnızca `OUTPUT_IMAGE_INDICATOR` ile işaretlenmiş konumlar anlamlı hız tahminleri taşır.

Paketlenmiş dizinin görüntü-token konumları için akış-eşleştirme hızını tahmin edin.

