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 es un modelo utilizado para la extracción de características en tareas de visión por computadora de alto nivel, como la detección de objetos y la clasificación de imágenes. Transformers proporciona una clase AutoBackbone para inicializar un backbone de Transformers a partir de pesos de un modelo preentrenado, y dos clases de utilidad:

  • BackboneMixin permite inicializar un backbone desde Transformers o timm e incluye funciones para devolver las características de salida y los índices.
  • BackboneConfigMixin establece las características de salida y los índices de la configuración del backbone.

Los modelos de timm se cargan con las clases TimmBackbone y TimmBackboneConfig.

Los backbones son compatibles con los siguientes modelos:

AutoBackbone

clase transformers.AutoBackbone

< >

( *args**kwargs )

BackboneMixin

clase transformers.BackboneMixin

< >

( *args**kwargs )

post_init

< >

( )

Sobrescribe post_init para instalar siempre los hooks de captura, ya que el backbone SIEMPRE capturará las salidas. Es necesario hacerlo en post_init, ya que los módulos deben estar ya instanciados. Esto evita algunos conflictos con torch.compile, ya que la primera instalación de hooks necesitará/creará una ruptura de grafo, lo cual puede chocar con llamadas externas del usuario como model = torch.compile(model...).

BackboneConfigMixin

clase transformers.BackboneConfigMixin

< >

( )

Un Mixin para gestionar los atributos out_features y out_indices de las configuraciones del backbone.

set_output_features_output_indices

< >

( out_features: list | Noneout_indices: list | None )

Parámetros

  • out_features (list[str], opcional) — Los nombres de las características que el backbone debe devolver. Si no se proporciona, el valor predeterminado es config._out_features.
  • out_indices (list[int] o tuple[int], opcional) — Los índices de las características que el backbone debe devolver. Si no se proporciona, el valor predeterminado es config._out_indices.

Establece los índices y las características de salida en nuevos valores y los alinea con los stage_names dados. Si una de las entradas no se proporciona, busca el out_features o el out_indices correspondiente para los stage_names dados.

to_dict

< >

( )

Serializa esta instancia en un diccionario de Python. Sobrescribe el to_dict() predeterminado de PreTrainedConfig para incluir los atributos out_features y out_indices.

verify_out_features_out_indices

< >

( )

Verifique que out_indices y out_features sean válidos para los stage_names dados.

TimmBackbone

clase transformers.TimmBackbone

< >

( config: TimmBackboneConfig**kwargs )

Clase envoltorio para modelos de timm para usarlos como backbones. Esto permite utilizar los modelos de timm de forma intercambiable con los demás modelos de la biblioteca manteniendo la misma API.

TimmBackboneConfig

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

Parámetros

  • backbone (str, opcional) — El checkpoint de timm que se cargará.
  • num_channels (int, opcional, valor predeterminado 3) — El número de canales de entrada.
  • features_only (bool, opcional, valor predeterminado True) — Si se deben generar solo las características o también los logits.
  • freeze_batch_norm_2d (bool, opcional, valor predeterminado False) — Convierte todas las capas BatchNorm2d y SyncBatchNorm del módulo proporcionado en FrozenBatchNorm2d.
  • output_stride (int, opcional) — La proporción entre la resolución espacial de los mapas de características de entrada y salida.

Esta es la clase de configuración para almacenar la configuración de un TimmBackbone. Se utiliza para instanciar un modelo Timm Backbone según los argumentos especificados, definiendo la arquitectura del modelo. Instanciar una configuración con los valores predeterminados producirá una configuración similar a la de

Los objetos de configuración heredan de PreTrainedConfig y se pueden usar para controlar las salidas del modelo. Lea la documentación de PreTrainedConfig para obtener más información.

Ejemplo:

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