# Flux2Transformer2DModel

نموذج Transformer لبيانات تشبه الصور من [Flux2](https://hf.co/black-forest-labs/FLUX.2-dev).

## Flux2Transformer2DModel[[diffusers.Flux2Transformer2DModel]]

#### diffusers.Flux2Transformer2DModel[[diffusers.Flux2Transformer2DModel]]

```python
diffusers.Flux2Transformer2DModel(patch_size: int = 1, in_channels: int = 128, out_channels: int | None = None, num_layers: int = 8, num_single_layers: int = 48, attention_head_dim: int = 128, num_attention_heads: int = 48, joint_attention_dim: int = 15360, timestep_guidance_channels: int = 256, mlp_ratio: float = 3.0, axes_dims_rope: tuple[int, ...] = (32, 32, 32, 32), rope_theta: int = 2000, eps: float = 1e-06, guidance_embeds: bool = True)
```

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

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

patch_size (`int`، القيمة الافتراضية `1`) : حجم الباتش لتحويل البيانات المدخلة إلى باتشات صغيرة.

in_channels (`int`، القيمة الافتراضية `128`) : عدد القنوات في المدخلات.

out_channels (`int`، *اختياري*، القيمة الافتراضية `None`) : عدد القنوات في المخرجات. إذا لم يُحدد، تكون القيمة الافتراضية `in_channels`.

num_layers (`int`، القيمة الافتراضية `8`) : عدد طبقات كتل DiT ذات التدفق المزدوج التي سيتم استخدامها.

num_single_layers (`int`، القيمة الافتراضية `48`) : عدد طبقات كتل DiT أحادية التدفق المستخدمة.

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

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

joint_attention_dim (`int`، القيمة الافتراضية `15360`) : عدد الأبعاد المستخدمة للانتباه المشترك (بعد التضمين/القناة الخاص بـ`encoder_hidden_states`).

pooled_projection_dim (`int`، القيمة الافتراضية `768`) : عدد الأبعاد المستخدمة للتقدير المجمّع.

guidance_embeds (`bool`، القيمة الافتراضية `True`) : ما إذا كان سيتم استخدام تضمينات التوجيه (guidance embeddings) للنسخة المُقطّرة للتوجيه (guidance-distilled) من النموذج.

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

نموذج Transformer الذي تم تقديمه في Flux 2.

مرجع: https://blackforestlabs.ai/announcing-black-forest-labs/

#### forward[[diffusers.Flux2Transformer2DModel.forward]]

```python
forward(hidden_states: Tensor, encoder_hidden_states: Tensor = None, timestep: LongTensor = None, img_ids: Tensor = None, txt_ids: Tensor = None, guidance: Tensor = None, joint_attention_kwargs: dict[str, typing.Any] | None = None, return_dict: bool = True, kv_cache: Flux2KVCache | None = None, kv_cache_mode: str | None = None, num_ref_tokens: int = 0, ref_fixed_timestep: float = 0.0)
```

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

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

hidden_states (`torch.Tensor` من الشكل `(batch_size, image_sequence_length, in_channels)`) : مدخلات `hidden_states`.

encoder_hidden_states (`torch.Tensor` من الشكل `(batch_size, text_sequence_length, joint_attention_dim)`) : تمثيلات شرطية (تمثيلات محسوبة من الشروط المدخلة مثل الأوامر النصية) للاستخدام.

timestep (`torch.LongTensor`) : يُستخدم للإشارة إلى خطوة إزالة الضوضاء.

img_ids (`torch.Tensor`) : معرّفات مواضع الصور المستخدمة لحساب التضمينات الموضعية الدوارة.

txt_ids (`torch.Tensor`) : معرّفات مواضع النص المستخدمة لحساب التضمينات الموضعية الدوارة.

guidance (`torch.Tensor`، *اختياري*) : تضمين مقياس التوجيه المستخدم في النسخ المُقطّرة بالتوجيه من النموذج.

joint_attention_kwargs (`dict`، *اختياري*) : قاموس kwargs يُمرَّر إلى `AttentionProcessor` إذا تم تحديده، كما هو معرَّف تحت `self.processor` في [diffusers.models.attention_processor](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py).

return_dict (`bool`، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان يجب إرجاع `~models.transformer_2d.Transformer2DModelOutput` بدلاً من tuple عادي.

kv_cache (`Flux2KVCache`، *اختياري*) : ذاكرة مؤقتة (KV cache) لرموز صورة المرجع. عندما يكون `kv_cache_mode` هو "extract"، يتم إنشاء ذاكرة مؤقتة جديدة وإعادتها. وعندما يكون "cached"، تُستخدم الذاكرة المؤقتة المُقدَّمة لحقن K/V المرجعي أثناء الانتباه (attention).

kv_cache_mode (`str`, *اختياري*) : أحد القيم "extract" (الخطوة الأولى مع الرموز المرجعية) أو "cached" (الخطوات اللاحقة باستخدام K/V المرجعي المخزّن مؤقتًا). عند تعيين `None`، يتم تنفيذ تمرير أمامي قياسي دون تخزين مؤقت لـ KV.

num_ref_tokens (`int`، القيمة الافتراضية `0`) : عدد رموز صورة المرجع المُضافة إلى `hidden_states` (تُستخدم فقط عندما يكون `kv_cache_mode="extract"`).

ref_fixed_timestep (`float`، القيمة الافتراضية `0.0`) : خطوة زمنية ثابتة لتعديل رمز المرجع (تُستخدم فقط عندما يكون `kv_cache_mode="extract"`).

**يعيد:**

إذا كان `return_dict` صحيحًا، يُعاد `~models.transformer_2d.Transformer2DModelOutput`، وإلا يُعاد `tuple` يكون عنصره الأول هو تينسور العينة. عند تعيين `kv_cache_mode="extract"`، يُعاد أيضًا `Flux2KVCache` المُعبأ.

طريقة [Flux2Transformer2DModel](/docs/diffusers/v0.43.0/ar/api/models/flux2_transformer#diffusers.Flux2Transformer2DModel) الأمامية.

## Flux2Transformer2DModelOutput[[diffusers.models.transformers.transformer_flux2.Flux2Transformer2DModelOutput]]

#### diffusers.models.transformers.transformer_flux2.Flux2Transformer2DModelOutput[[diffusers.models.transformers.transformer_flux2.Flux2Transformer2DModelOutput]]

```python
diffusers.models.transformers.transformer_flux2.Flux2Transformer2DModelOutput(sample: torch.Tensor, kv_cache: Flux2KVCache | None = None)
```

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

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

sample (`torch.Tensor` من الشكل `(batch_size, num_channels, height, width)`) : مخرجات الحالات المخفية المشروطة على مدخل `encoder_hidden_states`.

kv_cache (`Flux2KVCache`، *اختياري*) : ذاكرة KV المعبأة لرموز صورة المرجع. يُعاد فقط عندما يكون `kv_cache_mode="extract"`.

مخرجات [Flux2Transformer2DModel](/docs/diffusers/v0.43.0/ar/api/models/flux2_transformer#diffusers.Flux2Transformer2DModel).

