Transformers documentation

SLANeXt

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Эта модель была добавлена в Hugging Face Transformers 21.03.2026.

SLANeXt

Обзор

SLANeXt_wired и SLANeXt_wireless входят в серию специализированных лёгких моделей для распознавания структуры таблиц, ориентированных на точное определение структуры таблиц в документах и естественных сценах. Дополнительные сведения о серии моделей SLANeXt приведены в официальной документации.

Архитектура модели

Серия SLANeXt представляет собой новое поколение моделей распознавания структуры таблиц, разработанных командой Baidu PaddlePaddle Vision Team. SLANeXt ориентирована на распознавание структуры таблиц и обучает отдельные веса для таблиц с рамками и без рамок. Способность распознавать все типы таблиц была значительно улучшена, особенно для таблиц с рамками.

Использование

Вывод для одного входа

Приведённый ниже пример показывает, как обнаруживать текст с помощью PP-OCRV5_Mobile_Det, используя 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

класс 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 )

Параметры

  • vision_config (dict или SLANeXtVisionConfig, optional) — Конфигурация для визуального энкодера. Если None, используется конфигурация SLANeXtVisionConfig по умолчанию.
  • post_conv_in_channels (int, необязательный, по умолчанию 256) — Количество входных каналов для свёрточного слоя после энкодера.
  • post_conv_out_channels (int, необязательный, по умолчанию 512) — Количество выходных каналов для свёрточного слоя после энкодера.
  • out_channels (int, необязательный, по умолчанию 50) — Размер словаря для головы предсказания токенов структуры таблицы, то есть количество различных токенов структуры, которые может предсказать модель.
  • hidden_size (int, необязательный, по умолчанию 512) — Размерность скрытых состояний в ячейке attention GRU и в головах предсказания структуры/локализации.
  • max_text_length (int, необязательный, по умолчанию 500) — Максимальное количество шагов авторегрессионного декодирования (токенов) для декодера структуры и расположения.

Это класс конфигурации для хранения настроек модели SlanextModel. Он используется для создания экземпляра модели Slanext в соответствии с указанными аргументами, определяя архитектуру модели. Создание конфигурации с параметрами по умолчанию даст конфигурацию, аналогичную конфигурации PaddlePaddle/SLANeXt_wired_safetensors

Объекты конфигурации наследуются от PreTrainedConfig и могут использоваться для управления выводами модели. Подробнее читайте в документации PreTrainedConfig.

SLANeXtVisionConfig

класс 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 )

Параметры

  • hidden_size (int, необязательный, по умолчанию 768) — Размерность скрытых представлений.
  • output_channels (int, необязательный, по умолчанию 256) — Размерность выходных каналов в Patch Encoder.
  • num_hidden_layers (int, необязательный, по умолчанию 12) — Количество скрытых слоев в декодере Transformer.
  • num_attention_heads (int, необязательный, по умолчанию 12) — Количество головок внимания в каждом слое внимания декодера Transformer.
  • num_channels (int, необязательный, по умолчанию 3) — Количество входных каналов.
  • image_size (int, необязательный, по умолчанию 512) — Размер (разрешение) каждого изображения.
  • patch_size (Union[int, list[int], tuple[int, int]], необязательный, по умолчанию 16) — Размер (разрешение) каждого патча.
  • hidden_act (str, необязательный, по умолчанию gelu) — Нелинейная функция активации (функция или строка) в декодере. Например, "gelu", "relu", "silu" и т. д.
  • layer_norm_eps (float, необязательный, по умолчанию 1e-06) — Значение epsilon, используемое слоями нормализации.
  • attention_dropout (Union[float, int], необязательный, по умолчанию 0.0) — Коэффициент dropout для вероятностей внимания.
  • initializer_range (float, необязательный, по умолчанию 1e-10) — Стандартное отклонение truncated_normal_initializer для инициализации всех матриц весов.
  • qkv_bias (bool, необязательный, по умолчанию True) — Добавлять ли смещение к запросам, ключам и значениям.
  • use_abs_pos (bool, необязательный, по умолчанию True) — Использовать ли абсолютное позиционное встраивание.
  • use_rel_pos (bool, необязательный, по умолчанию True) — Использовать ли относительное встраивание позиций.
  • window_size (int, необязательный, по умолчанию 14) — Размер окна для относительного позиционирования.
  • global_attn_indexes (list[int], необязательный, по умолчанию [2, 5, 8, 11]) — Индексы слоёв глобального внимания.
  • mlp_dim (int, необязательный, по умолчанию 3072) — Размерность слоя MLP в кодере Transformer.

Это класс конфигурации для хранения настроек модели SlanextModel. Он используется для создания экземпляра модели Slanext в соответствии с указанными аргументами, определяя архитектуру модели. Создание конфигурации с параметрами по умолчанию даст конфигурацию, аналогичную конфигурации PaddlePaddle/SLANeXt_wired_safetensors

Объекты конфигурации наследуются от PreTrainedConfig и могут использоваться для управления выводами модели. Подробнее читайте в документации PreTrainedConfig.

SLANeXtForTableRecognition

класс transformers.SLANeXtForTableRecognition

< >

( config: SLANeXtConfig )

Параметры

  • config (SLANeXtConfig) — Класс конфигурации модели, содержащий все параметры модели. Инициализация по файлу конфигурации не загружает веса, связанные с моделью, а только конфигурацию. Чтобы загрузить веса модели, используйте метод from_pretrained().

Модель SLANeXt Table Recognition для задач распознавания таблиц. Оборачивает базовую модель SLANeXtPreTrainedModel и возвращает выходные данные, совместимые с API распознавания таблиц в Transformers.

Эта модель наследуется от PreTrainedModel. См. документацию родительского класса для общих методов, которые библиотека реализует для всех своих моделей (например, загрузка или сохранение, изменение размера входных эмбеддингов, обрезка голов и т. д.)

Эта модель также является подклассом torch.nn.Module в PyTorch. Используйте её как обычный модуль PyTorch и обращайтесь к документации PyTorch по всем вопросам, связанным с общим использованием и поведением.

forward

< >

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

Параметры

  • pixel_values (torch.Tensor формы (batch_size, num_channels, image_size, image_size)) — Тензоры, соответствующие входным изображениям. Значения пикселей можно получить с помощью SLANeXtImageProcessor. Подробности см. в SLANeXtImageProcessor.call() (processor_class использует SLANeXtImageProcessor для обработки изображений).

Возвращает

SLANeXtForTableRecognitionOutput или tuple(torch.Tensor)

SLANeXtForTableRecognitionOutput или кортеж из torch.Tensor (если передано return_dict=False или если config.return_dict=False), содержащий различные элементы в зависимости от конфигурации (SLANeXtConfig) и входных данных.

Метод forward класса SLANeXtForTableRecognition переопределяет специальный метод __call__.

Хотя рецепт для прямого прохода должен быть определён внутри этой функции, после этого следует вызывать экземпляр Module, а не эту функцию, поскольку первый вариант обеспечивает выполнение шагов предварительной и последующей обработки, тогда как второй молча их игнорирует.

  • last_hidden_state (torch.Tensor формы (batch_size, sequence_length, hidden_size)) — Последовательность скрытых состояний на выходе последнего слоя модели.

  • hidden_states (tuple(torch.Tensor), optional, возвращается, если передано output_hidden_states=True или если config.output_hidden_states=True) — кортеж из torch.Tensor (один для вывода слоя встраиваний, если модель имеет слой встраиваний, + один для вывода каждого слоя) формы (batch_size, sequence_length, hidden_size).

    Скрытые состояния модели на выходе каждого слоя, а также необязательные выходные значения начального слоя встраивания.

  • attentions (tuple(torch.Tensor), необязательный, возвращается при передаче output_attentions=True или при config.output_attentions=True) — Кортеж torch.Tensor (по одному на каждый слой) формы (batch_size, num_heads, sequence_length, sequence_length).

    Веса внимания после softmax в механизме внимания, используемые для вычисления взвешенного среднего в головах само-внимания.

  • head_hidden_states (tuple(torch.Tensor), необязательный, возвращается при передаче output_hidden_states=True или при config.output_hidden_states=True) — Скрытые состояния SLANeXtSLAHead на каждом шаге предсказания, количество которых варьируется до self.config.max_text_length состояний (в зависимости от ранних выходов).

  • head_attentions (tuple(torch.Tensor), необязательный, возвращается при передаче output_attentions=True или при config.output_attentions=True) — Веса внимания SLANeXtSLAHead на каждом шаге предсказания, количество которых варьируется до self.config.max_text_length (в зависимости от ранних выходов).

SLANeXtBackbone

класс transformers.SLANeXtBackbone

< >

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

SLANeXtSLAHead

класс transformers.SLANeXtSLAHead

< >

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

SLANeXtImageProcessor

класс transformers.SLANeXtImageProcessor

< >

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

Параметры

  • do_convert_rgb (bool, kwargs, optional, по умолчанию True) — Следует ли преобразовать изображение в RGB.
  • do_resize (bool, kwargs, optional, по умолчанию True) — Указывает, нужно ли изменять размер изображения.
  • size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs, по умолчанию {'height' -- 512, 'width': 512}): Определяет максимальные размеры входных данных для модели.
  • default_to_square (bool, kwargs, optional, по умолчанию True) — Определяет, следует ли по умолчанию использовать квадратное изображение при изменении размера, если size задано как int.
  • crop_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Размер выходного изображения после применения center_crop.
  • resample (Annotated[Union[int, PILImageResampling, NoneType], None], kwargs, по умолчанию 2) — Фильтр ресемплинга, используемый при изменении размера изображения. Может быть одним из значений перечисления PILImageResampling. Влияет только в том случае, если do_resize установлено в True.
  • do_rescale (bool, kwargs, optional, по умолчанию True) — Указывает, следует ли выполнять рескейлинг изображения.
  • rescale_factor (float, kwargs, optional, по умолчанию 0.00392156862745098) — Коэффициент масштабирования, применяемый к изображению, если do_rescale установлен в True.
  • do_normalize (bool, kwargs, optional, по умолчанию True) — Указывает, следует ли нормализовать изображение.
  • image_mean (Union[float, list[float], tuple[float, ...]], kwargs, optional, по умолчанию [0.485, 0.456, 0.406]) — Среднее значение изображения, используемое для нормализации. Влияет только в том случае, если do_normalize установлено в True.
  • image_std (Union[float, list[float], tuple[float, ...]], kwargs, optional, по умолчанию [0.229, 0.224, 0.225]) — Стандартное отклонение изображения, используемое для нормализации. Влияет только в том случае, если do_normalize установлено в True.
  • do_pad (bool, kwargs, optional, по умолчанию True) — Указывает, нужно ли выравнивать изображение. Выравнивание выполняется либо до максимального размера в батче, либо до фиксированного квадратного размера для каждого изображения. Конкретная стратегия выравнивания зависит от модели.
  • pad_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs, по умолчанию {'height' -- 512, 'width': 512}): Размер в формате {"height": int, "width" int}, до которого следует дополнить изображения. Должен быть больше любого размера изображения, предоставленного для предобработки. Если pad_size не указан, изображения будут дополнены до наибольшей высоты и ширины в батче. Применяется только при do_pad=True.
  • do_center_crop (bool, kwargs, optional) — Выполнять ли центрированную обрезку изображения.
  • data_format (Union[str, ~image_utils.ChannelDimension], kwargs, optional) — Поддерживается только ChannelDimension.FIRST. Добавлено для совместимости с медленными процессорами.
  • input_data_format (Union[str, ~image_utils.ChannelDimension], kwargs, необязательный) — Формат размерности каналов для входного изображения. Если не задан, формат размерности каналов выводится из входного изображения. Может быть одним из:
    • "channels_first" или ChannelDimension.FIRST: изображение в формате (num_channels, height, width).
    • "channels_last" или ChannelDimension.LAST: изображение в формате (высота, ширина, число каналов).
    • "none" или ChannelDimension.NONE: изображение в формате (height, width).
  • device (Annotated[Union[str, torch.device, NoneType], None], kwargs) — Устройство, на котором будут обрабатываться видео. Если не задано, устройство определяется на основе входных видео.
  • return_tensors (Annotated[str | ~utils.generic.TensorType | None, None], kwargs) — Возвращает стопку тензоров, если установлено значение 'pt', иначе возвращает список тензоров.
  • disable_grouping (bool, kwargs, optional) — Определяет, следует ли отключить группировку изображений по размеру для их индивидуальной обработки, а не пачками. Если значение равно None, оно будет установлено в True, если изображения находятся на CPU, и в False в противном случае. Этот выбор основан на эмпирических наблюдениях, описанных здесь: https://github.com/huggingface/transformers/pull/38157
  • image_seq_length (int, kwargs, optional) — Количество токенов изображения, используемых для каждого изображения во входных данных. Добавлено для обратной совместимости, но в будущих моделях это значение следует задавать как атрибут процессора.

Создает процессор изображений SLANeXtImageProcessor.

init_decoder

< >

( )

Инициализируйте словарь декодера для распознавания структуры таблицы.

Создаёт словарь символов, сопоставляющий токены структуры HTML-таблицы (например, <thead>, <tr>, <td>, атрибуты colspan/ rowspan) целочисленным индексам. В словарь входят специальные токены "sos" (начало последовательности) и "eos" (конец последовательности). Слитные токены <td></td> используются вместо отдельных токенов <td>, когда это уместно.

post_process_table_recognition

< >

( outputs ) → dict

Параметры

  • outputs (SLANeXtForTableRecognitionOutput) — Сырые выходные данные модели SLANeXt. Поле last_hidden_state содержит предсказанные распределения вероятностей по словарю структур на каждом шаге декодирования, с формой (batch_size, max_text_length, num_classes).

Возвращает

dict

Словарь, содержащий:

  • structure (list[str]): Предсказанная структура HTML-таблицы в виде списка токенов, обёрнутая в теги <html>, <body> и <table>.
  • structure_score (float): Средний показатель уверенности по всем предсказанным токенам.

После получения сырых выходов модели декодируйте предсказанную структуру таблицы в последовательность HTML-токенов.

Преобразует предсказанные моделью распределения вероятностей по словарю структур в последовательность токенов HTML, представляющих структуру таблицы. Декодированные токены оборачиваются в теги <html>, <body> и <table>, чтобы сформировать полную структуру таблицы HTML.

Update on GitHub