Transformers documentation

SLANeXt

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 fue aportado a Hugging Face Transformers el 2026-03-21.

SLANeXt

Resumen

SLANeXt_wired y SLANeXt_wireless forman parte de una serie de modelos ligeros dedicados al reconocimiento de la estructura de tablas, centrados en reconocer con precisión la estructura de las tablas en documentos y escenas naturales. Para más detalles sobre el modelo de la serie SLANeXt, consulte la documentación oficial.

Arquitectura del modelo

La serie SLANeXt es una nueva generación de modelos de reconocimiento de estructura de tablas desarrollados de forma independiente por el equipo de visión de Baidu PaddlePaddle. SLANeXt se centra en el reconocimiento de la estructura de tablas y entrena pesos dedicados para tablas con y sin bordes por separado. La capacidad de reconocimiento para todos los tipos de tablas ha mejorado significativamente, especialmente para las tablas con bordes.

Uso

Inferencia con una sola entrada

El siguiente ejemplo demuestra cómo detectar texto con PP-OCRV5_Mobile_Det usando AutoModel.

AutoModel
import requests
from PIL import Image

from transformers import AutoImageProcessor, AutoModelForTableRecognition


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

image = Image.open(requests.get("https://huggingface.co/datasets/hf-internal-testing/transformers-synthetic-assets/resolve/main/images/paddle_table_recognition.jpg", stream=True).raw)
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'])

SLANeXtConfig

clase transformers.SLANeXtConfig

< >

( 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 = Nonevision_config: dict | transformers.models.slanext.configuration_slanext.SLANeXtVisionConfig | None = Nonepost_conv_in_channels: int = 256post_conv_out_channels: int = 512out_channels: int = 50hidden_size: int = 512max_text_length: int = 500 )

Parámetros

  • vision_config (dict o SLANeXtVisionConfig, opcional) — Configuración del codificador de visión. Si es None, se utiliza un SLANeXtVisionConfig predeterminado.
  • post_conv_in_channels (int, opcional, valor predeterminado 256) — Número de canales de entrada para la capa de convolución posterior al codificador.
  • post_conv_out_channels (int, opcional, valor predeterminado 512) — Número de canales de salida para la capa de convolución posterior al codificador.
  • out_channels (int, opcional, valor predeterminado 50) — Tamaño del vocabulario para la cabeza de predicción de tokens de estructura de tabla, es decir, el número de tokens de estructura distintos que el modelo puede predecir.
  • hidden_size (int, opcional, valor predeterminado 512) — Dimensionalidad de los estados ocultos en la celda GRU de atención y en las cabezas de predicción de estructura/ubicación.
  • max_text_length (int, opcional, valor predeterminado 500) — Número máximo de pasos de decodificación autoregresiva (tokens) para el decodificador de estructura y ubicación.

Esta es la clase de configuración para almacenar la configuración de un SlanextModel. Se utiliza para instanciar un modelo Slanext 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/SLANeXt_wired_safetensors

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.

SLANeXtVisionConfig

clase transformers.SLANeXtVisionConfig

< >

( 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 = Nonehidden_size: int = 768output_channels: int = 256num_hidden_layers: int = 12num_attention_heads: int = 12num_channels: int = 3image_size: int = 512patch_size: int | list[int] | tuple[int, int] = 16hidden_act: str = 'gelu'layer_norm_eps: float = 1e-06attention_dropout: float | int = 0.0initializer_range: float = 1e-10qkv_bias: bool = Trueuse_abs_pos: bool = Trueuse_rel_pos: bool = Truewindow_size: int = 14global_attn_indexes: list[int] | tuple[int, ...] = (2, 5, 8, 11)mlp_dim: int = 3072 )

Parámetros

  • hidden_size (int, opcional, valor predeterminado 768) — Dimensión de las representaciones ocultas.
  • output_channels (int, opcional, valor predeterminado 256) — Dimensionalidad de los canales de salida en el Patch Encoder.
  • num_hidden_layers (int, opcional, valor predeterminado 12) — Número de capas ocultas en el decodificador del Transformer.
  • num_attention_heads (int, opcional, valor predeterminado 12) — Número de cabezas de atención para cada capa de atención en el decodificador Transformer.
  • num_channels (int, opcional, valor predeterminado 3) — El número de canales de entrada.
  • image_size (int, opcional, valor predeterminado 512) — El tamaño (resolución) de cada imagen.
  • patch_size (Union[int, list[int], tuple[int, int]], opcional, valor predeterminado 16) — El tamaño (resolución) de cada parche.
  • hidden_act (str, opcional, valor predeterminado gelu) — La función de activación no lineal (función o cadena) en el decodificador. Por ejemplo, "gelu", "relu", "silu", etc.
  • layer_norm_eps (float, opcional, valor predeterminado 1e-06) — La epsilon utilizada por las capas de normalización de capa.
  • attention_dropout (Union[float, int], opcional, valor predeterminado 0.0) — La proporción de dropout para las probabilidades de atención.
  • initializer_range (float, opcional, valor predeterminado 1e-10) — La desviación estándar del truncated_normal_initializer para inicializar todas las matrices de pesos.
  • qkv_bias (bool, opcional, valor predeterminado True) — Si se debe añadir un sesgo a las consultas, claves y valores.
  • use_abs_pos (bool, opcional, valor predeterminado True) — Si se debe usar la incrustación de posición absoluta.
  • use_rel_pos (bool, opcional, valor predeterminado True) — Si se debe usar la incrustación de posición relativa.
  • window_size (int, opcional, valor predeterminado 14) — Tamaño de la ventana para la posición relativa.
  • global_attn_indexes (list[int], opcional, por defecto [2, 5, 8, 11]) — Los índices de las capas de atención global.
  • mlp_dim (int, opcional, valor predeterminado 3072) — La dimensionalidad de la capa MLP en el codificador Transformer.

Esta es la clase de configuración para almacenar la configuración de un SlanextModel. Se utiliza para instanciar un modelo Slanext 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/SLANeXt_wired_safetensors

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.

SLANeXtForTableRecognition

clase transformers.SLANeXtForTableRecognition

< >

( config: SLANeXtConfig )

Parámetros

  • config (SLANeXtConfig) — 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 de reconocimiento de tablas SLANeXt para tareas de reconocimiento de tablas. Envuelve el núcleo SLANeXtPreTrainedModel y devuelve salidas compatibles con la API de reconocimiento de tablas de Transformers.

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

< >

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

Parámetros

  • pixel_values (torch.Tensor de 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 utilizando SLANeXtImageProcessor. Consulte SLANeXtImageProcessor.call() para más detalles (processor_class utiliza SLANeXtImageProcessor para procesar las imágenes).

Devuelve

SLANeXtForTableRecognitionOutput o tuple(torch.Tensor)

Un SLANeXtForTableRecognitionOutput 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 (SLANeXtConfig) y las entradas.

El método forward de SLANeXtForTableRecognition 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 Module despué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.

  • last_hidden_state (torch.Tensor de forma (batch_size, sequence_length, hidden_size)) — Secuencia de estados ocultos en la salida de la última capa del modelo.

  • hidden_states (tuple(torch.Tensor), opcional, devuelto cuando se pasa output_hidden_states=True o cuando config.output_hidden_states=True) — Tupla de torch.Tensor (una para la salida de las incrustaciones, si el modelo tiene una capa de incrustaciones, + una para la salida de cada capa) de forma (batch_size, sequence_length, hidden_size).

    Estados ocultos del modelo en la salida de cada capa más las salidas opcionales de la incrustación inicial.

  • attentions (tuple(torch.Tensor), opcional, se devuelve cuando se pasa output_attentions=True o cuando config.output_attentions=True) — Tupla de torch.Tensor (una por cada capa) de forma (batch_size, num_heads, sequence_length, sequence_length).

    Pesos de atención tras el softmax de atención, utilizados para calcular la media ponderada en las cabezas de autoatención.

  • head_hidden_states (tuple(torch.Tensor), opcional, se devuelve cuando se pasa output_hidden_states=True o cuando config.output_hidden_states=True) — Estados ocultos de SLANeXtSLAHead en cada paso de predicción, varía hasta un máximo de self.config.max_text_length estados (dependiendo de las salidas anticipadas).

  • head_attentions (tuple(torch.Tensor), opcional, se devuelve cuando se pasa output_attentions=True o cuando config.output_attentions=True) — Atenciones de SLANeXtSLAHead en cada paso de predicción, varía hasta un máximo de self.config.max_text_length atenciones (dependiendo de las salidas anticipadas).

SLANeXtBackbone

clase transformers.SLANeXtBackbone

< >

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

SLANeXtSLAHead

clase transformers.SLANeXtSLAHead

< >

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

SLANeXtImageProcessor

clase transformers.SLANeXtImageProcessor

< >

( **kwargs: *<class 'transformers.processing_utils.ImagesKwargs'> )

Parámetros

  • do_convert_rgb (bool, kwargs, opcional, valor predeterminado True) — Si se debe convertir la imagen a RGB.
  • do_resize (bool, kwargs, opcional, valor predeterminado True) — Si se debe redimensionar la imagen.
  • size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs, por defecto {'height' -- 512, 'width': 512}): Describe las dimensiones de entrada máximas para el modelo.
  • default_to_square (bool, kwargs, opcional, valor predeterminado True) — Si se debe usar una imagen cuadrada por defecto al redimensionar, si size es un int.
  • crop_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Tamaño de la imagen de salida tras aplicar center_crop.
  • resample (Annotated[Union[int, PILImageResampling, NoneType], None], kwargs, por defecto 2) — Filtro de remuestreo a utilizar si se redimensiona la imagen. Puede ser uno de los valores de la enumeración PILImageResampling. Solo tiene efecto si do_resize está establecido en True.
  • do_rescale (bool, kwargs, opcional, valor predeterminado True) — Si se debe reescalar la imagen.
  • rescale_factor (float, kwargs, opcional, valor predeterminado 0.00392156862745098) — Factor de reescalado para reescalar la imagen si do_rescale está establecido en True.
  • do_normalize (bool, kwargs, opcional, valor predeterminado True) — Si se debe normalizar la imagen.
  • image_mean (Union[float, list[float], tuple[float, ...]], kwargs, opcional, valor predeterminado [0.485, 0.456, 0.406]) — Media de la imagen a utilizar para la normalización. Solo tiene efecto si do_normalize está establecido en True.
  • image_std (Union[float, list[float], tuple[float, ...]], kwargs, opcional, valor predeterminado [0.229, 0.224, 0.225]) — Desviación estándar de la imagen a utilizar para la normalización. Solo tiene efecto si do_normalize está establecido en True.
  • do_pad (bool, kwargs, opcional, valor predeterminado True) — Indica si se debe aplicar relleno a la imagen. El relleno se realiza hasta el tamaño más grande del lote o hasta un tamaño cuadrado fijo por imagen. La estrategia exacta de relleno depende del modelo.
  • pad_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs, por defecto {'height' -- 512, 'width': 512}): El tamaño en {"height": int, "width" int} al que rellenar las imágenes. Debe ser mayor que cualquier tamaño de imagen proporcionado para el preprocesamiento. Si no se proporciona pad_size, las imágenes se rellenarán hasta la mayor altura y anchura del lote. Se aplica solo cuando do_pad=True.
  • do_center_crop (bool, kwargs, opcional) — Si se debe recortar la imagen centrada.
  • data_format (Union[str, ~image_utils.ChannelDimension], kwargs, opcional) — Solo se admite ChannelDimension.FIRST. Se añadió para garantizar la compatibilidad con los procesadores lentos.
  • input_data_format (Union[str, ~image_utils.ChannelDimension], kwargs, opcional) — El formato de la dimensión de canales para la imagen de entrada. Si no se establece, el formato de la dimensión de canales se infiere a partir de la imagen de entrada. Puede ser uno de:
    • "channels_first" o ChannelDimension.FIRST: imagen en formato (num_channels, height, width).
    • "channels_last" o ChannelDimension.LAST: imagen en formato (altura, ancho, num_canales).
    • "none" o ChannelDimension.NONE: imagen en formato (altura, ancho).
  • device (Annotated[Union[str, torch.device, NoneType], None], kwargs) — El dispositivo en el que se procesarán los videos. Si no se establece, el dispositivo se infiere a partir de los videos de entrada.
  • return_tensors (Annotated[str | ~utils.generic.TensorType | None, None], kwargs) — Devuelve tensores apilados si se establece en 'pt'; en caso contrario, devuelve una lista de tensores.
  • disable_grouping (bool, kwargs, opcional) — Si se debe deshabilitar el agrupamiento de imágenes por tamaño para procesarlas de forma individual y no en lotes. Si es None, se establecerá en True si las imágenes están en CPU, y en False en caso contrario. Esta elección se basa en observaciones empíricas, como se detalla aquí: https://github.com/huggingface/transformers/pull/38157
  • image_seq_length (int, kwargs, opcional) — El número de tokens de imagen que se utilizarán para cada imagen en la entrada. Añadido por compatibilidad con versiones anteriores, pero en futuros modelos debería establecerse como un atributo del procesador.

Construye un procesador de imágenes SLANeXtImageProcessor.

init_decoder

< >

( )

Inicialice el vocabulario del decodificador para el reconocimiento de la estructura de la tabla.

Construye un diccionario de caracteres que asigna a los tokens de estructura de tablas HTML (p. ej., <thead>, <tr>, <td>, atributos colspan/ rowspan) índices enteros. El diccionario incluye los tokens especiales "sos" (inicio de secuencia) y "eos" (fin de secuencia). Se utilizan tokens <td></td> fusionados en lugar de tokens <td> independientes cuando sea aplicable.

post_process_table_recognition

< >

( outputs ) → dict

Parámetros

  • outputs (SLANeXtForTableRecognitionOutput) — Salidas sin procesar del modelo SLANeXt. El campo last_hidden_state contiene las distribuciones de probabilidad predichas sobre el vocabulario de estructura en cada paso de decodificación, con forma (batch_size, max_text_length, num_classes).

Devuelve

dict

Un diccionario que contiene:

  • estructura (list[str]): La estructura de la tabla HTML predicha como una lista de tokens, envuelta con las etiquetas <html>, <body> y <table>.
  • structure_score (float): Puntuación media de confianza en todos los tokens predichos.

Post-procesar las salidas crudas del modelo para decodificar la estructura de tabla predicha en una secuencia de tokens HTML.

Convierte las distribuciones de probabilidad predichas por el modelo sobre el vocabulario de estructura en una secuencia de tokens HTML que representan la estructura de la tabla. Los tokens decodificados se envuelven con las etiquetas <html>, <body> y <table> para formar una estructura de tabla HTML completa.

Update on GitHub