Transformers documentation

PPLCNetV3

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

Este modelo foi publicado no HF papers em 2021-09-17 e contribuído para o Hugging Face Transformers em 2026-03-13.

PPLCNetV3

PPLCNetV3 é um backbone convolucional leve e otimizado para CPU, projetado para classificação de imagens eficiente e tarefas de visão computacional subsequentes. Ele se baseia na arquitetura PP-LCNet, com estratégias de treinamento aprimoradas e refinamentos estruturais para obter um melhor equilíbrio entre precisão e latência em hardware de CPU.

Observações

  • O PPLCNetV3 é fornecido apenas como uma rede backbone. Nenhum checkpoint pré-treinado para classificação de imagens foi oficialmente lançado.

PPLCNetV3Config

classe transformers.PPLCNetV3Config

< >

( 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: int = 16stem_stride: int = 2reduction: int = 4divisor: int = 8hidden_act: str = 'hardswish'_out_features: list[str] | None = None_out_indices: list[int] | None = Noneconv_symmetric_num: int = 4 )

Parâmetros

  • scale (float, opcional, padrão 1.0) — Fator de escala para as dimensões de canal do modelo, usado para ajustar o tamanho do modelo e o custo computacional sem alterar a arquitetura geral (por exemplo, 0.25, 0.5, 1.0, 1.5).
  • block_configs (list[list[tuple]], opcional, padrão None) — Configuração para cada bloco em cada estágio. Cada tupla contém: (kernel_size, in_channels, out_channels, stride, use_squeeze_excitation). Se None, usa a configuração padrão do PP-LCNet.
  • stem_channels (int, opcional, padrão 16) — O número de canais de saída para a camada stem.
  • stem_stride (int, opcional, padrão 2) — O stride da camada de convolução do stem.
  • reduction (int, opcional, padrão 4) — Fator de redução para as dimensões dos canais de características nos blocos squeeze-and-excitation (SE), usado para reduzir o número de parâmetros do modelo e a complexidade computacional, mantendo a capacidade de representação das características.
  • divisor (int, opcional, padrão 8) — O divisor usado para garantir que vários parâmetros do modelo (por exemplo, dimensões de canal, tamanhos de kernel) sejam múltiplos desse valor, promovendo uma implementação eficiente do modelo e o uso de recursos.
  • hidden_act (str, opcional, padrão hardswish) — A função de ativação não linear (função ou string) no decodificador. Por exemplo, "gelu", "relu", "silu", etc.
  • conv_symmetric_num (int, opcional, padrão 4) — O número de ramos de convolução kxk na camada de reparametrização aprendível, usado para aprimorar a capacidade de extração de recursos por meio de uma arquitetura multiramo durante o treinamento, ao mesmo tempo em que permite inferência eficiente por meio de reparametrização estrutural.

Esta é a classe de configuração para armazenar a configuração de um Pp Lcnet V3Model. Ela é usada para instanciar um modelo Pp Lcnet V3 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 PaddlePaddle/Not_yet_released

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.

PPLCNetV3Backbone

classe transformers.PPLCNetV3Backbone

< >

( config: PPLCNetV3Config )

Parâmetros

  • config (PPLCNetV3Config) — Classe de configuração do modelo com todos os parâmetros do modelo. A inicialização com um arquivo de configuração não carrega os pesos associados ao modelo, apenas a configuração. Consulte o método from_pretrained() para carregar os pesos do modelo.

Modelo de backbone PPLCNetV3 para extração de recursos.

Este modelo herda de PreTrainedModel. Consulte a documentação da classe pai para os métodos genéricos que a biblioteca implementa para todos os seus modelos (como download ou salvamento, redimensionamento dos embeddings de entrada, poda de cabeças, etc.)

Este modelo também é uma subclasse de torch.nn.Module do PyTorch. Use-o como um Módulo PyTorch regular e consulte a documentação do PyTorch para todos os assuntos relacionados ao uso geral e ao comportamento.

forward

< >

( pixel_values: Tensor**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BackboneOutput or tuple(torch.Tensor)

Parâmetros

  • pixel_values (torch.Tensor de forma (batch_size, num_channels, image_size, image_size)) — Os tensores correspondentes às imagens de entrada. Os valores de pixels podem ser obtidos usando image_processor_class. Consulte image_processor_class.__call__ para mais detalhes (processor_class usa image_processor_class para processar as imagens).

Retorna

BackboneOutput ou tuple(torch.Tensor)

Um BackboneOutput ou uma tupla de torch.Tensor (se return_dict=False for passado ou quando config.return_dict=False) contendo vários elementos, dependendo da configuração (PPLCNetV3Config) e das entradas.

O método forward de PPLCNetV3Backbone substitui o método especial __call__.

Embora a receita para a passagem direta precise ser definida dentro desta função, deve-se chamar a instância de Module em seguida, em vez desta, pois a primeira cuida da execução das etapas de pré e pós-processamento, enquanto a segunda as ignora silenciosamente.

  • feature_maps (tuple(torch.Tensor) de forma (batch_size, num_channels, height, width)) — Mapas de características dos estágios.

  • hidden_states (tuple(torch.Tensor), opcional, retornado quando output_hidden_states=True é passado ou quando config.output_hidden_states=True) — Tupla de torch.Tensor (um para a saída dos embeddings + um para a saída de cada camada) de forma (batch_size, sequence_length, hidden_size) ou (batch_size, num_channels, height, width), dependendo do backbone.

    Estados ocultos do modelo na saída de cada estágio, além das saídas do embedding inicial.

  • attentions (tuple(torch.Tensor), opcional, retornado quando output_attentions=True é passado ou quando config.output_attentions=True) — Tupla de torch.Tensor (um para cada camada) com forma (batch_size, num_heads, sequence_length, sequence_length). Aplicável apenas se o backbone usar atenção.

    Pesos de atenção após o softmax de atenção, usados para calcular a média ponderada nos cabeçalhos de autoatenção.

Exemplos:

>>> from transformers import PPLCNetV3Config, PPLCNetV3Backbone
>>> import torch

>>> config = PPLCNetV3Config()
>>> model = PPLCNetV3Backbone(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)
Update on GitHub