Transformers documentation
PPLCNetV4
تمت مساهمة هذا النموذج في Hugging Face Transformers في 2026-05-19.
PPLCNetV4
يُوفَّر PPLCNetV4 كشبكة هيكلية فقط. لم يتم إصدار نقطة تحقق مسبقة التدريب لتصنيف الصور بشكل رسمي.
PPLCNetV4Config
فئة transformers.PPLCNetV4Config
< 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: list[int] | tuple[int, ...] = (3, 48, 96)reduction: int = 4hidden_act: str = 'relu'_out_features: list[str] | None = None_out_indices: list[int] | None = Nonenum_channels: int = 3stem_strides: Sequence = (2, 1, 1, 2, 1)stem_type: str = 'large'use_learnable_affine_block: bool = False )
المعاملات
- 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 (
list[int], اختياري, الافتراضي هو[3, 48, 96]) — أبعاد القنوات لطبقات الجذع:- الرقم الأول (3) هو عدد قنوات الصورة المدخلة
- الرقم الثاني (48) هو قنوات الجذع الوسيطة
- الرقم الثالث (96) هو عدد قنوات جذر المخرجات
- reduction (
int, اختياري، القيمة الافتراضية 4) — معامل الاختزال لأبعاد قنوات الميزات في كتل الضغط والإثارة (SE)، ويُستخدم لتقليل عدد معاملات النموذج والتعقيد الحسابي مع الحفاظ على قابلية تمثيل الميزات. - hidden_act (
str، اختياري، القيمة الافتراضيةrelu) — دالة التنشيط غير الخطية (دالة أو نص) في المُفكِّك. على سبيل المثال،"gelu"،"relu"،"silu"، وغيرها. - num_channels (
int، اختياري، القيمة الافتراضية3) — عدد قنوات الإدخال. - stem_strides (
Sequence[int | list[int] | tuple[int, ...]]، اختياري، القيمة الافتراضية(2, 1, 1, 2, 1)) — أنماط الخطوة (Stride) لطبقات الجذع (stem). - stem_type (
str, اختياري, الافتراضي هوlarge) — نوع طبقة الجذع (stem) المستخدمة. يمكن أن يكون أحد ما يلي:"large": جذر PP-LCNetV4 القياسي."small": نسخة بأبعاد قنوات أصغر.
- use_learnable_affine_block (
bool، اختياري، القيمة الافتراضيةFalse) — ما إذا كان سيتم استخدام كتل التحويل التوافقي القابلة للتعلم (LAB) في الشبكة. تضيف LAB معاملات مقياس وانحياز قابلة للتعلم بعد عمليات معينة.
هذه فئة الإعدادات المخزنة لإعدادات نموذج Pp Lcnet V4Model. تُستخدم لاستحداث نموذج Pp Lcnet V4 وفقًا للحجج المحددة، مع تعريف بنية النموذج. إن استحداث إعدادات باستخدام القيم الافتراضية سيؤدي إلى الحصول على إعدادات مشابهة لتلك الخاصة بـ PaddlePaddle/Not_yet_released
ترث كائنات التهيئة من PreTrainedConfig ويمكن استخدامها للتحكم في مخرجات النموذج. اقرأ التوثيق الخاص بـ PreTrainedConfig لمزيد من المعلومات.
PPLCNetV4Backbone
فئة transformers.PPLCNetV4Backbone
< source >( config: PPLCNetV4Config )
المعاملات
- config (PPLCNetV4Config) — فئة إعدادات النموذج التي تحتوي على جميع معاملات النموذج. لا يؤدي التهيئة باستخدام ملف الإعدادات إلى تحميل الأوزان المرتبطة بالنموذج، بل الإعدادات فقط. راجع طريقة from_pretrained() لتحميل أوزان النموذج.
نموذج PPLCNetV4 الأساسي لاستخراج الميزات.
يرث هذا النموذج من 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 أو مجموعة من
torch.Tensor (إذا تم تمرير return_dict=False أو عندما يكون config.return_dict=False) وتتضمن عناصر مختلفة
تعتمد على الإعدادات (PPLCNetV4Config) والمدخلات.
تتجاوز طريقة PPLCNetV4Backbone الخاصة بالتقديم (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 PPLCNetV4Config, PPLCNetV4Backbone
>>> import torch
>>> config = PPLCNetV4Config()
>>> model = PPLCNetV4Backbone(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)