Buckets:
| # Transformer2DModel | |
| نموذج Transformer لبيانات تشبه الصور من [CompVis](https://huggingface.co/CompVis) يعتمد على [Vision Transformer](https://huggingface.co/papers/2010.11929) الذي قدمه Dosovitskiy وآخرون. يقبل [Transformer2DModel](/docs/diffusers/main/ar/api/models/transformer2d#diffusers.Transformer2DModel) مدخلات منفصلة (فئات من تضمينات المتجهات) أو مستمرة (تضمينات فعلية). | |
| عندما يكون الإدخال **مستمراً**: | |
| 1. قِمْ بإسقاط المدخل وإعادة تشكيله إلى `(batch_size, sequence_length, feature_dimension)`. | |
| 2. طبّق كتل Transformer بالطريقة القياسية. | |
| 3. إعادة تشكيل إلى صورة. | |
| عندما يكون الإدخال **منفصلاً**: | |
| > [!TIP] | |
| > يُفترض أن أحد فئات الإدخال هو البكسل الكامن المقنّع. لا تحتوي الفئات المتنبأ بها للصورة غير الملوّثة على تنبؤ للبكسل المقنّع، لأن الصورة غير الملوّثة لا يمكن تقنيعها. | |
| 1. تحويل المدخلات (فئات البكسلات الكامنة) إلى تمثيلات وتطبيق تمثيلات موضعية. | |
| 2. طبّق كتل Transformer بالطريقة القياسية. | |
| 3. توقّع فئات الصورة غير المُضجّبة. | |
| ## Transformer2DModel[[diffusers.Transformer2DModel]] | |
| #### diffusers.Transformer2DModel[[diffusers.Transformer2DModel]] | |
| ```python | |
| diffusers.Transformer2DModel(num_attention_heads: int = 16, attention_head_dim: int = 88, in_channels: int | None = None, out_channels: int | None = None, num_layers: int = 1, dropout: float = 0.0, norm_num_groups: int = 32, cross_attention_dim: int | None = None, attention_bias: bool = False, sample_size: int | None = None, num_vector_embeds: int | None = None, patch_size: int | None = None, activation_fn: str = 'geglu', num_embeds_ada_norm: int | None = None, use_linear_projection: bool = False, only_cross_attention: bool = False, double_self_attention: bool = False, upcast_attention: bool = False, norm_type: str = 'layer_norm', norm_elementwise_affine: bool = True, norm_eps: float = 1e-05, attention_type: str = 'default', caption_channels: int = None, interpolation_scale: float = None, use_additional_conditions: bool | None = None) | |
| ``` | |
| [المصدر](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/transformer_2d.py#L39) | |
| **المعاملات:** | |
| num_attention_heads (`int`، *اختياري*، القيمة الافتراضية 16) : عدد الرؤوس المستخدمة في الانتباه متعدد الرؤوس. | |
| attention_head_dim (`int`، *اختياري*، القيمة الافتراضية 88) : عدد القنوات في كل رأس. | |
| in_channels (`int`، *اختياري*) : عدد القنوات في المدخلات والمخرجات (حدد إذا كانت المدخلات **مستمرة**). | |
| num_layers (`int`، *اختياري*، القيمة الافتراضية 1) : عدد طبقات كتل Transformer التي سيتم استخدامها. | |
| dropout (`float`، *اختياري*، القيمة الافتراضية 0.0) : احتمال الإسقاط (dropout) المستخدم. | |
| cross_attention_dim (`int`، *اختياري*) : عدد أبعاد `encoder_hidden_states` التي سيتم استخدامها. | |
| sample_size (`int`, *اختياري*) : عرض الصور الكامنة (يُحدد إذا كان الإدخال **منفصلاً**). هذا ثابت أثناء التدريب لأنه يُستخدم لتعلم عدد من تضمينات المواقع. | |
| num_vector_embeds (`int`, *اختياري*) : عدد فئات التضمينات المتجهية للبيكسلات الكامنة (يُحدد إذا كان الإدخال **منفصلاً**). يتضمن فئة البيكسل الكامن المقنّع. | |
| activation_fn (`str`، *اختياري*، القيمة الافتراضية `"geglu"`) : دالة التنشيط المستخدمة في الشبكة العصبية الأمامية. | |
| num_embeds_ada_norm ( `int`, *اختياري*) : عدد خطوات الانتشار المستخدمة أثناء التدريب. مرّرها إذا كان على الأقل أحد طبقات norm_layers هو `AdaLayerNorm`. هذا العدد ثابت أثناء التدريب لأنه يُستخدم لتعلم عدد من التضمينات التي تُضاف إلى الحالات المخفية. أثناء الاستدلال، يمكنك إزالة الضوضاء لعدد خطوات لا يتجاوز `num_embeds_ada_norm`. | |
| attention_bias (`bool`، *اختياري*) : يحدد ما إذا كان يجب أن يحتوي انتباه `TransformerBlocks` على معامل انحياز. | |
| نموذج Transformer ثنائي الأبعاد للبيانات المشابهة للصور. | |
| #### forward[[diffusers.Transformer2DModel.forward]] | |
| ```python | |
| forward(hidden_states: Tensor, encoder_hidden_states: typing.Optional[torch.Tensor] = None, timestep: typing.Optional[torch.LongTensor] = None, added_cond_kwargs: dict[str, torch.Tensor] = None, class_labels: typing.Optional[torch.LongTensor] = None, cross_attention_kwargs: dict[str, typing.Any] = None, attention_mask: typing.Optional[torch.Tensor] = None, encoder_attention_mask: typing.Optional[torch.Tensor] = None, return_dict: bool = True) | |
| ``` | |
| [المصدر](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/transformer_2d.py#L324) | |
| **المعاملات:** | |
| hidden_states (`torch.LongTensor` من الشكل `(batch size, num latent pixels)` إذا كانت منفصلة، `torch.Tensor` من الشكل `(batch size, channel, height, width)` إذا كانت مستمرة) : مدخلات `hidden_states`. | |
| encoder_hidden_states ( `torch.Tensor` من الشكل `(batch size, sequence len, embed dims)`, *اختياري*) : تمثيلات شرطية لطبقة الانتباه المتقاطع. إذا لم تُقدَّم، فإن الانتباه المتقاطع يتحول افتراضيًا إلى الانتباه الذاتي. | |
| timestep ( `torch.LongTensor`, *اختياري*) : يُستخدم للإشارة إلى خطوة إزالة الضوضاء. خطوة زمنية اختيارية تُطبَّق كتضمين في `AdaLayerNorm`. | |
| class_labels ( `torch.LongTensor` من الشكل `(batch size, num classes)`, *اختياري*) : يُستخدم للإشارة إلى تكييف تسميات الفئات. تسميات فئات اختيارية تُطبَّق كتضمين في `AdaLayerZeroNorm`. | |
| cross_attention_kwargs ( `dict[str, Any]`, *اختياري*) : قاموس kwargs يُمرَّر إلى `AttentionProcessor` إذا تم تحديده، كما هو معرَّف تحت `self.processor` في [diffusers.models.attention_processor](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py). | |
| attention_mask ( `torch.Tensor`, *اختياري*) : يُطبَّق قناع انتباه على `encoder_hidden_states` بشكل `(batch, key_tokens)`. إذا كان `1` يُحافظ على القناع، وإلا إذا كان `0` يُستبعد. سيُحوَّل القناع إلى انحياز، يضيف قيمًا سالبة كبيرة إلى درجات الانتباه المقابلة لرموز "الاستبعاد". | |
| encoder_attention_mask ( `torch.Tensor`, *اختياري*) : قناع الانتباه المتقاطع المطبّق على `encoder_hidden_states`. يتم دعم صيغتين: * قناع `(batch, sequence_length)` حيث True = الإبقاء، False = التخلّي. * انحياز `(batch, 1, sequence_length)` حيث 0 = الإبقاء، -10000 = التخلّي. إذا كان `ndim == 2`: سيتم تفسيره كقناع، ثم تحويله إلى انحياز متوافق مع الصيغة المذكورة أعلاه. سيُضاف هذا الانحياز إلى درجات الانتباه المتقاطع. | |
| return_dict (`bool`، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان يجب إرجاع [UNet2DConditionOutput](/docs/diffusers/main/ar/api/models/unet2d-cond#diffusers.models.unets.unet_2d_condition.UNet2DConditionOutput) بدلاً من tuple عادي. | |
| **يعيد:** | |
| إذا كان `return_dict` صحيحًا، يُعاد `Transformer2DModelOutput`، وإلا يُعاد `tuple` يكون عنصره الأول هو متجه العينة. | |
| طريقة [Transformer2DModel](/docs/diffusers/main/ar/api/models/transformer2d#diffusers.Transformer2DModel) الأمامية. | |
| ## 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/main/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/main/ar/api/models/transformer2d#diffusers.Transformer2DModel) منفصلاً): مخرجات الحالات المخفية المشروطة على مدخل `encoder_hidden_states`. إذا كان منفصلاً، يعيد توزيعات الاحتمال للبكسلات الكامنة غير الملوثة. | |
| مخرجات [Transformer2DModel](/docs/diffusers/main/ar/api/models/transformer2d#diffusers.Transformer2DModel). | |
Xet Storage Details
- Size:
- 9.71 kB
- Xet hash:
- 3f362e4ea9f4e6541c4f61d404cd8c2ad65545f17a90ffc2ee7e1df54fa2c6f3
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.