Transformers documentation
SAM3-LiteText
نُشر هذا النموذج في أوراق HF في 12 فبراير 2026، وسُهم به في Hugging Face Transformers في 13 أبريل 2026.
SAM3-LiteText
نظرة عامة
قُدِّم SAM3-LiteText في SAM3-LiteText: An Anatomical Study of the SAM3 Text Encoder for Efficient Vision-Language Segmentation من قِبل Chengxi Zeng وYuxuan Jiang وGe Gao وShuai Wang وDuolikun Danier وBin Zhu وStevan Rudinac وDavid Bull وFan Zhang.
SAM3-LiteText هو متغير خفيف من SAM3 يستبدل مُشفِّر النص الثقيل في SAM3 (353 مليون معامل) بمُشفِّر نص مدمج مبني على MobileCLIP، مُحسَّن من خلال تقطير المعرفة. ويُحافظ على مُشفِّر الصور ViT-H الخاص بـ SAM3 كما هو. يقلل هذا من معاملات مُشفِّر النص بنسبة تصل إلى 88% مع الحفاظ على أداء تجزئة يقارب أداء النموذج الأصلي.
المستخلص من الورقة البحثية هو كالتالي:
تُمكّن نماذج التقطيع المرئي-اللغوي مثل SAM3 من ترسيخ بصري مرن يقوده الإدخال النصي، لكنها ترث مشفّرات نصية كبيرة وعامة صُممت في الأصل لفهم اللغة المفتوح. عمليًا، تكون أوامر التقطيع النصية قصيرة ومنظمة ومقيّدة دلاليًا، مما يؤدي إلى توفير مفرط كبير في سعة المشفّر النصي، فضلًا عن أعباء حسابية وذاكرة مستمرة. في هذه الورقة، نُجري تحليلًا تشريحيًا واسع النطاق للإدخال النصي في التقطيع المرئي-اللغوي، يغطي 404,796 أمرًا نصيًا حقيقيًا عبر عدة معايير تقييم. تكشف تحليلاتنا عن ازدواجية شديدة: فمعظم نوافذ السياق غير مستغلة بشكل كافٍ، واستخدام المفردات شحيح للغاية، وتقع التضمينات النصية على متعددات أبعاد منخفضة رغم التمثيلات عالية الأبعاد. بدافع من هذه النتائج، نقترح SAM3-LiteText، وهو إطار عمل خفيف التشفير النصي يستبدل المشفّر النصي الأصلي في SAM3 بطالب MobileCLIP مدمج يُحسَّن عبر تقطير المعرفة. تُظهر تجارب موسّعة على معايير تقييم التقطيع للصور والفيديو أن SAM3-LiteText يقلّل من عدد معاملات المشفّر النصي بنسبة تصل إلى 88%، مما يُخفض بصمة الذاكرة الثابتة بشكل كبير، مع الحفاظ على أداء تقطيع يقارب أداء النموذج الأصلي.
يعتمد معمارية مُشفِّر النص على MobileCLIP ويتوفر بثلاثة متغيرات:
| نسخة | مُشفِّر النص | معلمات النص | الاختزال |
|---|---|---|---|
| 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 وyonigozlan. يمكن العثور على الكود الأصلي هنا.
الاستخدام
SAM3-LiteText هو بديل جاهز للاستخدام المباشر لـ SAM3 يعتمد على مُشفِّر نصوص خفيف الوزن. يستخدم المعالج نفسه (Sam3Processor) ويدعم نفس واجهة الإدخال. راجع توثيق SAM3 للحصول على أمثلة مفصّلة للاستخدام تشمل أوامر النصوص، وأوامر الصناديق، والاستدلال الدُفعي، والمزيد.
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
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonevision_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonetext_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonegeometry_encoder_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonedetr_encoder_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonedetr_decoder_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonemask_decoder_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Noneinitializer_range: float = 0.02 )
المعاملات
- 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 المستخدم في تهيئة جميع مصفوفات الأوزان.
هذه فئة الإعدادات المخزنة لإعدادات نموذج Sam3LiteTextModel. تُستخدم لاستحداث نموذج Sam3 Lite Text وفقاً للحجج المحددة، مع تعريف بنية النموذج. إن استحداث إعدادات باستخدام القيم الافتراضية سيؤدي إلى الحصول على إعدادات مشابهة لتلك الخاصة بـ yonigozlan/sam3-litetext-s0
ترث كائنات التهيئة من PreTrainedConfig ويمكن استخدامها للتحكم في مخرجات النموذج. اقرأ التوثيق الخاص بـ PreTrainedConfig لمزيد من المعلومات.
مثال:
>>> 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.configSam3LiteTextTextConfig
فئة transformers.Sam3LiteTextTextConfig
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonevocab_size: int = 49408hidden_size: int = 512intermediate_size: int = 2048projection_dim: int = 512num_hidden_layers: int = 12num_attention_heads: int = 8max_position_embeddings: int = 77hidden_act: str = 'gelu'layer_norm_eps: float = 1e-05attention_dropout: float = 0.0use_repmixer_blocks: bool = Truelayer_scale_init_value: float = 1e-05repmixer_kernel_size: int = 11 )
المعاملات
- 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 (مسار مزج الرموز ومسار التغذية الأمامية التحويلية).
هذه فئة الإعدادات المخزنة لإعدادات نموذج Sam3LiteTextModel. تُستخدم لاستحداث نموذج Sam3 Lite Text وفقاً للحجج المحددة، مع تعريف بنية النموذج. إن استحداث إعدادات باستخدام القيم الافتراضية سيؤدي إلى الحصول على إعدادات مشابهة لتلك الخاصة بـ yonigozlan/sam3-litetext-s0
ترث كائنات التهيئة من PreTrainedConfig ويمكن استخدامها للتحكم في مخرجات النموذج. اقرأ التوثيق الخاص بـ PreTrainedConfig لمزيد من المعلومات.
Sam3LiteTextGeometryEncoderConfig
فئة transformers.Sam3LiteTextGeometryEncoderConfig
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonehidden_size: int = 256num_layers: int = 3num_attention_heads: int = 8intermediate_size: int = 2048dropout: float | int = 0.1hidden_act: str = 'relu'hidden_dropout: float | int = 0.0layer_norm_eps: float = 1e-06roi_size: int = 7initializer_range: float = 0.02 )
المعاملات
- 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) لعمليات تجميع الصناديق. - initializer_range (
float، اختياري، القيمة الافتراضية0.02) — الانحراف المعياري لـ truncated_normal_initializer المستخدم في تهيئة جميع مصفوفات الأوزان.
هذه فئة الإعدادات المخزنة لإعدادات نموذج Sam3LiteTextModel. تُستخدم لاستحداث نموذج Sam3 Lite Text وفقاً للحجج المحددة، مع تعريف بنية النموذج. إن استحداث إعدادات باستخدام القيم الافتراضية سيُنتج إعدادات مشابهة لتلك الخاصة بـ yonigozlan/sam3-litetext-s0
ترث كائنات التهيئة من PreTrainedConfig ويمكن استخدامها للتحكم في مخرجات النموذج. اقرأ التوثيق الخاص بـ PreTrainedConfig لمزيد من المعلومات.
Sam3LiteTextDETREncoderConfig
فئة transformers.Sam3LiteTextDETREncoderConfig
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonehidden_size: int = 256num_layers: int = 6num_attention_heads: int = 8intermediate_size: int = 2048dropout: float | int = 0.1hidden_act: str = 'relu'hidden_dropout: float | int = 0.0layer_norm_eps: float = 1e-06initializer_range: float = 0.02 )
المعاملات
- 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 المستخدم في تهيئة جميع مصفوفات الأوزان.
هذه فئة الإعدادات المخزنة لإعدادات نموذج Sam3LiteTextModel. تُستخدم لاستحداث نموذج Sam3 Lite Text وفقاً للحجج المحددة، مع تعريف بنية النموذج. إن استحداث إعدادات باستخدام القيم الافتراضية سيؤدي إلى الحصول على إعدادات مشابهة لتلك الخاصة بـ yonigozlan/sam3-litetext-s0
ترث كائنات التهيئة من PreTrainedConfig ويمكن استخدامها للتحكم في مخرجات النموذج. اقرأ التوثيق الخاص بـ PreTrainedConfig لمزيد من المعلومات.
Sam3LiteTextDETRDecoderConfig
فئة transformers.Sam3LiteTextDETRDecoderConfig
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonehidden_size: int = 256num_layers: int = 6num_queries: int = 200num_attention_heads: int = 8intermediate_size: int = 2048dropout: float | int = 0.1hidden_act: str = 'relu'hidden_dropout: float | int = 0.0layer_norm_eps: float = 1e-06initializer_range: float = 0.02 )
المعاملات
- 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 المستخدم في تهيئة جميع مصفوفات الأوزان.
هذه فئة الإعدادات المخزنة لإعدادات نموذج Sam3LiteTextModel. تُستخدم لاستحداث نموذج Sam3 Lite Text وفقاً للحجج المحددة، مع تعريف بنية النموذج. إن استحداث إعدادات باستخدام القيم الافتراضية سيؤدي إلى الحصول على إعدادات مشابهة لتلك الخاصة بـ yonigozlan/sam3-litetext-s0
ترث كائنات التهيئة من PreTrainedConfig ويمكن استخدامها للتحكم في مخرجات النموذج. اقرأ التوثيق الخاص بـ PreTrainedConfig لمزيد من المعلومات.
Sam3LiteTextMaskDecoderConfig
فئة transformers.Sam3LiteTextMaskDecoderConfig
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonehidden_size: int = 256num_upsampling_stages: int = 3layer_norm_eps: float = 1e-06dropout: float | int = 0.0num_attention_heads: int = 8initializer_range: float = 0.02 )
المعاملات
- 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 المستخدم في تهيئة جميع مصفوفات الأوزان.
هذه فئة الإعدادات المخزنة لإعدادات نموذج Sam3LiteTextModel. تُستخدم لاستحداث نموذج Sam3 Lite Text وفقاً للحجج المحددة، مع تعريف بنية النموذج. إن استحداث إعدادات باستخدام القيم الافتراضية سيؤدي إلى الحصول على إعدادات مشابهة لتلك الخاصة بـ yonigozlan/sam3-litetext-s0
ترث كائنات التهيئة من PreTrainedConfig ويمكن استخدامها للتحكم في مخرجات النموذج. اقرأ التوثيق الخاص بـ PreTrainedConfig لمزيد من المعلومات.
Sam3LiteTextTextModel
فئة transformers.Sam3LiteTextTextModel
< source >( config: Sam3LiteTextTextConfig )
المعاملات
- config (Sam3LiteTextTextConfig) — فئة إعدادات النموذج التي تحتوي على جميع معاملات النموذج. لا يؤدي التهيئة باستخدام ملف الإعداد إلى تحميل الأوزان المرتبطة بالنموذج، بل الإعدادات فقط. راجع طريقة from_pretrained() لتحميل أوزان النموذج.
مُشفِّر النصوص MobileCLIP MCT المستخدم في EfficientSAM3 LiteText.
عندما يكون config.use_repmixer_blocks بقيمة True، تكون الطبقتان الأولى والأخيرة من وحدات Sam3LiteTextRepMixerBlock؛ بينما تكون بقية الطبقات من طبقات Sam3LiteTextTextEncoderLayer القياسية.
يرث هذا النموذج من PreTrainedModel. راجع توثيق الفئة الأصلية لمعرفة الطرق العامة التي تنفذها المكتبة لجميع نماذجها (مثل التحميل أو الحفظ، وتغيير حجم تضمينات الإدخال، وقص الرؤوس، وما إلى ذلك).
هذا النموذج هو أيضًا فئة فرعية من torch.nn.Module في PyTorch. استخدمه كوحدة PyTorch عادية، وارجع إلى توثيق PyTorch لكل ما يتعلق بالاستخدام العام والسلوك.
forward
< source >( input_ids: typing.Optional[torch.LongTensor] = Noneattention_mask: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → Sam3LiteTextTextEncoderOutput or tuple(torch.Tensor)
المعاملات
- input_ids (
torch.LongTensorبشكل(batch_size, sequence_length), اختياري) — مؤشرات رموز تسلسل الإدخال في قاموس الكلمات. سيتم تجاهل الحشو افتراضيًا.يمكن الحصول على الفهارس باستخدام AutoTokenizer. راجع PreTrainedTokenizer.encode() و PreTrainedTokenizer.call() للتفاصيل.
- attention_mask (
torch.Tensorبشكل(batch_size, sequence_length), اختياري) — قناع لتجنب تنفيذ الانتباه على فهارس رموز الحشو. القيم المختارة للقناع هي[0, 1]:- 1 للرموز التي لم تُقنَّع،
- 0 للرموز التي تم إخفاؤها.
يعيد
Sam3LiteTextTextEncoderOutput أو tuple(torch.Tensor)
Sam3LiteTextTextEncoderOutput أو مجموعة مرتبة من
torch.Tensor (إذا تم تمرير return_dict=False أو عندما يكون config.return_dict=False) وتتضمن عناصر مختلفة
تعتمد على الإعدادات (Sam3LiteTextConfig) والمدخلات.
تُعيد طريقة 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
forward
< source >( pixel_values: typing.Optional[torch.Tensor] = Nonevision_embeds: transformers.models.sam3_lite_text.modeling_sam3_lite_text.Sam3LiteTextVisionEncoderOutput | None = Noneinput_ids: typing.Optional[torch.LongTensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Nonetext_embeds: typing.Optional[torch.Tensor] = Noneinput_boxes: typing.Optional[torch.Tensor] = Noneinput_boxes_labels: typing.Optional[torch.LongTensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → Sam3LiteTextImageSegmentationOutput or tuple(torch.Tensor)
المعاملات
- pixel_values (
torch.Tensorof shape(batch_size, num_channels, image_size, image_size), اختياري) — المصفوفات المقابلة للصور المدخلة. يمكن الحصول على قيم البكسل باستخدام Sam3ImageProcessor. راجع Sam3ImageProcessor.call() للتفاصيل (Sam3Processor يستخدم Sam3ImageProcessor لمعالجة الصور). - vision_embeds (
Sam3LiteTextVisionEncoderOutput، اختياري) — تضمينات بصرية محسوبة مسبقًا. يمكن استخدامها لإعادة استخدام التضمينات البصرية بسهولة. إذا تم تقديمها، فلا ينبغي تمريرpixel_values. متعارضة معpixel_values. - input_ids (
torch.LongTensorبشكل(batch_size, sequence_length), اختياري) — مؤشرات رموز تسلسل الإدخال في قاموس الكلمات. سيتم تجاهل الحشو افتراضيًا.يمكن الحصول على الفهارس باستخدام AutoTokenizer. راجع PreTrainedTokenizer.encode() و PreTrainedTokenizer.call() للتفاصيل.
- attention_mask (
torch.Tensorبشكل(batch_size, sequence_length), اختياري) — قناع لتجنب تنفيذ الانتباه على فهارس رموز الحشو. القيم المختارة للقناع هي[0, 1]:- 1 للرموز التي لم تُقنَّع،
- 0 للرموز التي تم إخفاؤها.
- 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) والمدخلات.
تُعيد طريقة 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.Tensorof shape(batch_size, num_queries), اختياري) — درجات الثقة في التصنيف لكل استعلام، محسوبة عبر الضرب النقطي بين ميزات استعلامات المُفكِّك وميزات النص. - presence_logits (
torch.Tensorمن الشكل(batch_size, 1)، اختياري) — قيم الوجود (Presence logits) من رمز الوجود (presence token) في مُفكِّك 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. كل متجه (tensor) له الشكل(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]، اختياري) — مجموعة من حالات الإخفاء (hidden states) القادمة من جميع طبقات مُشفِّر (encoder) نموذج 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]، اختياري) — أوزان الانتباه من طبقات فك ترميز القناع.
مثال:
>>> 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_boxesSam3LiteTextPreTrainedModel
فئة transformers.Sam3LiteTextPreTrainedModel
< source >( config: PreTrainedConfig*inputs**kwargs )
المعاملات
- config (PreTrainedConfig) — فئة إعدادات النموذج التي تحتوي على جميع معاملات النموذج. لا يؤدي التهيئة باستخدام ملف الإعدادات إلى تحميل الأوزان المرتبطة بالنموذج، بل الإعدادات فقط. راجع طريقة from_pretrained() لتحميل أوزان النموذج.
يرث هذا النموذج من PreTrainedModel. راجع توثيق الفئة الأصلية لمعرفة الطرق العامة التي تنفذها المكتبة لجميع نماذجها (مثل التحميل أو الحفظ، وتغيير حجم تضمينات الإدخال، وقص الرؤوس، وما إلى ذلك).
هذا النموذج هو أيضًا فئة فرعية من torch.nn.Module في PyTorch. استخدمه كوحدة PyTorch عادية، وارجع إلى توثيق PyTorch لكل ما يتعلق بالاستخدام العام والسلوك.
قيمة وهمية لمسار منقّط (مثل torch.float32): سلاسل الوصول إلى السمات، والاستدعاءات تتصرف كمُزيّنات (decorators) مرّرة، وrepr هو المسار المنقّط، وعند استخدامه كصنف أساسي يُستبدل بصنف أساسي من نوع type عادي (بموجب __mro_entries__ في PEP 560)، بحيث تحتفظ الصنوف الفرعية الحقيقية بفئة ميتا (metaclass) عادية، وتقرأ inspect.signature دالة __init__ الحقيقية الخاصة بها بدلاً من تلك الوهمية.