Transformers documentation
الهيكل الأساسي
الهيكل الأساسي
العمود الفقري هو نموذج يُستخدم لاستخراج الميزات لمهام الرؤية الحاسوبية الأعلى مستوى مثل كشف الأشياء وتصنيف الصور. يوفر Transformers فئة AutoBackbone لتبني عمود فقري لـ Transformers من أوزان نموذج مُدرَّب مسبقًا، بالإضافة إلى فئتي أدوات:
- يتيح BackboneMixin تهيئة العمود الفقري (backbone) من Transformers أو timm، ويتضمن دوال لإرجاع مخرجات الميزات والفهارس.
- يحدد BackboneConfigMixin مخرجات الميزات والفهارس في إعدادات الهيكل العظمي.
تُحمَّل نماذج timm باستخدام الفئات TimmBackbone وTimmBackboneConfig.
تُدعَّم الهياكل الأساسية (Backbones) للنماذج التالية:
- BEiT
- BiT
- ConvNext
- ConvNextV2
- DiNAT
- DINOV2
- FocalNet
- MaskFormer
- ResNet
- سوين ترانسفورمر
- سوين ترانسفورمر v2
- ViTDet
AutoBackbone
BackboneMixin
Override post_init to always install capturing hooks, as backbone will ALWAYS capture outputs. We need to do
it in post_init, as modules need to be already instantiated.
It avoids some mixups with torch.compile, as the first hook installation will need/create a graph break,
which can clash with external user call such as model = torch.compile(model...).
BackboneConfigMixin
مزيج (Mixin) لدعم معالجة سمات out_features وout_indices لإعدادات الهيكل العظمي (backbone).
set_output_features_output_indices
< source >( out_features: list | Noneout_indices: list | None )
المعاملات
- out_features (
list[str]، اختياري) — أسماء الميزات التي يجب على الهيكل الأساسي (backbone) إخراجها. القيمة الافتراضية هيconfig._out_featuresإذا لم تُقدَّم. - out_indices (
list[int]أوtuple[int]، اختياري) — مؤشرات الميزات التي يجب على الهيكل الأساسي (backbone) إخراجها. القيمة الافتراضية هيconfig._out_indicesإذا لم تُقدَّم.
تُعيّن فهارس المخرجات والميزات إلى قيم جديدة وتُحاذاها مع stage_names المُعطاة.
إذا لم يُعطَ أحد المدخلات، فابحث عن out_features أو out_indices المقابلة لـstage_names المُعطاة.
يسلسل هذه النسخة إلى قاموس بايثون. يعيد تعريف to_dict() الافتراضي من PreTrainedConfig ليشمل سمات out_features وout_indices.
تحقق من أن out_indices و out_features صالحة لـ stage_names المحددة.
TimmBackbone
فئة غلاف لنماذج timm لاستخدامها كعظائم. يتيح ذلك استخدام نماذج timm بالتبادل مع النماذج الأخرى في المكتبة مع الحفاظ على نفس واجهة البرمجة.
TimmBackboneConfig
فئة transformers.TimmBackboneConfig
< 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 = Nonebackbone: str | None = Nonenum_channels: int = 3features_only: bool = True_out_indices: list[int] | None = Nonefreeze_batch_norm_2d: bool = Falseoutput_stride: int | None = None )
المعاملات
- backbone (
str، اختياري) — نقطة التفتيش من timm التي سيتم تحميلها. - num_channels (
int، اختياري، القيمة الافتراضية3) — عدد قنوات الإدخال. - features_only (
bool، اختياري، القيمة الافتراضيةTrue) — ما إذا كان يجب إخراج الميزات فقط أو تضمين القيم اللوجستية (logits) أيضاً. - freeze_batch_norm_2d (
bool, اختياري، القيمة الافتراضيةFalse) — يحوّل جميع طبقاتBatchNorm2dوSyncBatchNormفي الوحدة المُقدَّمة إلىFrozenBatchNorm2d. - output_stride (
int، اختياري) — النسبة بين الدقة المكانية لخريطة الميزات المدخلة وخريطة الميزات المخرجة.
هذه فئة الإعدادات المخزنة لإعدادات TimmBackbone. تُستخدم لاستحداث نموذج Timm Backbone وفقاً للحجج المحددة، مع تعريف بنية النموذج. إن استحداث إعدادات باستخدام القيم الافتراضية سيؤدي إلى إعدادات مشابهة لتلك الخاصة بـ
ترث كائنات التهيئة من PreTrainedConfig ويمكن استخدامها للتحكم في مخرجات النموذج. اقرأ التوثيق الخاص بـ PreTrainedConfig لمزيد من المعلومات.
مثال:
>>> from transformers import TimmBackboneConfig, TimmBackbone
>>> # Initializing a timm backbone
>>> configuration = TimmBackboneConfig("resnet50")
>>> # Initializing a model from the configuration
>>> model = TimmBackbone(configuration)
>>> # Accessing the model configuration
>>> configuration = model.config