Transformers documentation
PPLCNetV3
Este modelo se publicó en HF papers el 2021-09-17 y se contribuyó a Hugging Face Transformers el 2026-03-13.
PPLCNetV3
PPLCNetV3 es un backbone convolucional ligero y optimizado para CPU, diseñado para la clasificación de imágenes eficiente y tareas de visión posteriores. Se basa en la arquitectura PP-LCNet, con estrategias de entrenamiento mejoradas y refinamientos estructurales para lograr un mejor equilibrio entre precisión y latencia en hardware de CPU.
Notas
- PPLCNetV3 se proporciona únicamente como red de base. No se ha publicado oficialmente ningún punto de control preentrenado para clasificación de imágenes.
PPLCNetV3Config
clase 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, valor predeterminado 1.0) — El factor de escala para las dimensiones de canal del modelo, utilizado para ajustar el tamaño del modelo y el coste computacional sin cambiar la arquitectura general (p. ej., 0.25, 0.5, 1.0, 1.5). - block_configs (
list[list[tuple]], opcional, valor predeterminadoNone) — Configuración de cada bloque en cada etapa. Cada tupla contiene: (kernel_size, in_channels, out_channels, stride, use_squeeze_excitation). Si esNone, se utiliza la configuración predeterminada de PP-LCNet. - stem_channels (
int, opcional, valor predeterminado 16) — El número de canales de salida para la capa stem. - stem_stride (
int, opcional, valor predeterminado 2) — El paso para la capa de convolución del tallo. - reduction (
int, opcional, valor predeterminado 4) — Factor de reducción para las dimensiones de los canales de características en los bloques squeeze-and-excitation (SE), utilizado para reducir el número de parámetros del modelo y la complejidad computacional manteniendo la capacidad de representación de las características. - divisor (
int, opcional, valor predeterminado 8) — El divisor utilizado para garantizar que varios parámetros del modelo (p. ej., dimensiones de canal, tamaños de kernel) sean múltiplos de este valor, lo que promueve una implementación eficiente del modelo y un mejor uso de los recursos. - hidden_act (
str, opcional, valor predeterminadohardswish) — La función de activación no lineal (función o cadena) en el decodificador. Por ejemplo,"gelu","relu","silu", etc. - conv_symmetric_num (
int, opcional, valor predeterminado4) — El número de ramas de convolución kxk en la capa de reparametrización aprendible, utilizada para mejorar la capacidad de extracción de características mediante una arquitectura de múltiples ramas durante el entrenamiento, al mismo tiempo que permite una inferencia eficiente mediante la reparametrización estructural.
Esta es la clase de configuración para almacenar la configuración de un Pp Lcnet V3Model. Se utiliza para instanciar un modelo Pp Lcnet V3 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 PaddlePaddle/Not_yet_released
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.
PPLCNetV3Backbone
clase transformers.PPLCNetV3Backbone
< source >( config: PPLCNetV3Config )
Parámetros
- config (PPLCNetV3Config) — Clase de configuración del modelo con todos los parámetros del modelo. Inicializar con un archivo de configuración no carga los pesos asociados con el modelo, solo la configuración. Consulte el método from_pretrained() para cargar los pesos del modelo.
Modelo backbone PPLCNetV3 para la extracción de características.
Este modelo hereda de PreTrainedModel. Consulta la documentación de la clase superior para los métodos genéricos que la biblioteca implementa para todos sus modelos (como la descarga o el guardado, el redimensionamiento de las incrustaciones de entrada, la poda de cabezas, etc.).
Este modelo también es una subclase de torch.nn.Module de PyTorch. Úsalo como un módulo de PyTorch regular y consulta la documentación de PyTorch para todo lo relacionado con el uso y el comportamiento generales.
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)) — Los tensores correspondientes a las imágenes de entrada. Los valores de píxeles se pueden obtener utilizandoimage_processor_class. Consulteimage_processor_class.__call__para más detalles (processor_classutilizaimage_processor_classpara procesar las imágenes).
Devuelve
BackboneOutput o tuple(torch.Tensor)
Un BackboneOutput o una tupla de
torch.Tensor (si se pasa return_dict=False o cuando config.return_dict=False) que comprende varios
elementos según la configuración (PPLCNetV3Config) y las entradas.
El método forward de PPLCNetV3Backbone sobrescribe el método especial __call__.
Aunque la receta para la pasada hacia adelante debe definirse dentro de esta función, se debe llamar a la instancia de
Moduledespués en lugar de a esta, ya que la primera se encarga de ejecutar los pasos de pre y postprocesamiento, mientras que la segunda los ignora silenciosamente.
feature_maps (
tuple(torch.Tensor)de forma(batch_size, num_channels, height, width)) — Mapas de características de las etapas.hidden_states (
tuple(torch.Tensor), opcional, devuelto cuando se pasaoutput_hidden_states=Trueo cuandoconfig.output_hidden_states=True) — Tupla detorch.Tensor(una para la salida de los embeddings + una para la salida de cada capa) de forma(batch_size, sequence_length, hidden_size)o(batch_size, num_channels, height, width), según el backbone.Estados ocultos del modelo en la salida de cada etapa más las salidas de la incrustación inicial.
attentions (
tuple(torch.Tensor), opcional, se devuelve cuando se pasaoutput_attentions=Trueo cuandoconfig.output_attentions=True) — Tupla detorch.Tensor(una por cada capa) de forma(batch_size, num_heads, sequence_length, sequence_length). Solo aplicable si el backbone usa atención.Pesos de atención tras el softmax de atención, utilizados para calcular la media ponderada en las cabezas de autoatención.
Ejemplos:
>>> 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)