# QwenImageTransformer2DModel

يمكن تحميل النموذج باستخدام مقتطف الشيفرة التالي.

```python
from diffusers import QwenImageTransformer2DModel

transformer = QwenImageTransformer2DModel.from_pretrained("Qwen/QwenImage-20B", subfolder="transformer", dtype=torch.bfloat16)
```

## QwenImageTransformer2DModel[[diffusers.QwenImageTransformer2DModel]]

#### diffusers.QwenImageTransformer2DModel[[diffusers.QwenImageTransformer2DModel]]

```python
diffusers.QwenImageTransformer2DModel(patch_size: int = 2, in_channels: int = 64, out_channels: int | None = 16, num_layers: int = 60, attention_head_dim: int = 128, num_attention_heads: int = 24, joint_attention_dim: int = 3584, guidance_embeds: bool = False, axes_dims_rope: tuple[int, int, int] = (16, 56, 56), zero_cond_t: bool = False, use_additional_t_cond: bool = False, use_layer3d_rope: bool = False)
```

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

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

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

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

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

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

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

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

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

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

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

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

#### forward[[diffusers.QwenImageTransformer2DModel.forward]]

```python
forward(hidden_states: Tensor, encoder_hidden_states: Tensor = None, encoder_hidden_states_mask: Tensor = None, timestep: LongTensor = None, img_shapes: list[tuple[int, int, int]] | None = None, guidance: Tensor = None, attention_kwargs: dict[str, typing.Any] | None = None, controlnet_block_samples = None, additional_t_cond = None, return_dict: bool = True)
```

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

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

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)`) : تمثيلات شرطية (تمثيلات محسوبة من الشروط المدخلة مثل الأوامر النصية) للاستخدام.

encoder_hidden_states_mask (`torch.Tensor` من الشكل `(batch_size, text_sequence_length)`، *اختياري*) : قناع لحالات المُشفِّر المخفية. يُتوقع أن يحتوي على 1.0 للرموز الصالحة و 0.0 لرموز الحشو. يُستخدم في مُعالج الانتباه لمنع الانتباه إلى رموز الحشو. يمكن أن يكون للقناع أي نمط (وليس فقط رموز صالحة متتالية تليها رموز حشو) نظرًا لتطبيقه عنصرًا بعنصر في الانتباه.

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

img_shapes (`list[tuple[int, int, int]]`، *اختياري*) : أشكال الصور لحساب RoPE.

guidance (`torch.Tensor`، *اختياري*) : متجه التوجيه للتوليد الشرطي.

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

controlnet_block_samples (*اختياري*) : عينات كتل ControlNet لإضافتها إلى كتل المحوّل.

additional_t_cond (`torch.Tensor`، *اختياري*) : شرط خطوة زمنية إضافية يُضاف إلى تضمين الخطوة الزمنية.

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

**يعيد:**

إذا كان `return_dict` صحيحًا، يُعاد `~models.transformer_2d.Transformer2DModelOutput`، وإلا يُعاد `tuple` يكون عنصره الأول هو تينسور العينة.

طريقة `QwenTransformer2DModel` الأمامية.

## Transformer2DModelOutput[[diffusers.models.modeling_outputs.Transformer2DModelOutput]]

#### diffusers.models.modeling_outputs.Transformer2DModelOutput[[diffusers.models.modeling_outputs.Transformer2DModelOutput]]

```python
diffusers.models.modeling_outputs.Transformer2DModelOutput(sample: torch.Tensor)
```

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

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

sample (`torch.Tensor` من الشكل `(batch_size, num_channels, height, width)` أو `(batch size, num_vector_embeds - 1, num_latent_pixels)` إذا كان [Transformer2DModel](/docs/diffusers/v0.43.0/ar/api/models/transformer2d#diffusers.Transformer2DModel) منفصلاً): مخرجات الحالات المخفية المشروطة على مدخل `encoder_hidden_states`. إذا كان منفصلاً، يعيد توزيعات الاحتمال للبكسلات الكامنة غير الملوثة.

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

