# Ideogram4Transformer2DModel

محوّل (Transformer) للبيانات المشابهة للصور من [Ideogram 4](https://github.com/ideogram-oss/ideogram-4).

## 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[int, int, int] = (24, 20, 20), norm_eps: float = 1e-05)
```

[المصدر](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/transformers/transformer_ideogram4.py#L278)

**المعاملات:**

in_channels (`int`، القيمة الافتراضية 128) : عدد القنوات الكامنة بعد التقطيع (`ae_channels * patch_size ** 2`).

num_layers (`int`، القيمة الافتراضية 34) : عدد كتل التحويل.

attention_head_dim (`int`، القيمة الافتراضية 256) : بُعد كل رأس انتباه؛ الحجم المخفي الكلي هو `attention_head_dim * num_attention_heads`.

num_attention_heads (`int`، القيمة الافتراضية 18) : عدد رؤوس الانتباه.

intermediate_size (`int`، القيمة الافتراضية 12288) : حجم الطبقة المخفية للتقدم الأمامي المستخدم في شبكة MLP من نوع SwiGLU داخل كل كتلة.

adaln_dim (`int`، القيمة الافتراضية 512) : بُعد متجه الشروط الذي تستهلكه تعديلات AdaLN.

llm_features_dim (`int`، القيمة الافتراضية 53248) : بُعد ميزات النص لكل رمز المُدخلة إلى النموذج (عادةً ما تكون نتيجة دمج حالات مخفية من عدة طبقات من مُشفِّر النص).

rope_theta (`int`، القيمة الافتراضية 5_000_000) : الأساس المستخدم في تضمين موضع الدوران متعدد المحاور.

mrope_section (`tuple[int, int, int]`، القيمة الافتراضية `(24, 20, 20)`) : عدد الترددات المخصصة لكل من المحاور (t, h, w) في MRoPE.

norm_eps (`float`، القيمة الافتراضية 1e-5) : قيمة إيبسلون المستخدمة في وحدات RMSNorm داخل كتل التحويل.

هيكل الترانسفورمر المطابق للتدفق (flow-matching) المستخدم في خط أنابيب Ideogram 4.

يعمل المحوّل على تسلسل واحد مُجمّع يحتوي على رموز نصية شرطية (تنتجها مُشفّرة نصية متعددة الوسائط) وعلى كامنات الصور المُقسّمة إلى رقعات. تُميّز المؤشرات لكل رمز بين الدورين، ويقيّد قناع الانتباه القطري الكتلي المشتق من `segment_ids` كل عينة بحيث تنتبه إلى نفسها فقط ضمن الدفعة المُجمّعة.

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

[المصدر](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/transformers/transformer_ideogram4.py#L373)

**المعاملات:**

hidden_states (`torch.Tensor` من الشكل `(batch_size, sequence_length, in_channels)`) : تسلسل مُجمَّع من رموز الصور الضجيجية المُقسَّمة إلى بقع. يتم إخفاء المواضع غير المرتبطة بالصور داخليًا.

timestep (`torch.Tensor` من الشكل `(batch_size,)` أو `(batch_size, sequence_length)`) : وقت مطابقة التدفق في `[0, 1]` (0 هو ضوضاء نقية، و1 هو بيانات نظيفة).

encoder_hidden_states (`torch.Tensor` من الشكل `(batch_size, sequence_length, llm_features_dim)`) : ميزات تكييف النص لكل رمز. يتم إخفاء المواضع غير النصية داخليًا.

position_ids (`torch.Tensor` من الشكل `(batch_size, sequence_length, 3)`) : إحداثيات `(t, h, w)` التي يستهلكها RoPE متعدد المحاور.

segment_ids (`torch.Tensor` من الشكل `(batch_size, sequence_length)`) : معرّف العينة لكل رمز ضمن دفعة مدمجة. المواقع التي تتشارك `segment_id` تتفاعل مع بعضها البعض.

indicator (`torch.Tensor` من الشكل `(batch_size, sequence_length)`) : دور كل رمز: `LLM_TOKEN_INDICATOR` (نص) أو `OUTPUT_IMAGE_INDICATOR` (صورة).

attention_kwargs (`dict`, *اختياري*) : قاموس kwargs يُمرَّر إلى معالج الانتباه. يُقيّم إدخال `"scale"` أوزان LoRA (عند تفعيل واجهة PEFT).

return_dict (`bool`، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان يجب إرجاع [Transformer2DModelOutput](/docs/diffusers/v0.43.0/ar/api/models/cogview3plus_transformer2d#diffusers.models.modeling_outputs.Transformer2DModelOutput) بدلاً من tuple عادي.

**يعيد:**

[Transformer2DModelOutput](/docs/diffusers/v0.43.0/ar/api/models/cogview3plus_transformer2d#diffusers.models.modeling_outputs.Transformer2DModelOutput) أو `tuple` يكون عنصره الأول متجهًا (tensor) بأبعاد `(batch_size, sequence_length, in_channels)` بنوع البيانات الحسابي للنموذج. لا تحمل المواضع الموسومة بـ`OUTPUT_IMAGE_INDICATOR` تنبؤات سرعة ذات معنى.

تنبّأ بسرعة مطابقة التدفق لمواقع رموز الصورة في التسلسل المُجمَّع.

