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

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