Transformers documentation
FocalNet
نُشر هذا النموذج في أوراق 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
< 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 = 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.configFocalNetModel
فئة transformers.FocalNetModel
< source >( 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
< source >( 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
< source >( config: FocalNetConfig )
المعاملات
- config (FocalNetConfig) — فئة إعدادات النموذج التي تحتوي على جميع معاملات النموذج. لا يؤدي التهيئة باستخدام ملف الإعدادات إلى تحميل الأوزان المرتبطة بالنموذج، بل الإعدادات فقط. راجع طريقة from_pretrained() لتحميل أوزان النموذج.
نموذج FocalNet مع مُفكِّك في الأعلى لنمذجة الصور المقنَّعة.
يتبع هذا نفس التنفيذ الموجود في SimMIM.
يرث هذا النموذج من PreTrainedModel. راجع توثيق الفئة الأصلية لمعرفة الطرق العامة التي تنفذها المكتبة لجميع نماذجها (مثل التحميل أو الحفظ، وتغيير حجم تضمينات الإدخال، وقص الرؤوس، وما إلى ذلك).
هذا النموذج هو أيضًا فئة فرعية من torch.nn.Module في PyTorch. استخدمه كوحدة PyTorch عادية، وارجع إلى توثيق PyTorch لكل ما يتعلق بالاستخدام العام والسلوك.
forward
< source >( 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.Tensorof 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
< source >( config: FocalNetConfig )
المعاملات
- config (FocalNetConfig) — فئة إعدادات النموذج التي تحتوي على جميع معاملات النموذج. لا يؤدي التهيئة باستخدام ملف الإعدادات إلى تحميل الأوزان المرتبطة بالنموذج، بل الإعدادات فقط. راجع طريقة from_pretrained() لتحميل أوزان النموذج.
نموذج FocalNet مع رأس تصنيف الصور في الأعلى (طبقة خطية فوق المخرجات المجمّعة) على سبيل المثال لـ ImageNet.
يرث هذا النموذج من PreTrainedModel. راجع توثيق الفئة الأصلية لمعرفة الطرق العامة التي تنفذها المكتبة لجميع نماذجها (مثل التحميل أو الحفظ، وتغيير حجم تضمينات الإدخال، وقص الرؤوس، وما إلى ذلك).
هذا النموذج هو أيضًا فئة فرعية من torch.nn.Module في PyTorch. استخدمه كوحدة PyTorch عادية، وارجع إلى توثيق PyTorch لكل ما يتعلق بالاستخدام العام والسلوك.
forward
< source >( 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.LongTensorof 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])
...