Transformers documentation

Backbone

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Backbone

Uma backbone é um modelo usado para extração de recursos para tarefas de visão computacional de alto nível, como detecção de objetos e classificação de imagens. O Transformers fornece uma classe AutoBackbone para inicializar uma backbone do Transformers a partir de pesos de modelo pré-treinados, e duas classes utilitárias:

  • O BackboneMixin permite inicializar um backbone a partir do Transformers ou do timm e inclui funções para retornar os recursos de saída e os índices.
  • BackboneConfigMixin define os recursos de saída e os índices da configuração do backbone.

Os modelos timm são carregados com as classes TimmBackbone e TimmBackboneConfig.

Os backbones são suportados para os seguintes modelos:

AutoBackbone

classe transformers.AutoBackbone

< >

( *args**kwargs )

BackboneMixin

classe transformers.BackboneMixin

< >

( *args**kwargs )

post_init

< >

( )

Sobrescreva post_init para sempre instalar os hooks de captura, pois o backbone SEMPRE capturará as saídas. Precisamos fazer isso em post_init, pois os módulos precisam já ter sido instanciados. Isso evita alguns conflitos com torch.compile, pois a primeira instalação de hook precisará/criará uma quebra de grafo, o que pode conflitar com chamadas externas do usuário, como model = torch.compile(model...).

BackboneConfigMixin

classe transformers.BackboneConfigMixin

< >

( )

Mixin para suportar o tratamento dos atributos out_features e out_indices nas configurações do backbone.

set_output_features_output_indices

< >

( out_features: list | Noneout_indices: list | None )

Parâmetros

  • out_features (list[str], opcional) — Os nomes dos recursos que o backbone deve produzir como saída. O padrão é config._out_features, caso não seja fornecido.
  • out_indices (list[int] ou tuple[int], opcional) — Os índices dos recursos para o backbone produzir como saída. O padrão é config._out_indices, caso não seja fornecido.

Define os índices e recursos de saída para novos valores e os alinha com os stage_names fornecidos. Se uma das entradas não for fornecida, encontra o out_features ou out_indices correspondente para os stage_names fornecidos.

to_dict

< >

( )

Serializa esta instância em um dicionário Python. Sobrescreve o to_dict() padrão de PreTrainedConfig para incluir os atributos out_features e out_indices.

verify_out_features_out_indices

< >

( )

Verifique se out_indices e out_features são válidos para os stage_names fornecidos.

TimmBackbone

classe transformers.TimmBackbone

< >

( config: TimmBackboneConfig**kwargs )

Classe de encapsulamento para modelos do timm a serem usados como backbones. Isso permite usar os modelos do timm de forma intercambiável com os outros modelos da biblioteca, mantendo a mesma 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 )

Parâmetros

  • backbone (str, opcional) — O checkpoint do timm a ser carregado.
  • num_channels (int, opcional, padrão 3) — O número de canais de entrada.
  • features_only (bool, opcional, padrão True) — Se deve exibir apenas os recursos ou também os logits.
  • freeze_batch_norm_2d (bool, opcional, padrão False) — Converte todas as camadas BatchNorm2d e SyncBatchNorm do módulo fornecido em FrozenBatchNorm2d.
  • output_stride (int, opcional) — A proporção entre a resolução espacial dos mapas de características de entrada e de saída.

Esta é a classe de configuração para armazenar a configuração de um TimmBackbone. Ela é usada para instanciar um modelo Timm Backbone de acordo com os argumentos especificados, definindo a arquitetura do modelo. Instanciar uma configuração com os padrões resultará em uma configuração semelhante à do

Os objetos de configuração herdam de PreTrainedConfig e podem ser usados para controlar as saídas do modelo. Consulte a documentação de PreTrainedConfig para mais informações.

Exemplo:

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