Transformers documentation
PPLCNetV3
نُشر هذا النموذج في أوراق HF في 17 سبتمبر 2021، وأُضيف إلى مكتبة Hugging Face Transformers في 13 مارس 2026.
PPLCNetV3
PPLCNetV3 هو هيكل تلاففي خفيف مُحسّن للمعالج المركزي (CPU)، مصمّم لتصنيف الصور بكفاءة وللمهامم البصرية اللاحقة. وهو مبني على معمارية PP-LCNet مع استراتيجيات تدريب محسّنة وتحسينات هيكلية لتحقيق توازن أفضل بين الدقة وزمن الاستجابة على أجهزة المعالج المركزي.
ملاحظات
- يُوفَّر PPLCNetV3 كشبكة هيكلية فقط. لم يتم إصدار نقطة تحقق مسبق التدريب لتصنيف الصور بشكل رسمي.
PPLCNetV3Config
فئة transformers.PPLCNetV3Config
< 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 = 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
< source >( config: PPLCNetV3Config )
المعاملات
- config (PPLCNetV3Config) — فئة إعدادات النموذج التي تحتوي على جميع معاملات النموذج. لا يؤدي التهيئة باستخدام ملف الإعدادات إلى تحميل الأوزان المرتبطة بالنموذج، بل الإعدادات فقط. راجع طريقة from_pretrained() لتحميل أوزان النموذج.
نموذج العمود الفقري PPLCNetV3 لاستخراج الميزات.
يرث هذا النموذج من PreTrainedModel. راجع توثيق الفئة الأصلية لمعرفة الطرق العامة التي تنفذها المكتبة لجميع نماذجها (مثل التحميل أو الحفظ، وتغيير حجم تضمينات الإدخال، وقص الرؤوس، وما إلى ذلك).
هذا النموذج هو أيضًا فئة فرعية من torch.nn.Module في PyTorch. استخدمه كوحدة PyTorch عادية، وارجع إلى توثيق PyTorch لكل ما يتعلق بالاستخدام العام والسلوك.
forward
< source >( 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)