Transformers documentation

FocalNet

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 في 22 مارس 2022، وأُضيف إلى مكتبة Hugging Face Transformers في 23 أبريل 2023.

FocalNet

نظرة عامة

قُدِّم نموذج FocalNet في Focal Modulation Networks من قِبل Jianwei Yang وChunyuan Li وXiyang Dai وLu Yuan وJianfeng Gao. تستبدل نماذج FocalNet آلية الانتباه الذاتي (المستخدمة في نماذج مثل ViT وSwin) بالكامل بآلية التركيز (focal modulation) لنمذجة تفاعلات الرموز (tokens) في مجال الرؤية. ويُقرّ المؤلّفون بأن نماذج FocalNet تتفوّق على النماذج المعتمدة على الانتباه الذاتي بتكاليف حسابية مماثلة في مهام تصنيف الصور، وكشف الأشياء، والتجزئة.

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

نقترح شبكات التركيز (FocalNets باختصار)، حيث يتم استبدال الانتباه الذاتي (SA) بالكامل بآلية تركيز لنمذجة تفاعلات الرموز في مجال الرؤية. تتكون آلية التركيز من ثلاثة مكونات: (i) التعميم الهرمي، المنفَّذ باستخدام مجموعة من طبقات الالتفاف العميق (depth-wise convolutional layers)، لتشفير السياقات البصرية من المدى القصير إلى المدى الطويل، (ii) التجميع البوَّاب (gated aggregation) لجمع السياقات بشكل انتقائي لكل رمز استعلام بناءً على محتواه، و (iii) التعديل العنصري (element-wise modulation) أو التحويل الأفيني (affine transformation) لحقن السياق المُجمَّع في الاستعلام. تُظهر التجارب الواسعة أن FocalNets تتفوق على نظيراتها القائمة على الانتباه الذاتي (SA) الأكثر تقدماً (مثل Swin و Focal Transformers) بتكاليف حسابية مماثلة في مهام تصنيف الصور، وكشف الأشياء، والتجزئة. تحديداً، تحقق FocalNets بحجم صغير (tiny) وحجم أساسي (base) دقة top-1 تبلغ 82.3% و 83.9% على ImageNet-1K. بعد التدريب المسبق على ImageNet-22K بدقة 224، تحقق دقة top-1 تبلغ 86.5% و 87.3% عند ضبط الدقة (finetuned) بدقة 224 و 384 على التوالي. عند النقل إلى المهام الفرعية، تُظهر FocalNets تفوقاً واضحاً. ففي كشف الأشياء باستخدام Mask R-CNN، يتفوق FocalNet الأساسي المدرَّب بجدول 1\times على نظيره Swin بفارق 2.1 نقطة، ويتجاوز بالفعل Swin المدرَّب بجدول 3\times (49.0 مقابل 48.5). وفي التجزئة الدلالية باستخدام UPerNet، يتفوق FocalNet الأساسي على مقياس واحد على Swin بفارق 2.4، ويتفوق على Swin على مقياس متعدد (50.5 مقابل 49.7). باستخدام FocalNet الكبير و Mask2former، نحقق 58.5 mIoU للتجزئة الدلالية على ADE20K، و 57.9 PQ للتجزئة البانورامية على COCO. وباستخدام FocalNet الضخم و DINO، حققنا 64.3 و 64.4 mAP على COCO minival و test-dev على التوالي، مما يُؤسس لأداء جديد هو الأفضل (SoTA) فوق نماذج انتباه أكبر بكثير مثل Swinv2-G و BEIT-3.

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

FocalNetConfig

فئة transformers.FocalNetConfig

< >

( 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 = Noneimage_size: int | list[int] | tuple[int, int] = 224patch_size: int | list[int] | tuple[int, int] = 4num_channels: int = 3embed_dim: int = 96use_conv_embed: bool = Falsehidden_sizes: list[int] | tuple[int, ...] = (192, 384, 768, 768)depths: list[int] | tuple[int, ...] = (2, 2, 6, 2)focal_levels: list[int] | tuple[int, ...] = (2, 2, 2, 2)focal_windows: list[int] | tuple[int, ...] = (3, 3, 3, 3)hidden_act: str = 'gelu'mlp_ratio: float = 4.0hidden_dropout_prob: float | int = 0.0drop_path_rate: float | int = 0.1use_layerscale: bool = Falselayerscale_value: float = 0.0001use_post_layernorm: bool = Falseuse_post_layernorm_in_modulation: bool = Falsenormalize_modulator: bool = Falseinitializer_range: float = 0.02layer_norm_eps: float = 1e-05encoder_stride: int = 32_out_features: list[str] | None = None_out_indices: list[int] | None = None )

المعاملات

  • image_size (Union[int, list[int], tuple[int, int]]، اختياري، القيمة الافتراضية 224) — الحجم (الدقة) لكل صورة.
  • patch_size (Union[int, list[int], tuple[int, int]]، اختياري، القيمة الافتراضية 4) — حجم (دقة) كل رقعة.
  • num_channels (int، اختياري، القيمة الافتراضية 3) — عدد قنوات الإدخال.
  • embed_dim (int، اختياري، القيمة الافتراضية 96) — أبعاد التضمينات والحالات المخفية.
  • use_conv_embed (bool، اختياري، القيمة الافتراضية False) — ما إذا كان سيتم استخدام التضمين التحويلي. أشار المؤلفون إلى أن استخدام التضمين التحويلي يحسّن الأداء عادةً، لكنه غير مستخدم افتراضيًا.
  • hidden_sizes (Union[list[int], tuple[int, ...]]، اختياري، القيمة الافتراضية (192, 384, 768, 768)) — البُعد (حجم الطبقة المخفية) في كل مرحلة من مراحل النموذج.
  • depths (Union[list[int], tuple[int, ...]]، اختياري، القيمة الافتراضية (2, 2, 6, 2)) — عمق كل طبقة في Transformer.
  • focal_levels (list(int)، اختياري، القيمة الافتراضية [2, 2, 2, 2]) — عدد مستويات التركيز في كل طبقة من المراحل المقابلة في المُشفِّر.
  • focal_windows (list(int)، اختياري، القيمة الافتراضية [3, 3, 3, 3]) — حجم النافذة البؤرية في كل طبقة من المراحل المقابلة في المُشفِّر.
  • hidden_act (str، اختياري، القيمة الافتراضية gelu) — دالة التنشيط غير الخطية (دالة أو نص) في المُفكِّك. على سبيل المثال، "gelu"، "relu"، "silu"، وما إلى ذلك.
  • mlp_ratio (float، اختياري، القيمة الافتراضية 4.0) — نسبة بُعد مخفي MLP إلى بُعد التضمين.
  • hidden_dropout_prob (float، اختياري، القيمة الافتراضية 0.0) — احتمالية الإسقاط (dropout) لجميع الطبقات المتصلة بالكامل في التضمينات والمُشفِّر.
  • drop_path_rate (Union[float, int], اختياري، القيمة الافتراضية 0.1) — معدل إسقاط المسار (Drop path) لدمج البقع (patch fusion).
  • use_layerscale (bool، اختياري، القيمة الافتراضية False) — ما إذا كان سيتم استخدام مقياس الطبقة (layer scale) في المُشفِّر.
  • layerscale_value (float، اختياري، القيمة الافتراضية 0.0001) — القيمة الأولية لمقياس الطبقة.
  • use_post_layernorm (bool، اختياري، القيمة الافتراضية False) — ما إذا كان سيتم استخدام تطبيع الطبقة اللاحق (post layer normalization) في المُشفِّر.
  • use_post_layernorm_in_modulation (bool، اختياري، القيمة الافتراضية False) — ما إذا كان سيتم استخدام تطبيع الطبقة اللاحق في طبقة الضبط.
  • normalize_modulator (bool، اختياري، القيمة الافتراضية False) — ما إذا كان سيتم تطبيع المُعدِّل.
  • initializer_range (float، اختياري، القيمة الافتراضية 0.02) — الانحراف المعياري لـ truncated_normal_initializer المستخدم في تهيئة جميع مصفوفات الأوزان.
  • layer_norm_eps (float, اختياري، القيمة الافتراضية 1e-05) — قيمة الإيبسلون المستخدمة في طبقات تطبيع الطبقة.
  • encoder_stride (int، اختياري، القيمة الافتراضية 32) — عامل لزيادة الدقة المكانية في رأس المُفكِّك لنمذجة الصور المقنَّعة.

هذه فئة الإعدادات المخزنة لإعدادات نموذج FocalNetModel. تُستخدم لتوليد نموذج Focalnet وفقاً للحجج المحددة، مع تعريف بنية النموذج. إن إنشاء إعدادات باستخدام القيم الافتراضية سيؤدي إلى الحصول على إعدادات مشابهة لتلك الخاصة بـ microsoft/focalnet-tiny

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

مثال:

>>> from transformers import FocalNetConfig, FocalNetModel

>>> # Initializing a FocalNet microsoft/focalnet-tiny style configuration
>>> configuration = FocalNetConfig()

>>> # Initializing a model (with random weights) from the microsoft/focalnet-tiny style configuration
>>> model = FocalNetModel(configuration)

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

FocalNetModel

فئة transformers.FocalNetModel

< >

( config: FocalNetConfigadd_pooling_layer = Trueuse_mask_token = False )

المعاملات

  • config (FocalNetConfig) — فئة إعدادات النموذج التي تحتوي على جميع معاملات النموذج. لا يؤدي التهيئة باستخدام ملف الإعدادات إلى تحميل الأوزان المرتبطة بالنموذج، بل الإعدادات فقط. راجع طريقة from_pretrained() لتحميل أوزان النموذج.
  • add_pooling_layer (bool، اختياري، القيمة الافتراضية True) — ما إذا كان يجب إضافة طبقة تجميع
  • use_mask_token (bool، اختياري، القيمة الافتراضية False) — ما إذا كان سيتم استخدام رمز قناع لنمذجة الصور المقنّعة.

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

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

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

forward

< >

( pixel_values: typing.Optional[torch.Tensor] = Nonebool_masked_pos: typing.Optional[torch.BoolTensor] = Noneoutput_hidden_states: bool | None = Nonereturn_dict: bool | None = None**kwargs ) → FocalNetModelOutput or tuple(torch.Tensor)

المعاملات

  • pixel_values (torch.Tensor من الشكل (batch_size, num_channels, image_size, image_size)، اختياري) — المصفوفات المقابلة للصور المدخلة. يمكن الحصول على قيم البكسل باستخدام BitImageProcessor. راجع BitImageProcessor.call() للتفاصيل (processor_class يستخدم BitImageProcessor لمعالجة الصور).
  • bool_masked_pos (torch.BoolTensor من الشكل (batch_size, num_patches)) — المواضع المقنّعة من نوع منطقي. تُظهر أيّ البقع مقنّعة (1) وأيّها غير مقنّع (0).
  • output_hidden_states (bool، اختياري) — ما إذا كان يجب إرجاع حالات الطبقات المخفية لجميع الطبقات. راجع hidden_states ضمن الموترات المُرجعة للحصول على مزيد من التفاصيل.
  • return_dict (bool، اختياري) — ما إذا كان يجب إرجاع ModelOutput بدلاً من tuple عادي.

يعيد

FocalNetModelOutput أو tuple(torch.Tensor)

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

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

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

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

  • pooler_output (torch.Tensor من الشكل (batch_size, hidden_size)، اختياري، يُعاد عند تمرير add_pooling_layer=True) — متوسط تجميع (Average pooling) لحالة الإخفاء (hidden-state) للطبقة الأخيرة.

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

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

  • reshaped_hidden_states (tuple(torch.Tensor)، اختياري، يُعاد عند تمرير output_hidden_states=True أو عند تعيين config.output_hidden_states=True) — مجموعة من torch.Tensor (واحدة لإخراج التضمينات + واحدة لإخراج كل مرحلة) من الشكل (batch_size, hidden_size, height, width).

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

مثال:

FocalNetForMaskedImageModeling

فئة transformers.FocalNetForMaskedImageModeling

< >

( config: FocalNetConfig )

المعاملات

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

نموذج FocalNet مع مُفكِّك في الأعلى لنمذجة الصور المقنَّعة.

يتبع هذا نفس التنفيذ الموجود في SimMIM.

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

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

forward

< >

( pixel_values: typing.Optional[torch.Tensor] = Nonebool_masked_pos: typing.Optional[torch.BoolTensor] = Noneoutput_hidden_states: bool | None = Nonereturn_dict: bool | None = None**kwargs ) → FocalNetMaskedImageModelingOutput or tuple(torch.Tensor)

المعاملات

  • pixel_values (torch.Tensor من الشكل (batch_size, num_channels, image_size, image_size)، اختياري) — المصفوفات المقابلة للصور المدخلة. يمكن الحصول على قيم البكسل باستخدام BitImageProcessor. راجع BitImageProcessor.call() للتفاصيل (processor_class يستخدم BitImageProcessor لمعالجة الصور).
  • bool_masked_pos (torch.BoolTensor من الشكل (batch_size, num_patches)) — المواضع المقنّعة من نوع منطقي. تُظهر أيّ البقع مقنّعة (1) وأيّها غير مقنّع (0).
  • output_hidden_states (bool، اختياري) — ما إذا كان يجب إرجاع حالات الطبقات المخفية لجميع الطبقات. راجع hidden_states ضمن الموترات المُرجعة للحصول على مزيد من التفاصيل.
  • return_dict (bool، اختياري) — ما إذا كان يجب إرجاع ModelOutput بدلاً من tuple عادي.

يعيد

FocalNetMaskedImageModelingOutput أو tuple(torch.Tensor)

FocalNetMaskedImageModelingOutput أو مجموعة من torch.Tensor (إذا تم تمرير return_dict=False أو عندما يكون config.return_dict=False) وتتضمن عناصر مختلفة تعتمد على التهيئة (FocalNetConfig) والمدخلات.

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

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

  • loss (torch.Tensor of shape (1,), اختياري, يُعاد عند تقديم bool_masked_pos) — خسارة نمذجة الصور المقنّعة (MLM).

  • إعادة البناء (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).

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

  • reshaped_hidden_states (tuple(torch.Tensor)، اختياري، يُعاد عند تمرير output_hidden_states=True أو عند تعيين config.output_hidden_states=True) — مجموعة من torch.Tensor (واحدة لإخراج التضمينات + واحدة لإخراج كل مرحلة) من الشكل (batch_size, hidden_size, height, width).

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

أمثلة:

>>> from transformers import AutoImageProcessor, FocalNetConfig, FocalNetForMaskedImageModeling
>>> import torch
>>> from PIL import Image
>>> from huggingface_hub.utils import httpx
>>> from io import BytesIO

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

>>> image_processor = AutoImageProcessor.from_pretrained("microsoft/focalnet-base-simmim-window6-192")
>>> config = FocalNetConfig()
>>> model = FocalNetForMaskedImageModeling(config)

>>> num_patches = (model.config.image_size // model.config.patch_size) ** 2
>>> pixel_values = image_processor(images=image, return_tensors="pt").pixel_values
>>> # create random boolean mask of shape (batch_size, num_patches)
>>> bool_masked_pos = torch.randint(low=0, high=2, size=(1, num_patches)).bool()

>>> outputs = model(pixel_values, bool_masked_pos=bool_masked_pos)
>>> loss, reconstructed_pixel_values = outputs.loss, outputs.logits
>>> list(reconstructed_pixel_values.shape)
[1, 3, 192, 192]

FocalNetForImageClassification

فئة transformers.FocalNetForImageClassification

< >

( config: FocalNetConfig )

المعاملات

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

نموذج FocalNet مع رأس تصنيف الصور في الأعلى (طبقة خطية فوق المخرجات المجمّعة) على سبيل المثال لـ ImageNet.

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

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

forward

< >

( pixel_values: typing.Optional[torch.Tensor] = Nonelabels: typing.Optional[torch.LongTensor] = Noneoutput_hidden_states: bool | None = Nonereturn_dict: bool | None = None**kwargs ) → FocalNetImageClassifierOutput or tuple(torch.Tensor)

المعاملات

  • pixel_values (torch.Tensor من الشكل (batch_size, num_channels, image_size, image_size)، اختياري) — المصفوفات المقابلة للصور المدخلة. يمكن الحصول على قيم البكسل باستخدام BitImageProcessor. راجع BitImageProcessor.call() للتفاصيل (processor_class يستخدم BitImageProcessor لمعالجة الصور).
  • labels (torch.LongTensor of shape (batch_size,), اختياري) — التسميات لحساب خسارة تصنيف الصور/الانحدار. يجب أن تكون الفهارس ضمن [0, ..., config.num_labels - 1]. إذا كان config.num_labels == 1 يتم حساب خسارة الانحدار (خسارة متوسط المربع)، وإذا كان config.num_labels > 1 يتم حساب خسارة التصنيف (الإنتروبيا المتقاطعة).
  • output_hidden_states (bool، اختياري) — ما إذا كان يجب إرجاع حالات الطبقات المخفية لجميع الطبقات. راجع hidden_states ضمن الموترات المُرجعة للحصول على مزيد من التفاصيل.
  • return_dict (bool، اختياري) — ما إذا كان يجب إرجاع ModelOutput بدلاً من tuple عادي.

يعيد

FocalNetImageClassifierOutput أو tuple(torch.Tensor)

FocalNetImageClassifierOutput أو مجموعة (tuple) من torch.Tensor (إذا تم تمرير return_dict=False أو عندما يكون config.return_dict=False) وتتضمن عناصر مختلفة اعتمادًا على الإعداد (FocalNetConfig) والمدخلات.

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

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

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

  • logits (torch.Tensor من الشكل (batch_size, config.num_labels)) — درجات التصنيف (أو الانحدار إذا كان config.num_labels==1) (قبل SoftMax).

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

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

  • reshaped_hidden_states (tuple(torch.Tensor)، اختياري، يُعاد عند تمرير output_hidden_states=True أو عند تعيين config.output_hidden_states=True) — مجموعة من torch.Tensor (واحدة لإخراج التضمينات + واحدة لإخراج كل مرحلة) من الشكل (batch_size, hidden_size, height, width).

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

مثال:

>>> from transformers import AutoImageProcessor, FocalNetForImageClassification
>>> import torch
>>> from datasets import load_dataset

>>> dataset = load_dataset("huggingface/cats-image")
>>> image = dataset["test"]["image"][0]

>>> image_processor = AutoImageProcessor.from_pretrained("microsoft/focalnet-tiny")
>>> model = FocalNetForImageClassification.from_pretrained("microsoft/focalnet-tiny")

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

>>> with torch.no_grad():
...     logits = model(**inputs).logits

>>> # model predicts one of the 1000 ImageNet classes
>>> predicted_label = logits.argmax(-1).item()
>>> print(model.config.id2label[predicted_label])
...
Update on GitHub