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

Ce modèle a été publié dans HF papers le 2021-09-17 et ajouté à Hugging Face Transformers le 2026-03-13.

PPLCNetV3

PPLCNetV3 est un backbone convolutif léger, optimisé pour CPU, conçu pour la classification d’images efficace et les tâches de vision en aval. Il s’appuie sur l’architecture PP-LCNet, avec des stratégies d’entraînement améliorées et des raffinements structurels pour de meilleurs compromis précision-latence sur le matériel CPU.

Notes

  • PPLCNetV3 est fourni uniquement en tant que réseau de base. Aucun point de contrôle pré-entraîné pour la classification d'images n'a été officiellement publié.

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 )

Paramètres

  • scale (float, facultatif, valeur par défaut 1.0) — Le facteur d'échelle des dimensions de canaux du modèle, utilisé pour ajuster la taille du modèle et le coût de calcul sans modifier l'architecture globale (par exemple, 0.25, 0.5, 1.0, 1.5).
  • block_configs (list[list[tuple]], facultatif, par défaut None) — Configuration de chaque bloc de chaque étape. Chaque tuple contient : (kernel_size, in_channels, out_channels, stride, use_squeeze_excitation). Si None, utilise la configuration PP-LCNet par défaut.
  • stem_channels (int, facultatif, par défaut 16) — Le nombre de canaux de sortie pour la couche tige.
  • stem_stride (int, facultatif, par défaut 2) — Le pas de la couche de convolution de la tige.
  • reduction (int, facultatif, par défaut 4) — Le facteur de réduction des dimensions des canaux de caractéristiques dans les blocs squeeze-and-excitation (SE), utilisé pour réduire le nombre de paramètres du modèle et la complexité de calcul tout en conservant la représentativité des caractéristiques.
  • divisor (int, facultatif, valeur par défaut 8) — Le diviseur utilisé pour garantir que divers paramètres du modèle (par exemple, les dimensions des canaux, les tailles de noyaux) sont des multiples de cette valeur, favorisant ainsi une implémentation efficace du modèle et une utilisation optimale des ressources.
  • hidden_act (str, facultatif, par défaut hardswish) — La fonction d'activation non linéaire (fonction ou chaîne de caractères) dans le décodeur. Par exemple, "gelu", "relu", "silu", etc.
  • conv_symmetric_num (int, facultatif, valeur par défaut 4) — Le nombre de branches de convolution kxk dans la couche de reparamétrisation apprenable, utilisé pour améliorer la capacité d'extraction de caractéristiques grâce à une architecture multi-branches pendant l'entraînement, tout en permettant une inférence efficace via la reparamétrisation structurelle.

Ceci est la classe de configuration destinée à stocker la configuration d'un Pp Lcnet V3Model. Elle est utilisée pour instancier un modèle Pp Lcnet V3 en fonction des arguments spécifiés, définissant ainsi l'architecture du modèle. L'instanciation d'une configuration avec les valeurs par défaut produira une configuration similaire à celle de PaddlePaddle/Not_yet_released

Les objets de configuration héritent de PreTrainedConfig et peuvent être utilisés pour contrôler les sorties du modèle. Consultez la documentation de PreTrainedConfig pour plus d’informations.

PPLCNetV3Backbone

classe transformers.PPLCNetV3Backbone

< >

( config: PPLCNetV3Config )

Paramètres

  • config (PPLCNetV3Config) — Classe de configuration du modèle contenant tous les paramètres du modèle. L’initialisation à partir d’un fichier de configuration ne charge pas les poids associés au modèle, uniquement la configuration. Consultez la méthode from_pretrained() pour charger les poids du modèle.

Modèle de tronc PPLCNetV3 pour l'extraction de caractéristiques.

Ce modèle hérite de PreTrainedModel. Consultez la documentation de la classe parente pour les méthodes génériques que la bibliothèque implémente pour tous ses modèles (tels que le téléchargement ou l'enregistrement, le redimensionnement des embeddings d'entrée, la taille des têtes, etc.)

Ce modèle est également une sous-classe de torch.nn.Module de PyTorch. Utilisez-le comme un module PyTorch standard et consultez la documentation de PyTorch pour tout ce qui concerne l'utilisation et le comportement généraux.

forward

< >

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

Paramètres

  • pixel_values (torch.Tensor de forme (batch_size, num_channels, image_size, image_size)) — Les tenseurs correspondant aux images d'entrée. Les valeurs de pixels peuvent être obtenues à l'aide de image_processor_class. Voir image_processor_class.__call__ pour plus de détails (processor_class utilise image_processor_class pour le traitement des images).

Retourne

BackboneOutput ou tuple(torch.Tensor)

Un BackboneOutput ou un tuple de torch.Tensor (si return_dict=False est passé ou lorsque config.return_dict=False) comprenant divers éléments en fonction de la configuration (PPLCNetV3Config) et des entrées.

La méthode forward de PPLCNetV3Backbone redéfinit la méthode spéciale __call__.

Bien que la recette de la passe avant doive être définie dans cette fonction, il faut ensuite appeler l'instance Module plutôt que celle-ci, car la première gère l'exécution des étapes de prétraitement et de post-traitement, tandis que la seconde les ignore silencieusement.

  • feature_maps (tuple(torch.Tensor) de forme (batch_size, num_channels, height, width)) — Cartes de caractéristiques des étapes.

  • hidden_states (tuple(torch.Tensor), facultatif, renvoyé lorsque output_hidden_states=True est passé ou lorsque config.output_hidden_states=True) — Tuple de torch.Tensor (un pour la sortie des embeddings + un pour la sortie de chaque couche) de forme (batch_size, sequence_length, hidden_size) ou (batch_size, num_channels, height, width), selon le backbone.

    États cachés du modèle à la sortie de chaque étape, ainsi que les sorties des embeddings initiaux.

  • attentions (tuple(torch.Tensor), facultatif, renvoyé lorsque output_attentions=True est passé ou lorsque config.output_attentions=True) — Tuple de torch.Tensor (un par couche) de forme (batch_size, num_heads, sequence_length, sequence_length). Applicable uniquement si le backbone utilise l'attention.

    Poids des attentions après le softmax d'attention, utilisés pour calculer la moyenne pondérée dans les têtes d'auto-attention.

Exemples :

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