# MaskFormer

هذا نموذج تم تقديمه مؤخرًا، لذا لم يتم اختبار واجهة برمجة التطبيقات (API) بشكل شامل. قد تكون هناك بعض الأخطاء أو تغييرات طفيفة كاسرة يجب معالجتها في المستقبل. إذا لاحظت شيئًا غير معتاد، فقم بفتح [قضية على Github](https://github.com/huggingface/transformers/issues/new?assignees=&labels=&template=bug-report.md&title).

## نظرة عامة

قُدِّم نموذج MaskFormer في [التصنيف لكل بكسل ليس كل ما تحتاجه للتقطيع الدلالي](https://huggingface.co/papers/2107.06278) من قِبل Bowen Cheng وAlexander G. Schwing وAlexander Kirillov. يتعامل MaskFormer مع التقطيع الدلالي عبر نموذج تصنيف الأقنعة بدلاً من تنفيذ التصنيف الكلاسيكي على مستوى البكسل.

المستخلص من الورقة البحثية هو كالتالي:

*تُصيغ الأساليب الحديثة عادةً تقسيم الدلالات (semantic segmentation) كمهمة تصنيف لكل بكسل، بينما يُعالج التقسيم على مستوى الكائنات (instance-level segmentation) باستخدام تصنيف قناع بديل. رؤيتنا الأساسية: تصنيف القناع عام بما يكفي لحل مهام التقسيم على مستوى الدلالات ومستوى الكائنات معًا بطريقة موحدة باستخدام النموذج نفسه تمامًا، ودالة الخسارة، وإجراء التدريب. بناءً على هذه الملاحظة، نقترح MaskFormer، وهو نموذج بسيط لتصنيف الأقنعة يتنبأ بمجموعة من الأقنعة الثنائية، يرتبط كل منها بتنبؤ واحد لوسم فئة عام. بشكل عام، تُبسّط الطريقة المقترحة القائمة على تصنيف الأقنعة المشهد الخاص بالأساليب الفعّالة لمهام تقسيم الدلالات والتقسيم الشامل (panoptic segmentation)، وتُظهر نتائج تجريبية ممتازة. على وجه الخصوص، نلاحظ أن MaskFormer يتفوق على خطوط الأساس القائمة على التصنيف لكل بكسل عندما يكون عدد الفئات كبيرًا. تتفوق طريقتنا القائمة على تصنيف الأقنعة على كل من أحدث نماذج تقسيم الدلالات (55.6 mIoU على ADE20K) ونماذج التقسيم الشامل (52.7 PQ على COCO) الحالية.*

يوضح الشكل أدناه بنية MaskFormer. مأخوذة من [الورقة الأصلية](https://huggingface.co/papers/2107.06278).

تمت مساهمة هذا النموذج من قِبل [francesco](https://huggingface.co/francesco). يمكن العثور على الكود الأصلي [هنا](https://github.com/facebookresearch/MaskFormer).

## نصائح للاستخدام

- مفكّك Transformer في MaskFormer مطابق تمامًا لمفكّك [DETR](detr). أثناء التدريب، وجد مؤلفو DETR أن استخدام الخسائر المساعدة في المفكّك مفيد، لا سيما لمساعدة النموذج على إخراج العدد الصحيح من الكائنات لكل فئة. إذا قمت بإعداد المعامل `use_auxiliary_loss` الخاص بـ [MaskFormerConfig](/docs/transformers/v5.23.0/ar/model_doc/maskformer#transformers.MaskFormerConfig) على `True`، فسيتم إضافة شبكات عصبية أمامية للتنبؤ وخسائر هنغارية بعد كل طبقة من طبقات المفكّك (مع مشاركة المعاملات بين الشبكات العصبية الأمامية).
- إذا كنت ترغب في تدريب النموذج في بيئة موزعة عبر عدة عقد، فيجب تحديث الدالة `get_num_masks` داخل فئة `MaskFormerLoss` في ملف `modeling_maskformer.py`. عند التدريب على عدة عقد، يجب ضبط هذه القيمة على متوسط عدد أقنعة الأهداف عبر جميع العقد، كما هو موضح في التنفيذ الأصلي [هنا](https://github.com/facebookresearch/MaskFormer/blob/da3e60d85fdeedcb31476b5edd7d328826ce56cc/mask_former/modeling/criterion.py#L169).
- يمكن استخدام [MaskFormerImageProcessor](/docs/transformers/v5.23.0/ar/model_doc/maskformer#transformers.MaskFormerImageProcessor) لتحضير الصور للنموذج والأهداف الاختيارية للنموذج.
- للحصول على التقطيع النهائي، يمكنك، اعتماداً على المهمة، استدعاء [post_process_semantic_segmentation()](/docs/transformers/v5.23.0/ar/model_doc/maskformer#transformers.MaskFormerImageProcessor.post_process_semantic_segmentation) أو [post_process_panoptic_segmentation()](/docs/transformers/v5.23.0/ar/model_doc/maskformer#transformers.MaskFormerImageProcessor.post_process_panoptic_segmentation). يمكن حل كلا المهمتين باستخدام مخرجات [MaskFormerForInstanceSegmentation](/docs/transformers/v5.23.0/ar/model_doc/maskformer#transformers.MaskFormerForInstanceSegmentation)، ويقبل التقطيع البانورامي الحجة الاختيارية `label_ids_to_fuse` لدمج كائنات الهدف (مثل السماء) معاً.

## الموارد

- يمكن العثور على جميع الدفاتر التي توضح الاستدلال وكذلك الضبط الدقيق على بيانات مخصصة باستخدام MaskFormer [هنا](https://github.com/NielsRogge/Transformers-Tutorials/tree/master/MaskFormer).

## المخرجات الخاصة بـ MaskFormer[[transformers.models.maskformer.modeling_maskformer.MaskFormerModelOutput]]

#### transformers.models.maskformer.modeling_maskformer.MaskFormerModelOutput[[transformers.models.maskformer.modeling_maskformer.MaskFormerModelOutput]]

```python
transformers.models.maskformer.modeling_maskformer.MaskFormerModelOutput(encoder_last_hidden_state: typing.Optional[torch.Tensor] = None, pixel_decoder_last_hidden_state: typing.Optional[torch.Tensor] = None, transformer_decoder_last_hidden_state: typing.Optional[torch.Tensor] = None, encoder_hidden_states: tuple[torch.Tensor] | None = None, pixel_decoder_hidden_states: tuple[torch.Tensor] | None = None, transformer_decoder_hidden_states: tuple[torch.Tensor] | None = None, hidden_states: tuple[torch.Tensor] | None = None, attentions: tuple[torch.Tensor] | None = None)
```

[المصدر](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/maskformer/modeling_maskformer.py#L136)

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

encoder_last_hidden_state (`torch.Tensor` من الشكل `(batch_size, num_channels, height, width)`) : حالات الإخفاء الأخيرة (خريطة الميزات النهائية) للمرحلة الأخيرة من نموذج المُشفِّر (الهيكل الأساسي).

pixel_decoder_last_hidden_state (`torch.Tensor` من الشكل `(batch_size, num_channels, height, width)`) : حالات الإخفاء الأخيرة (خريطة الميزات النهائية) للمرحلة الأخيرة من نموذج فاحص البكسل (FPN).

transformer_decoder_last_hidden_state (`torch.Tensor` من الشكل `(batch_size, sequence_length, hidden_size)`) : حالات المخفي الأخيرة (خريطة الميزات النهائية) للمرحلة الأخيرة من نموذج فك ترميز التحويلي.

encoder_hidden_states (`tuple(torch.Tensor)`، *اختياري*، يُعاد عند تمرير `output_hidden_states=True` أو عند تعيين `config.output_hidden_states=True`) : مجموعة من `torch.Tensor` (واحدة لإخراج التضمينات + واحدة لإخراج كل مرحلة) من الشكل `(batch_size, num_channels, height, width)`. حالات مخفية (تُسمى أيضًا خرائط الميزات) لنموذج المُشفِّر عند إخراج كل مرحلة.

pixel_decoder_hidden_states (`tuple(torch.Tensor)`، *اختياري*، يُعاد عند تمرير `output_hidden_states=True` أو عند تعيين `config.output_hidden_states=True`) : مجموعة من `torch.Tensor` (واحدة لإخراج التضمينات + واحدة لإخراج كل مرحلة) بأبعاد `(batch_size, num_channels, height, width)`. حالات مخفية (تُسمى أيضًا خرائط الميزات) لنموذج فك ترميز البكسلات عند إخراج كل مرحلة.

transformer_decoder_hidden_states (`tuple(torch.Tensor)`، *اختياري*، يُعاد عند تمرير `output_hidden_states=True` أو عند تعيين `config.output_hidden_states=True`) : مجموعة من `torch.Tensor` (واحدة لإخراج التضمينات + واحدة لإخراج كل مرحلة) من الشكل `(batch_size, sequence_length, hidden_size)`. حالات المخفية (المعروفة أيضًا باسم خرائط الميزات) لمفكك التحويل عند إخراج كل مرحلة.

hidden_states `tuple(torch.Tensor)`، *اختياري*، يُعاد عند تمرير `output_hidden_states=True` أو عند تعيين `config.output_hidden_states=True`) : مجموعة من `torch.Tensor` تحتوي على `encoder_hidden_states` و`pixel_decoder_hidden_states` و`decoder_hidden_states`

hidden_states (`tuple[torch.Tensor]`، *اختياري*، يُعاد عند تمرير `output_hidden_states=True` أو عند تعيين `config.output_hidden_states=True`) : مجموعة من `torch.Tensor` (واحد لإخراج الطبقات المضمنة إذا كان النموذج يحتوي على طبقة تضمين، + واحد لإخراج كل طبقة) بأبعاد `(batch_size, sequence_length, hidden_size)`. حالات مخفية للنموذج عند إخراج كل طبقة بالإضافة إلى مخرجات التضمين الأولية الاختيارية.

attentions (`tuple[torch.Tensor]`، *اختياري*، يُعاد عند تمرير `output_attentions=True` أو عند تعيين `config.output_attentions=True`) : مجموعة من `torch.Tensor` (واحدة لكل طبقة) بأبعاد `(batch_size, num_heads, sequence_length, sequence_length)`. أوزان الانتباه بعد تطبيق softmax على الانتباه، وتُستخدم لحساب المتوسط المرجح في رؤوس الانتباه الذاتي.

فئة لمخرجات [MaskFormerModel](/docs/transformers/v5.23.0/ar/model_doc/maskformer#transformers.MaskFormerModel). تُعيد هذه الفئة جميع حالات الإخفاء (hidden states) اللازمة لحساب القيم اللوجستية (logits).

#### transformers.models.maskformer.modeling_maskformer.MaskFormerForInstanceSegmentationOutput[[transformers.models.maskformer.modeling_maskformer.MaskFormerForInstanceSegmentationOutput]]

```python
transformers.models.maskformer.modeling_maskformer.MaskFormerForInstanceSegmentationOutput(loss: typing.Optional[torch.Tensor] = None, class_queries_logits: typing.Optional[torch.Tensor] = None, masks_queries_logits: typing.Optional[torch.Tensor] = None, auxiliary_logits: typing.Optional[torch.Tensor] = None, encoder_last_hidden_state: typing.Optional[torch.Tensor] = None, pixel_decoder_last_hidden_state: typing.Optional[torch.Tensor] = None, transformer_decoder_last_hidden_state: typing.Optional[torch.Tensor] = None, encoder_hidden_states: tuple[torch.Tensor] | None = None, pixel_decoder_hidden_states: tuple[torch.Tensor] | None = None, transformer_decoder_hidden_states: tuple[torch.Tensor] | None = None, hidden_states: tuple[torch.Tensor] | None = None, attentions: tuple[torch.Tensor] | None = None)
```

[المصدر](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/maskformer/modeling_maskformer.py#L182)

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

loss (`torch.Tensor`، *اختياري*) : الخسارة المحسوبة، تُعاد عند وجود التسميات.

class_queries_logits (`torch.Tensor`، *اختياري*) : متجه (Tensor) على شكل `(batch_size, num_queries, num_labels + 1)` يمثل الفئات المقترحة لكل استعلام. لاحظ أن `+ 1` ضروري لأننا ندمج فئة فارغة (null class).

masks_queries_logits (`torch.Tensor`، *اختياري*) : متجه (Tensor) على شكل `(batch_size, num_queries, height, width)` يمثل الأقنعة المقترحة لكل استعلام.

auxiliary_logits (`Dict[str, torch.Tensor]`، *اختياري*، يُعاد عند `output_auxiliary_logits=True`) : قاموس يحتوي على تنبؤات مساعدة لكل طبقة من طبقات المُفكِّك (decoder) عند تمكين الخسائر المساعدة.

encoder_last_hidden_state (`torch.Tensor` من الشكل `(batch_size, num_channels, height, width)`) : حالات الإخفاء الأخيرة (خريطة الميزات النهائية) للمرحلة الأخيرة من نموذج المُشفِّر (الهيكل الأساسي).

pixel_decoder_last_hidden_state (`torch.Tensor` من الشكل `(batch_size, num_channels, height, width)`) : حالات الإخفاء الأخيرة (خريطة الميزات النهائية) للمرحلة الأخيرة من نموذج فاحص البكسل (FPN).

transformer_decoder_last_hidden_state (`torch.Tensor` من الشكل `(batch_size, sequence_length, hidden_size)`) : حالات المخفي الأخيرة (خريطة الميزات النهائية) للمرحلة الأخيرة من نموذج فك ترميز التحويلي.

encoder_hidden_states (`tuple(torch.Tensor)`، *اختياري*، يُعاد عند تمرير `output_hidden_states=True` أو عند تعيين `config.output_hidden_states=True`) : مجموعة من `torch.Tensor` (واحدة لإخراج التضمينات + واحدة لإخراج كل مرحلة) من الشكل `(batch_size, num_channels, height, width)`. حالات مخفية (تُسمى أيضًا خرائط الميزات) لنموذج المُشفِّر عند إخراج كل مرحلة.

pixel_decoder_hidden_states (`tuple(torch.Tensor)`، *اختياري*، يُعاد عند تمرير `output_hidden_states=True` أو عند تعيين `config.output_hidden_states=True`) : مجموعة من `torch.Tensor` (واحدة لإخراج التضمينات + واحدة لإخراج كل مرحلة) بأبعاد `(batch_size, num_channels, height, width)`. حالات مخفية (تُسمى أيضًا خرائط الميزات) لنموذج فك ترميز البكسلات عند إخراج كل مرحلة.

transformer_decoder_hidden_states (`tuple(torch.Tensor)`، *اختياري*، يُعاد عند تمرير `output_hidden_states=True` أو عند تعيين `config.output_hidden_states=True`) : مجموعة من `torch.Tensor` (واحدة لإخراج التضمينات + واحدة لإخراج كل مرحلة) بأبعاد `(batch_size, sequence_length, hidden_size)`. حالات المخفية لمفكك التحويل عند إخراج كل مرحلة.

hidden_states `tuple(torch.Tensor)`، *اختياري*، يُعاد عند تمرير `output_hidden_states=True` أو عند تعيين `config.output_hidden_states=True`) : مجموعة من `torch.Tensor` تحتوي على `encoder_hidden_states` و`pixel_decoder_hidden_states` و`decoder_hidden_states`.

hidden_states (`tuple[torch.Tensor]`، *اختياري*، يُعاد عند تمرير `output_hidden_states=True` أو عند تعيين `config.output_hidden_states=True`) : مجموعة من `torch.Tensor` (واحد لإخراج الطبقات المضمنة إذا كان النموذج يحتوي على طبقة تضمين، + واحد لإخراج كل طبقة) بأبعاد `(batch_size, sequence_length, hidden_size)`. حالات مخفية للنموذج عند إخراج كل طبقة بالإضافة إلى مخرجات التضمين الأولية الاختيارية.

attentions (`tuple[torch.Tensor]`، *اختياري*، يُعاد عند تمرير `output_attentions=True` أو عند تعيين `config.output_attentions=True`) : مجموعة من `torch.Tensor` (واحدة لكل طبقة) بأبعاد `(batch_size, num_heads, sequence_length, sequence_length)`. أوزان الانتباه بعد تطبيق softmax على الانتباه، وتُستخدم لحساب المتوسط المرجح في رؤوس الانتباه الذاتي.

فئة لمخرجات [MaskFormerForInstanceSegmentation](/docs/transformers/v5.23.0/ar/model_doc/maskformer#transformers.MaskFormerForInstanceSegmentation).

يمكن تمرير هذا المخرَج مباشرةً إلى [post_process_semantic_segmentation()](/docs/transformers/v5.23.0/ar/model_doc/maskformer#transformers.MaskFormerImageProcessor.post_process_semantic_segmentation) أو [post_process_instance_segmentation()](/docs/transformers/v5.23.0/ar/model_doc/maskformer#transformers.MaskFormerImageProcessor.post_process_instance_segmentation) أو [post_process_panoptic_segmentation()](/docs/transformers/v5.23.0/ar/model_doc/maskformer#transformers.MaskFormerImageProcessor.post_process_panoptic_segmentation) اعتمادًا على المهمة. يرجى الرجوع إلى [`~MaskFormerImageProcessor] للتفاصيل المتعلقة بالاستخدام.

## MaskFormerDetrConfig[[transformers.MaskFormerDetrConfig]]

#### transformers.MaskFormerDetrConfig[[transformers.MaskFormerDetrConfig]]

```python
transformers.MaskFormerDetrConfig(transformers_version: str | None = None, architectures: list[str] | None = None, output_hidden_states: bool | None = False, return_dict: bool | None = True, dtype: str | torch.dtype | None = None, chunk_size_feed_forward: int = 0, id2label: dict[int, str] | dict[str, str] | None = None, label2id: dict[str, int] | dict[str, str] | None = None, problem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = None, is_encoder_decoder: bool = True, backbone_config: dict | transformers.configuration_utils.PreTrainedConfig | None = None, num_channels: int = 3, num_queries: int = 100, encoder_layers: int = 6, encoder_ffn_dim: int = 2048, encoder_attention_heads: int = 8, decoder_layers: int = 6, decoder_ffn_dim: int = 2048, decoder_attention_heads: int = 8, encoder_layerdrop: float | int = 0.0, decoder_layerdrop: float | int = 0.0, activation_function: str = 'relu', d_model: int = 256, dropout: float | int = 0.1, attention_dropout: float | int = 0.0, activation_dropout: float | int = 0.0, init_std: float = 0.02, init_xavier_std: float = 1.0, auxiliary_loss: bool = False, position_embedding_type: str = 'sine', dilation: bool = False, class_cost: int = 1, bbox_cost: int = 5, giou_cost: int = 2, mask_loss_coefficient: int = 1, dice_loss_coefficient: int = 1, bbox_loss_coefficient: int = 5, giou_loss_coefficient: int = 2, eos_coefficient: float = 0.1)
```

[المصدر](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/maskformer/configuration_maskformer.py#L32)

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

is_encoder_decoder (`bool`، *اختياري*، الافتراضي هو `True`) : ما إذا كان النموذج يُستخدم كمُشفِّر/مُفكِّك أم لا.

backbone_config (`Union[dict, ~configuration_utils.PreTrainedConfig]`، *اختياري*) : إعدادات نموذج الهيكل الأساسي.

num_channels (`int`، *اختياري*، القيمة الافتراضية `3`) : عدد قنوات الإدخال.

num_queries (`int`، *اختياري*، القيمة الافتراضية 100) : عدد استعلامات الكائنات، أي فتحات الكشف. هذا هو الحد الأقصى لعدد الكائنات التي يمكن لنموذج [ConditionalDetrModel](/docs/transformers/v5.23.0/ar/model_doc/conditional_detr#transformers.ConditionalDetrModel) اكتشافها في صورة واحدة. بالنسبة إلى COCO، نوصي باستخدام 100 استعلام.

encoder_layers (`int`، *اختياري*، القيمة الافتراضية `6`) : عدد الطبقات المخفية في مُشفِّر Transformer. سيستخدم القيمة نفسها لـ`num_layers` إذا لم يتم ضبطه.

encoder_ffn_dim (`int`, *اختياري*, القيمة الافتراضية هي `2048`) : أبعاد طبقة "الوسيطة" (المعروفة غالبًا باسم طبقة التقدّم الأمامي) في المُشفِّر.

encoder_attention_heads (`int`، *اختياري*، القيمة الافتراضية `8`) : عدد رؤوس الانتباه لكل طبقة انتباه في مُشفِّر Transformer.

decoder_layers (`int`، *اختياري*، القيمة الافتراضية `6`) : عدد الطبقات المخفية في مُفكِّك Transformer. سيستخدم القيمة نفسها لـ`num_layers` إذا لم يتم ضبطه.

decoder_ffn_dim (`int`، *اختياري*، الافتراضي هو `2048`) : أبعاد الطبقة «الوسيطة» (المعروفة غالبًا باسم طبقة التقدّم الأمامي) في المُفكِّك.

decoder_attention_heads (`int`، *اختياري*، القيمة الافتراضية `8`) : عدد رؤوس الانتباه في كل طبقة انتباه داخل مُفكِّك Transformer.

encoder_layerdrop (`Union[float, int]`، *اختياري*، الافتراضي هو `0.0`) : احتمال LayerDrop للمشفّر. راجع [ورقة LayerDrop](see https://huggingface.co/papers/1909.11556) لمزيد من التفاصيل.

decoder_layerdrop (`Union[float, int]`, *اختياري*, القيمة الافتراضية `0.0`) : احتمال LayerDrop لمفكّك الترميز. راجع [ورقة LayerDrop](see https://huggingface.co/papers/1909.11556) لمزيد من التفاصيل.

activation_function (`str`، *اختياري*، الافتراضي هو `relu`) : دالة التنشيط غير الخطية (دالة أو نص) في المُفكِّك. على سبيل المثال، `"gelu"`، `"relu"`، `"silu"`، وغيرها.

d_model (`int`، *اختياري*، القيمة الافتراضية `256`) : حجم طبقات المُشفِّر وطبقة المُجمِّع.

dropout (`Union[float, int]`، *اختياري*، القيمة الافتراضية هي `0.1`) : النسبة لجميع طبقات dropout.

attention_dropout (`Union[float, int]`، *اختياري*، القيمة الافتراضية `0.0`) : نسبة الإسقاط (dropout) لاحتمالات الانتباه.

activation_dropout (`Union[float, int]`، *اختياري*، القيمة الافتراضية `0.0`) : نسبة الإسقاط (dropout) للتفعيلات داخل الطبقة المتصلة بالكامل.

init_std (`float`، *اختياري*، القيمة الافتراضية `0.02`) : الانحراف المعياري لـ truncated_normal_initializer المستخدم في تهيئة جميع مصفوفات الأوزان.

init_xavier_std (`float`، *اختياري*، القيمة الافتراضية `1.0`) : معامل التدرّج المستخدم في تهيئة Xavier لأوزان الانتباه المتقاطع.

auxiliary_loss (`bool`، *اختياري*، القيمة الافتراضية `False`) : ما إذا كان سيتم استخدام خسائر فك الترميز المساعدة (الخسائر في كل طبقة من طبقات فك الترميز).

position_embedding_type (`str`، *اختياري*، القيمة الافتراضية `"sine"`) : نوع تضمينات المواقع (position embeddings) المستخدمة فوق ميزات الصورة. إما `"sine"` أو `"learned"`.

dilation (`bool`, *اختياري*, الافتراضي `False`) : ما إذا كان سيتم استبدال الخطوة (stride) بالتوسيع (dilation) في كتلة الالتفاف الأخيرة (DC5). مدعوم فقط عندما يكون `use_timm_backbone` = `True`.

class_cost (`int`، *اختياري*، القيمة الافتراضية `1`) : الوزن النسبي لخطأ التصنيف في تكلفة المطابقة الهنغارية.

bbox_cost (`int`، *اختياري*، القيمة الافتراضية `5`) : الوزن النسبي لخطأ صندوق الحدود L1 في تكلفة المطابقة الهنغارية.

giou_cost (`int`, *اختياري*، القيمة الافتراضية `2`) : الوزن النسبي لخسارة IoU المعممة في تكلفة المطابقة الهنغارية.

mask_loss_coefficient (`int`، *اختياري*، القيمة الافتراضية `1`) : الوزن النسبي لخسارة التركيز (focal loss) في خسارة التقطيع البانورامي (panoptic segmentation).

dice_loss_coefficient (`int`، *اختياري*، القيمة الافتراضية `1`) : الوزن النسبي لخسارة الداي (dice loss) في خسارة التقطيع البانورامي (panoptic segmentation).

bbox_loss_coefficient (`int`، *اختياري*، القيمة الافتراضية `5`) : الوزن النسبي لخسارة صندوق الحدود L1 في خسارة التقطيع البانورامي.

giou_loss_coefficient (`int`, *اختياري*, القيمة الافتراضية `2`) : الوزن النسبي لخسارة IoU المعممة في خسارة التقطيع البانورامي.

eos_coefficient (`float`، *اختياري*، القيمة الافتراضية `0.1`) : وزن التصنيف النسبي لفئة "لا يوجد كائن" في خسارة كشف الكائنات.

هذه فئة الإعدادات المخزنة لإعدادات نموذج MaskFormerModel. تُستخدم لاستحداث نموذج Maskformer وفقاً للحجج المحددة، مع تعريف بنية النموذج. إن استحداث إعدادات باستخدام القيم الافتراضية سيؤدي إلى إعدادات مشابهة لتلك الخاصة بـ [facebook/maskformer-swin-base-ade](https://huggingface.co/facebook/maskformer-swin-base-ade)

ترث كائنات الإعداد من [PreTrainedConfig](/docs/transformers/v5.23.0/ar/main_classes/configuration#transformers.PreTrainedConfig) ويمكن استخدامها للتحكم في مخرجات النموذج. اقرأ التوثيق الخاص بـ [PreTrainedConfig](/docs/transformers/v5.23.0/ar/main_classes/configuration#transformers.PreTrainedConfig) لمزيد من المعلومات.

أمثلة:

```python
>>> from transformers import MaskFormerDetrConfig, MaskFormerDetrModel

>>> # Initializing a MASK_FORMER_DETR facebook/mask_former_detr-resnet-50 style configuration
>>> configuration = MaskFormerDetrConfig()

>>> # Initializing a model (with random weights) from the facebook/mask_former_detr-resnet-50 style configuration
>>> model = MaskFormerDetrModel(configuration)

>>> # Accessing the model configuration
>>> configuration = model.config
```

## MaskFormerConfig[[transformers.MaskFormerConfig]]

#### transformers.MaskFormerConfig[[transformers.MaskFormerConfig]]

```python
transformers.MaskFormerConfig(transformers_version: str | None = None, architectures: list[str] | None = None, output_hidden_states: bool | None = False, return_dict: bool | None = True, dtype: str | torch.dtype | None = None, chunk_size_feed_forward: int = 0, is_encoder_decoder: bool = False, id2label: dict[int, str] | dict[str, str] | None = None, label2id: dict[str, int] | dict[str, str] | None = None, problem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = None, fpn_feature_size: int = 256, mask_feature_size: int = 256, no_object_weight: float = 0.1, use_auxiliary_loss: bool = False, backbone_config: dict | transformers.configuration_utils.PreTrainedConfig | None = None, decoder_config: dict | transformers.configuration_utils.PreTrainedConfig | None = None, init_std: float = 0.02, init_xavier_std: float = 1.0, dice_weight: float = 1.0, cross_entropy_weight: float = 1.0, mask_weight: float = 20.0, output_auxiliary_logits: bool | None = None)
```

[المصدر](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/maskformer/configuration_maskformer.py#L126)

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

fpn_feature_size (`int`، *اختياري*، القيمة الافتراضية 256) : حجم ميزات شبكة هرم الميزات (Feature Pyramid Network).

mask_feature_size (`int`، *اختياري*، القيمة الافتراضية 256) : حجم ميزات الأقنعة، وسيتم استخدام هذه القيمة أيضًا لتحديد حجم ميزات شبكة هرم الميزات (Feature Pyramid Network).

no_object_weight (`float`، *اختياري*، القيمة الافتراضية `0.1`) : وزن التصنيف النسبي لفئة "لا يوجد كائن" في خسارة كشف الكائنات.

use_auxiliary_loss (`bool`، *اختياري*، القيمة الافتراضية `False`) : ما إذا كان سيتم حساب الخسارة باستخدام التوقعات الوسيطة من مُفكِّك التحوّل (transformer decoder).

backbone_config (`Union[dict, ~configuration_utils.PreTrainedConfig]`، *اختياري*) : إعدادات نموذج الهيكل الأساسي.

decoder_config (`Dict`، *اختياري*) : الإعدادات المُمرَّرة إلى نموذج مُفكِّك التحويل (transformer decoder)، وإذا لم تُضبط فسيتم استخدام الإعداد الأساسي لـ`detr-resnet-50`.

init_std (`float`، *اختياري*، القيمة الافتراضية `0.02`) : الانحراف المعياري لـ truncated_normal_initializer المستخدم في تهيئة جميع مصفوفات الأوزان.

init_xavier_std (`float`، *اختياري*، القيمة الافتراضية `1.0`) : معامل التدرّج المستخدم في تهيئة Xavier لأوزان الانتباه المتقاطع.

dice_weight (`float`، *اختياري*، القيمة الافتراضية `1.0`) : الوزن النسبي لخسارة دايس (dice loss) في خسارة التقطيع البانورامي (panoptic segmentation).

cross_entropy_weight (`float`، *اختياري*، القيمة الافتراضية 1.0) : الوزن الخاص بخسارة الانتروبيا المتقاطعة.

mask_weight (`float`، *اختياري*، القيمة الافتراضية `20.0`) : الوزن النسبي لخسارة التركيز (focal loss) في خسارة التقطيع البانورامي (panoptic segmentation).

output_auxiliary_logits (`bool`، *اختياري*) : هل يجب على النموذج إخراج `auxiliary_logits` أم لا.

**يرفع:** ``ValueError``

- ``ValueError`` -- تُستدعى إذا كان نوع نموذج الهيكل الأساسي المحدد غير موجود في `["swin"]` أو إذا كان نوع نموذج فك الترميز المحدد غير موجود في `["detr"]`

هذه فئة الإعدادات المخزنة لإعدادات نموذج MaskFormerModel. تُستخدم لاستحداث نموذج Maskformer وفقاً للحجج المحددة، مع تعريف بنية النموذج. إن استحداث إعدادات باستخدام القيم الافتراضية سيؤدي إلى إعدادات مشابهة لتلك الخاصة بـ [facebook/maskformer-swin-base-ade](https://huggingface.co/facebook/maskformer-swin-base-ade)

ترث كائنات الإعداد من [PreTrainedConfig](/docs/transformers/v5.23.0/ar/main_classes/configuration#transformers.PreTrainedConfig) ويمكن استخدامها للتحكم في مخرجات النموذج. اقرأ التوثيق الخاص بـ [PreTrainedConfig](/docs/transformers/v5.23.0/ar/main_classes/configuration#transformers.PreTrainedConfig) لمزيد من المعلومات.

أمثلة:

```python
>>> from transformers import MaskFormerConfig, MaskFormerModel

>>> # Initializing a MaskFormer facebook/maskformer-swin-base-ade configuration
>>> configuration = MaskFormerConfig()

>>> # Initializing a model (with random weights) from the facebook/maskformer-swin-base-ade style configuration
>>> model = MaskFormerModel(configuration)

>>> # Accessing the model configuration
>>> configuration = model.config
```

## MaskFormerImageProcessor[[transformers.MaskFormerImageProcessor]]

#### transformers.MaskFormerImageProcessor[[transformers.MaskFormerImageProcessor]]

```python
transformers.MaskFormerImageProcessor(**kwargs: *<class 'transformers.models.maskformer.image_processing_maskformer.MaskFormerImageProcessorKwargs'>)
```

[المصدر](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/maskformer/image_processing_maskformer.py#L257)

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

do_convert_rgb (`bool`، *kwargs*، *اختياري*) : ما إذا كان يجب تحويل الصورة إلى RGB.

do_resize (`bool`، *kwargs*، *اختياري*، الافتراضي هو `True`) : ما إذا كان سيتم تغيير حجم الصورة.

size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`، *kwargs*، القيمة الافتراضية `{'shortest_edge' : 800, 'longest_edge': 1333}`): يصف الأبعاد القصوى للإدخال إلى النموذج.

default_to_square (`bool`، *kwargs*، *اختياري*، الافتراضي `False`) : ما إذا كان سيتم افتراض صورة مربعة عند تغيير الحجم، إذا كان size من نوع int.

crop_size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`، *kwargs*) : حجم الصورة الناتجة بعد تطبيق `center_crop`.

resample (`Annotated[Union[int, PILImageResampling, NoneType], None]`، *kwargs*، القيمة الافتراضية `2`) : مرشح إعادة العينة المستخدم عند تغيير حجم الصورة. يمكن أن يكون أحد قيم التعداد `PILImageResampling`. لا يؤثر إلا إذا كانت قيمة `do_resize` هي `True`.

do_rescale (`bool`، *kwargs*، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان يجب إعادة تحجيم الصورة.

rescale_factor (`float`، *kwargs*، *اختياري*، القيمة الافتراضية هي `0.00392156862745098`) : عامل إعادة التحجيم لإعادة تحجيم الصورة إذا كان `do_rescale` مضبوطاً على `True`.

do_normalize (`bool`، *kwargs*، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان سيتم تطبيع الصورة.

image_mean (`Union[float, list[float], tuple[float, ...]]`، *kwargs*، *اختياري*، القيمة الافتراضية `[0.485, 0.456, 0.406]`) : متوسط الصورة المستخدم للتطبيع. لا يكون له أي تأثير إلا إذا تم تعيين `do_normalize` إلى `True`.

image_std (`Union[float, list[float], tuple[float, ...]]`، *kwargs*، *اختياري*، القيمة الافتراضية `[0.229, 0.224, 0.225]`) : الانحراف المعياري للصورة المستخدم للتطبيع. لا يكون له تأثير إلا إذا تم تعيين `do_normalize` إلى `True`.

do_pad (`bool`، *kwargs*، *اختياري*) : ما إذا كان يجب إضافة حشوة إلى الصورة. يتم تنفيذ الحشوة إما إلى أكبر حجم في الدفعة أو إلى حجم مربع ثابت لكل صورة. تعتمد استراتيجية الحشوة الدقيقة على النموذج.

pad_size (`SizeDict`، *kwargs*، *اختياري*) : الحجم الذي سيتم توسيط الصور إليه. يجب أن يكون أكبر من أي حجم صورة مُقدَّم للمعالجة المسبقة. إذا لم يُقدَّم `pad_size`، فسيتم توسيط الصور إلى أكبر ارتفاع وعرض في الدفعة.

do_center_crop (`bool`، *kwargs*، *اختياري*) : ما إذا كان يجب قص الصورة من المنتصف.

data_format (`Union[str, ~image_utils.ChannelDimension]`، *kwargs*، *اختياري*) : يُدعم `ChannelDimension.FIRST` فقط. أُضيف من أجل التوافق مع المعالجات البطيئة.

input_data_format (`Union[str, ~image_utils.ChannelDimension]`، *kwargs*، *اختياري*) : تنسيق بُعد القناة للصورة المدخلة. إذا لم يتم ضبطه، يُستنتج تنسيق بُعد القناة من الصورة المدخلة. يمكن أن يكون أحد ما يلي: - `"channels_first"` أو `ChannelDimension.FIRST`: صورة بتنسيق (num_channels, height, width). - `"channels_last"` أو `ChannelDimension.LAST`: صورة بتنسيق (height, width, num_channels). - `"none"` أو `ChannelDimension.NONE`: صورة بتنسيق (height, width).

device (`Annotated[Union[str, torch.device, NoneType], None]`, *kwargs*) : الجهاز الذي تتم عليه معالجة مقاطع الفيديو. إذا لم يتم ضبطه، يُستنتج الجهاز من مقاطع الفيديو المدخلة.

return_tensors (`Annotated[str | ~utils.generic.TensorType | None, None]`, *kwargs*) : تُرجع توتنرات مكدّسة إذا كان الإعداد `'pt'`، وإلا تُرجع قائمة من التوتنرات.

disable_grouping (`bool`، *kwargs*، *اختياري*) : ما إذا كان سيتم تعطيل تجميع الصور حسب الحجم لمعالجتها بشكل فردي بدلاً من دفعات. إذا كانت القيمة None، فسيتم تعيينها إلى True إذا كانت الصور على وحدة المعالجة المركزية (CPU)، وإلا فستكون False. تستند هذه الخيارات إلى ملاحظات تجريبية، كما هو موضح هنا: https://github.com/huggingface/transformers/pull/38157

image_seq_length (`int`، *kwargs*، *اختياري*) : عدد رموز الصور التي سيتم استخدامها لكل صورة في المدخلات. أُضيفت لضمان التوافق مع الإصدارات السابقة، لكن ينبغي ضبطها كخاصية للمعالج في النماذج المستقبلية.

ignore_index (`int`، *kwargs*، *اختياري*) : التسمية التي سيتم إسنادها إلى بكسلات الخلفية في خرائط التقسيم. إذا تم تقديمها، فسيتم استبدال بكسلات خريطة التقسيم المُشار إليها بـ 0 (الخلفية) بـ `ignore_index`.

do_reduce_labels (`bool`، *kwargs*، *اختياري*، القيمة الافتراضية `False`) : ما إذا كان سيتم تخفيض جميع قيم التسميات في خرائط التقسيم بمقدار 1. يُستخدم عادةً في مجموعات البيانات التي يُستخدم فيها الرقم 0 للخلفية، ولا تُدرج الخلفية نفسها ضمن جميع فئات مجموعة البيانات (مثل ADE20k). سيتم استبدال تسمية الخلفية بـ `ignore_index`.

num_labels (`int`، *kwargs*، *اختياري*) : عدد التسميات في خريطة التقطيع.

size_divisor (`int`، *kwargs*، *اختياري*، القيمة الافتراضية هي `32`) : تحتاج بعض الهياك الأساسية إلى صور قابلة للقسمة على عدد معين. إذا لم يتم تمريرها، فإن القيمة الافتراضية هي القيمة المستخدمة في Swin Transformer.

ينشئ معالج صور MaskFormerImageProcessor.

#### preprocess[[transformers.MaskFormerImageProcessor.preprocess]]

```python
preprocess(images: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor']], segmentation_maps: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor'], NoneType] = None, instance_id_to_semantic_id: list[dict[int, int]] | dict[int, int] | None = None, **kwargs: *<class 'transformers.models.maskformer.image_processing_maskformer.MaskFormerImageProcessorKwargs'>)
```

[المصدر](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/maskformer/image_processing_maskformer.py#L380)

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

images (`Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]]`) : الصورة المراد معالجتها مسبقًا. يتوقع صورة واحدة أو دفعة من الصور بقيم بكسل تتراوح بين 0 و255. إذا كنت تمرر صورًا بقيم بكسل بين 0 و1، فاضبط `do_rescale=False`.

segmentation_maps (`ImageInput`، *اختياري*) : خرائط التقطيع.

instance_id_to_semantic_id (`Union[list[dict[int, int]], dict[int, int]]`، *اختياري*) : تعيين من معرّفات الأمثلة إلى المعرّفات الدلالية.

do_convert_rgb (`bool`، *kwargs*، *اختياري*) : ما إذا كان يجب تحويل الصورة إلى RGB.

do_resize (`bool`، *kwargs*، *اختياري*) : ما إذا كان يجب تغيير حجم الصورة.

size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`, *kwargs*) : يصف الأبعاد القصوى للمدخلات إلى النموذج.

default_to_square (`bool`، *kwargs*، *اختياري*) : ما إذا كان يجب افتراض صورة مربعة عند تغيير الحجم، إذا كان الحجم عددًا صحيحًا.

crop_size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`، *kwargs*) : حجم الصورة الناتجة بعد تطبيق `center_crop`.

resample (`Annotated[Union[int, PILImageResampling, NoneType], None]`, *kwargs*) : مرشح إعادة العينة المستخدم عند تغيير حجم الصورة. يمكن أن يكون أحد قيم enum `PILImageResampling`. لا يؤثر إلا إذا كان `do_resize` مضبوطاً على `True`.

do_rescale (`bool`، *kwargs*، *اختياري*) : ما إذا كان يجب إعادة تحجيم الصورة.

rescale_factor (`float`، *kwargs*، *اختياري*) : معامل إعادة التحجيم لإعادة تحجيم الصورة إذا كان `do_rescale` مضبوطًا على `True`.

do_normalize (`bool`، *kwargs*، *اختياري*) : ما إذا كان يجب تطبيع الصورة.

image_mean (`Union[float, list[float], tuple[float, ...]]`، *kwargs*، *اختياري*) : متوسط الصورة المستخدم للتطبيع. لا يكون له أي تأثير إلا إذا تم تعيين `do_normalize` إلى `True`.

image_std (`Union[float, list[float], tuple[float, ...]]`، *kwargs*، *اختياري*) : الانحراف المعياري للصورة المستخدم للتطبيع. لا يكون له أي تأثير إلا إذا تم تعيين `do_normalize` إلى `True`.

do_pad (`bool`، *kwargs*، *اختياري*) : ما إذا كان يجب إضافة حشوة إلى الصورة. يتم تنفيذ الحشوة إما إلى أكبر حجم في الدفعة أو إلى حجم مربع ثابت لكل صورة. تعتمد استراتيجية الحشوة الدقيقة على النموذج.

pad_size (`SizeDict`، *kwargs*، *اختياري*) : الحجم الذي سيتم توسيط الصور إليه. يجب أن يكون أكبر من أي حجم صورة مُقدَّم للمعالجة المسبقة. إذا لم يُقدَّم `pad_size`، فسيتم توسيط الصور إلى أكبر ارتفاع وعرض في الدفعة.

do_center_crop (`bool`، *kwargs*، *اختياري*) : ما إذا كان يجب قص الصورة من المنتصف.

data_format (`Union[str, ~image_utils.ChannelDimension]`، *kwargs*، *اختياري*) : يُدعم `ChannelDimension.FIRST` فقط. أُضيف من أجل التوافق مع المعالجات البطيئة.

input_data_format (`Union[str, ~image_utils.ChannelDimension]`، *kwargs*، *اختياري*) : تنسيق بُعد القناة للصورة المدخلة. إذا لم يتم ضبطه، يُستنتج تنسيق بُعد القناة من الصورة المدخلة. يمكن أن يكون أحد ما يلي: - `"channels_first"` أو `ChannelDimension.FIRST`: صورة بتنسيق (num_channels, height, width). - `"channels_last"` أو `ChannelDimension.LAST`: صورة بتنسيق (height, width, num_channels). - `"none"` أو `ChannelDimension.NONE`: صورة بتنسيق (height, width).

device (`Annotated[Union[str, torch.device, NoneType], None]`, *kwargs*) : الجهاز الذي تتم عليه معالجة مقاطع الفيديو. إذا لم يتم ضبطه، يُستنتج الجهاز من مقاطع الفيديو المدخلة.

return_tensors (`Annotated[str | ~utils.generic.TensorType | None, None]`, *kwargs*) : تُرجع توتنرات مكدّسة إذا كان الإعداد `'pt'`، وإلا تُرجع قائمة من التوتنرات.

disable_grouping (`bool`، *kwargs*، *اختياري*) : ما إذا كان سيتم تعطيل تجميع الصور حسب الحجم لمعالجتها بشكل فردي بدلاً من دفعات. إذا كانت القيمة None، فسيتم تعيينها إلى True إذا كانت الصور على وحدة المعالجة المركزية (CPU)، وإلا فستكون False. تستند هذه الخيارات إلى ملاحظات تجريبية، كما هو موضح هنا: https://github.com/huggingface/transformers/pull/38157

image_seq_length (`int`، *kwargs*، *اختياري*) : عدد رموز الصور التي سيتم استخدامها لكل صورة في المدخلات. أُضيفت لضمان التوافق مع الإصدارات السابقة، لكن ينبغي ضبطها كخاصية للمعالج في النماذج المستقبلية.

ignore_index (`int`، *kwargs*، *اختياري*) : التسمية التي سيتم إسنادها إلى بكسلات الخلفية في خرائط التقسيم. إذا تم تقديمها، فسيتم استبدال بكسلات خريطة التقسيم المُشار إليها بـ 0 (الخلفية) بـ `ignore_index`.

do_reduce_labels (`bool`، *kwargs*، *اختياري*، القيمة الافتراضية `False`) : ما إذا كان سيتم تخفيض جميع قيم التسميات في خرائط التقسيم بمقدار 1. يُستخدم عادةً في مجموعات البيانات التي يُستخدم فيها الرقم 0 للخلفية، ولا تُدرج الخلفية نفسها ضمن جميع فئات مجموعة البيانات (مثل ADE20k). سيتم استبدال تسمية الخلفية بـ `ignore_index`.

num_labels (`int`، *kwargs*، *اختياري*) : عدد التسميات في خريطة التقطيع.

size_divisor (`int`، *kwargs*، *اختياري*، القيمة الافتراضية هي `32`) : تحتاج بعض الهياك الأساسية إلى صور قابلة للقسمة على عدد معين. إذا لم يتم تمريرها، فإن القيمة الافتراضية هي القيمة المستخدمة في Swin Transformer.

**يعيد:** `~image_processing_base.BatchFeature`

- **data** (`dict`) -- قاموس من القوائم/المصفوفات/الموترات التي يعيدها أسلوب __call__ ('pixel_values'، وما إلى ذلك).
- **tensor_type** (`Union[None, str, TensorType]`، *اختياري*) -- يمكنك تحديد tensor_type هنا لتحويل قوائم الأعداد الصحيحة إلى تينسورات PyTorch/Numpy عند التهيئة.

#### post_process_semantic_segmentation[[transformers.MaskFormerImageProcessor.post_process_semantic_segmentation]]

```python
post_process_semantic_segmentation(outputs, target_sizes: list[tuple[int, int]] | None = None, return_segmentation_scores: bool = False)
```

[المصدر](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/maskformer/image_processing_maskformer.py#L546)

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

outputs ([MaskFormerForInstanceSegmentation](/docs/transformers/v5.23.0/ar/model_doc/maskformer#transformers.MaskFormerForInstanceSegmentation)) : المخرجات الخام للنموذج.

target_sizes (`list[tuple[int, int]]`، *اختياري*) : قائمة بطول (batch_size)، حيث يتوافق كل عنصر في القائمة (`tuple[int, int]]`) مع الحجم النهائي المطلوب (الارتفاع، العرض) لكل تنبؤ. إذا تُركت القيمة None، فلن يتم تغيير حجم التنبؤات.

return_segmentation_scores (`bool`, *اختياري*, القيمة الافتراضية `False`) : هل تُعاد تقييمات التقسيم إلى جانب خريطة التقسيم. عند تعيين `True`، يكون كل عنصر في القائمة المُعادة من نوع `SemanticSegmentationPostProcessorOutput` مع الحقل `segmentation` (معرّفات الفئات، الشكل `(height, width)`) والحقل `segmentation_scores` (الشكل `(num_classes, height, width)`).

**يعيد:** `list[torch.Tensor]` أو `list[SemanticSegmentationPostProcessorOutput]`

عندما يكون `return_segmentation_scores=False` (الافتراضي)، تُعاد قائمة بطول `batch_size` حيث يكون كل عنصر خريطة تجزئة بأبعاد `(height, width)` تحتوي على معرّفات الفئات. وعندما يكون `return_segmentation_scores=True`، تُعاد قائمة من كائنات `SemanticSegmentationPostProcessorOutput` تحتوي على الحقل `segmentation` (معرّفات الفئات، الأبعاد `(height, width)`) والحقل `segmentation_scores` (الأبعاد `(num_classes, height, width)`). في الحالتين، `(height, width)` يتوافق مع الحجم المستهدف (إذا تم تحديد `target_sizes`).

يحوّل مخرجات [MaskFormerForInstanceSegmentation](/docs/transformers/v5.23.0/ar/model_doc/maskformer#transformers.MaskFormerForInstanceSegmentation) إلى خرائط تجزئة دلالية. يدعم PyTorch فقط.

#### post_process_instance_segmentation[[transformers.MaskFormerImageProcessor.post_process_instance_segmentation]]

```python
post_process_instance_segmentation(outputs, threshold: float = 0.5, mask_threshold: float = 0.5, overlap_mask_area_threshold: float = 0.8, target_sizes: list[tuple[int, int]] | None = None, return_coco_annotation: bool | None = False, return_binary_maps: bool | None = False)
```

[المصدر](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/maskformer/image_processing_maskformer.py#L616)

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

outputs ([MaskFormerForInstanceSegmentation](/docs/transformers/v5.23.0/ar/model_doc/maskformer#transformers.MaskFormerForInstanceSegmentation)) : المخرجات الخام للنموذج.

threshold (`float`، *اختياري*، القيمة الافتراضية 0.5) : عتبة درجة الاحتمال للاحتفاظ بأقنعة الكائنات المتوقعة.

mask_threshold (`float`، *اختياري*، القيمة الافتراضية 0.5) : العتبة المستخدمة عند تحويل الأقنعة المتوقعة إلى قيم ثنائية.

overlap_mask_area_threshold (`float`، *اختياري*، القيمة الافتراضية 0.8) : عتبة منطقة قناع التداخل لدمج أو التخلص من الأجزاء الصغيرة المنفصلة داخل كل قناع كائن ثنائي.

target_sizes (`list[Tuple]`، *اختياري*) : قائمة بطول (batch_size)، حيث يتوافق كل عنصر في القائمة (`tuple[int, int]]`) مع الحجم النهائي المطلوب (الارتفاع، العرض) لكل تنبؤ. إذا تُركت القيمة None، فلن يتم تغيير حجم التنبؤات.

return_coco_annotation (`bool`، *اختياري*، القيمة الافتراضية `False`) : إذا تم ضبطه على `True`، تُعاد خرائط التقطيع (segmentation maps) بتنسيق الترميز بطول المسار (run-length encoding - RLE) الخاص بـ COCO.

return_binary_maps (`bool`، *اختياري*، القيمة الافتراضية `False`) : إذا تم ضبطه على `True`، تُعاد خرائط التقسيم كمتجه (تِنسور) مُدمج من خرائط التقسيم الثنائية (خريطة لكل حالة مكتشفة).

**يعيد:** `list[Dict]`

قائمة من القواميس، قواميس واحدة لكل صورة، يحتوي كل قاموس على مفتاحين:
- **segmentation** -- متجه (Tensor) على شكل `(height, width)` حيث يمثل كل بكسل `segment_id`، أو `list[List]` ترميز طول التشغيل (RLE) لخريطة التقسيم إذا تم ضبط return_coco_annotation على `True`، أو متجه على شكل `(num_instances, height, width)` إذا تم ضبط return_binary_maps على `True`. يُضبط على `None` إذا لم يُعثر على قناع فوق `threshold`.
- **segments_info** -- قاموس يحتوي على معلومات إضافية حول كل مقطع.
  - **id** -- عدد صحيح يمثل `segment_id`.
  - **label_id** -- عدد صحيح يمثل معرّف التسمية/الفئة الدلالية المقابلة لـ `segment_id`.
  - **score** -- درجة التنبؤ للمقطع ذي `segment_id`.

يحوّل مخرجات `MaskFormerForInstanceSegmentationOutput` إلى تنبؤات تجزئة الكائنات. يدعم PyTorch فقط. إذا كان من الممكن أن تتداخل الكائنات، فاضبط إما return_coco_annotation أو return_binary_maps على `True` للحصول على نتيجة تجزئة صحيحة.

#### post_process_panoptic_segmentation[[transformers.MaskFormerImageProcessor.post_process_panoptic_segmentation]]

```python
post_process_panoptic_segmentation(outputs, threshold: float = 0.5, mask_threshold: float = 0.5, overlap_mask_area_threshold: float = 0.8, label_ids_to_fuse: set[int] | None = None, target_sizes: list[tuple[int, int]] | None = None)
```

[المصدر](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/maskformer/image_processing_maskformer.py#L733)

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

outputs (`MaskFormerForInstanceSegmentationOutput`) : المخرجات من [MaskFormerForInstanceSegmentation](/docs/transformers/v5.23.0/ar/model_doc/maskformer#transformers.MaskFormerForInstanceSegmentation).

threshold (`float`، *اختياري*، القيمة الافتراضية 0.5) : عتبة درجة الاحتمال للاحتفاظ بأقنعة الكائنات المتوقعة.

mask_threshold (`float`، *اختياري*، القيمة الافتراضية 0.5) : العتبة المستخدمة عند تحويل الأقنعة المتوقعة إلى قيم ثنائية.

overlap_mask_area_threshold (`float`، *اختياري*، القيمة الافتراضية 0.8) : عتبة منطقة قناع التداخل لدمج أو التخلص من الأجزاء الصغيرة المنفصلة داخل كل قناع كائن ثنائي.

label_ids_to_fuse (`Set[int]`, *اختياري*) : ستتم دمج جميع حالات التسميات في هذا الحالة معًا. على سبيل المثال، يمكننا القول إنه يمكن أن يوجد سماء واحدة فقط في صورة، لكن عدة أشخاص، لذا فإن معرّف التسمية للسماء سيكون ضمن ذلك المجموعة، بينما لن يكون معرّف التسمية للشخص كذلك.

target_sizes (`list[Tuple]`، *اختياري*) : قائمة بطول (batch_size)، حيث يتوافق كل عنصر في القائمة (`tuple[int, int]]`) مع الحجم النهائي المطلوب (الارتفاع، العرض) لكل تنبؤ في الدفعة. إذا تُركت القيمة None، فلن يتم تغيير حجم التنبؤات.

**يعيد:** `list[Dict]`

قائمة من القواميس، قواميس واحدة لكل صورة، يحتوي كل قاموس على مفتاحين:
- **segmentation** -- متجه (tensor) بأبعاد `(height, width)` حيث يمثل كل بكسل `segment_id`، ويُضبط على `None` إذا لم يُعثر على قناع (mask) أعلى من `threshold`. إذا تم تحديد `target_sizes`، يتم تغيير حجم segmentation إلى القيمة المقابلة في `target_sizes`.
- **segments_info** -- قاموس يحتوي على معلومات إضافية حول كل مقطع.
  - **id** -- عدد صحيح يمثل `segment_id`.
  - **label_id** -- عدد صحيح يمثل معرّف التسمية/الفئة الدلالية المقابلة لـ `segment_id`.
  - **was_fused** -- قيمة منطقية، `True` إذا كان `label_id` ضمن `label_ids_to_fuse`، وإلا `False`. تم دمج عدة حالات من نفس الفئة / التسمية وتم إسناد `segment_id` واحد إليها.
  - **score** -- درجة التنبؤ للمقطع ذي `segment_id`.

يحوّل مخرجات `MaskFormerForInstanceSegmentationOutput` إلى تنبؤات تقسيم بانورامي للصور. يدعم PyTorch فقط.

## MaskFormerImageProcessorPil[[transformers.MaskFormerImageProcessorPil]]

#### transformers.MaskFormerImageProcessorPil[[transformers.MaskFormerImageProcessorPil]]

```python
transformers.MaskFormerImageProcessorPil(**kwargs: *<class 'transformers.models.maskformer.image_processing_pil_maskformer.MaskFormerImageProcessorKwargs'>)
```

[المصدر](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/maskformer/image_processing_pil_maskformer.py#L270)

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

do_convert_rgb (`bool`، *kwargs*، *اختياري*) : ما إذا كان يجب تحويل الصورة إلى RGB.

do_resize (`bool`، *kwargs*، *اختياري*، الافتراضي هو `True`) : ما إذا كان سيتم تغيير حجم الصورة.

size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`، *kwargs*، القيمة الافتراضية `{'shortest_edge' : 800, 'longest_edge': 1333}`): يصف الأبعاد القصوى للإدخال إلى النموذج.

default_to_square (`bool`، *kwargs*، *اختياري*، الافتراضي `False`) : ما إذا كان سيتم افتراض صورة مربعة عند تغيير الحجم، إذا كان size من نوع int.

crop_size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`، *kwargs*) : حجم الصورة الناتجة بعد تطبيق `center_crop`.

resample (`Annotated[Union[int, PILImageResampling, NoneType], None]`، *kwargs*، القيمة الافتراضية `2`) : مرشح إعادة العينة المستخدم عند تغيير حجم الصورة. يمكن أن يكون أحد قيم التعداد `PILImageResampling`. لا يؤثر إلا إذا كانت قيمة `do_resize` هي `True`.

do_rescale (`bool`، *kwargs*، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان يجب إعادة تحجيم الصورة.

rescale_factor (`float`، *kwargs*، *اختياري*، القيمة الافتراضية هي `0.00392156862745098`) : عامل إعادة التحجيم لإعادة تحجيم الصورة إذا كان `do_rescale` مضبوطاً على `True`.

do_normalize (`bool`، *kwargs*، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان سيتم تطبيع الصورة.

image_mean (`Union[float, list[float], tuple[float, ...]]`، *kwargs*، *اختياري*، القيمة الافتراضية `[0.485, 0.456, 0.406]`) : متوسط الصورة المستخدم للتطبيع. لا يكون له أي تأثير إلا إذا تم تعيين `do_normalize` إلى `True`.

image_std (`Union[float, list[float], tuple[float, ...]]`، *kwargs*، *اختياري*، القيمة الافتراضية `[0.229, 0.224, 0.225]`) : الانحراف المعياري للصورة المستخدم للتطبيع. لا يكون له تأثير إلا إذا تم تعيين `do_normalize` إلى `True`.

do_pad (`bool`، *kwargs*، *اختياري*) : ما إذا كان يجب إضافة حشوة إلى الصورة. يتم تنفيذ الحشوة إما إلى أكبر حجم في الدفعة أو إلى حجم مربع ثابت لكل صورة. تعتمد استراتيجية الحشوة الدقيقة على النموذج.

pad_size (`SizeDict`، *kwargs*، *اختياري*) : الحجم الذي سيتم توسيط الصور إليه. يجب أن يكون أكبر من أي حجم صورة مُقدَّم للمعالجة المسبقة. إذا لم يُقدَّم `pad_size`، فسيتم توسيط الصور إلى أكبر ارتفاع وعرض في الدفعة.

do_center_crop (`bool`، *kwargs*، *اختياري*) : ما إذا كان يجب قص الصورة من المنتصف.

data_format (`Union[str, ~image_utils.ChannelDimension]`، *kwargs*، *اختياري*) : يُدعم `ChannelDimension.FIRST` فقط. أُضيف من أجل التوافق مع المعالجات البطيئة.

input_data_format (`Union[str, ~image_utils.ChannelDimension]`، *kwargs*، *اختياري*) : تنسيق بُعد القناة للصورة المدخلة. إذا لم يتم ضبطه، يُستنتج تنسيق بُعد القناة من الصورة المدخلة. يمكن أن يكون أحد ما يلي: - `"channels_first"` أو `ChannelDimension.FIRST`: صورة بتنسيق (num_channels, height, width). - `"channels_last"` أو `ChannelDimension.LAST`: صورة بتنسيق (height, width, num_channels). - `"none"` أو `ChannelDimension.NONE`: صورة بتنسيق (height, width).

device (`Annotated[Union[str, torch.device, NoneType], None]`, *kwargs*) : الجهاز الذي تتم عليه معالجة مقاطع الفيديو. إذا لم يتم ضبطه، يُستنتج الجهاز من مقاطع الفيديو المدخلة.

return_tensors (`Annotated[str | ~utils.generic.TensorType | None, None]`, *kwargs*) : تُرجع توتنرات مكدّسة إذا كان الإعداد `'pt'`، وإلا تُرجع قائمة من التوتنرات.

disable_grouping (`bool`، *kwargs*، *اختياري*) : ما إذا كان سيتم تعطيل تجميع الصور حسب الحجم لمعالجتها بشكل فردي بدلاً من دفعات. إذا كانت القيمة None، فسيتم تعيينها إلى True إذا كانت الصور على وحدة المعالجة المركزية (CPU)، وإلا فستكون False. تستند هذه الخيارات إلى ملاحظات تجريبية، كما هو موضح هنا: https://github.com/huggingface/transformers/pull/38157

image_seq_length (`int`، *kwargs*، *اختياري*) : عدد رموز الصور التي سيتم استخدامها لكل صورة في المدخلات. أُضيفت لضمان التوافق مع الإصدارات السابقة، لكن ينبغي ضبطها كخاصية للمعالج في النماذج المستقبلية.

ignore_index (`int`، *kwargs*، *اختياري*) : التسمية التي سيتم إسنادها إلى بكسلات الخلفية في خرائط التقسيم. إذا تم تقديمها، فسيتم استبدال بكسلات خريطة التقسيم المُشار إليها بـ 0 (الخلفية) بـ `ignore_index`.

do_reduce_labels (`bool`، *kwargs*، *اختياري*، القيمة الافتراضية `False`) : ما إذا كان سيتم تخفيض جميع قيم التسميات في خرائط التقسيم بمقدار 1. يُستخدم عادةً في مجموعات البيانات التي يُستخدم فيها الرقم 0 للخلفية، ولا تُدرج الخلفية نفسها ضمن جميع فئات مجموعة البيانات (مثل ADE20k). سيتم استبدال تسمية الخلفية بـ `ignore_index`.

num_labels (`int`، *kwargs*، *اختياري*) : عدد التسميات في خريطة التقطيع.

size_divisor (`int`، *kwargs*، *اختياري*، القيمة الافتراضية هي `32`) : تحتاج بعض الهياك الأساسية إلى صور قابلة للقسمة على عدد معين. إذا لم يتم تمريرها، فإن القيمة الافتراضية هي القيمة المستخدمة في Swin Transformer.

ينشئ معالج صور MaskFormerImageProcessor.

#### preprocess[[transformers.MaskFormerImageProcessorPil.preprocess]]

```python
preprocess(images: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor']], segmentation_maps: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor'], NoneType] = None, instance_id_to_semantic_id: list[dict[int, int]] | dict[int, int] | None = None, **kwargs: *<class 'transformers.models.maskformer.image_processing_pil_maskformer.MaskFormerImageProcessorKwargs'>)
```

[المصدر](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/maskformer/image_processing_pil_maskformer.py#L438)

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

images (`Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]]`) : الصورة المراد معالجتها مسبقًا. يتوقع صورة واحدة أو دفعة من الصور بقيم بكسل تتراوح بين 0 و255. إذا كنت تمرر صورًا بقيم بكسل بين 0 و1، فاضبط `do_rescale=False`.

segmentation_maps (`ImageInput`، *اختياري*) : خرائط التقطيع.

instance_id_to_semantic_id (`Union[list[dict[int, int]], dict[int, int]]`، *اختياري*) : تعيين من معرّفات الأمثلة إلى المعرّفات الدلالية.

do_convert_rgb (`bool`، *kwargs*، *اختياري*) : ما إذا كان يجب تحويل الصورة إلى RGB.

do_resize (`bool`، *kwargs*، *اختياري*) : ما إذا كان يجب تغيير حجم الصورة.

size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`, *kwargs*) : يصف الأبعاد القصوى للمدخلات إلى النموذج.

default_to_square (`bool`، *kwargs*، *اختياري*) : ما إذا كان يجب افتراض صورة مربعة عند تغيير الحجم، إذا كان الحجم عددًا صحيحًا.

crop_size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`، *kwargs*) : حجم الصورة الناتجة بعد تطبيق `center_crop`.

resample (`Annotated[Union[int, PILImageResampling, NoneType], None]`, *kwargs*) : مرشح إعادة العينة المستخدم عند تغيير حجم الصورة. يمكن أن يكون أحد قيم enum `PILImageResampling`. لا يؤثر إلا إذا كان `do_resize` مضبوطاً على `True`.

do_rescale (`bool`، *kwargs*، *اختياري*) : ما إذا كان يجب إعادة تحجيم الصورة.

rescale_factor (`float`، *kwargs*، *اختياري*) : معامل إعادة التحجيم لإعادة تحجيم الصورة إذا كان `do_rescale` مضبوطًا على `True`.

do_normalize (`bool`، *kwargs*، *اختياري*) : ما إذا كان يجب تطبيع الصورة.

image_mean (`Union[float, list[float], tuple[float, ...]]`، *kwargs*، *اختياري*) : متوسط الصورة المستخدم للتطبيع. لا يكون له أي تأثير إلا إذا تم تعيين `do_normalize` إلى `True`.

image_std (`Union[float, list[float], tuple[float, ...]]`، *kwargs*، *اختياري*) : الانحراف المعياري للصورة المستخدم للتطبيع. لا يكون له أي تأثير إلا إذا تم تعيين `do_normalize` إلى `True`.

do_pad (`bool`، *kwargs*، *اختياري*) : ما إذا كان يجب إضافة حشوة إلى الصورة. يتم تنفيذ الحشوة إما إلى أكبر حجم في الدفعة أو إلى حجم مربع ثابت لكل صورة. تعتمد استراتيجية الحشوة الدقيقة على النموذج.

pad_size (`SizeDict`، *kwargs*، *اختياري*) : الحجم الذي سيتم توسيط الصور إليه. يجب أن يكون أكبر من أي حجم صورة مُقدَّم للمعالجة المسبقة. إذا لم يُقدَّم `pad_size`، فسيتم توسيط الصور إلى أكبر ارتفاع وعرض في الدفعة.

do_center_crop (`bool`، *kwargs*، *اختياري*) : ما إذا كان يجب قص الصورة من المنتصف.

data_format (`Union[str, ~image_utils.ChannelDimension]`، *kwargs*، *اختياري*) : يُدعم `ChannelDimension.FIRST` فقط. أُضيف من أجل التوافق مع المعالجات البطيئة.

input_data_format (`Union[str, ~image_utils.ChannelDimension]`، *kwargs*، *اختياري*) : تنسيق بُعد القناة للصورة المدخلة. إذا لم يتم ضبطه، يُستنتج تنسيق بُعد القناة من الصورة المدخلة. يمكن أن يكون أحد ما يلي: - `"channels_first"` أو `ChannelDimension.FIRST`: صورة بتنسيق (num_channels, height, width). - `"channels_last"` أو `ChannelDimension.LAST`: صورة بتنسيق (height, width, num_channels). - `"none"` أو `ChannelDimension.NONE`: صورة بتنسيق (height, width).

device (`Annotated[Union[str, torch.device, NoneType], None]`, *kwargs*) : الجهاز الذي تتم عليه معالجة مقاطع الفيديو. إذا لم يتم ضبطه، يُستنتج الجهاز من مقاطع الفيديو المدخلة.

return_tensors (`Annotated[str | ~utils.generic.TensorType | None, None]`, *kwargs*) : تُرجع توتنرات مكدّسة إذا كان الإعداد `'pt'`، وإلا تُرجع قائمة من التوتنرات.

disable_grouping (`bool`، *kwargs*، *اختياري*) : ما إذا كان سيتم تعطيل تجميع الصور حسب الحجم لمعالجتها بشكل فردي بدلاً من دفعات. إذا كانت القيمة None، فسيتم تعيينها إلى True إذا كانت الصور على وحدة المعالجة المركزية (CPU)، وإلا فستكون False. تستند هذه الخيارات إلى ملاحظات تجريبية، كما هو موضح هنا: https://github.com/huggingface/transformers/pull/38157

image_seq_length (`int`، *kwargs*، *اختياري*) : عدد رموز الصور التي سيتم استخدامها لكل صورة في المدخلات. أُضيفت لضمان التوافق مع الإصدارات السابقة، لكن ينبغي ضبطها كخاصية للمعالج في النماذج المستقبلية.

ignore_index (`int`، *kwargs*، *اختياري*) : التسمية التي سيتم إسنادها إلى بكسلات الخلفية في خرائط التقسيم. إذا تم تقديمها، فسيتم استبدال بكسلات خريطة التقسيم المُشار إليها بـ 0 (الخلفية) بـ `ignore_index`.

do_reduce_labels (`bool`، *kwargs*، *اختياري*، القيمة الافتراضية `False`) : ما إذا كان سيتم تخفيض جميع قيم التسميات في خرائط التقسيم بمقدار 1. يُستخدم عادةً في مجموعات البيانات التي يُستخدم فيها الرقم 0 للخلفية، ولا تُدرج الخلفية نفسها ضمن جميع فئات مجموعة البيانات (مثل ADE20k). سيتم استبدال تسمية الخلفية بـ `ignore_index`.

num_labels (`int`، *kwargs*، *اختياري*) : عدد التسميات في خريطة التقطيع.

size_divisor (`int`، *kwargs*، *اختياري*، القيمة الافتراضية هي `32`) : تحتاج بعض الهياك الأساسية إلى صور قابلة للقسمة على عدد معين. إذا لم يتم تمريرها، فإن القيمة الافتراضية هي القيمة المستخدمة في Swin Transformer.

**يعيد:** `~image_processing_base.BatchFeature`

- **data** (`dict`) -- قاموس من القوائم/المصفوفات/الموترات التي يعيدها أسلوب __call__ ('pixel_values'، وما إلى ذلك).
- **tensor_type** (`Union[None, str, TensorType]`، *اختياري*) -- يمكنك تحديد tensor_type هنا لتحويل قوائم الأعداد الصحيحة إلى تينسورات PyTorch/Numpy عند التهيئة.

#### post_process_semantic_segmentation[[transformers.MaskFormerImageProcessorPil.post_process_semantic_segmentation]]

```python
post_process_semantic_segmentation(outputs, target_sizes: list[tuple[int, int]] | None = None, return_segmentation_scores: bool = False)
```

[المصدر](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/maskformer/image_processing_pil_maskformer.py#L583)

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

outputs ([MaskFormerForInstanceSegmentation](/docs/transformers/v5.23.0/ar/model_doc/maskformer#transformers.MaskFormerForInstanceSegmentation)) : المخرجات الخام للنموذج.

target_sizes (`list[tuple[int, int]]`، *اختياري*) : قائمة بطول (batch_size)، حيث يتوافق كل عنصر في القائمة (`tuple[int, int]]`) مع الحجم النهائي المطلوب (الارتفاع، العرض) لكل تنبؤ. إذا تُركت القيمة None، فلن يتم تغيير حجم التنبؤات.

return_segmentation_scores (`bool`, *اختياري*, القيمة الافتراضية `False`) : هل تُعاد تقييمات التقسيم إلى جانب خريطة التقسيم. عند تعيين `True`، يكون كل عنصر في القائمة المُعادة من نوع `SemanticSegmentationPostProcessorOutput` مع الحقل `segmentation` (معرّفات الفئات، الشكل `(height, width)`) والحقل `segmentation_scores` (الشكل `(num_classes, height, width)`).

**يعيد:** `list[torch.Tensor]` أو `list[SemanticSegmentationPostProcessorOutput]`

عندما يكون `return_segmentation_scores=False` (الافتراضي)، تُعاد قائمة بطول `batch_size` حيث يكون كل عنصر خريطة تجزئة بأبعاد `(height, width)` تحتوي على معرّفات الفئات. وعندما يكون `return_segmentation_scores=True`، تُعاد قائمة من كائنات `SemanticSegmentationPostProcessorOutput` تحتوي على الحقل `segmentation` (معرّفات الفئات، الأبعاد `(height, width)`) والحقل `segmentation_scores` (الأبعاد `(num_classes, height, width)`). في الحالتين، `(height, width)` يتوافق مع الحجم المستهدف (إذا تم تحديد `target_sizes`).

يحوّل مخرجات [MaskFormerForInstanceSegmentation](/docs/transformers/v5.23.0/ar/model_doc/maskformer#transformers.MaskFormerForInstanceSegmentation) إلى خرائط تجزئة دلالية. يدعم PyTorch فقط.

#### post_process_instance_segmentation[[transformers.MaskFormerImageProcessorPil.post_process_instance_segmentation]]

```python
post_process_instance_segmentation(outputs, threshold: float = 0.5, mask_threshold: float = 0.5, overlap_mask_area_threshold: float = 0.8, target_sizes: list[tuple[int, int]] | None = None, return_coco_annotation: bool | None = False, return_binary_maps: bool | None = False)
```

[المصدر](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/maskformer/image_processing_pil_maskformer.py#L653)

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

outputs ([MaskFormerForInstanceSegmentation](/docs/transformers/v5.23.0/ar/model_doc/maskformer#transformers.MaskFormerForInstanceSegmentation)) : المخرجات الخام للنموذج.

threshold (`float`، *اختياري*، القيمة الافتراضية 0.5) : عتبة درجة الاحتمال للاحتفاظ بأقنعة الكائنات المتوقعة.

mask_threshold (`float`، *اختياري*، القيمة الافتراضية 0.5) : العتبة المستخدمة عند تحويل الأقنعة المتوقعة إلى قيم ثنائية.

overlap_mask_area_threshold (`float`، *اختياري*، القيمة الافتراضية 0.8) : عتبة منطقة قناع التداخل لدمج أو التخلص من الأجزاء الصغيرة المنفصلة داخل كل قناع كائن ثنائي.

target_sizes (`list[Tuple]`، *اختياري*) : قائمة بطول (batch_size)، حيث يتوافق كل عنصر في القائمة (`tuple[int, int]]`) مع الحجم النهائي المطلوب (الارتفاع، العرض) لكل تنبؤ. إذا تُركت القيمة None، فلن يتم تغيير حجم التنبؤات.

return_coco_annotation (`bool`، *اختياري*، القيمة الافتراضية `False`) : إذا تم ضبطه على `True`، تُعاد خرائط التقطيع (segmentation maps) بتنسيق الترميز بطول المسار (run-length encoding - RLE) الخاص بـ COCO.

return_binary_maps (`bool`، *اختياري*، القيمة الافتراضية `False`) : إذا تم ضبطه على `True`، تُعاد خرائط التقسيم كمتجه (تِنسور) مُدمج من خرائط التقسيم الثنائية (خريطة لكل حالة مكتشفة).

**يعيد:** `list[Dict]`

قائمة من القواميس، قواميس واحدة لكل صورة، يحتوي كل قاموس على مفتاحين:
- **segmentation** -- متجه (Tensor) على شكل `(height, width)` حيث يمثل كل بكسل `segment_id`، أو `list[List]` ترميز طول التشغيل (RLE) لخريطة التقسيم إذا تم ضبط return_coco_annotation على `True`، أو متجه على شكل `(num_instances, height, width)` إذا تم ضبط return_binary_maps على `True`. يُضبط على `None` إذا لم يُعثر على قناع فوق `threshold`.
- **segments_info** -- قاموس يحتوي على معلومات إضافية حول كل مقطع.
  - **id** -- عدد صحيح يمثل `segment_id`.
  - **label_id** -- عدد صحيح يمثل معرّف التسمية/الفئة الدلالية المقابلة لـ `segment_id`.
  - **score** -- درجة التنبؤ للمقطع ذي `segment_id`.

يحوّل مخرجات `MaskFormerForInstanceSegmentationOutput` إلى تنبؤات تجزئة الكائنات. يدعم PyTorch فقط. إذا كان من الممكن أن تتداخل الكائنات، فاضبط إما return_coco_annotation أو return_binary_maps على `True` للحصول على نتيجة تجزئة صحيحة.

#### post_process_panoptic_segmentation[[transformers.MaskFormerImageProcessorPil.post_process_panoptic_segmentation]]

```python
post_process_panoptic_segmentation(outputs, threshold: float = 0.5, mask_threshold: float = 0.5, overlap_mask_area_threshold: float = 0.8, label_ids_to_fuse: set[int] | None = None, target_sizes: list[tuple[int, int]] | None = None)
```

[المصدر](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/maskformer/image_processing_pil_maskformer.py#L771)

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

outputs (`MaskFormerForInstanceSegmentationOutput`) : المخرجات من [MaskFormerForInstanceSegmentation](/docs/transformers/v5.23.0/ar/model_doc/maskformer#transformers.MaskFormerForInstanceSegmentation).

threshold (`float`، *اختياري*، القيمة الافتراضية 0.5) : عتبة درجة الاحتمال للاحتفاظ بأقنعة الكائنات المتوقعة.

mask_threshold (`float`، *اختياري*، القيمة الافتراضية 0.5) : العتبة المستخدمة عند تحويل الأقنعة المتوقعة إلى قيم ثنائية.

overlap_mask_area_threshold (`float`، *اختياري*، القيمة الافتراضية 0.8) : عتبة منطقة قناع التداخل لدمج أو التخلص من الأجزاء الصغيرة المنفصلة داخل كل قناع كائن ثنائي.

label_ids_to_fuse (`Set[int]`, *اختياري*) : ستتم دمج جميع حالات التسميات في هذا الحالة معًا. على سبيل المثال، يمكننا القول إنه يمكن أن يوجد سماء واحدة فقط في صورة، لكن عدة أشخاص، لذا فإن معرّف التسمية للسماء سيكون ضمن ذلك المجموعة، بينما لن يكون معرّف التسمية للشخص كذلك.

target_sizes (`list[Tuple]`، *اختياري*) : قائمة بطول (batch_size)، حيث يتوافق كل عنصر في القائمة (`tuple[int, int]]`) مع الحجم النهائي المطلوب (الارتفاع، العرض) لكل تنبؤ في الدفعة. إذا تُركت القيمة None، فلن يتم تغيير حجم التنبؤات.

**يعيد:** `list[Dict]`

قائمة من القواميس، قواميس واحدة لكل صورة، يحتوي كل قاموس على مفتاحين:
- **segmentation** -- متجه (tensor) بأبعاد `(height, width)` حيث يمثل كل بكسل `segment_id`، ويُضبط على `None` إذا لم يُعثر على قناع (mask) أعلى من `threshold`. إذا تم تحديد `target_sizes`، يتم تغيير حجم segmentation إلى القيمة المقابلة في `target_sizes`.
- **segments_info** -- قاموس يحتوي على معلومات إضافية حول كل مقطع.
  - **id** -- عدد صحيح يمثل `segment_id`.
  - **label_id** -- عدد صحيح يمثل معرّف التسمية/الفئة الدلالية المقابلة لـ `segment_id`.
  - **was_fused** -- قيمة منطقية، `True` إذا كان `label_id` ضمن `label_ids_to_fuse`، وإلا `False`. تم دمج عدة حالات من نفس الفئة / التسمية وتم إسناد `segment_id` واحد إليها.
  - **score** -- درجة التنبؤ للمقطع ذي `segment_id`.

يحوّل مخرجات `MaskFormerForInstanceSegmentationOutput` إلى تنبؤات تقسيم بانورامي للصور. يدعم PyTorch فقط.

## MaskFormerModel[[transformers.MaskFormerModel]]

#### transformers.MaskFormerModel[[transformers.MaskFormerModel]]

```python
transformers.MaskFormerModel(config: MaskFormerConfig)
```

[المصدر](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/maskformer/modeling_maskformer.py#L1749)

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

config ([MaskFormerConfig](/docs/transformers/v5.23.0/ar/model_doc/maskformer#transformers.MaskFormerConfig)) : فئة إعدادات النموذج التي تحتوي على جميع معاملات النموذج. عند التهيئة باستخدام ملف إعدادات، لا يتم تحميل الأوزان المرتبطة بالنموذج، بل الإعدادات فقط. راجع طريقة [from_pretrained()](/docs/transformers/v5.23.0/ar/main_classes/model#transformers.PreTrainedModel.from_pretrained) لتحميل أوزان النموذج.

نموذج Maskformer الأساسي الذي يُخرج حالات مخفية خام دون أي رأس محدد في الأعلى.

يرث هذا النموذج من [PreTrainedModel](/docs/transformers/v5.23.0/ar/main_classes/model#transformers.PreTrainedModel). راجع توثيق الفئة الأصلية لمعرفة الطرق العامة التي تنفذها المكتبة لجميع نماذجها (مثل التنزيل أو الحفظ، وتغيير حجم تضمينات الإدخال، وقص الرؤوس، وما إلى ذلك).

هذا النموذج هو أيضاً فئة فرعية من [torch.nn.Module](https://pytorch.org/docs/stable/nn.html#torch.nn.Module) في PyTorch. استخدمه كوحدة PyTorch عادية، وارجع إلى توثيق PyTorch لكل ما يتعلق بالاستخدام العام والسلوك.

#### forward[[transformers.MaskFormerModel.forward]]

```python
forward(pixel_values: Tensor, pixel_mask: typing.Optional[torch.Tensor] = None, output_hidden_states: bool | None = None, output_attentions: bool | None = None, return_dict: bool | None = None, **kwargs)
```

[المصدر](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/maskformer/modeling_maskformer.py#L1759)

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

pixel_values (`torch.Tensor` من الشكل `(batch_size, num_channels, image_size, image_size)`) : المصفوفات المتناظرة لصور الإدخال. يمكن الحصول على قيم البكسل باستخدام [MaskFormerImageProcessor](/docs/transformers/v5.23.0/ar/model_doc/maskformer#transformers.MaskFormerImageProcessor). راجع [MaskFormerImageProcessor.__call__()](/docs/transformers/v5.23.0/ar/model_doc/molmo2#transformers.Molmo2ImageProcessor.__call__) للتفاصيل (`processor_class` يستخدم [MaskFormerImageProcessor](/docs/transformers/v5.23.0/ar/model_doc/maskformer#transformers.MaskFormerImageProcessor) لمعالجة الصور).

pixel_mask (`torch.Tensor` من الشكل `(batch_size, height, width)`، *اختياري*) : قناع لتجنب تنفيذ الانتباه على قيم البكسلات المعبّأة. قيم القناع المختارة من `[0, 1]`: - 1 للبكسلات الحقيقية (أي **غير المقنّعة**)، - 0 للبكسلات المعبّأة (أي **المقنّعة**).  [ما هي أقنعة الانتباه؟](../glossary#attention-mask)

output_hidden_states (`bool`, *اختياري*) : ما إذا كان سيتم إرجاع الحالات المخفية لجميع الطبقات. راجع `hidden_states` ضمن الموترات المُرجعة لمزيد من التفاصيل.

output_attentions (`bool`، *اختياري*) : ما إذا كان سيتم إرجاع مصفوفات الانتباه لجميع طبقات الانتباه. راجع `attentions` ضمن المصفوفات المُرجعة لمزيد من التفاصيل.

return_dict (`bool`، *اختياري*) : ما إذا كان سيتم إرجاع [ModelOutput](/docs/transformers/v5.23.0/ar/main_classes/output#transformers.utils.ModelOutput) بدلاً من tuple عادي.

**يعيد:** [MaskFormerModelOutput](/docs/transformers/v5.23.0/ar/model_doc/maskformer#transformers.models.maskformer.modeling_maskformer.MaskFormerModelOutput) أو `tuple(torch.Tensor)`

[MaskFormerModelOutput](/docs/transformers/v5.23.0/ar/model_doc/maskformer#transformers.models.maskformer.modeling_maskformer.MaskFormerModelOutput) أو مجموعة من `torch.Tensor` (إذا تم تمرير `return_dict=False` أو عندما يكون `config.return_dict=False`) وتتضمن عناصر مختلفة اعتماداً على الإعداد ([MaskFormerConfig](/docs/transformers/v5.23.0/ar/model_doc/maskformer#transformers.MaskFormerConfig)) والمدخلات.

تتجاوز طريقة [MaskFormerModel](/docs/transformers/v5.23.0/ar/model_doc/maskformer#transformers.MaskFormerModel) الخاصة بالتقديم (forward) الطريقة الخاصة `__call__`.

على الرغم من أنه يجب تعريف وصفة المرور الأمامي داخل هذه الدالة، إلا أنه ينبغي استدعاء كائن `Module` بدلاً من هذه الدالة، لأن الكائن يتولى تنفيذ خطوات المعالجة المسبقة والمعالجة اللاحقة، بينما تتجاهل الدالة هذه الخطوات بصمت.

- **encoder_last_hidden_state** (`torch.Tensor` من الشكل `(batch_size, num_channels, height, width)`) -- حالات المخفية الأخيرة (خريطة الميزات النهائية) للمرحلة الأخيرة من نموذج المُشفِّر (الهيكل الأساسي).
- **pixel_decoder_last_hidden_state** (`torch.Tensor` من الشكل `(batch_size, num_channels, height, width)`) -- حالات المخفية الأخيرة (خريطة الميزات النهائية) للمرحلة الأخيرة من نموذج فاحص البكسل (FPN).
- **transformer_decoder_last_hidden_state** (`torch.Tensor` من الشكل `(batch_size, sequence_length, hidden_size)`) -- حالات الإخفاء الأخيرة (خريطة الميزات النهائية) للمرحلة الأخيرة من نموذج فاحش التحويل.
- **encoder_hidden_states** (`tuple(torch.Tensor)`، *اختياري*، يُعاد عند تمرير `output_hidden_states=True` أو عند تعيين `config.output_hidden_states=True`) -- مجموعة من `torch.Tensor` (واحدة لإخراج التضمينات + واحدة لإخراج كل مرحلة) بأبعاد `(batch_size, num_channels, height, width)`. حالات مخفية (تُسمى أيضًا خرائط الميزات) لنموذج المُشفِّر عند إخراج كل مرحلة.
- **pixel_decoder_hidden_states** (`tuple(torch.Tensor)`، *اختياري*، يُعاد عند تمرير `output_hidden_states=True` أو عند تعيين `config.output_hidden_states=True`) -- مجموعة من `torch.Tensor` (واحدة لإخراج التضمينات + واحدة لإخراج كل مرحلة) بأبعاد `(batch_size, num_channels, height, width)`. حالات مخفية (تُسمى أيضًا خرائط الميزات) لنموذج فك ترميز البكسلات عند إخراج كل مرحلة.
- **transformer_decoder_hidden_states** (`tuple(torch.Tensor)`، *اختياري*، يُعاد عند تمرير `output_hidden_states=True` أو عند تعيين `config.output_hidden_states=True`) -- مجموعة من `torch.Tensor` (واحدة لإخراج التضمينات + واحدة لإخراج كل مرحلة) بأبعاد `(batch_size, sequence_length, hidden_size)`. حالات المخفية (المعروفة أيضًا باسم خرائط الميزات) لمفكك التحويل عند إخراج كل مرحلة. hidden_states `tuple(torch.Tensor)`، *اختياري*، يُعاد عند تمرير `output_hidden_states=True` أو عند تعيين `config.output_hidden_states=True`): مجموعة من `torch.Tensor` تحتوي على `encoder_hidden_states` و`pixel_decoder_hidden_states` و`decoder_hidden_states`
- **hidden_states** (`tuple[torch.Tensor]`، *اختياري*، يُعاد عند تمرير `output_hidden_states=True` أو عند تعيين `config.output_hidden_states=True`) -- مجموعة (Tuple) من `torch.Tensor` (واحدة لكل من مخرجات الطبقات المضمنة، إذا كان النموذج يحتوي على طبقة تضمين، + واحدة لكل من مخرجات كل طبقة) بأبعاد `(batch_size, sequence_length, hidden_size)`.

  حالات النموذج المخفية عند مخرج كل طبقة بالإضافة إلى مخرجات التضمين الأولي الاختيارية.
- **attentions** (`tuple[torch.Tensor]`، *اختياري*، يُعاد عند تمرير `output_attentions=True` أو عند تعيين `config.output_attentions=True`) -- مجموعة من `torch.Tensor` (واحدة لكل طبقة) بأبعاد `(batch_size, num_heads, sequence_length, sequence_length)`.

  أوزان الانتباه بعد تطبيق دالة softmax على الانتباه، وتُستخدم لحساب المتوسط الموزون في رؤوس الانتباه الذاتي.

أمثلة:

```python
>>> from transformers import AutoImageProcessor, MaskFormerModel
>>> from PIL import Image
>>> from huggingface_hub.utils import httpx
>>> from io import BytesIO

>>> # load MaskFormer fine-tuned on ADE20k semantic segmentation
>>> image_processor = AutoImageProcessor.from_pretrained("facebook/maskformer-swin-base-ade")
>>> model = MaskFormerModel.from_pretrained("facebook/maskformer-swin-base-ade")

>>> url = "http://images.cocodataset.org/val2017/000000039769.jpg"
>>> with httpx.stream("GET", url) as response:
...     image = Image.open(BytesIO(response.read()))

>>> inputs = image_processor(image, return_tensors="pt")

>>> # forward pass
>>> outputs = model(**inputs)

>>> # the decoder of MaskFormer outputs hidden states of shape (batch_size, num_queries, hidden_size)
>>> transformer_decoder_last_hidden_state = outputs.transformer_decoder_last_hidden_state
>>> list(transformer_decoder_last_hidden_state.shape)
[1, 100, 256]
```

## MaskFormerForInstanceSegmentation[[transformers.MaskFormerForInstanceSegmentation]]

#### transformers.MaskFormerForInstanceSegmentation[[transformers.MaskFormerForInstanceSegmentation]]

```python
transformers.MaskFormerForInstanceSegmentation(config: MaskFormerConfig)
```

[المصدر](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/maskformer/modeling_maskformer.py#L1848)

#### forward[[transformers.MaskFormerForInstanceSegmentation.forward]]

```python
forward(pixel_values: Tensor, mask_labels: list[torch.Tensor] | None = None, class_labels: list[torch.Tensor] | None = None, pixel_mask: typing.Optional[torch.Tensor] = None, output_auxiliary_logits: bool | None = None, output_hidden_states: bool | None = None, output_attentions: bool | None = None, return_dict: bool | None = None, **kwargs)
```

[المصدر](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/maskformer/modeling_maskformer.py#L1930)

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

pixel_values (`torch.Tensor` من الشكل `(batch_size, num_channels, image_size, image_size)`) : المصفوفات المتناظرة لصور الإدخال. يمكن الحصول على قيم البكسل باستخدام [MaskFormerImageProcessor](/docs/transformers/v5.23.0/ar/model_doc/maskformer#transformers.MaskFormerImageProcessor). راجع [MaskFormerImageProcessor.__call__()](/docs/transformers/v5.23.0/ar/model_doc/molmo2#transformers.Molmo2ImageProcessor.__call__) للتفاصيل (`processor_class` يستخدم [MaskFormerImageProcessor](/docs/transformers/v5.23.0/ar/model_doc/maskformer#transformers.MaskFormerImageProcessor) لمعالجة الصور).

mask_labels (`list[torch.Tensor]`، *اختياري*) : قائمة بوسمات الأقنعة ذات الشكل `(num_labels, height, width)` لتغذية النموذج

class_labels (`list[torch.LongTensor]`، *اختياري*) : قائمة بوسوم الفئات المستهدفة ذات الشكل `(num_labels, height, width)` لتغذية النموذج. تحدد هذه القائمة وسم `mask_labels`، على سبيل المثال وسم `mask_labels[i][j]` إذا كان `class_labels[i][j]`.

pixel_mask (`torch.Tensor` من الشكل `(batch_size, height, width)`، *اختياري*) : قناع لتجنب تنفيذ الانتباه على قيم البكسلات المعبّأة. قيم القناع المختارة من `[0, 1]`: - 1 للبكسلات الحقيقية (أي **غير المقنّعة**)، - 0 للبكسلات المعبّأة (أي **المقنّعة**).  [ما هي أقنعة الانتباه؟](../glossary#attention-mask)

output_auxiliary_logits (`bool`، *اختياري*) : ما إذا كان سيتم إخراج قيم التوقعات المساعدة أم لا.

output_hidden_states (`bool`, *اختياري*) : ما إذا كان سيتم إرجاع الحالات المخفية لجميع الطبقات. راجع `hidden_states` ضمن الموترات المُرجعة لمزيد من التفاصيل.

output_attentions (`bool`، *اختياري*) : ما إذا كان سيتم إرجاع مصفوفات الانتباه لجميع طبقات الانتباه. راجع `attentions` ضمن المصفوفات المُرجعة لمزيد من التفاصيل.

return_dict (`bool`، *اختياري*) : ما إذا كان سيتم إرجاع [ModelOutput](/docs/transformers/v5.23.0/ar/main_classes/output#transformers.utils.ModelOutput) بدلاً من tuple عادي.

**يعيد:** [MaskFormerForInstanceSegmentationOutput](/docs/transformers/v5.23.0/ar/model_doc/maskformer#transformers.models.maskformer.modeling_maskformer.MaskFormerForInstanceSegmentationOutput) أو `tuple(torch.Tensor)`

[MaskFormerForInstanceSegmentationOutput](/docs/transformers/v5.23.0/ar/model_doc/maskformer#transformers.models.maskformer.modeling_maskformer.MaskFormerForInstanceSegmentationOutput) أو مجموعة مرتبة من `torch.Tensor` (إذا تم تمرير `return_dict=False` أو عندما يكون `config.return_dict=False`) وتتضمن عناصر مختلفة اعتماداً على الإعداد ([MaskFormerConfig](/docs/transformers/v5.23.0/ar/model_doc/maskformer#transformers.MaskFormerConfig)) والمدخلات.

تتجاوز طريقة [MaskFormerForInstanceSegmentation](/docs/transformers/v5.23.0/ar/model_doc/maskformer#transformers.MaskFormerForInstanceSegmentation) الخاصة بالتقديم (forward) الطريقة الخاصة `__call__`.

على الرغم من أنه يجب تعريف وصفة المرور الأمامي داخل هذه الدالة، إلا أنه ينبغي استدعاء كائن `Module` بدلاً من هذه الدالة، لأن الكائن يتولى تنفيذ خطوات المعالجة المسبقة والمعالجة اللاحقة، بينما تتجاهل الدالة هذه الخطوات بصمت.

- **loss** (`torch.Tensor`، *اختياري*) -- الخسارة المحسوبة، تُعاد عند وجود التسميات.
- **class_queries_logits** (`torch.Tensor`، *اختياري*) -- متجه ذو شكل `(batch_size, num_queries, num_labels + 1)` يمثل الفئات المقترحة لكل استعلام. لاحظ أن `+ 1` ضروري لأننا ندمج الفئة الفارغة.
- **masks_queries_logits** (`torch.Tensor`، *اختياري*) -- متجه ذو شكل `(batch_size, num_queries, height, width)` يمثل الأقنعة المقترحة لكل استعلام.
- **auxiliary_logits** (`Dict[str, torch.Tensor]`، *اختياري*، يُعاد عند `output_auxiliary_logits=True`) -- قاموس يحتوي على التنبؤات المساعدة لكل طبقة من طبقات المُفكِّك (decoder) عند تفعيل الخسائر المساعدة.
- **encoder_last_hidden_state** (`torch.Tensor` من الشكل `(batch_size, num_channels, height, width)`) -- حالات المخفية الأخيرة (خريطة الميزات النهائية) للمرحلة الأخيرة من نموذج المُشفِّر (الهيكل الأساسي).
- **pixel_decoder_last_hidden_state** (`torch.Tensor` من الشكل `(batch_size, num_channels, height, width)`) -- حالات المخفية الأخيرة (خريطة الميزات النهائية) للمرحلة الأخيرة من نموذج فاحص البكسل (FPN).
- **transformer_decoder_last_hidden_state** (`torch.Tensor` من الشكل `(batch_size, sequence_length, hidden_size)`) -- حالات الإخفاء الأخيرة (خريطة الميزات النهائية) للمرحلة الأخيرة من نموذج فاحش التحويل.
- **encoder_hidden_states** (`tuple(torch.Tensor)`، *اختياري*، يُعاد عند تمرير `output_hidden_states=True` أو عند تعيين `config.output_hidden_states=True`) -- مجموعة من `torch.Tensor` (واحدة لإخراج التضمينات + واحدة لإخراج كل مرحلة) بأبعاد `(batch_size, num_channels, height, width)`. حالات مخفية (تُسمى أيضًا خرائط الميزات) لنموذج المُشفِّر عند إخراج كل مرحلة.
- **pixel_decoder_hidden_states** (`tuple(torch.Tensor)`، *اختياري*، يُعاد عند تمرير `output_hidden_states=True` أو عند تعيين `config.output_hidden_states=True`) -- مجموعة من `torch.Tensor` (واحدة لإخراج التضمينات + واحدة لإخراج كل مرحلة) بأبعاد `(batch_size, num_channels, height, width)`. حالات مخفية (تُسمى أيضًا خرائط الميزات) لنموذج فك ترميز البكسلات عند إخراج كل مرحلة.
- **transformer_decoder_hidden_states** (`tuple(torch.Tensor)`، *اختياري*، يُعاد عند تمرير `output_hidden_states=True` أو عند تعيين `config.output_hidden_states=True`) -- مجموعة من `torch.Tensor` (واحدة لإخراج التضمينات + واحدة لإخراج كل مرحلة) بأبعاد `(batch_size, sequence_length, hidden_size)`. حالات المخفية لمفكك التحويل عند إخراج كل مرحلة. hidden_states `tuple(torch.Tensor)`، *اختياري*، يُعاد عند تمرير `output_hidden_states=True` أو عند تعيين `config.output_hidden_states=True`): مجموعة من `torch.Tensor` تحتوي على `encoder_hidden_states` و`pixel_decoder_hidden_states` و`decoder_hidden_states`.
- **hidden_states** (`tuple[torch.Tensor]`، *اختياري*، يُعاد عند تمرير `output_hidden_states=True` أو عند تعيين `config.output_hidden_states=True`) -- مجموعة (Tuple) من `torch.Tensor` (واحدة لكل من مخرجات الطبقات المضمنة، إذا كان النموذج يحتوي على طبقة تضمين، + واحدة لكل من مخرجات كل طبقة) بأبعاد `(batch_size, sequence_length, hidden_size)`.

  حالات النموذج المخفية عند مخرج كل طبقة بالإضافة إلى مخرجات التضمين الأولي الاختيارية.
- **attentions** (`tuple[torch.Tensor]`، *اختياري*، يُعاد عند تمرير `output_attentions=True` أو عند تعيين `config.output_attentions=True`) -- مجموعة من `torch.Tensor` (واحدة لكل طبقة) بأبعاد `(batch_size, num_heads, sequence_length, sequence_length)`.

  أوزان الانتباه بعد تطبيق دالة softmax على الانتباه، وتُستخدم لحساب المتوسط الموزون في رؤوس الانتباه الذاتي.

أمثلة:

مثال على التقسيم الدلالي:

```python
>>> from transformers import AutoImageProcessor, MaskFormerForInstanceSegmentation
>>> from PIL import Image
>>> from huggingface_hub.utils import httpx
>>> from io import BytesIO

>>> # load MaskFormer fine-tuned on ADE20k semantic segmentation
>>> image_processor = AutoImageProcessor.from_pretrained("facebook/maskformer-swin-base-ade")
>>> model = MaskFormerForInstanceSegmentation.from_pretrained("facebook/maskformer-swin-base-ade")

>>> url = (
...     "https://huggingface.co/datasets/hf-internal-testing/fixtures_ade20k/resolve/main/ADE_val_00000001.jpg"
... )
>>> with httpx.stream("GET", url) as response:
...     image = Image.open(BytesIO(response.read()))
>>> inputs = image_processor(images=image, return_tensors="pt")

>>> outputs = model(**inputs)
>>> # model predicts class_queries_logits of shape `(batch_size, num_queries)`
>>> # and masks_queries_logits of shape `(batch_size, num_queries, height, width)`
>>> class_queries_logits = outputs.class_queries_logits
>>> masks_queries_logits = outputs.masks_queries_logits

>>> # you can pass them to image_processor for postprocessing
>>> predicted_semantic_map = image_processor.post_process_semantic_segmentation(
...     outputs, target_sizes=[(image.height, image.width)]
... )[0]

>>> # we refer to the demo notebooks for visualization (see "Resources" section in the MaskFormer docs)
>>> list(predicted_semantic_map.shape)
[512, 683]
```

مثال على التقطيع البانورامي:

```python
>>> from transformers import AutoImageProcessor, MaskFormerForInstanceSegmentation
>>> from PIL import Image
>>> from huggingface_hub.utils import httpx
>>> from io import BytesIO

>>> # load MaskFormer fine-tuned on COCO panoptic segmentation
>>> image_processor = AutoImageProcessor.from_pretrained("facebook/maskformer-swin-base-coco")
>>> model = MaskFormerForInstanceSegmentation.from_pretrained("facebook/maskformer-swin-base-coco")

>>> url = "http://images.cocodataset.org/val2017/000000039769.jpg"
>>> with httpx.stream("GET", url) as response:
...     image = Image.open(BytesIO(response.read()))
>>> inputs = image_processor(images=image, return_tensors="pt")

>>> outputs = model(**inputs)
>>> # model predicts class_queries_logits of shape `(batch_size, num_queries)`
>>> # and masks_queries_logits of shape `(batch_size, num_queries, height, width)`
>>> class_queries_logits = outputs.class_queries_logits
>>> masks_queries_logits = outputs.masks_queries_logits

>>> # you can pass them to image_processor for postprocessing
>>> result = image_processor.post_process_panoptic_segmentation(outputs, target_sizes=[(image.height, image.width)])[0]

>>> # we refer to the demo notebooks for visualization (see "Resources" section in the MaskFormer docs)
>>> predicted_panoptic_map = result["segmentation"]
>>> list(predicted_panoptic_map.shape)
[480, 640]
```

