# SAM3-LiteText

## نظرة عامة

قُدِّم SAM3-LiteText في [SAM3-LiteText: An Anatomical Study of the SAM3 Text Encoder for Efficient Vision-Language Segmentation](https://huggingface.co/papers/2602.12173) من قِبل Chengxi Zeng وYuxuan Jiang وGe Gao وShuai Wang وDuolikun Danier وBin Zhu وStevan Rudinac وDavid Bull وFan Zhang.

SAM3-LiteText هو متغير خفيف من [SAM3](sam3) يستبدل مُشفِّر النص الثقيل في SAM3 (353 مليون معامل) بمُشفِّر نص مدمج مبني على MobileCLIP، مُحسَّن من خلال تقطير المعرفة. ويُحافظ على مُشفِّر الصور ViT-H الخاص بـ SAM3 كما هو. يقلل هذا من معاملات مُشفِّر النص بنسبة تصل إلى 88% مع الحفاظ على أداء تجزئة يقارب أداء النموذج الأصلي.

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

*تُمكّن نماذج التقطيع المرئي-اللغوي مثل SAM3 من ترسيخ بصري مرن يقوده الإدخال النصي، لكنها ترث مشفّرات نصية كبيرة وعامة صُممت في الأصل لفهم اللغة المفتوح. عمليًا، تكون أوامر التقطيع النصية قصيرة ومنظمة ومقيّدة دلاليًا، مما يؤدي إلى توفير مفرط كبير في سعة المشفّر النصي، فضلًا عن أعباء حسابية وذاكرة مستمرة. في هذه الورقة، نُجري تحليلًا تشريحيًا واسع النطاق للإدخال النصي في التقطيع المرئي-اللغوي، يغطي 404,796 أمرًا نصيًا حقيقيًا عبر عدة معايير تقييم. تكشف تحليلاتنا عن ازدواجية شديدة: فمعظم نوافذ السياق غير مستغلة بشكل كافٍ، واستخدام المفردات شحيح للغاية، وتقع التضمينات النصية على متعددات أبعاد منخفضة رغم التمثيلات عالية الأبعاد. بدافع من هذه النتائج، نقترح SAM3-LiteText، وهو إطار عمل خفيف التشفير النصي يستبدل المشفّر النصي الأصلي في SAM3 بطالب MobileCLIP مدمج يُحسَّن عبر تقطير المعرفة. تُظهر تجارب موسّعة على معايير تقييم التقطيع للصور والفيديو أن SAM3-LiteText يقلّل من عدد معاملات المشفّر النصي بنسبة تصل إلى 88%، مما يُخفض بصمة الذاكرة الثابتة بشكل كبير، مع الحفاظ على أداء تقطيع يقارب أداء النموذج الأصلي.*

يعتمد معمارية مُشفِّر النص على [MobileCLIP](https://huggingface.co/papers/2311.17049) ويتوفر بثلاثة متغيرات:

| نسخة | مُشفِّر النص | معلمات النص | الاختزال |
|---|---|---|---|
| SAM3-LiteText-S0-16 | MobileCLIP-S0 | 42.54M | ~88% |
| SAM3-LiteText-S1-16 | MobileCLIP-S1 | 63.53M | ~82% |
| SAM3-LiteText-L-16 | MobileCLIP2-L | 123.80M | ~65% |

تمت مساهمة هذا النموذج من قِبل [nielsr](https://huggingface.co/nielsr) و[yonigozlan](https://huggingface.co/yonigozlan). يمكن العثور على الكود الأصلي [هنا](https://github.com/SimonZeng7108/efficientsam3/tree/sam3_litetext).

## الاستخدام

SAM3-LiteText هو بديل جاهز للاستخدام المباشر لـ SAM3 يعتمد على مُشفِّر نصوص خفيف الوزن. يستخدم المعالج نفسه ([Sam3Processor](/docs/transformers/main/ar/model_doc/sam3#transformers.Sam3Processor)) ويدعم نفس واجهة الإدخال. راجع [توثيق SAM3](sam3) للحصول على أمثلة مفصّلة للاستخدام تشمل أوامر النصوص، وأوامر الصناديق، والاستدلال الدُفعي، والمزيد.

```python
from io import BytesIO

from huggingface_hub.utils import httpx
from PIL import Image

from transformers import AutoModel, AutoProcessor

model = AutoModel.from_pretrained("yonigozlan/sam3-litetext-s0", device_map="auto")
processor = AutoProcessor.from_pretrained("yonigozlan/sam3-litetext-s0")

image_url = "http://images.cocodataset.org/val2017/000000077595.jpg"
image = Image.open(BytesIO(httpx.get(image_url).content)).convert("RGB")

inputs = processor(images=image, text="ear", return_tensors="pt").to(model.device)

outputs = model(**inputs)

results = processor.post_process_instance_segmentation(
    outputs,
    threshold=0.5,
    mask_threshold=0.5,
    target_sizes=inputs.get("original_sizes").tolist(),
)[0]

print(f"Found {len(results['masks'])} objects")
```

## Sam3LiteTextConfig[[transformers.Sam3LiteTextConfig]]

#### transformers.Sam3LiteTextConfig[[transformers.Sam3LiteTextConfig]]

```python
transformers.Sam3LiteTextConfig(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, vision_config: dict | transformers.configuration_utils.PreTrainedConfig | None = None, text_config: dict | transformers.configuration_utils.PreTrainedConfig | None = None, geometry_encoder_config: dict | transformers.configuration_utils.PreTrainedConfig | None = None, detr_encoder_config: dict | transformers.configuration_utils.PreTrainedConfig | None = None, detr_decoder_config: dict | transformers.configuration_utils.PreTrainedConfig | None = None, mask_decoder_config: dict | transformers.configuration_utils.PreTrainedConfig | None = None, initializer_range: float = 0.02)
```

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

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

vision_config (`Union[dict, ~configuration_utils.PreTrainedConfig]`، *اختياري*) : كائن الإعداد أو قاموس العمود الفقري البصري.

text_config (`Union[dict, ~configuration_utils.PreTrainedConfig]`، *اختياري*) : كائن الإعداد أو قاموس العمود الفقري النصي.

geometry_encoder_config (`dict` أو `Sam3LiteTextGeometryEncoderConfig`، *اختياري*) : إعدادات مُشفِّر الهندسة.

detr_encoder_config (`dict` أو `Sam3LiteTextDETREncoderConfig`، *اختياري*) : إعدادات مُشفِّر DETR.

detr_decoder_config (`dict` أو `Sam3LiteTextDETRDecoderConfig`، *اختياري*) : إعدادات لفك ترميز DETR.

mask_decoder_config (`dict` أو `Sam3LiteTextMaskDecoderConfig`، *اختياري*) : إعدادات لفك ترميز الأقنعة.

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

هذه فئة الإعدادات (configuration class) لتخزين إعدادات نموذج Sam3LiteTextModel. تُستخدم لاستحداث نموذج Sam3 Lite Text وفقاً للحجج المحددة، مع تعريف بنية النموذج. إن استحداث إعدادات باستخدام القيم الافتراضية سيؤدي إلى الحصول على إعدادات مشابهة لتلك الخاصة بـ [yonigozlan/sam3-litetext-s0](https://huggingface.co/yonigozlan/sam3-litetext-s0)

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

مثال:
```python
>>> from transformers import Sam3LiteTextConfig, Sam3LiteTextModel

>>> # Initializing a SAM3_LITE_TEXT configuration
>>> configuration = Sam3LiteTextConfig()

>>> # Initializing a model from the configuration
>>> model = Sam3LiteTextModel(configuration)

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

## Sam3LiteTextTextConfig[[transformers.Sam3LiteTextTextConfig]]

#### transformers.Sam3LiteTextTextConfig[[transformers.Sam3LiteTextTextConfig]]

```python
transformers.Sam3LiteTextTextConfig(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, vocab_size: int = 49408, hidden_size: int = 512, intermediate_size: int = 2048, projection_dim: int = 512, num_hidden_layers: int = 12, num_attention_heads: int = 8, max_position_embeddings: int = 77, hidden_act: str = 'gelu', layer_norm_eps: float = 1e-05, attention_dropout: float = 0.0, use_repmixer_blocks: bool = True, layer_scale_init_value: float = 1e-05, repmixer_kernel_size: int = 11)
```

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

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

vocab_size (`int`، *اختياري*، القيمة الافتراضية `49408`) : حجم مفردات النموذج. يحدد عدد الرموز المختلفة التي يمكن تمثيلها بواسطة `input_ids`.

hidden_size (`int`، *اختياري*، القيمة الافتراضية `512`) : بُعد التمثيلات المخفية.

intermediate_size (`int`، *اختياري*، القيمة الافتراضية `2048`) : بُعد تمثيلات MLP.

projection_dim (`int`، *اختياري*، القيمة الافتراضية `512`) : بُعد طبقات الإسقاط للنص والرؤية.

num_hidden_layers (`int`، *اختياري*، القيمة الافتراضية `12`) : عدد الطبقات المخفية في مُفكِّك Transformer.

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

max_position_embeddings (`int`، *اختياري*، القيمة الافتراضية `77`) : الحد الأقصى لطول التسلسل الذي قد يُستخدم به هذا النموذج.

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

layer_norm_eps (`float`، *اختياري*، القيمة الافتراضية `1e-05`) : قيمة الإيبسلون المستخدمة في طبقات تطبيع الطبقة.

attention_dropout (`float`, *اختياري*, القيمة الافتراضية `0.0`) : نسبة dropout لاحتمالات الانتباه.

use_repmixer_blocks (`bool`, *اختياري*, الافتراضي `True`) : ما إذا كان سيتم استخدام كتل RepMixer (بنمط MobileCLIP) لطبقات المُشفِّر الأولى والأخيرة. عند تعيين `False`، تكون جميع الطبقات من طبقات مُشفِّر Transformer القياسية.

layer_scale_init_value (`float`، *اختياري*، القيمة الافتراضية `1e-5`) : القيمة الأولية لمعلمات مقياس الطبقة القابلة للتعلم في كتل RepMixer (الفروع المتبقية).

repmixer_kernel_size (`int`، *اختياري*، القيمة الافتراضية `11`) : حجم النواة للتمددات العميقة في كتل RepMixer (مسار مزج الرموز ومسار التغذية الأمامية التمددية).

هذه فئة الإعدادات (configuration class) لتخزين إعدادات نموذج Sam3LiteTextModel. تُستخدم لاستحداث نموذج Sam3 Lite Text وفقاً للحجج المحددة، مع تعريف بنية النموذج. إن استحداث إعدادات باستخدام القيم الافتراضية سيؤدي إلى الحصول على إعدادات مشابهة لتلك الخاصة بـ [yonigozlan/sam3-litetext-s0](https://huggingface.co/yonigozlan/sam3-litetext-s0)

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

## Sam3LiteTextGeometryEncoderConfig[[transformers.Sam3LiteTextGeometryEncoderConfig]]

#### transformers.Sam3LiteTextGeometryEncoderConfig[[transformers.Sam3LiteTextGeometryEncoderConfig]]

```python
transformers.Sam3LiteTextGeometryEncoderConfig(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, hidden_size: int = 256, num_layers: int = 3, num_attention_heads: int = 8, intermediate_size: int = 2048, dropout: float | int = 0.1, hidden_act: str = 'relu', hidden_dropout: float | int = 0.0, layer_norm_eps: float = 1e-06, roi_size: int = 7, initializer_range: float = 0.02)
```

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

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

hidden_size (`int`، *اختياري*، القيمة الافتراضية `256`) : بُعد التمثيلات المخفية.

num_layers (`int`، *اختياري*، القيمة الافتراضية `3`) : عدد الطبقات المخفية في مُفكِّك Transformer.

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

intermediate_size (`int`، *اختياري*، القيمة الافتراضية `2048`) : بُعد تمثيلات MLP.

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

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

hidden_dropout (`Union[float, int]`، *اختياري*، القيمة الافتراضية `0.0`) : احتمال الإسقاط (dropout) لجميع الطبقات المتصلة بالكامل في التضمينات (embeddings) والمشفّر (encoder) والمجمّع (pooler).

layer_norm_eps (`float`, *اختياري*, الافتراضي هو `1e-06`) : قيمة إيبسلون المستخدمة في طبقات تطبيع الطبقة.

roi_size (`int`، *اختياري*، القيمة الافتراضية 7) : حجم منطقة الاهتمام (ROI) لعمليات تجميع الصناديق (box pooling).

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

هذه فئة الإعدادات (configuration class) لتخزين إعدادات نموذج Sam3LiteTextModel. تُستخدم لاستحداث نموذج Sam3 Lite Text وفقاً للحجج المحددة، مع تعريف بنية النموذج. إن استحداث إعدادات باستخدام القيم الافتراضية سيؤدي إلى الحصول على إعدادات مشابهة لتلك الخاصة بـ [yonigozlan/sam3-litetext-s0](https://huggingface.co/yonigozlan/sam3-litetext-s0)

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

## Sam3LiteTextDETREncoderConfig[[transformers.Sam3LiteTextDETREncoderConfig]]

#### transformers.Sam3LiteTextDETREncoderConfig[[transformers.Sam3LiteTextDETREncoderConfig]]

```python
transformers.Sam3LiteTextDETREncoderConfig(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, hidden_size: int = 256, num_layers: int = 6, num_attention_heads: int = 8, intermediate_size: int = 2048, dropout: float | int = 0.1, hidden_act: str = 'relu', hidden_dropout: float | int = 0.0, layer_norm_eps: float = 1e-06, initializer_range: float = 0.02)
```

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

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

hidden_size (`int`، *اختياري*، القيمة الافتراضية `256`) : بُعد التمثيلات المخفية.

num_layers (`int`, *اختياري*, الافتراضي هو `6`) : عدد الطبقات المخفية في مُفكِّك Transformer.

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

intermediate_size (`int`، *اختياري*، القيمة الافتراضية `2048`) : بُعد تمثيلات MLP.

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

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

hidden_dropout (`float`، *اختياري*، القيمة الافتراضية 0.0) : احتمال إسقاط (Dropout) لحالات المخفية.

layer_norm_eps (`float`, *اختياري*, الافتراضي هو `1e-06`) : قيمة إيبسلون المستخدمة في طبقات تطبيع الطبقة.

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

هذه فئة الإعدادات (configuration class) لتخزين إعدادات نموذج Sam3LiteTextModel. تُستخدم لاستحداث نموذج Sam3 Lite Text وفقاً للحجج المحددة، مع تعريف بنية النموذج. إن استحداث إعدادات باستخدام القيم الافتراضية سيؤدي إلى الحصول على إعدادات مشابهة لتلك الخاصة بـ [yonigozlan/sam3-litetext-s0](https://huggingface.co/yonigozlan/sam3-litetext-s0)

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

## Sam3LiteTextDETRDecoderConfig[[transformers.Sam3LiteTextDETRDecoderConfig]]

#### transformers.Sam3LiteTextDETRDecoderConfig[[transformers.Sam3LiteTextDETRDecoderConfig]]

```python
transformers.Sam3LiteTextDETRDecoderConfig(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, hidden_size: int = 256, num_layers: int = 6, num_queries: int = 200, num_attention_heads: int = 8, intermediate_size: int = 2048, dropout: float | int = 0.1, hidden_act: str = 'relu', hidden_dropout: float | int = 0.0, layer_norm_eps: float = 1e-06, initializer_range: float = 0.02)
```

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

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

hidden_size (`int`، *اختياري*، القيمة الافتراضية `256`) : بُعد التمثيلات المخفية.

num_layers (`int`, *اختياري*, الافتراضي هو `6`) : عدد الطبقات المخفية في مُفكِّك Transformer.

num_queries (`int`، *اختياري*، القيمة الافتراضية 200) : عدد استعلامات الكائنات.

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

intermediate_size (`int`، *اختياري*، القيمة الافتراضية `2048`) : بُعد تمثيلات MLP.

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

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

hidden_dropout (`Union[float, int]`، *اختياري*، القيمة الافتراضية `0.0`) : احتمال الإسقاط (dropout) لجميع الطبقات المتصلة بالكامل في التضمينات (embeddings) والمشفّر (encoder) والمجمّع (pooler).

layer_norm_eps (`float`, *اختياري*, الافتراضي هو `1e-06`) : قيمة إيبسلون المستخدمة في طبقات تطبيع الطبقة.

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

هذه فئة الإعدادات (configuration class) لتخزين إعدادات نموذج Sam3LiteTextModel. تُستخدم لاستحداث نموذج Sam3 Lite Text وفقاً للحجج المحددة، مع تعريف بنية النموذج. إن استحداث إعدادات باستخدام القيم الافتراضية سيؤدي إلى الحصول على إعدادات مشابهة لتلك الخاصة بـ [yonigozlan/sam3-litetext-s0](https://huggingface.co/yonigozlan/sam3-litetext-s0)

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

## Sam3LiteTextMaskDecoderConfig[[transformers.Sam3LiteTextMaskDecoderConfig]]

#### transformers.Sam3LiteTextMaskDecoderConfig[[transformers.Sam3LiteTextMaskDecoderConfig]]

```python
transformers.Sam3LiteTextMaskDecoderConfig(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, hidden_size: int = 256, num_upsampling_stages: int = 3, layer_norm_eps: float = 1e-06, dropout: float | int = 0.0, num_attention_heads: int = 8, initializer_range: float = 0.02)
```

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

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

hidden_size (`int`، *اختياري*، القيمة الافتراضية `256`) : بُعد التمثيلات المخفية.

num_upsampling_stages (`int`، *اختياري*، القيمة الافتراضية 3) : عدد مراحل إعادة التوسيع في مُفكِّك البكسل (FPN).

layer_norm_eps (`float`, *اختياري*, الافتراضي هو `1e-06`) : قيمة إيبسلون المستخدمة في طبقات تطبيع الطبقة.

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

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

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

هذه فئة الإعدادات (configuration class) لتخزين إعدادات نموذج Sam3LiteTextModel. تُستخدم لاستحداث نموذج Sam3 Lite Text وفقاً للحجج المحددة، مع تعريف بنية النموذج. إن استحداث إعدادات باستخدام القيم الافتراضية سيؤدي إلى الحصول على إعدادات مشابهة لتلك الخاصة بـ [yonigozlan/sam3-litetext-s0](https://huggingface.co/yonigozlan/sam3-litetext-s0)

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

## Sam3LiteTextTextModel[[transformers.Sam3LiteTextTextModel]]

#### transformers.Sam3LiteTextTextModel[[transformers.Sam3LiteTextTextModel]]

```python
transformers.Sam3LiteTextTextModel(config: Sam3LiteTextTextConfig)
```

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

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

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

مُشفِّر النصوص MobileCLIP MCT المستخدم في EfficientSAM3 LiteText.

عندما يكون `config.use_repmixer_blocks` بقيمة `True`، تكون الطبقتان الأولى والأخيرة من وحدات `Sam3LiteTextRepMixerBlock`؛ بينما تكون بقية الطبقات من طبقات `Sam3LiteTextTextEncoderLayer` القياسية.

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

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

#### forward[[transformers.Sam3LiteTextTextModel.forward]]

```python
forward(input_ids: typing.Optional[torch.LongTensor] = None, attention_mask: typing.Optional[torch.Tensor] = None, **kwargs: *<class 'transformers.utils.generic.TransformersKwargs'>)
```

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

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

input_ids (`torch.LongTensor` من الشكل `(batch_size, sequence_length)`، *اختياري*) : فهارس رموز تسلسل الإدخال في قاموس الكلمات. سيتم تجاهل الحشو افتراضيًا. يمكن الحصول على الفهارس باستخدام [AutoTokenizer](/docs/transformers/main/ar/model_doc/auto#transformers.AutoTokenizer). راجع [PreTrainedTokenizer.encode()](/docs/transformers/main/ar/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.encode) و [PreTrainedTokenizer.__call__()](/docs/transformers/main/ar/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.__call__) للتفاصيل. [ما هي معرّفات الإدخال؟](../glossary#input-ids)

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

**يعيد:** `Sam3LiteTextTextEncoderOutput` أو `tuple(torch.Tensor)`

`Sam3LiteTextTextEncoderOutput` أو مجموعة من `torch.Tensor` (إذا تم تمرير `return_dict=False` أو عندما يكون `config.return_dict=False`) وتتضمن عناصر مختلفة اعتمادًا على الإعداد ([Sam3LiteTextConfig](/docs/transformers/main/ar/model_doc/sam3_lite_text#transformers.Sam3LiteTextConfig)) والمدخلات.

تُعيد طريقة [Sam3LiteTextTextModel](/docs/transformers/main/ar/model_doc/sam3_lite_text#transformers.Sam3LiteTextTextModel) الخاصة بالتقديم (forward) تعريف الطريقة الخاصة `__call__`.

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

- **last_hidden_state** (`torch.Tensor` من الشكل `(batch_size, sequence_length, hidden_size)`) -- تسلسل كامل لحالات الخفاء من مشفّر النص.
- **pooler_output** (`torch.Tensor` من الشكل `(batch_size, projection_dim)`) -- مخرجات مجمّعة عبر EOT ومُسقطة إلى `projection_dim` عبر الإسقاط الداخلي بنمط CLIP.
- **hidden_states** (`tuple(torch.Tensor)`، *اختياري*) -- مجموعة من حالات الإخفاء في كل طبقة، تُعاد عند تعيين `output_hidden_states=True`.
- **attentions** (`tuple(torch.Tensor)`، *اختياري*) -- مجموعة من أوزان الانتباه في كل طبقة من طبقات المحوّل، تُعاد عند تعيين `output_attentions=True`.

## Sam3LiteTextModel[[transformers.Sam3LiteTextModel]]

#### transformers.Sam3LiteTextModel[[transformers.Sam3LiteTextModel]]

```python
transformers.Sam3LiteTextModel(config: Sam3LiteTextConfig)
```

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

#### forward[[transformers.Sam3LiteTextModel.forward]]

```python
forward(pixel_values: typing.Optional[torch.Tensor] = None, vision_embeds: transformers.models.sam3_lite_text.modeling_sam3_lite_text.Sam3LiteTextVisionEncoderOutput | None = None, input_ids: typing.Optional[torch.LongTensor] = None, attention_mask: typing.Optional[torch.Tensor] = None, text_embeds: typing.Optional[torch.Tensor] = None, input_boxes: typing.Optional[torch.Tensor] = None, input_boxes_labels: typing.Optional[torch.LongTensor] = None, **kwargs: *<class 'transformers.utils.generic.TransformersKwargs'>)
```

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

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

pixel_values (`torch.Tensor` من الشكل `(batch_size, num_channels, image_size, image_size)`، *اختياري*) : المصفوفات المقابلة لصور الإدخال. يمكن الحصول على قيم البكسل باستخدام [Sam3ImageProcessor](/docs/transformers/main/ar/model_doc/sam3#transformers.Sam3ImageProcessor). راجع [Sam3ImageProcessor.__call__()](/docs/transformers/main/ar/model_doc/molmo2#transformers.Molmo2ImageProcessor.__call__) للتفاصيل ([Sam3Processor](/docs/transformers/main/ar/model_doc/sam3#transformers.Sam3Processor) يستخدم [Sam3ImageProcessor](/docs/transformers/main/ar/model_doc/sam3#transformers.Sam3ImageProcessor) لمعالجة الصور).

vision_embeds (`Sam3LiteTextVisionEncoderOutput`، *اختياري*) : تمثيلات بصرية محسوبة مسبقًا. يمكن استخدامها لإعادة استخدام التمثيلات البصرية بسهولة. إذا تم تقديمها، يجب عدم تمرير `pixel_values`. متعارضة مع `pixel_values`.

input_ids (`torch.LongTensor` من الشكل `(batch_size, sequence_length)`، *اختياري*) : فهارس رموز تسلسل الإدخال في قاموس الكلمات. سيتم تجاهل الحشو افتراضيًا. يمكن الحصول على الفهارس باستخدام [AutoTokenizer](/docs/transformers/main/ar/model_doc/auto#transformers.AutoTokenizer). راجع [PreTrainedTokenizer.encode()](/docs/transformers/main/ar/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.encode) و [PreTrainedTokenizer.__call__()](/docs/transformers/main/ar/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.__call__) للتفاصيل. [ما هي معرّفات الإدخال؟](../glossary#input-ids)

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

text_embeds (`torch.Tensor` من الشكل `(batch_size, sequence_length, hidden_size)`، *اختياري*) : تمثيلات نصية محسوبة مسبقًا. يمكن استخدامها لإعادة استخدام تمثيلات النص بسهولة. إذا تم توفيرها، يجب عدم تمرير `input_ids`. متعارضة مع `input_ids`.

input_boxes (`torch.Tensor` من الشكل `(batch_size, num_boxes, 4)`، *اختياري*) : إحداثيات صناديق مُعايرة ضمن نطاق [0, 1]، بصيغة (cx, cy, w, h).

input_boxes_labels (`torch.LongTensor` من الشكل `(batch_size, num_boxes)`، *اختياري*) : تسميات للمربعات: 1 (إيجابي)، 0 (سلبي).

**يعيد:** `Sam3LiteTextImageSegmentationOutput` أو `tuple(torch.Tensor)`

`Sam3LiteTextImageSegmentationOutput` أو مجموعة مرتبة من `torch.Tensor` (إذا تم تمرير `return_dict=False` أو عندما يكون `config.return_dict=False`) وتتضمن عناصر مختلفة اعتماداً على الإعداد ([Sam3LiteTextConfig](/docs/transformers/main/ar/model_doc/sam3_lite_text#transformers.Sam3LiteTextConfig)) والمدخلات.

تُعيد طريقة [Sam3LiteTextModel](/docs/transformers/main/ar/model_doc/sam3_lite_text#transformers.Sam3LiteTextModel) الخاصة بالتقديم (forward) تعريف الطريقة الخاصة `__call__`.

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

- **pred_masks** (`torch.Tensor` من الشكل `(batch_size, num_queries, height, width)`) -- أقنعة التقطيع المتوقعة لكل استعلام.
- **pred_boxes** (`torch.Tensor` من الشكل `(batch_size, num_queries, 4)`) -- صناديق الحدود المتوقعة بتنسيق (x1, y1, x2, y2).
- **pred_logits** (`torch.Tensor` من الشكل `(batch_size, num_queries)`، *اختياري*) -- درجات الثقة في التصنيف لكل استعلام، محسوبة عبر الضرب النقطي بين ميزات استعلامات المُفكِّك وميزات النص.
- **presence_logits** (`torch.Tensor` من الشكل `(batch_size, 1)`، *اختياري*) -- قيم الاحتمال الحضورية من رمز الحضور في مُفكِّك DETR (الطبقة الأخيرة فقط). تشير هذه القيم إلى ما إذا كانت هناك كائنات موجودة في المشهد. يمكن استخدامها لحساب الدرجات النهائية عن طريق ضربها في pred_logits: `final_scores = pred_logits.sigmoid() * presence_logits.sigmoid()`.
- **semantic_seg** (`torch.Tensor` من الشكل `(batch_size, 1, height, width)`، *اختياري*) -- مخرجات التقسيم الدلالي.
- **decoder_hidden_states** (`tuple[torch.Tensor]`، *اختياري*) -- مجموعة من حالات الإخفاء (hidden states) من جميع طبقات فك التشفير (decoder) في DETR. لكل متجه شكل `(batch_size, num_queries, hidden_size)`.
- **decoder_reference_boxes** (`torch.Tensor` من الشكل `(num_layers, batch_size, num_queries, 4)`، *اختياري*) -- صناديق مرجعية من جميع طبقات فك ترميز DETR.
- **encoder_hidden_states** (`tuple[torch.Tensor]`، *اختياري*) -- مجموعة من حالات الإخفاء من جميع طبقات مشفّر DETR.
- **vision_hidden_states** (`tuple[torch.Tensor]`، *اختياري*) -- مجموعة من حالات الإخفاء (hidden states) من جميع طبقات مشفّر الرؤية (ViT).
- **vision_attentions** (`tuple[torch.Tensor]`، *اختياري*) -- أوزان الانتباه من طبقات مُشفِّر الرؤية (ViT).
- **detr_encoder_attentions** (`tuple[torch.Tensor]`، *اختياري*) -- أوزان الانتباه من طبقات مُشفِّر DETR.
- **detr_decoder_attentions** (`tuple[torch.Tensor]`، *اختياري*) -- أوزان الانتباه من طبقات فك ترميز DETR (الانتباه الذاتي والانتباه المتقاطع).
- **mask_decoder_attentions** (`tuple[torch.Tensor]`، *اختياري*) -- أوزان الانتباه من طبقات فك الترميز للقناع.

مثال:

```python
>>> from PIL import Image
>>> from huggingface_hub.utils import httpx
>>> from io import BytesIO
>>> from transformers import AutoModel, AutoProcessor

>>> model = AutoModel.from_pretrained("facebook/sam3_lite_text")
>>> processor = AutoProcessor.from_pretrained("facebook/sam3_lite_text")

>>> url = "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/transformers/model_doc/sam-car.png"
>>> with httpx.stream("GET", url) as response:
...     image = Image.open(BytesIO(response.read())).convert("RGB")
>>> text = "car"
>>> inputs = processor(images=image, text=text, return_tensors="pt")

>>> # Get segmentation output
>>> outputs = model(**inputs)
>>> pred_masks = outputs.pred_masks
>>> pred_boxes = outputs.pred_boxes
```

## Sam3LiteTextPreTrainedModel[[transformers.Sam3LiteTextPreTrainedModel]]

#### transformers.Sam3LiteTextPreTrainedModel[[transformers.Sam3LiteTextPreTrainedModel]]

```python
transformers.Sam3LiteTextPreTrainedModel(config: PreTrainedConfig, *inputs, **kwargs)
```

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

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

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

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

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

#### forward[[transformers.Sam3LiteTextPreTrainedModel.forward]]

```python
forward(*args, **kwargs)
```

قيمة وهمية لمسار منقّط (مثل `torch.float32`): سلاسل الوصول إلى السمات، والاستدعاءات تتصرف كمُزيّنات مُمرِّرة، و`repr` هو المسار المنقّط، وعند استخدامه كصنف أساسي يُستبدل بصنف أساسي من نوع `type` عادي (بموجب `__mro_entries__` في PEP 560)، بحيث تحتفظ الأصناف الفرعية الحقيقية بفئة ميتا عادية، وتقرأ `inspect.signature` دالة `__init__` الحقيقية الخاصة بها بدلاً من تلك الموجودة في القيمة الوهمية.

