Transformers documentation

PPLCNetV3

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 في 17 سبتمبر 2021، وأُضيف إلى مكتبة Hugging Face Transformers في 13 مارس 2026.

PPLCNetV3

PPLCNetV3 هو هيكل تلاففي خفيف مُحسّن للمعالج المركزي (CPU)، مصمّم لتصنيف الصور بكفاءة وللمهامم البصرية اللاحقة. وهو مبني على معمارية PP-LCNet مع استراتيجيات تدريب محسّنة وتحسينات هيكلية لتحقيق توازن أفضل بين الدقة وزمن الاستجابة على أجهزة المعالج المركزي.

ملاحظات

  • يُوفَّر PPLCNetV3 كشبكة هيكلية فقط. لم يتم إصدار نقطة تحقق مسبق التدريب لتصنيف الصور بشكل رسمي.

PPLCNetV3Config

فئة transformers.PPLCNetV3Config

< >

( 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 = Nonescale: float | int = 1.0block_configs: list | None = Nonestem_channels: int = 16stem_stride: int = 2reduction: int = 4divisor: int = 8hidden_act: str = 'hardswish'_out_features: list[str] | None = None_out_indices: list[int] | None = Noneconv_symmetric_num: int = 4 )

المعاملات

  • scale (float, اختياري، القيمة الافتراضية 1.0) — معامل التوسيع لأبعاد القنوات في النموذج، ويُستخدم لضبط حجم النموذج والتكلفة الحسابية دون تغيير البنية العامة (مثلًا: 0.25، 0.5، 1.0، 1.5).
  • block_configs (list[list[tuple]]، اختياري، القيمة الافتراضية None) — إعدادات كل كتلة في كل مرحلة. يحتوي كل tuple على: (kernel_size, in_channels, out_channels, stride, use_squeeze_excitation). إذا كانت None، يتم استخدام إعدادات PP-LCNet الافتراضية.
  • stem_channels (int، اختياري، القيمة الافتراضية 16) — عدد قنوات المخرج لطبقة الجذع.
  • stem_stride (int، اختياري، القيمة الافتراضية 2) — خطوة طبقة الالتفاف الجذرية.
  • reduction (int, اختياري، القيمة الافتراضية 4) — معامل الاختزال لأبعاد قنوات الميزات في كتل الضغط والإثارة (SE)، ويُستخدم لتقليل عدد معاملات النموذج والتعقيد الحسابي مع الحفاظ على قابلية تمثيل الميزات.
  • divisor (int، اختياري، القيمة الافتراضية 8) — المقسوم المستخدم لضمان أن معاملات النموذج المختلفة (مثل أبعاد القنوات، وأحجام النوى) تكون مضاعفات لهذا القيمة، مما يعزز كفاءة تنفيذ النموذج واستخدام الموارد.
  • hidden_act (str، اختياري، القيمة الافتراضية hardswish) — دالة التنشيط غير الخطية (دالة أو نص) في المُفكِّك. على سبيل المثال، "gelu"، "relu"، "silu"، وغيرها.
  • conv_symmetric_num (int، اختياري، القيمة الافتراضية 4) — عدد فروع التمرير kxk في طبقة إعادة التمثيل القابلة للتعلم، وتُستخدم لتعزيز قدرة استخراج الميزات من خلال بنية متعددة الفروع أثناء التدريب، مع تمكين الاستدلال الفعّال عبر إعادة التمثيل الهيكلي.

هذه فئة الإعدادات المخزنة لإعدادات نموذج Pp Lcnet V3Model. تُستخدم لاستحداث نموذج Pp Lcnet V3 وفقاً للحجج المحددة، مع تعريف بنية النموذج. إن استحداث إعدادات باستخدام القيم الافتراضية سيؤدي إلى الحصول على إعدادات مشابهة لتلك الخاصة بـ PaddlePaddle/Not_yet_released

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

PPLCNetV3Backbone

فئة transformers.PPLCNetV3Backbone

< >

( config: PPLCNetV3Config )

المعاملات

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

نموذج العمود الفقري PPLCNetV3 لاستخراج الميزات.

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

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

forward

< >

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

المعاملات

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

يعيد

BackboneOutput أو tuple(torch.Tensor)

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

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

أمثلة:

>>> from transformers import PPLCNetV3Config, PPLCNetV3Backbone
>>> import torch

>>> config = PPLCNetV3Config()
>>> model = PPLCNetV3Backbone(config)

>>> pixel_values = torch.randn(1, 3, 224, 224)

>>> with torch.no_grad():
...     outputs = model(pixel_values)

>>> feature_maps = outputs.feature_maps
>>> list(feature_maps[-1].shape)
Update on GitHub