Transformers documentation

SLANet

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é contribué à Hugging Face Transformers le 2026-04-22.

SLANet

Aperçu

SLANet et SLANet_plus font partie d'une série de modèles légers dédiés à la reconnaissance de la structure des tableaux, axés sur la reconnaissance précise des structures de tableaux dans les documents et les scènes naturelles. Pour plus de détails sur la série de modèles SLANet, veuillez consulter la documentation officielle.

Architecture du modèle

SLANet est un modèle de reconnaissance de la structure des tableaux développé par l'équipe Vision de Baidu PaddlePaddle. Le modèle améliore considérablement la précision et la vitesse d'inférence de la reconnaissance de la structure des tableaux en adoptant un réseau backbone léger et compatible CPU, PP-LCNet, un module de fusion de caractéristiques de bas et haut niveau, CSP-PAN, et un module de décodage de caractéristiques, SLA Head, qui aligne les informations structurelles et positionnelles.

Utilisation

Inférence avec une seule entrée

L’exemple ci-dessous montre comment détecter du texte avec SLANet à l’aide de AutoModel.

AutoModel
from io import BytesIO

from huggingface_hub.utils import httpx
from PIL import Image

from transformers import AutoImageProcessor, AutoModelForTableRecognition


model_path="PaddlePaddle/SLANet_plus_safetensors"
model = AutoModelForTableRecognition.from_pretrained(model_path, device_map="auto")
image_processor = AutoImageProcessor.from_pretrained(model_path)

image = Image.open(BytesIO(httpx.get(image_url).content))
inputs = image_processor(images=image, return_tensors="pt").to(model.device)
outputs = model(**inputs)

results = image_processor.post_process_table_recognition(outputs)

print(result['structure'])
print(result['structure_score'])

SLANetConfig

classe transformers.SLANetConfig

< >

( 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 = Nonepost_conv_out_channels: int = 96out_channels: int = 50hidden_size: int = 256max_text_length: int = 500backbone_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonehidden_act: str = 'hardswish'csp_kernel_size: int = 5csp_num_blocks: int = 1 )

Paramètres

  • post_conv_out_channels (int, facultatif, valeur par défaut : 96) — Nombre de canaux de sortie pour la couche de convolution post-encodeur.
  • out_channels (int, facultatif, valeur par défaut : 50) — Taille du vocabulaire pour la tête de prédiction des jetons de structure de table, c'est-à-dire le nombre de jetons de structure distincts que le modèle peut prédire.
  • hidden_size (int, facultatif, par défaut 256) — Dimension des états cachés dans la cellule GRU d'attention et les têtes de prédiction de structure/emplacement.
  • max_text_length (int, facultatif, par défaut 500) — Nombre maximal d'étapes de décodage autorégressif (jetons) pour le décodeur de structure et de localisation.
  • backbone_config (Union[dict, ~configuration_utils.PreTrainedConfig], facultatif) — La configuration du modèle backbone.
  • 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.
  • csp_kernel_size (int, facultatif, valeur par défaut : 5) — Taille du noyau de la couche Cross Stage Partial (CSP).
  • csp_num_blocks (int, facultatif, valeur par défaut : 1) — Nombre de blocs au sein de la couche Cross Stage Partial (CSP).

Il s'agit de la classe de configuration permettant de stocker la configuration d'un SlanetModel. Elle est utilisée pour instancier un modèle Slanet en fonction des arguments spécifiés, en définissant l'architecture du modèle. L'instanciation d'une configuration avec les valeurs par défaut produira une configuration similaire à celle de PaddlePaddle/SLANet_plus_safetensors

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.

SLANetForTableRecognition

classe transformers.SLANetForTableRecognition

< >

( config: SLANetConfig )

Paramètres

  • config (SLANetConfig) — 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 reconnaissance de tableaux SLANet pour les tâches de reconnaissance de tableaux. Encapsule le modèle de base SLANetPreTrainedModel et renvoie des sorties compatibles avec l'API de reconnaissance de tableaux de Transformers.

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'> ) → SLANetForTableRecognitionOutput 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 SLANeXtImageProcessor. Voir SLANeXtImageProcessor.call() pour plus de détails (processor_class utilise SLANeXtImageProcessor pour le traitement des images).

Retourne

SLANetForTableRecognitionOutput ou tuple(torch.Tensor)

Un SLANetForTableRecognitionOutput 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 (SLANetConfig) et des entrées.

La méthode forward de SLANetForTableRecognition 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.

  • last_hidden_state (torch.Tensor de forme (batch_size, num_channels, height, width)) — Séquence d'états cachés à la sortie de la dernière couche du modèle.

  • 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, si le modèle possède une couche d’embedding, + un pour la sortie de chaque couche) de forme (batch_size, num_channels, height, width).

    États cachés du modèle à la sortie de chaque couche, ainsi que les sorties d'incorporation initiales facultatives.

  • head_hidden_states (tuple(torch.Tensor), facultatif, renvoyé lorsque output_hidden_states=True est passé ou lorsque config.output_hidden_states=True) — États cachés de SLANetSLAHead à chaque étape de prédiction, variant jusqu'à un maximum de self.config.max_text_length états (selon les sorties anticipées).

  • head_attentions (tuple(torch.Tensor), facultatif, renvoyé lorsque output_attentions=True est passé ou lorsque config.output_attentions=True) — Attentions de SLANetSLAHead à chaque étape de prédiction, variant jusqu'à un maximum de self.config.max_text_length attentions (selon les sorties anticipées).

SLANetBackbone

classe transformers.SLANetBackbone

< >

( config: SLANetConfig )

forward

< >

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

Paramètres

  • hidden_states (torch.Tensor) — entrée de la couche de forme `(batch, seq_len, embed_dim)`

Retourne

BaseModelOutputWithNoAttention ou tuple(torch.Tensor)

Un BaseModelOutputWithNoAttention 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 (SLANetConfig) et des entrées.

La méthode forward de SLANetBackbone 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.

  • last_hidden_state (torch.Tensor de forme (batch_size, num_channels, height, width)) — Séquence d'états cachés à la sortie de la dernière couche du modèle.

  • 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, si le modèle possède une couche d’embedding, + un pour la sortie de chaque couche) de forme (batch_size, num_channels, height, width).

    États cachés du modèle à la sortie de chaque couche, ainsi que les sorties d'incorporation initiales facultatives.

SLANetSLAHead

classe transformers.SLANetSLAHead

< >

( config: dict | None = None**kwargs )

Update on GitHub