Transformers documentation

Sapiens2

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v5.22.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

نُشر هذا النموذج في أوراق HF في 23 أبريل 2026، وأُضيف إلى مكتبة Hugging Face Transformers في 3 يونيو 2026.

Sapiens2

SDPA FlashAttention

نظرة عامة

قُدِّم نموذج Sapiens2 في Sapiens2 بواسطة Rawal Khirodkar وHe Wen وJulieta Martinez وYuan Dong وZhaoen Su وShunsuke Saito. يُعد Sapiens2 عائلة من محولات الرؤية عالية الدقة، مُدرَّبة مسبقاً على نحو مليار صورة بشرية مُنتقاة بعناية، ومصممة لمهام الرؤية الحاسوبية التي تركز على الإنسان، بما في ذلك تقدير الوضعية، وتجزئة أجزاء الجسم، وتقدير العواطف السطحية، وتقدير خرائط النقاط.

يمكنك العثور على جميع نقاط التفتيش الأصلية الخاصة بـ Sapiens2 ضمن مجموعة Sapiens2.

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

نقدّم Sapiens2، وهو عائلة من نماذج transformers عالية الدقة مخصصة لرؤية الإنسان، مع تركيز على التعميم والتنوع والإخراجات عالية الدقة. قمنا بالتدريب المسبق على حوالي مليار صورة إنسانية عالية الجودة تم اختيارها بعناية مع تحسينات في تسميات المهام، ودمجنا إعادة بناء الصور المقنّعة مع أهداف تباينية ذاتية التسخين لتعلم الميزات منخفضة المستوى والميزات الدلالية. تتدرج نماذجنا من 0.4B إلى 5B من المعاملات وتُدرَّب عند دقة أصلية تبلغ 1K، مع متغيرات هرمية بدقة 4K للاستدلال المكاني الممتد. يحقق Sapiens2 تحسينات كبيرة مقارنةً بسلفه: +4 mAP في تقدير الوضعية، و+24.3 mIoU في تجزئة أجزاء الجسم، وخفض بنسبة 45.6% في خطأ تقدير العادي، مع التوسع إلى مهام جديدة مثل تقدير pointmap وalbedo. الكود متاح علنًا.

نصائح:

  • يستخدم Sapiens2 تضمينات الموضع الدوارة (RoPE) ويدعم دقات إدخال عشوائية. يعيد معالج الصور الافتراضي حجم الصور إلى 1024×768 (الارتفاع×العرض).
  • يستخدم النموذج انتباه الاستعلامات المجمّعة (GQA) للطبقات الوسطى، والانتباه متعدد الرؤوس الكامل للطبقات الثمانية الأولى والأخيرة.
  • تُقلّل رموز التسجيل (ثمانية رموز افتراضيًا) الشوائب ذات المعايير العالية في رموز الباتش، مما يؤدي إلى خرائط انتباه أنظف وأداء أفضل في مهام التنبؤ الكثيف.

تمت مساهمة هذا النموذج من قِبل guarin. يمكن العثور على الكود الأصلي هنا.

أمثلة على الاستخدام

AutoModel
AutoBackbone
التقدير الطبيعي
تقدير خريطة النقاط
تقدير الوضعية
تقدير الوضعية مع زيادة البيانات عن طريق القلب
تدريب تقدير الوضعية
التجزئة الدلالية
تقطيع

يُظهر المثال أدناه كيفية الحصول على رمز CLS (تضمين الصورة الكاملة) باستخدام Sapiens2Model.

import torch
from transformers import AutoImageProcessor, AutoModel
from transformers.image_utils import load_image

image = load_image("http://images.cocodataset.org/val2017/000000004016.jpg")

image_processor = AutoImageProcessor.from_pretrained("facebook/sapiens2-pretrain-0.4b")
model = AutoModel.from_pretrained("facebook/sapiens2-pretrain-0.4b", device_map="auto")

inputs = image_processor(images=image, return_tensors="pt").to(model.device)
with torch.inference_mode():
    outputs = model(**inputs)

# outputs.pooler_output is the CLS token (whole-image embedding)
cls_token = outputs.pooler_output
print("CLS token shape:", cls_token.shape)  # [1, 1024]

Sapiens2Config

فئة transformers.Sapiens2Config

< >

( 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 = Nonepatch_size: int | list[int] | tuple[int, int] = 16hidden_size: int = 1024intermediate_size: int = 4096num_hidden_layers: int = 24num_attention_heads: int = 16hidden_act: str = 'silu'attention_dropout: float | int = 0.0initializer_range: float = 0.02rope_theta: float = 100.0image_size: int | list[int] | tuple[int, int] = 224num_channels: int = 3query_bias: bool = Truekey_bias: bool = Truevalue_bias: bool = Trueproj_bias: bool = Truemlp_bias: bool = Truelayerscale_value: float = 1.0drop_path_rate: float | int = 0.0use_gated_mlp: bool = Truenum_register_tokens: int = 8pos_embed_shift: float | None = Nonepos_embed_jitter: float | None = Nonepos_embed_rescale: float | None = 2.0_out_features: list[str] | None = None_out_indices: list[int] | None = Nonereshape_hidden_states: bool = Trueuse_mask_token: bool = Falserms_norm_eps: float = 1e-06normalize_backbone_outputs: bool = Trueuse_qk_norm: bool = Truenum_key_value_heads_per_layer: list[int] | None = Nonenum_key_value_attention_heads: int = 8num_first_full_attention_layers: int = 8num_last_full_attention_layers: int = 8semantic_loss_ignore_index: int = 255flip_pairs: list[list[int]] | None = Nonehead_config: transformers.models.sapiens2.configuration_sapiens2.Sapiens2HeadConfig | dict | None = None )

المعاملات

  • patch_size (Union[int, list[int], tuple[int, int]]، اختياري، القيمة الافتراضية 16) — حجم (دقة) كل رقعة.
  • hidden_size (int، اختياري، القيمة الافتراضية 1024) — أبعاد التمثيلات المخفية.
  • intermediate_size (int، اختياري، القيمة الافتراضية 4096) — أبعاد تمثيلات MLP.
  • num_hidden_layers (int، اختياري، القيمة الافتراضية 24) — عدد الطبقات المخفية في مُفكِّك Transformer.
  • num_attention_heads (int، اختياري، القيمة الافتراضية 16) — عدد رؤوس الانتباه لكل طبقة انتباه في مُفكِّك Transformer.
  • hidden_act (str، اختياري، القيمة الافتراضية silu) — دالة التنشيط غير الخطية (دالة أو نص) في المُفكِّك. على سبيل المثال، "gelu"، "relu"، "silu"، وغيرها.
  • attention_dropout (Union[float, int]، اختياري، القيمة الافتراضية 0.0) — نسبة إسقاط (dropout) لاحتمالات الانتباه.
  • initializer_range (float، اختياري، القيمة الافتراضية 0.02) — الانحراف المعياري لـ truncated_normal_initializer المستخدم في تهيئة جميع مصفوفات الأوزان.
  • rope_theta (float، اختياري، القيمة الافتراضية 100.0) — الفترة الأساسية لتضمينات RoPE.
  • image_size (Union[int, list[int], tuple[int, int]]، اختياري، القيمة الافتراضية 224) — الحجم (الدقة) لكل صورة.
  • num_channels (int، اختياري، القيمة الافتراضية 3) — عدد قنوات الإدخال.
  • query_bias (bool، اختياري، القيمة الافتراضية True) — ما إذا كان يجب إضافة انحياز إلى إسقاط الاستعلام.
  • key_bias (bool، اختياري، القيمة الافتراضية False) — ما إذا كان يجب إضافة انحياز إلى إسقاط المفتاح.
  • value_bias (bool، اختياري، القيمة الافتراضية True) — ما إذا كان يجب إضافة انحياز إلى إسقاط القيمة.
  • proj_bias (bool، اختياري، القيمة الافتراضية True) — ما إذا كان يجب إضافة انحياز إلى الإسقاط الناتج.
  • mlp_bias (bool، اختياري، القيمة الافتراضية True) — ما إذا كان سيتم استخدام انحياز في طبقات up_proj و down_proj و gate_proj ضمن طبقات MLP.
  • layerscale_value (float، اختياري، القيمة الافتراضية 1.0) — القيمة الأولية المستخدمة لمقياس الطبقة.
  • drop_path_rate (Union[float, int], اختياري، القيمة الافتراضية 0.0) — معدل إسقاط المسار (Drop path) لدمج البقع (patch fusion).
  • use_gated_mlp (bool، اختياري، القيمة الافتراضية False) — ما إذا كان سيتم استخدام شبكة العصبونات الأمامية SwiGLU.
  • num_register_tokens (int، اختياري، القيمة الافتراضية 0) — عدد رموز التسجيل.
  • pos_embed_shift (float, اختياري) — الكمية التي تُستخدم للإزاحة العشوائية لإحداثيات تضمين الموضع ضمن النطاق [-shift, shift]، وتُطبَّق فقط في وضع التدريب إذا لم تكن None.
  • pos_embed_jitter (float, اختياري) — الكمية التي يتم بها إزاحة إحداثيات تضمين الموضع عشوائياً بقيمة موحدة لوغاريتمياً ضمن المجال [1/jitter, jitter]، وتُطبَّق فقط في وضع التدريب إذا لم تكن None.
  • pos_embed_rescale (float, اختياري، القيمة الافتراضية 2.0) — المقدار الذي يُعاد به تحجيم إحداثيات تضمين الموضع عشوائياً بقيمة موحدة لوغاريتمياً ضمن المجال [1/rescale, rescale]، ويُطبَّق فقط في وضع التدريب إذا لم تكن None.
  • reshape_hidden_states (bool، اختياري، القيمة الافتراضية True) — ما إذا كان يجب إعادة تشكيل الحالات المخفية إلى أبعاد مكانية عند استخدامها كهيكل أساسي.
  • use_mask_token (bool، اختياري، القيمة الافتراضية False) — ما إذا كان سيتم استخدام رمز قناع في التضمينات (مطلوب للتدريب المسبق على نمذجة الصور المقنّعة).
  • rms_norm_eps (float, اختياري، القيمة الافتراضية 1e-6) — قيمة إيبسلون لطبقات تطبيع RMS.
  • normalize_backbone_outputs (bool، اختياري، القيمة الافتراضية True) — ما إذا كان سيتم تطبيق RMSNorm على مخرجات feature_maps وcls_tokens الخاصة بالهيكل العظمي (backbone) قبل إرجاعها من مسار التقدّم (forward pass). لا ينطبق هذا إلا عند استخدام النموذج كهيكل عظمي.
  • use_qk_norm (bool, اختياري، القيمة الافتراضية True) — ما إذا كان سيتم تطبيق RMSNorm على الاستعلامات والمفاتيح قبل RoPE في طبقات الانتباه.
  • num_key_value_heads_per_layer (list[int]، اختياري) — عدد رؤوس المفاتيح/القيم (key/value) لكل طبقة من طبقات المحوّل (transformer). ضبط قيمة الطبقة بحيث تساوي num_attention_heads يمنح انتباهًا متعدد الرؤوس كاملًا (full multi-head attention)؛ بينما تمنح قيمة أصغر انتباهًا مجمّع الاستعلامات (grouped-query attention). القيمة الافتراضية هي num_attention_heads لأول num_first_full_attention_layers طبقات وآخر num_last_full_attention_layers طبقات، وnum_key_value_attention_heads لجميع الطبقات الأخرى.
  • num_key_value_attention_heads (int، اختياري، القيمة الافتراضية 8) — عدد رؤوس المفتاح/القيمة للطبقات التي تستخدم الانتباه الاستعلامي المجمّع عندما لا يكون num_key_value_heads_per_layer معيّنًا. يتم تجاهله عندما يكون num_key_value_heads_per_layer معيّنًا.
  • num_first_full_attention_layers (int، اختياري، القيمة الافتراضية 8) — عدد طبقات الترانسفورمر الأولى التي تستخدم الانتباه متعدد الرؤوس الكامل. يُستخدم فقط عندما تكون num_key_value_heads_per_layer هي None.
  • num_last_full_attention_layers (int, اختياري، القيمة الافتراضية 8) — عدد طبقات الترانسفورمر الأخيرة التي تستخدم الانتباه متعدد الرؤوس الكامل. يُستخدم فقط عندما تكون num_key_value_heads_per_layer هي None.
  • semantic_loss_ignore_index (int، اختياري، القيمة الافتراضية 255) — مؤشر التسمية الذي يتم تجاهله عند حساب خسارة التقطيع.
  • flip_pairs (list[list[int]]، اختياري) — أزواج من فهارس نقاط المفاصل التي تكون متناظرة أفقيًا (مثلًا، الأذن اليسرى ↔ الأذن اليمنى). كل زوج هو قائمة من عنصرين [left_index, right_index]. يُستخدم في زيادة البيانات عن طريق القلب الأفقي أثناء الاختبار في تقدير الوضعية: مرر هذه الأزواج إلى استدعاء الأمامي الثاني حتى يقلب النموذج خرائط الحرارة إلى وضعها الأصلي قبل إرجاعها.
  • head_config (Sapiens2HeadConfig، اختياري) — إعدادات رأس فك الترميز. راجع Sapiens2HeadConfig لمعرفة الخيارات المتاحة.

هذه فئة الإعدادات المخزنة لإعدادات نموذج Sapiens2Model. تُستخدم لاستحداث نموذج Sapiens2 وفقاً للحجج المحددة، مع تعريف بنية النموذج. إن استحداث إعدادات باستخدام القيم الافتراضية سيؤدي إلى الحصول على إعدادات مشابهة لتلك الخاصة بـ facebook/sapiens2-pretrain-0.4b

ترث كائنات التهيئة من PreTrainedConfig ويمكن استخدامها للتحكم في مخرجات النموذج. اقرأ التوثيق الخاص بـ PreTrainedConfig لمزيد من المعلومات.

Sapiens2HeadConfig

فئة transformers.Sapiens2HeadConfig

< >

( 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 = Noneupsample_out_channels: list[int] | None = Noneupsample_kernel_sizes: list[int] | None = Noneupsample_kernel_size: int = 4use_pixel_shuffle: bool | None = Noneconv_out_channels: list[int] | None = Noneconv_kernel_sizes: list[int] | None = Noneconv_kernel_size: int = 1scale_conv_out_channels: list[int] | None = Nonescale_conv_kernel_sizes: list[int] | None = Nonescale_conv_kernel_size: int = 1scale_final_input_size: int | None = Nonescale_final_hidden_sizes: list[int] | None = None )

المعاملات

  • upsample_out_channels (list[int]، اختياري) — عدد القنوات في المخرجات لكل كتلة رفع عينة. تستقبل الكتلة الأولى hidden_size قناة كمدخلات؛ بينما تستخدم الكتل اللاحقة مخرجات الكتلة السابقة.
  • upsample_kernel_sizes (list[int], اختياري) — حجم النواة لكل كتلة إعادة تصعيد. يُملأ تلقائيًا بـ [4, ...] عند تعيين upsample_out_channels بينما يكون هذا None. يجب أن يكون له نفس طول upsample_out_channels.
  • upsample_kernel_size (int، القيمة الافتراضية 4) — حجم النواة الافتراضي لكتل التوسيع (upsample) عندما لا يتم تعيين upsample_kernel_sizes.
  • use_pixel_shuffle (bool, اختياري) — ما إذا كان رأس التوسيع يستخدم توسيعًا عبر pixel-shuffle بدلاً من التحويلات المعكوسة. عندما يكون None (الافتراضي)، يستخدم الرأس التحويلات المعكوسة.
  • conv_out_channels (list[int], اختياري) — عدد قنوات المخرجات لطبقات الالتفاف التكميلية التي تلي كتل التوسيع.
  • conv_kernel_sizes (list[int], اختياري) — حجم النواة لكل طبقة التمرير في التكرار. يتم ملؤه تلقائيًا بـ [1, ...] عند تعيين conv_out_channels بينما يكون هذا None. يجب أن يكون له نفس طول conv_out_channels.
  • conv_kernel_size (int، القيمة الافتراضية 1) — حجم النواة الافتراضي لطبقات الالتفاف عندما لا يتم تعيين conv_kernel_sizes.
  • scale_conv_out_channels (list[int]، اختياري) — عدد القنوات في المخرجات لطبقات الالتفاف ذات الخطوة 2 المستخدمة للتنبؤ بمقياس البعد البؤري. عندما تكون None (الافتراضي)، لا يتم بناء فرع المقياس.
  • scale_conv_kernel_sizes (list[int], اختياري) — حجم النواة لكل طبقة تجميع على كل مقياس. يتم ملؤه تلقائيًا بـ [1, ...] عند تعيين scale_conv_out_channels بينما يكون هذا None. يجب أن يكون له نفس طول scale_conv_out_channels.
  • scale_conv_kernel_size (int، القيمة الافتراضية 1) — حجم النواة الافتراضي لطبقات التمرير الخاصة بالمقياس عندما لا يتم تعيين scale_conv_kernel_sizes.
  • scale_final_input_size (int، اختياري) — حجم الميزات المُسطّح المُمرَّر إلى شبكة MLP الخاصة بالمقياس. عندما يكون None (الافتراضي)، يتم استنتاجه تلقائيًا من image_size وpatch_size في Sapiens2Config الأب.
  • scale_final_hidden_sizes (list[int]، اختياري) — حجم طبقات الخفاء لشبكة MLP التي تُحوّل ميزات المقياس المُسطّحة إلى مخرج مقياسي. عندما يكون None (الافتراضي)، لا يتم بناء فرع المقياس.

هذه فئة الإعدادات المخزنة لإعدادات نموذج Sapiens2Model. تُستخدم لاستحداث نموذج Sapiens2 وفقاً للحجج المحددة، مع تعريف بنية النموذج. إن استحداث إعدادات باستخدام القيم الافتراضية سيؤدي إلى الحصول على إعدادات مشابهة لتلك الخاصة بـ facebook/sapiens2-seg-0.4b

ترث كائنات التهيئة من PreTrainedConfig ويمكن استخدامها للتحكم في مخرجات النموذج. اقرأ التوثيق الخاص بـ PreTrainedConfig لمزيد من المعلومات.

Sapiens2ImageProcessor

فئة transformers.Sapiens2ImageProcessor

< >

( **kwargs: *<class 'transformers.models.sapiens2.image_processing_sapiens2.Sapiens2ImageProcessorKwargs'> )

المعاملات

  • do_convert_rgb (bool، kwargs، اختياري) — ما إذا كان يجب تحويل الصورة إلى RGB.
  • do_resize (bool، kwargs، اختياري، القيمة الافتراضية True) — ما إذا كان يجب تغيير حجم الصورة.
  • size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]، kwargs، القيمة الافتراضية {'height' -- 1024, 'width': 768}): يصف الأبعاد القصوى للمدخلات إلى النموذج.
  • default_to_square (bool، kwargs، اختياري، القيمة الافتراضية True) — ما إذا كان يجب افتراض صورة مربعة عند تغيير الحجم، إذا كانت قيمة size من نوع int.
  • crop_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]، kwargs، القيمة الافتراضية {'height' -- 224, 'width': 224}): حجم الصورة الناتجة بعد تطبيق center_crop.
  • resample (Annotated[Union[int, PILImageResampling, NoneType], None]، kwargs، القيمة الافتراضية 2) — مرشّح إعادة العينة (Resampling filter) المستخدم عند تغيير حجم الصورة. يمكن أن يكون أحد قيم التعداد 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، اختياري، القيمة الافتراضية False) — ما إذا كان سيتم إضافة حشوة (padding) إلى الصورة. يتم تنفيذ الحشوة إما إلى أكبر حجم في الدفعة (batch) أو إلى حجم مربع ثابت لكل صورة. تعتمد استراتيجية الحشوة الدقيقة على النموذج.
  • pad_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — الحجم على شكل {"height": int, "width" int} الذي يجب توسيد الصور إليه. يجب أن يكون أكبر من أي حجم صورة مُقدَّم للمعالجة المسبقة. إذا لم يُقدَّم pad_size، فسيتم توسيد الصور إلى أكبر ارتفاع وعرض في الدفعة. يُطبَّق فقط عندما يكون do_pad=True.
  • do_center_crop (bool، kwargs، اختياري، القيمة الافتراضية False) — ما إذا كان يجب قص الصورة من المنتصف.
  • 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: صورة بصيغة (الارتفاع، العرض، عدد القنوات).
    • "none" أو ChannelDimension.NONE: صورة بصيغة (الارتفاع، العرض).
  • 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، اختياري) — عدد رموز الصورة التي سيتم استخدامها لكل صورة في المدخلات. تمت إضافته من أجل التوافق مع الإصدارات السابقة، لكن ينبغي ضبطه كخاصية للمعالج في النماذج المستقبلية.
  • do_reduce_labels (bool، kwargs، اختياري، القيمة الافتراضية self.do_reduce_labels) — ما إذا كان سيتم تقليل جميع قيم التسميات في خرائط التقسيم (segmentation maps) بمقدار 1. يُستخدم عادةً في مجموعات البيانات التي يُستخدم فيها الرقم 0 للخلفية، ولا تكون الخلفية نفسها مدرجة ضمن جميع فئات مجموعة البيانات (مثل ADE20k). سيتم استبدال تسمية الخلفية بالرقم 255.
  • keypoint_heatmap_downscale_factor (int, kwargs, اختياري، القيمة الافتراضية 4) — عامل التصغير لحجم خريطة الحرارة المستهدفة مقارنةً بحجم مدخلات النموذج.
  • keypoint_heatmap_sigma (float, kwargs, اختياري، القيمة الافتراضية 6.0) — الانحراف المعياري (sigma) لتوزيعات غاوس ثنائية الأبعاد المستخدمة لتوليد خرائط الحرارة.

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

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] = Noneboxes: list[list[list[float]]] | None = Nonekeypoints: list[list[list[list[float]]]] | None = None**kwargs: *<class 'transformers.models.sapiens2.image_processing_sapiens2.Sapiens2ImageProcessorKwargs'> ) → ~image_processing_base.BatchFeature

المعاملات

  • 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، اختياري) — خرائط التقسيم المراد معالجتها مسبقًا.
  • boxes (list[list[list[float]]] أو np.ndarray، اختياري) — قائمة أو مصفوفة تحتوي على صناديق الإحاطة لكل صورة. يجب أن يكون كل صندوق قائمة من أربعة أرقام عشرية تمثل إحداثيات صندوق الإحاطة بتنسيق COCO (top_left_x, top_left_y, width, height). عند تقديمه، يتم تطبيق تشويه أفيني (affine warp) على كل اقتصاص للشخص لتحجيمه إلى حجم مدخلات النموذج بدلاً من إعادة تحجيم الصورة الكاملة.
  • keypoints (list[list[list[list[float]]]]، اختياري) — قائمة بنقاط المفاصل لكل شخص في كل صورة. الصيغة المتوقعة هي [x, y, visibility] بأسلوب COCO. يُتوقع أن تكون قيم x وy إحداثيات بكسل مطلقة للصورة. الصيغة هي [images -> persons -> keypoints -> [x, y, visibility]]. تُستخدم لتوليد خرائط الحرارة الحقيقية وأوزان الرؤية لتدريب دقيق لتقدير الوضعية.
  • 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) — مرشّح إعادة العينة (Resampling filter) المستخدم عند تغيير حجم الصورة. يمكن أن يكون أحد قيم التعداد 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 (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — الحجم على شكل {"height": int, "width" int} الذي يجب توسيد الصور إليه. يجب أن يكون أكبر من أي حجم صورة مُقدَّم للمعالجة المسبقة. إذا لم يُقدَّم pad_size، فسيتم توسيد الصور إلى أكبر ارتفاع وعرض في الدفعة. يُطبَّق فقط عندما يكون do_pad=True.
  • 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: صورة بصيغة (الارتفاع، العرض، عدد القنوات).
    • "none" أو ChannelDimension.NONE: صورة بصيغة (الارتفاع، العرض).
  • 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، اختياري) — عدد رموز الصورة التي سيتم استخدامها لكل صورة في المدخلات. تمت إضافته من أجل التوافق مع الإصدارات السابقة، لكن ينبغي ضبطه كخاصية للمعالج في النماذج المستقبلية.
  • do_reduce_labels (bool، kwargs، اختياري، القيمة الافتراضية self.do_reduce_labels) — ما إذا كان سيتم تقليل جميع قيم التسميات في خرائط التقسيم (segmentation maps) بمقدار 1. يُستخدم عادةً في مجموعات البيانات التي يُستخدم فيها الرقم 0 للخلفية، ولا تكون الخلفية نفسها مدرجة ضمن جميع فئات مجموعة البيانات (مثل ADE20k). سيتم استبدال تسمية الخلفية بالرقم 255.
  • keypoint_heatmap_downscale_factor (int, kwargs, اختياري، القيمة الافتراضية 4) — عامل التصغير لحجم خريطة الحرارة المستهدفة مقارنةً بحجم مدخلات النموذج.
  • keypoint_heatmap_sigma (float, kwargs, اختياري، القيمة الافتراضية 6.0) — الانحراف المعياري (sigma) لتوزيعات غاوس ثنائية الأبعاد المستخدمة لتوليد خرائط الحرارة.

يعيد

~image_processing_base.BatchFeature

  • data (dict) — قاموس من القوائم/المصفوفات/الموترات التي يعيدها أسلوب call (مثل ‘pixel_values’).
  • tensor_type (Union[None, str, TensorType]، اختياري) — يمكنك تحديد tensor_type هنا لتحويل قوائم الأعداد الصحيحة إلى تينسورات PyTorch/Numpy عند التهيئة.

post_process_image_matting

< >

( outputstarget_sizes: transformers.utils.generic.TensorType | list[tuple[int, int]] | None = Nonebackgrounds: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor'], NoneType] = None ) → list[dict] of length batch_size. Each dict has

المعاملات

  • outputs (Sapiens2ImageMattingOutput) — المخرجات الخام للنموذج.
  • target_sizes (torch.Tensor أو list[tuple[int, int]] بطول batch_size، اختياري) — الأبعاد النهائية المطلوبة (height, width) لكل تنبؤ. تتم إعادة تحجيمها باستخدام الاستيفاء ثنائي الخطية. إذا لم يتم تعيينها، تُعاد التنبؤات بدقة إخراج النموذج.
  • backgrounds (ImageInput، اختياري) — صورة أو صور خلفية للتركيب فوقها. يمكن أن تكون صورة واحدة (تُطبَّق على كل عنصر في الدفعة) أو قائمة صور، صورة واحدة لكل عنصر في الدفعة. تقبل صور PIL، ومصفوفات numpy، أو تينسورات torch بأي نوع بيانات؛ حيث يتم تحجيم الأنواع الصحيحة (مثل uint8) تلقائيًا إلى [0, 1]. عند تقديمها، يكتسب كل قاموس نتيجة مفتاح "composite" يحتوي على الصورة المركّبة كتينسور uint8 في [0, 255].

يعيد

list[dict] بطول batch_size. يحتوي كل قاموس على

  • "alpha" (torch.Tensor من الشكل (1, height, width)): قيم alpha في [0, 1].
  • "foreground" (torch.Tensor بأبعاد (3, height, width)): قيم RGB مضروبة مسبقًا ضمن [0, 1].
  • "composite" (torch.Tensor بأبعاد (3, height, width) أو None): المقدمة مركّبة فوق backgrounds كمصفوفة uint8 في [0, 255]؛ None عندما لا يتم تقديم backgrounds.

يحوّل مخرجات Sapiens2ForImageMatting إلى أقنعة ألفا وخرائط للأجزاء الأمامية.

post_process_normal_estimation

< >

( outputssource_sizes: transformers.utils.generic.TensorType | list[tuple[int, int]] | None = Nonetarget_sizes: transformers.utils.generic.TensorType | list[tuple[int, int]] | None = Nonedo_remove_padding: bool | None = None )

المعاملات

  • outputs (Sapiens2NormalEstimatorOutput) — المخرجات الخام للنموذج.
  • source_sizes (torch.Tensor أو list[tuple[int, int]] بطول batch_size، اختياري) — الأبعاد الأصلية (height, width) لكل صورة قبل المعالجة المسبقة. عند تقديمه، يتم إزالة الحشو المضاف أثناء المعالجة المسبقة وإعادة تحجيم التنبؤات إلى حجم الصورة الأصلي (ما لم يُحدِّد target_sizes الحجم النهائي).
  • target_sizes (torch.Tensor أو list[tuple[int, int]] بطول batch_size، اختياري) — الحجم النهائي المطلوب (height, width) لكل تنبؤ. عند تقديمه، يُستخدم كهدف للتغيير بدلاً من source_sizes. يتم تغيير الحجم باستخدام الاستيفاء ثنائي الخطية بعد تطبيع L2.
  • do_remove_padding (bool, اختياري) — ما إذا كان يجب قصّ الحشو الصفري المضاف أثناء المعالجة المسبقة قبل تغيير الحجم. الافتراضي هو True عند تقديم source_sizes، وإلا فهو False.

يحوّل مخرجات Sapiens2ForNormalEstimation إلى خرائط طبيعية سطحية مُطَبَّعة وفق L2.

post_process_pointmap_estimation

< >

( outputssource_sizes: transformers.utils.generic.TensorType | list[tuple[int, int]] | None = Nonetarget_sizes: transformers.utils.generic.TensorType | list[tuple[int, int]] | None = Nonedo_remove_padding: bool | None = None )

المعاملات

  • outputs (Sapiens2PointmapEstimatorOutput) — المخرجات الخام للنموذج.
  • source_sizes (torch.Tensor أو list[tuple[int, int]] بطول batch_size، اختياري) — الأبعاد الأصلية (height, width) لكل صورة قبل المعالجة المسبقة. عند تقديمه، يتم إزالة الحشو المضاف أثناء المعالجة المسبقة وإعادة تحجيم التنبؤات إلى حجم الصورة الأصلي (ما لم يُحدِّد target_sizes الحجم النهائي).
  • target_sizes (torch.Tensor أو list[tuple[int, int]] بطول batch_size، اختياري) — الأبعاد النهائية المطلوبة (height, width) لكل تنبؤ. يتجاوز source_sizes كهدف لإعادة التحجيم.
  • do_remove_padding (bool, اختياري) — ما إذا كان يجب قصّ الحشو الصفري المضاف أثناء المعالجة المسبقة قبل تغيير الحجم. الافتراضي هو True عند تقديم source_sizes، وإلا فهو False.

يحوّل مخرجات Sapiens2ForPointmapEstimation إلى تينسورات pointmap في فضاء الصورة.

post_process_pose_estimation

< >

( outputsboxes: listoutputs_flipped = Nonekernel_size: int = 11threshold: float | None = Nonesource_sizes: transformers.utils.generic.TensorType | list[tuple[int, int]] | None = Nonetarget_sizes: transformers.utils.generic.TensorType | list[tuple[int, int]] | None = None ) → list[list[dict]]

المعاملات

  • outputs (Sapiens2PoseEstimatorOutput) — المخرجات الخام للنموذج. يجب أن يكون شكل outputs.heatmaps هو (N_total, num_keypoints, heatmap_height, heatmap_width) حيث N_total = sum(len(b) for b in boxes).
  • boxes (list[list[list[float]]] أو np.ndarray) — قائمة أو مصفوفة تحتوي على صناديق الإحاطة لكل صورة بإحداثيات بكسل مطلقة. يجب أن تكون كل صناديق قائمة من أربعة أرقام عشرية تمثل إحداثيات صندوق الإحاطة بتنسيق COCO (top_left_x, top_left_y, width, height). يجب أن تتطابق مع معامل boxes المُمرَّر إلى preprocess.
  • outputs_flipped (Sapiens2PoseEstimatorOutput، اختياري) — المخرجات الناتجة عن تشغيل النموذج على مدخلات معكوسة أفقيًا. عند توفيرها، يتم أخذ متوسط خرائط الحرارة مع outputs قبل استخراج نقاط المفاصل لتحسين الدقة: avg_heatmaps = (outputs.heatmaps + outputs_flipped.heatmaps) / 2.
  • kernel_size (int، اختياري، القيمة الافتراضية 11) — حجم النواة للضبابية الغاوسية المستخدمة في تحسين UDP Dark Pose.
  • threshold (float، اختياري) — حدّ العتبة. تُستبعد نقاط المفاتيح التي تكون درجاتها عند هذا القيمة أو أقل من قواميس النتائج.
  • source_sizes (torch.Tensor أو list[tuple[int, int]] بطول batch_size، اختياري) — الأبعاد الأصلية (height, width) لكل صورة بالبكسلات. مطلوب عند تقديم target_sizes، إذ يعمل كفضاء إحداثيات المصدر لتغيير مقياس النقاط الرئيسية والصناديق المحيطة.
  • target_sizes (torch.Tensor أو list[tuple[int, int]] بطول batch_size، اختياري) — مساحة الإحداثيات (height, width) المطلوبة للمخرجات لكل صورة. عند تقديمه مع source_sizes، يتم تحجيم إحداثيات النقاط الرئيسية ومربعات الحدود من مساحة المصدر إلى مساحة الهدف.

يعيد

list[list[dict]]

القائمة الخارجية تتكرر على الصور، والقائمة الداخلية تتكرر على الأشخاص. تحتوي كل قائمة على:

  • keypoints (torch.Tensor من الشكل (num_keypoints, 2)): إحداثيات x/y المطلقة في مساحة الصورة المصدرية، أو في مساحة الهدف إذا تم توفير target_sizes.
  • scores (torch.Tensor من الشكل (num_keypoints,)): درجة الثقة لكل نقطة رئيسية.
  • labels (torch.LongTensor من الشكل (num_keypoints,)): فهارس نقاط المفاصل.
  • bbox (torch.Tensor من الشكل (4,)): مربع الحدود بصيغة الإحداثيات المطلقة (x_min, y_min, x_max, y_max)، في نفس فضاء الإحداثيات الخاص بـ keypoints.

يحوّل مخرجات Sapiens2ForPoseEstimation إلى تنبؤات بنقاط رئيسية في فضاء الصورة.

post_process_semantic_segmentation

< >

( outputstarget_sizes: list[tuple] | None = Nonereturn_segmentation_scores: bool = False ) → list[torch.Tensor] or list[SemanticSegmentationPostProcessorOutput]

المعاملات

  • outputs (Sapiens2ForSemanticSegmentation) — المخرجات الخام للنموذج.
  • target_sizes (list[Tuple] بطول batch_size، اختياري) — قائمة من الأ_tuples المقابلة للحجم النهائي المطلوب (الارتفاع، العرض) لكل تنبؤ. إذا لم يتم ضبطه، فلن يتم تغيير حجم التنبؤات.
  • return_segmentation_scores (bool, اختياري، القيمة الافتراضية False) — ما إذا كان يجب إرجاع درجات التقسيم (segmentation scores) إلى جانب خريطة التقسيم. عند تعيين True، يكون كل عنصر من القائمة المُرجعة من نوع SemanticSegmentationPostProcessorOutput ويحتوي على الحقول segmentation (معرّفات الفئات، الشكل (height, width)) وsegmentation_scores (الشكل (num_classes, height, width)).

يعيد

list[torch.Tensor] أو list[SemanticSegmentationPostProcessorOutput]

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

يحوّل مخرجات Sapiens2ForSemanticSegmentation إلى خرائط تجزئة دلالية.

Sapiens2Model

فئة transformers.Sapiens2Model

< >

( config: Sapiens2Config )

المعاملات

  • config (Sapiens2Config) — فئة إعدادات النموذج التي تحتوي على جميع معاملات النموذج. لا يؤدي التهيئة باستخدام ملف الإعدادات إلى تحميل الأوزان المرتبطة بالنموذج، بل الإعدادات فقط. راجع طريقة from_pretrained() لتحميل أوزان النموذج.

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

يرث هذا النموذج من PreTrainedModel. راجع توثيق الفئة الأصلية لمعرفة الطرق العامة التي تنفذها المكتبة لجميع نماذجها (مثل التحميل أو الحفظ، وتغيير حجم تضمينات الإدخال، وقص الرؤوس، وما إلى ذلك).

هذا النموذج هو أيضًا فئة فرعية من torch.nn.Module في PyTorch. استخدمه كوحدة PyTorch عادية، وارجع إلى توثيق PyTorch لكل ما يتعلق بالاستخدام العام والسلوك.

forward

< >

( pixel_values: Tensorbool_masked_pos: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutputWithPooling or tuple(torch.Tensor)

المعاملات

  • pixel_values (torch.Tensor من الشكل (batch_size, num_channels, image_size, image_size)) — المصفوفات المقابلة للصور المدخلة. يمكن الحصول على قيم البكسلات باستخدام Sapiens2ImageProcessor. راجع Sapiens2ImageProcessor.call() للتفاصيل (يستخدم processor_class Sapiens2ImageProcessor لمعالجة الصور).
  • bool_masked_pos (torch.BoolTensor of shape (batch_size, sequence_length), اختياري) — المواضع المقنّعة (Boolean masked positions). تُظهر أيّ البقع (patches) مقنّعة (1) وأيّها غير مقنّع (0). ذات صلة بالتدريب المسبق (pre-training) فقط.

يعيد

BaseModelOutputWithPooling أو tuple(torch.Tensor)

BaseModelOutputWithPooling أو مجموعة مرتبة من torch.Tensor (في حال تمرير return_dict=False أو عندما يكون config.return_dict=False) وتتضمن عناصر مختلفة تعتمد على الإعداد (Sapiens2Config) والمدخلات.

تتجاوز طريقة Sapiens2Model الخاصة بالتقديم (forward) الطريقة الخاصة __call__.

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

  • last_hidden_state (torch.Tensor من الشكل (batch_size, sequence_length, hidden_size)) — تسلسل حالات مخفية عند مخرج الطبقة الأخيرة من النموذج.

  • pooler_output (torch.Tensor من الشكل (batch_size, hidden_size)) — حالة الطبقة المخفية الأخيرة للرمز الأول من التسلسل (رمز التصنيف) بعد المعالجة الإضافية عبر الطبقات المستخدمة في مهمة ما قبل التدريب المساعدة. على سبيل المثال، بالنسبة لعائلة نماذج BERT، تُرجع هذه الخاصية رمز التصنيف بعد معالجته عبر طبقة خطية ودالة تفعيل tanh. تُدرَّب أوزان الطبقة الخطية من هدف التنبؤ بالجملة التالية (التصنيف) أثناء ما قبل التدريب.

  • 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 على الانتباه، وتُستخدم لحساب المتوسط الموزون في رؤوس الانتباه الذاتي.

مثال:

>>> from transformers import AutoImageProcessor, AutoModel
>>> from transformers.image_utils import load_image
>>> import torch

>>> image = load_image("http://images.cocodataset.org/val2017/000000004016.jpg")
>>> image_processor = AutoImageProcessor.from_pretrained("facebook/sapiens2-pretrain-0.4b")
>>> model = AutoModel.from_pretrained("facebook/sapiens2-pretrain-0.4b")

>>> inputs = image_processor(images=image, return_tensors="pt")
>>> with torch.inference_mode():
...     outputs = model(**inputs)

>>> cls_token = outputs.pooler_output
>>> cls_token.shape
torch.Size([1, 1024])

Sapiens2Backbone

class transformers.Sapiens2Backbone

< >

( config: Sapiens2Config )

المعاملات

  • config (Sapiens2Config) — فئة إعدادات النموذج التي تحتوي على جميع معاملات النموذج. لا يؤدي التهيئة باستخدام ملف الإعدادات إلى تحميل الأوزان المرتبطة بالنموذج، بل الإعدادات فقط. راجع طريقة from_pretrained() لتحميل أوزان النموذج.

هيكل Sapiens2 الأساسي.

يرث هذا النموذج من PreTrainedModel. راجع توثيق الفئة الأصلية لمعرفة الطرق العامة التي تنفذها المكتبة لجميع نماذجها (مثل التحميل أو الحفظ، وتغيير حجم تضمينات الإدخال، وقص الرؤوس، وما إلى ذلك).

هذا النموذج هو أيضًا فئة فرعية من torch.nn.Module في PyTorch. استخدمه كوحدة PyTorch عادية، وارجع إلى توثيق PyTorch لكل ما يتعلق بالاستخدام العام والسلوك.

forward

< >

( pixel_values: Tensor**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → Sapiens2BackboneOutput or tuple(torch.Tensor)

المعاملات

  • pixel_values (torch.Tensor من الشكل (batch_size, num_channels, image_size, image_size)) — المصفوفات المقابلة للصور المدخلة. يمكن الحصول على قيم البكسل باستخدام Sapiens2ImageProcessor. راجع Sapiens2ImageProcessor.call() للتفاصيل (processor_class يستخدم Sapiens2ImageProcessor لمعالجة الصور).

يعيد

Sapiens2BackboneOutput أو tuple(torch.Tensor)

Sapiens2BackboneOutput أو مجموعة مرتبة من torch.Tensor (في حال تمرير return_dict=False أو عندما يكون config.return_dict=False) وتتضمن عناصر مختلفة حسب الإعداد (Sapiens2Config) والمدخلات.

تتجاوز طريقة Sapiens2Backbone الخاصة بالتقديم (forward) الطريقة الخاصة __call__.

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

  • feature_maps (tuple(torch.Tensor) من الشكل (batch_size, num_channels, height, width)) — خرائط الميزات للمراحل.

  • hidden_states (tuple(torch.Tensor)، اختياري، يُعاد عند تمرير output_hidden_states=True أو عند تعيين config.output_hidden_states=True) — مجموعة من torch.Tensor (واحدة لإخراج التضمينات + واحدة لإخراج كل طبقة) ذات الشكل (batch_size, sequence_length, hidden_size) أو (batch_size, num_channels, height, width)، حسب الهيكل الأساسي.

    حالات النموذج المخفية عند مخرج كل مرحلة بالإضافة إلى مخرجات التضمين الأولي.

  • attentions (tuple(torch.Tensor)، اختياري، يُعاد عند تمرير output_attentions=True أو عند تعيين config.output_attentions=True) — مجموعة من torch.Tensor (واحدة لكل طبقة) بأبعاد (batch_size, num_heads, sequence_length, sequence_length). ينطبق فقط إذا كان الهيكل الأساسي يستخدم الانتباه.

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

  • cls_tokens (tuple(torch.Tensor)، اختياري) — رمز CLS من كل مرحلة ميزات محددة، حيث يكون شكل كل منها (batch_size, hidden_size). يظهر فقط عندما يكون config.return_class_token=True.

مثال:

>>> from transformers import AutoBackbone, AutoImageProcessor
>>> from transformers.image_utils import load_image
>>> import torch

>>> image = load_image("http://images.cocodataset.org/val2017/000000004016.jpg")
>>> image_processor = AutoImageProcessor.from_pretrained("facebook/sapiens2-pretrain-0.4b")
>>> model = AutoBackbone.from_pretrained("facebook/sapiens2-pretrain-0.4b")

>>> inputs = image_processor(images=image, return_tensors="pt")
>>> with torch.inference_mode():
...     outputs = model(**inputs, return_class_token=True)

>>> outputs.feature_maps[0].shape
torch.Size([1, 1024, 64, 48])
>>> outputs.cls_tokens[0].shape
torch.Size([1, 1024])

Sapiens2ForImageMatting

فئة transformers.Sapiens2ForImageMatting

< >

( config: Sapiens2Config )

المعاملات

  • config (Sapiens2Config) — فئة إعدادات النموذج التي تحتوي على جميع معاملات النموذج. لا يؤدي التهيئة باستخدام ملف الإعدادات إلى تحميل الأوزان المرتبطة بالنموذج، بل الإعدادات فقط. راجع طريقة from_pretrained() لتحميل أوزان النموذج.

نموذج Sapiens2 مع رأس تقطيع (matting head) في الأعلى (مفكك يعتمد على PixelShuffle يتنبأ بمقدمة RGB مضروبة مسبقًا وشفافية alpha).

يرث هذا النموذج من PreTrainedModel. راجع توثيق الفئة الأصلية لمعرفة الطرق العامة التي تنفذها المكتبة لجميع نماذجها (مثل التحميل أو الحفظ، وتغيير حجم تضمينات الإدخال، وقص الرؤوس، وما إلى ذلك).

هذا النموذج هو أيضًا فئة فرعية من torch.nn.Module في PyTorch. استخدمه كوحدة PyTorch عادية، وارجع إلى توثيق PyTorch لكل ما يتعلق بالاستخدام العام والسلوك.

forward

< >

( pixel_values: Tensorlabels: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → Sapiens2ImageMattingOutput or tuple(torch.Tensor)

المعاملات

  • pixel_values (torch.Tensor من الشكل (batch_size, num_channels, image_size, image_size)) — المصفوفات المقابلة لصور الإدخال. يمكن الحصول على قيم البكسل باستخدام Sapiens2ImageProcessor. راجع Sapiens2ImageProcessor.call() للتفاصيل (processor_class يستخدم Sapiens2ImageProcessor لمعالجة الصور).
  • labels (torch.Tensor من الشكل (batch_size, 4, height, width)، اختياري) — أهداف القصّ الصحيحة (Ground-truth matting targets) لحساب الدالة الخاسرة (loss).

يعيد

Sapiens2ImageMattingOutput أو tuple(torch.Tensor)

Sapiens2ImageMattingOutput أو مجموعة مرتبة من torch.Tensor (في حال تمرير return_dict=False أو عندما يكون config.return_dict=False) وتتضمن عناصر مختلفة حسب الإعداد (Sapiens2Config) والمدخلات.

تتجاوز طريقة Sapiens2ForImageMatting الخاصة بالتقديم (forward) الطريقة الخاصة __call__.

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

  • loss (torch.Tensor من الشكل (1,)، اختياري، يُعاد عند توفير labels) — الخسارة.

  • alphas (torch.Tensor من الشكل (batch_size, 1, height, width)) — قيم ألفا المقدّرة.

  • 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 على الانتباه، وتُستخدم لحساب المتوسط الموزون في رؤوس الانتباه الذاتي.

  • الخلفيات الأمامية (torch.Tensor من الشكل (batch_size, 3, height, width)) — تنبؤات RGB للخلفية الأمامية مضروبة مسبقًا في [0, 1] (مفعّلة بواسطة دالة سيجمويد).

مثال:

>>> from transformers import AutoImageProcessor, AutoModel
>>> from transformers.image_utils import load_image
>>> import torch

>>> image = load_image("http://images.cocodataset.org/val2017/000000004016.jpg")
>>> image_processor = AutoImageProcessor.from_pretrained("facebook/sapiens2-matting-1b")
>>> model = AutoModel.from_pretrained("facebook/sapiens2-matting-1b")

>>> inputs = image_processor(image, return_tensors="pt")
>>> with torch.inference_mode():
...     outputs = model(**inputs)

>>> outputs.alphas.shape
torch.Size([1, 1, 1024, 768])
>>> outputs.foregrounds.shape
torch.Size([1, 3, 1024, 768])

Sapiens2ForNormalEstimation

فئة transformers.Sapiens2ForNormalEstimation

< >

( config: Sapiens2Config )

المعاملات

  • config (Sapiens2Config) — فئة إعدادات النموذج التي تحتوي على جميع معاملات النموذج. لا يؤدي التهيئة باستخدام ملف الإعدادات إلى تحميل الأوزان المرتبطة بالنموذج، بل الإعدادات فقط. راجع طريقة from_pretrained() لتحميل أوزان النموذج.

نموذج Sapiens2 مع رأس تقدير العادي في الأعلى (مفكك تشفير يعتمد على PixelShuffle يتنبأ بخرائط العادي السطحية).

يرث هذا النموذج من PreTrainedModel. راجع توثيق الفئة الأصلية لمعرفة الطرق العامة التي تنفذها المكتبة لجميع نماذجها (مثل التحميل أو الحفظ، وتغيير حجم تضمينات الإدخال، وقص الرؤوس، وما إلى ذلك).

هذا النموذج هو أيضًا فئة فرعية من torch.nn.Module في PyTorch. استخدمه كوحدة PyTorch عادية، وارجع إلى توثيق PyTorch لكل ما يتعلق بالاستخدام العام والسلوك.

forward

< >

( pixel_values: Tensorlabels: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → Sapiens2NormalEstimatorOutput or tuple(torch.Tensor)

المعاملات

  • pixel_values (torch.Tensor من الشكل (batch_size, num_channels, image_size, image_size)) — المصفوفات المقابلة لصور الإدخال. يمكن الحصول على قيم البكسل باستخدام Sapiens2ImageProcessor. راجع Sapiens2ImageProcessor.call() للتفاصيل (processor_class يستخدم Sapiens2ImageProcessor لمعالجة الصور).
  • labels (torch.Tensor من الشكل (batch_size, num_labels, height, width)، اختياري) — خرائط الاتجاهات السطحية الصحيحة (Ground-truth) لحساب الخسارة.

يعيد

Sapiens2NormalEstimatorOutput أو tuple(torch.Tensor)

إخراج Sapiens2NormalEstimatorOutput أو مجموعة مرتبة من torch.Tensor (في حال تم تمرير return_dict=False أو عندما يكون config.return_dict=False) وتتضمن عناصر مختلفة تعتمد على الإعداد (Sapiens2Config) والمدخلات.

تتجاوز طريقة Sapiens2ForNormalEstimation الخاصة بالتقديم (forward) الطريقة الخاصة __call__.

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

  • loss (torch.Tensor من الشكل (1,)، اختياري، يُعاد عند توفير labels) — خسارة تقدير العادي.
  • normals (torch.Tensor من الشكل (batch_size, num_labels, height, width)) — تنبؤات خريطة العواطف الخام كما تُخرجها النموذج (غير مُعايرة).
  • 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 على الانتباه.

مثال:

>>> from transformers import AutoImageProcessor, AutoModel
>>> from transformers.image_utils import load_image
>>> import torch

>>> image = load_image("http://images.cocodataset.org/val2017/000000004016.jpg")
>>> image_processor = AutoImageProcessor.from_pretrained("facebook/sapiens2-normal-0.4b")
>>> model = AutoModel.from_pretrained("facebook/sapiens2-normal-0.4b")

>>> inputs = image_processor(image, return_tensors="pt")
>>> with torch.inference_mode():
...     outputs = model(**inputs)

>>> outputs.normals.shape
torch.Size([1, 3, 1024, 768])

Sapiens2ForPointmapEstimation

فئة transformers.Sapiens2ForPointmapEstimation

< >

( config: Sapiens2Config )

المعاملات

  • config (Sapiens2Config) — فئة إعدادات النموذج التي تحتوي على جميع معاملات النموذج. لا يؤدي التهيئة باستخدام ملف الإعدادات إلى تحميل الأوزان المرتبطة بالنموذج، بل الإعدادات فقط. راجع طريقة from_pretrained() لتحميل أوزان النموذج.

نموذج Sapiens2 مع رأس pointmap في الأعلى (مفكك يعتمد على PixelShuffle يتنبأ بإحداثيات XYZ ثلاثية الأبعاد لكل بكسل، بالإضافة إلى فرع اختياري للمقياس لتطبيع البعد البؤري).

يرث هذا النموذج من PreTrainedModel. راجع توثيق الفئة الأصلية لمعرفة الطرق العامة التي تنفذها المكتبة لجميع نماذجها (مثل التحميل أو الحفظ، وتغيير حجم تضمينات الإدخال، وقص الرؤوس، وما إلى ذلك).

هذا النموذج هو أيضًا فئة فرعية من torch.nn.Module في PyTorch. استخدمه كوحدة PyTorch عادية، وارجع إلى توثيق PyTorch لكل ما يتعلق بالاستخدام العام والسلوك.

forward

< >

( pixel_values: Tensorlabels: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → Sapiens2PointmapEstimatorOutput or tuple(torch.Tensor)

المعاملات

  • pixel_values (torch.Tensor من الشكل (batch_size, num_channels, image_size, image_size)) — المصفوفات المقابلة لصور الإدخال. يمكن الحصول على قيم البكسل باستخدام Sapiens2ImageProcessor. راجع Sapiens2ImageProcessor.call() للتفاصيل (processor_class يستخدم Sapiens2ImageProcessor لمعالجة الصور).
  • labels (torch.Tensor من الشكل (batch_size, 3, height, width)، اختياري) — خريطة النقاط الصحيحة (Ground-truth pointmap) لحساب الخسارة.

يعيد

Sapiens2PointmapEstimatorOutput أو tuple(torch.Tensor)

أُكْجَاز Sapiens2PointmapEstimatorOutput أو مجموعة مرتبة من torch.Tensor (في حال تمرير return_dict=False أو عندما يكون config.return_dict=False) وتتضمن عناصر مختلفة تعتمد على الإعدادات (Sapiens2Config) والمدخلات.

تتجاوز طريقة Sapiens2ForPointmapEstimation الخاصة بالتقديم الأمامي الطريقة الخاصة __call__.

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

  • loss (torch.Tensor of shape (1,), اختياري, يُعاد عند توفير labels) — خسارة تقدير Pointmap.
  • pointmaps (torch.Tensor من الشكل (batch_size, 3, height, width)) — تنبؤات بإحداثيات XYZ ثلاثية الأبعاد لكل بكسل في فضاء الكاميرا القياسي.
  • scales (torch.Tensor of shape (batch_size, 1), اختياري) — نسبة البعد البؤري القياسي إلى البعد البؤري الفعلي. تكون None عندما لا يتم تكوين فرع مقياس.
  • 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 على الانتباه.

مثال:

>>> from transformers import AutoImageProcessor, AutoModel
>>> from transformers.image_utils import load_image
>>> import torch

>>> image = load_image("http://images.cocodataset.org/val2017/000000004016.jpg")
>>> image_processor = AutoImageProcessor.from_pretrained("facebook/sapiens2-pointmap-0.4b")
>>> model = AutoModel.from_pretrained("facebook/sapiens2-pointmap-0.4b")

>>> inputs = image_processor(image, return_tensors="pt")
>>> with torch.inference_mode():
...     outputs = model(**inputs)

>>> outputs.pointmaps.shape
torch.Size([1, 3, 1024, 768])

Sapiens2ForPoseEstimation

فئة transformers.Sapiens2ForPoseEstimation

< >

( config: Sapiens2Config )

المعاملات

  • config (Sapiens2Config) — فئة إعدادات النموذج التي تحتوي على جميع معاملات النموذج. لا يؤدي التهيئة باستخدام ملف الإعدادات إلى تحميل الأوزان المرتبطة بالنموذج، بل الإعدادات فقط. راجع طريقة from_pretrained() لتحميل أوزان النموذج.

نموذج Sapiens2 مع رأس تقدير الوضعية في الأعلى (مجموعة من متنبئات خرائط الحرارة فوق مخرجات الحالات المخفية).

يرث هذا النموذج من PreTrainedModel. راجع توثيق الفئة الأصلية لمعرفة الطرق العامة التي تنفذها المكتبة لجميع نماذجها (مثل التحميل أو الحفظ، وتغيير حجم تضمينات الإدخال، وقص الرؤوس، وما إلى ذلك).

هذا النموذج هو أيضًا فئة فرعية من torch.nn.Module في PyTorch. استخدمه كوحدة PyTorch عادية، وارجع إلى توثيق PyTorch لكل ما يتعلق بالاستخدام العام والسلوك.

forward

< >

( pixel_values: Tensorflip_pairs: typing.Optional[torch.Tensor] = Nonelabels: typing.Optional[torch.Tensor] = Nonelabel_weights: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → Sapiens2PoseEstimatorOutput or tuple(torch.Tensor)

المعاملات

  • pixel_values (torch.Tensor من الشكل (batch_size, num_channels, image_size, image_size)) — المصفوفات المقابلة لصور الإدخال. يمكن الحصول على قيم البكسل باستخدام Sapiens2ImageProcessor. راجع Sapiens2ImageProcessor.call() للتفاصيل (processor_class يستخدم Sapiens2ImageProcessor لمعالجة الصور).
  • flip_pairs (torch.Tensor من الشكل (num_pairs, 2)، اختياري) — أزواج من النقاط الرئيسية التي تكون متناظرة (على سبيل المثال، الأذن اليسرى — الأذن اليمنى)، وتُستخدم لزيادة البيانات عن طريق القلب في وقت الاختبار. عند تقديمه، يفترض النموذج أن pixel_values يحتوي على صور مُقلوبة أفقيًا، ويستدعي flip_back على خرائط الحرارة الناتجة لاستعادة الاتجاه الأصلي.
  • labels (torch.Tensor من الشكل (batch_size, num_keypoints, height, width)، اختياري) — القيمة الصحيحة لخريطة الحرارة لحساب الخسارة.
  • label_weights (torch.Tensor من الشكل (batch_size, num_labels, 1, 1) أو (batch_size, num_labels, height, width)، اختياري) — أوزان الظهور لكل نقطة رئيسية. يجب أن يكون قابلاً للتبديل إلى شكل labels.

يعيد

Sapiens2PoseEstimatorOutput أو tuple(torch.Tensor)

Sapiens2PoseEstimatorOutput أو مجموعة مرتبة من torch.Tensor (في حال تمرير return_dict=False أو عندما يكون config.return_dict=False) وتتضمن عناصر مختلفة حسب الإعداد (Sapiens2Config) والمدخلات.

تتجاوز طريقة Sapiens2ForPoseEstimation الخاصة بالتقديم (forward) الطريقة الخاصة __call__.

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

  • loss (torch.Tensor of shape (1,), اختياري, يُعاد عند توفير labels) — خسارة تقدير الوضعية.

  • خرائط حرارية (torch.Tensor بأبعاد (batch_size, num_keypoints, height, width)) — خرائط حرارية كما تتنبأ بها النموذج.

  • 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 على الانتباه، وتُستخدم لحساب المتوسط الموزون في رؤوس الانتباه الذاتي.

مثال:

>>> from transformers import AutoImageProcessor, AutoModel
>>> from transformers.image_utils import load_image
>>> import torch

>>> image = load_image("http://images.cocodataset.org/val2017/000000004016.jpg")
>>> image_processor = AutoImageProcessor.from_pretrained("facebook/sapiens2-pose-0.4b")
>>> model = AutoModel.from_pretrained("facebook/sapiens2-pose-0.4b")

>>> boxes = [[[270.8, 0.6, 294.1, 379.5]]]
>>> inputs = image_processor(image, boxes=boxes, return_tensors="pt")
>>> with torch.inference_mode():
...     outputs = model(**inputs)

>>> outputs.heatmaps.shape
torch.Size([1, 308, 256, 192])

Sapiens2ForSemanticSegmentation

فئة transformers.Sapiens2ForSemanticSegmentation

< >

( config: Sapiens2Config )

المعاملات

  • config (Sapiens2Config) — فئة إعدادات النموذج التي تحتوي على جميع معاملات النموذج. لا يؤدي التهيئة باستخدام ملف الإعدادات إلى تحميل الأوزان المرتبطة بالنموذج، بل الإعدادات فقط. راجع طريقة from_pretrained() لتحميل أوزان النموذج.

نموذج Sapiens2 مع رأس تقسيم دلالي في الأعلى، على سبيل المثال لـ ADE20K وCityScapes.

يرث هذا النموذج من PreTrainedModel. راجع توثيق الفئة الأصلية لمعرفة الطرق العامة التي تنفذها المكتبة لجميع نماذجها (مثل التحميل أو الحفظ، وتغيير حجم تضمينات الإدخال، وقص الرؤوس، وما إلى ذلك).

هذا النموذج هو أيضًا فئة فرعية من torch.nn.Module في PyTorch. استخدمه كوحدة PyTorch عادية، وارجع إلى توثيق PyTorch لكل ما يتعلق بالاستخدام العام والسلوك.

forward

< >

( pixel_values: Tensorlabels: typing.Optional[torch.LongTensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → SemanticSegmenterOutput or tuple(torch.Tensor)

المعاملات

  • pixel_values (torch.Tensor من الشكل (batch_size, num_channels, image_size, image_size)) — المصفوفات المقابلة لصور الإدخال. يمكن الحصول على قيم البكسل باستخدام Sapiens2ImageProcessor. راجع Sapiens2ImageProcessor.call() للتفاصيل (processor_class يستخدم Sapiens2ImageProcessor لمعالجة الصور).
  • labels (torch.LongTensor من الشكل (batch_size, height, width)، اختياري) — خرائط التقسيم الدلالي الصحيحة (Ground truth) لحساب الخسارة. يجب أن تكون الفهارس ضمن [0, ..., config.num_labels - 1]. إذا كان config.num_labels > 1، يتم حساب خسارة التصنيف (Cross-Entropy).

يعيد

SemanticSegmenterOutput أو tuple(torch.Tensor)

SemanticSegmenterOutput أو مجموعة مرتبة من torch.Tensor (في حال تمرير return_dict=False أو عندما يكون config.return_dict=False) وتتضمن عناصر مختلفة اعتماداً على الإعدادات (Sapiens2Config) والمدخلات.

تتجاوز طريقة Sapiens2ForSemanticSegmentation الخاصة بالتقديم (forward) الطريقة الخاصة __call__.

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

  • loss (torch.Tensor من الشكل (1,)، اختياري، يُعاد عند توفير labels) — خسارة التصنيف (أو الانحدار إذا كان config.num_labels==1).

  • logits (torch.Tensor من الشكل (batch_size, config.num_labels, logits_height, logits_width)) — درجات التصنيف لكل بكسل.

    The logits returned do not necessarily have the same size as the pixel_values passed as inputs. This is to avoid doing two interpolations and lose some quality when a user needs to resize the logits to the original image size as post-processing. You should always check your logits shape and resize as needed.

  • hidden_states (tuple(torch.Tensor)، اختياري، يُعاد عند تمرير output_hidden_states=True أو عند تعيين config.output_hidden_states=True) — مجموعة من torch.Tensor (واحدة لإخراج الطبقات المضمنة، إذا كان النموذج يحتوي على طبقة تضمين، + واحدة لإخراج كل طبقة) من الشكل (batch_size, patch_size, hidden_size).

    حالات النموذج المخفية عند مخرج كل طبقة بالإضافة إلى مخرجات التضمين الأولي الاختيارية.

  • attentions (tuple(torch.Tensor)، اختياري، يُعاد عند تمرير output_attentions=True أو عند تعيين config.output_attentions=True) — مجموعة من torch.Tensor (واحدة لكل طبقة) بأبعاد (batch_size, num_heads, patch_size, sequence_length).

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

مثال:

>>> from transformers import AutoImageProcessor, AutoModel
>>> from transformers.image_utils import load_image
>>> import torch

>>> image = load_image("http://images.cocodataset.org/val2017/000000004016.jpg")
>>> image_processor = AutoImageProcessor.from_pretrained("facebook/sapiens2-seg-0.4b")
>>> model = AutoModel.from_pretrained("facebook/sapiens2-seg-0.4b")

>>> inputs = image_processor(image, return_tensors="pt")
>>> with torch.inference_mode():
...     outputs = model(**inputs)

>>> outputs.logits.shape
torch.Size([1, 29, 1024, 768])
Update on GitHub