Transformers documentation

Backbone

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

Backbone

Un backbone est un modèle utilisé pour l'extraction de caractéristiques pour des tâches de vision par ordinateur de plus haut niveau, telles que la détection d'objets et la classification d'images. Transformers fournit une classe AutoBackbone pour initialiser un backbone Transformers à partir de poids de modèle pré-entraînés, ainsi que deux classes utilitaires :

  • BackboneMixin permet d’initialiser un backbone à partir de Transformers ou de timm et inclut des fonctions pour retourner les caractéristiques de sortie et les indices.
  • BackboneConfigMixin définit les fonctionnalités de sortie et les indices de la configuration du backbone.

Les modèles timm sont chargés avec les classes TimmBackbone et TimmBackboneConfig.

Les backbones sont pris en charge pour les modèles suivants :

AutoBackbone

classe transformers.AutoBackbone

< >

( *args**kwargs )

BackboneMixin

classe transformers.BackboneMixin

< >

( *args**kwargs )

post_init

< >

( )

Écrasez post_init pour installer systématiquement les hooks de capture, car le backbone capturera TOUJOURS les sorties. Il faut le faire dans post_init, car les modules doivent déjà être instanciés. Cela évite certains conflits avec torch.compile, car la première installation de hook nécessitera/créera une rupture de graphe, ce qui peut entrer en collision avec un appel utilisateur externe tel que model = torch.compile(model...).

BackboneConfigMixin

classe transformers.BackboneConfigMixin

< >

( )

Un Mixin pour prendre en charge la gestion des attributs out_features et out_indices des configurations de backbone.

set_output_features_output_indices

< >

( out_features: list | Noneout_indices: list | None )

Paramètres

  • out_features (list[str], facultatif) — Les noms des fonctionnalités que le backbone doit produire. Par défaut, config._out_features si non fourni.
  • out_indices (list[int] ou tuple[int], facultatif) — Les indices des fonctionnalités que le backbone doit retourner. Par défaut, config._out_indices si non fourni.

Définit les indices et les fonctionnalités de sortie à de nouvelles valeurs et les aligne sur les stage_names donnés. Si l'une des entrées n'est pas fournie, trouve les out_features ou out_indices correspondants pour les stage_names donnés.

to_dict

< >

( )

Sérialise cette instance en dictionnaire Python. Remplace la méthode to_dict() par défaut de PreTrainedConfig pour inclure les attributs out_features et out_indices.

verify_out_features_out_indices

< >

( )

Vérifiez que out_indices et out_features sont valides pour les stage_names donnés.

TimmBackbone

classe transformers.TimmBackbone

< >

( config: TimmBackboneConfig**kwargs )

Classe enveloppe pour les modèles timm destinés à être utilisés comme squelettes. Cela permet d’utiliser les modèles timm de manière interchangeable avec les autres modèles de la bibliothèque en conservant la même API.

TimmBackboneConfig

classe transformers.TimmBackboneConfig

< >

( 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 )

Paramètres

  • backbone (str, facultatif) — Le point de contrôle timm à charger.
  • num_channels (int, facultatif, par défaut 3) — Le nombre de canaux d'entrée.
  • features_only (bool, facultatif, par défaut True) — Indique s'il faut n'afficher que les caractéristiques ou également les logits.
  • freeze_batch_norm_2d (bool, facultatif, valeur par défaut False) — Convertit toutes les couches BatchNorm2d et SyncBatchNorm du module fourni en FrozenBatchNorm2d.
  • output_stride (int, facultatif) — Le ratio entre la résolution spatiale des cartes de caractéristiques d'entrée et de sortie.

Ceci est la classe de configuration destinée à stocker la configuration d'un TimmBackbone. Elle est utilisée pour instancier un modèle Timm Backbone en fonction des arguments spécifiés, définissant ainsi l'architecture du modèle. L'instanciation d'une configuration avec les valeurs par défaut produira une configuration similaire à celle de

Les objets de configuration héritent de PreTrainedConfig et peuvent être utilisés pour contrôler les sorties du modèle. Consultez la documentation de PreTrainedConfig pour plus d’informations.

Exemple :

>>> 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
Update on GitHub