Transformers documentation
PPLCNetV3
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
< 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 = 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ãoNone) — Configuração para cada bloco em cada estágio. Cada tupla contém: (kernel_size, in_channels, out_channels, stride, use_squeeze_excitation). SeNone, 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ãohardswish) — 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ão4) — 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
< source >( 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
< source >( pixel_values: Tensor**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BackboneOutput or tuple(torch.Tensor)
Parâmetros
- pixel_values (
torch.Tensorde forma(batch_size, num_channels, image_size, image_size)) — Os tensores correspondentes às imagens de entrada. Os valores de pixels podem ser obtidos usandoimage_processor_class. Consulteimage_processor_class.__call__para mais detalhes (processor_classusaimage_processor_classpara 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
Moduleem 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 quandooutput_hidden_states=Trueé passado ou quandoconfig.output_hidden_states=True) — Tupla detorch.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 quandooutput_attentions=Trueé passado ou quandoconfig.output_attentions=True) — Tupla detorch.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)