Transformers documentation

SLANet

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Este modelo foi contribuído para o Hugging Face Transformers em 2026-04-22.

SLANet

Visão geral

SLANet e SLANet_plus fazem parte de uma série de modelos leves dedicados ao reconhecimento de estrutura de tabelas, com foco no reconhecimento preciso de estruturas de tabelas em documentos e cenas naturais. Para mais detalhes sobre o modelo da série SLANet, consulte a documentação oficial.

Arquitetura do Modelo

SLANet é um modelo de reconhecimento de estrutura de tabela desenvolvido pela Baidu PaddlePaddle Vision Team. O modelo melhora significativamente a precisão e a velocidade de inferência do reconhecimento de estrutura de tabela ao adotar uma rede backbone leve e compatível com CPU, a PP-LCNet, um módulo de fusão de recursos de alto e baixo nível, o CSP-PAN, e um módulo de decodificação de recursos, o SLA Head, que alinha informações estruturais e posicionais.

Uso

Inferência com entrada única

O exemplo abaixo demonstra como detectar texto com SLANet usando o 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 )

Parâmetros

  • post_conv_out_channels (int, opcional, padrão 96) — Número de canais de saída para a camada de convolução pós-encoder.
  • out_channels (int, opcional, padrão 50) — Tamanho do vocabulário para a cabeça de previsão de tokens de estrutura de tabela, ou seja, o número de tokens de estrutura distintos que o modelo pode prever.
  • hidden_size (int, opcional, padrão 256) — Dimensão dos estados ocultos na célula GRU de atenção e nas cabeças de previsão de estrutura/localização.
  • max_text_length (int, opcional, padrão 500) — Número máximo de etapas de decodificação autoregressiva (tokens) para o decodificador de estrutura e localização.
  • backbone_config (Union[dict, ~configuration_utils.PreTrainedConfig], opcional) — A configuração do modelo backbone.
  • 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.
  • csp_kernel_size (int, opcional, padrão 5) — O tamanho do kernel da camada Cross Stage Partial (CSP).
  • csp_num_blocks (int, opcional, padrão 1) — Número de blocos dentro da camada Cross Stage Partial (CSP).

Esta é a classe de configuração para armazenar a configuração de um SlanetModel. Ela é usada para instanciar um modelo Slanet 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/SLANet_plus_safetensors

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.

SLANetForTableRecognition

classe transformers.SLANetForTableRecognition

< >

( config: SLANetConfig )

Parâmetros

  • config (SLANetConfig) — 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 reconhecimento de tabelas SLANet para tarefas de reconhecimento de tabelas. Encapsula o núcleo SLANetPreTrainedModel e retorna saídas compatíveis com a API de reconhecimento de tabelas do Transformers.

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'> ) → SLANetForTableRecognitionOutput or tuple(torch.Tensor)

Parâmetros

Retorna

SLANetForTableRecognitionOutput ou tuple(torch.Tensor)

Um SLANetForTableRecognitionOutput 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 (SLANetConfig) e das entradas.

O método forward de SLANetForTableRecognition 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.

  • last_hidden_state (torch.Tensor de forma (batch_size, num_channels, height, width)) — Sequência de estados ocultos na saída da última camada do modelo.

  • 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, se o modelo tiver uma camada de embedding, + um para a saída de cada camada) de forma (batch_size, num_channels, height, width).

    Estados ocultos do modelo na saída de cada camada, além das saídas opcionais do embedding inicial.

  • head_hidden_states (tuple(torch.Tensor), opcional, retornado quando output_hidden_states=True é passado ou quando config.output_hidden_states=True) — Hidden-states do SLANetSLAHead em cada etapa de previsão, variando até no máximo self.config.max_text_length estados (dependendo dos encerramentos antecipados).

  • head_attentions (tuple(torch.Tensor), opcional, retornado quando output_attentions=True é passado ou quando config.output_attentions=True) — Atenções do SLANetSLAHead em cada etapa de previsão, variando até no máximo self.config.max_text_length atenções (dependendo das saídas antecipadas).

SLANetBackbone

classe transformers.SLANetBackbone

< >

( config: SLANetConfig )

forward

< >

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

Parâmetros

  • hidden_states (torch.Tensor) — entrada da camada com forma `(batch, seq_len, embed_dim)`

Retorna

BaseModelOutputWithNoAttention ou tuple(torch.Tensor)

Um BaseModelOutputWithNoAttention 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 (SLANetConfig) e das entradas.

O método forward de SLANetBackbone 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.

  • last_hidden_state (torch.Tensor de forma (batch_size, num_channels, height, width)) — Sequência de estados ocultos na saída da última camada do modelo.

  • 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, se o modelo tiver uma camada de embedding, + um para a saída de cada camada) de forma (batch_size, num_channels, height, width).

    Estados ocultos do modelo na saída de cada camada, além das saídas opcionais do embedding inicial.

SLANetSLAHead

classe transformers.SLANetSLAHead

< >

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

Update on GitHub