# Krea2Transformer2DModel

محوّل مطابقة التدفق MMDiT ذو البث الأحادي المستخدم في [Krea 2](https://github.com/krea-ai/krea-2).

## Krea2Transformer2DModel[[diffusers.Krea2Transformer2DModel]]

#### diffusers.Krea2Transformer2DModel[[diffusers.Krea2Transformer2DModel]]

```python
diffusers.Krea2Transformer2DModel(in_channels: int = 64, num_layers: int = 28, attention_head_dim: int = 128, num_attention_heads: int = 48, num_key_value_heads: int = 12, intermediate_size: int = 16384, timestep_embed_dim: int = 256, text_hidden_dim: int = 2560, num_text_layers: int = 12, text_num_attention_heads: int = 20, text_num_key_value_heads: int = 20, text_intermediate_size: int = 6912, num_layerwise_text_blocks: int = 2, num_refiner_text_blocks: int = 2, axes_dims_rope: tuple = (32, 48, 48), rope_theta: float = 1000.0, norm_eps: float = 1e-05)
```

[المصدر](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/transformer_krea2.py#L339)

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

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

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

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

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

num_key_value_heads (`int`، القيمة الافتراضية 12) : عدد رؤوس المفاتيح/القيم لانتباه الاستعلامات المجمّعة.

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

timestep_embed_dim (`int`، القيمة الافتراضية 256) : عرض تضمين خطوة الزمن الجيبية قبل شبكة MLP الخاصة به.

text_hidden_dim (`int`، القيمة الافتراضية 2560) : حجم المخفي لمُشفِّر النص الذي تُستهلك حالاته المخفية.

num_text_layers (`int`، القيمة الافتراضية 12) : عدد حالات المُشفِّر النصي المُستخرجة المُكدَّسة لكل رمز.

text_num_attention_heads (`int`، القيمة الافتراضية 20) : عدد رؤوس الاستعلام في كتل دمج النص.

text_num_key_value_heads (`int`، القيمة الافتراضية 20) : عدد رؤوس المفاتيح/القيم في كتل دمج النص.

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

num_layerwise_text_blocks (`int`، القيمة الافتراضية 2) : عدد كتل دمج النص المطبقة عبر محور طبقة الاستشعار (لكل رمز).

num_refiner_text_blocks (`int`، القيمة الافتراضية 2) : عدد كتل دمج النص المطبقة عبر تسلسل الرموز.

axes_dims_rope (`tuple[int, int, int]`، القيمة الافتراضية هي `(32, 48, 48)`) : تقسيم بُعد الرأس عبر محاور الموضع الدورانية (t, h, w).

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

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

هيكل التدفق المطابق (flow-matching) ذو البنية MMDiT أحادية التيار المستخدم في خط أنابيب Krea 2.

تدخل حالة النص الشرطية على شكل مجموعة من الحالات المخفية المستخرجة من عدة طبقات في مُشفِّر نصي متعدد الوسائط. يقوم مُحوِّل دمج نصي صغير بدمج محور الطبقات وتحسين تسلسل الرموز؛ ثم يُدمج الناتج مع كامنات الصورة المقطّعة في تسلسل واحد `[text, image]` تتم معالجته بواسطة كتل التحويل. وتُشترط كل كتلة عبر متجه تعديل مشترك واحد بالإضافة إلى جداول متعلمة لكل كتلة.

#### forward[[diffusers.Krea2Transformer2DModel.forward]]

```python
forward(hidden_states: Tensor, encoder_hidden_states: Tensor, timestep: Tensor, position_ids: Tensor, encoder_attention_mask: typing.Optional[torch.Tensor] = None, attention_kwargs: dict[str, typing.Any] | None = None, return_dict: bool = True)
```

[المصدر](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/transformer_krea2.py#L456)

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

hidden_states (`torch.Tensor` من الشكل `(batch_size, image_seq_len, in_channels)`) : كامنات الصور الضوضائية المعبأة (المقسمة إلى رقعات).

encoder_hidden_states (`torch.Tensor` من الشكل `(batch_size, text_seq_len, num_text_layers, text_hidden_dim)`) : مجموعة من حالات المخفية لمُشفِّر النص المُلتقطة لكل رمز.

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

position_ids (`torch.Tensor` من الشكل `(text_seq_len + image_seq_len, 3)`) : إحداثيات دوّارة `(t, h, w)` للتسلسل المدمج. صفوف النص كلها صفرية؛ بينما تحتوي صفوف الصورة على إحداثيات الشبكة الكامنة.

encoder_attention_mask (`torch.Tensor` من الشكل `(batch_size, text_seq_len)`، *اختياري*) : قناع منطقي يحدد الرموز النصية الصالحة. مرّر `None` عندما تكون جميع الرموز النصية صالحة.

attention_kwargs (`dict`, *اختياري*) : قاموس kwargs الذي، عند احتوائه على مدخل `scale`، يضبط مقياس LoRA المطبّق على محوِّلات هذا المحوِّل (transformer) طوال مدة المرور الأمامي.

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

**يعيد:**

[Transformer2DModelOutput](/docs/diffusers/main/ar/api/models/cogview3plus_transformer2d#diffusers.models.modeling_outputs.Transformer2DModelOutput) أو `tuple` يكون عنصره الأول متجه السرعة (velocity tensor) بأبعاد `(batch_size, image_seq_len, in_channels)`.

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

