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

이 모델은 2026-04-22에 Hugging Face Transformers에 기여되었습니다.

SLANet

개요

SLANet과 SLANet_plus는 문서 및 자연 장면에서 표 구조를 정확하게 인식하는 데 초점을 맞춘 표 구조 인식 전용 경량 모델 시리즈의 일부입니다. SLANet 시리즈 모델에 대한 자세한 내용은 공식 문서를 참고하세요.

모델 아키텍처

SLANet은 Baidu PaddlePaddle Vision Team이 개발한 표 구조 인식 모델입니다. 이 모델은 CPU에 적합한 경량 백본 네트워크인 PP-LCNet, 고-저수준 특징 융합 모듈인 CSP-PAN, 그리고 구조 및 위치 정보를 정렬하는 특징 디코딩 모듈인 SLA Head를 채택하여 표 구조 인식의 정확도와 추론 속도를 크게 향상시킵니다.

사용

단일 입력 추론

아래 예제는 AutoModel을 사용하여 SLANet으로 텍스트를 감지하는 방법을 보여줍니다.

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

class 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 )

매개변수

  • post_conv_out_channels (int, 선택 사항, 기본값 96) — 인코더 후 컨볼루션 레이어의 출력 채널 수입니다.
  • out_channels (int, 선택 사항, 기본값 50) — 테이블 구조 토큰 예측 헤드의 어휘 크기, 즉 모델이 예측할 수 있는 서로 다른 구조 토큰의 수입니다.
  • hidden_size (int, 선택 사항, 기본값 256) — attention GRU 셀 및 구조/위치 예측 헤드에서 hidden states의 차원입니다.
  • max_text_length (int, 선택 사항, 기본값 500) — 구조 및 위치 디코더의 자기회귀 디코딩 단계(토큰) 최대 수입니다.
  • backbone_config (Union[dict, ~configuration_utils.PreTrainedConfig], 선택) — backbone 모델의 설정입니다.
  • hidden_act (str, 선택 사항, 기본값 hardswish) — 디코더에서 사용되는 비선형 활성화 함수(함수 또는 문자열)입니다. 예를 들어, "gelu", "relu", "silu" 등이 있습니다.
  • csp_kernel_size (int, 선택 사항, 기본값 5) — Cross Stage Partial (CSP) 레이어의 커널 크기입니다.
  • csp_num_blocks (int, 선택 사항, 기본값 1) — Cross Stage Partial(CSP) 레이어 안의 블록 수.

이것은 SlanetModel의 구성을 저장하기 위한 구성 클래스입니다. 지정된 인자에 따라 Slanet 모델을 인스턴스화하고 모델 아키텍처를 정의하는 데 사용됩니다. 기본값으로 구성을 인스턴스화하면 PaddlePaddle/SLANet_plus_safetensors와 유사한 구성이 생성됩니다.

Configuration 객체는 PreTrainedConfig를 상속하며 모델 출력을 제어하는 데 사용할 수 있습니다. 자세한 내용은 PreTrainedConfig의 문서를 참고하세요.

SLANetForTableRecognition

class transformers.SLANetForTableRecognition

< >

( config: SLANetConfig )

매개변수

  • config (SLANetConfig) — 모델의 모든 매개변수를 포함하는 모델 구성 클래스입니다. 구성 파일로 초기화하는 것은 모델과 연관된 가중치를 로드하지 않으며, 구성 정보만 로드합니다. 모델 가중치를 로드하려면 from_pretrained() 메서드를 확인하세요.

작업을 위한 SLANet Table Recognition 모델. SLANetPreTrainedModel 코어를 래핑하여 Transformers table recognition API와 호환되는 출력을 반환합니다.

이 모델은 PreTrainedModel에서 상속됩니다. 라이브러리가 모든 모델에 대해 구현하는 일반적 메서드(다운로드 또는 저장, 입력 임베딩 크기 조정, 헤드 프루닝 등)에 대한 세부 사항은 상위 클래스 문서를 확인하세요.

이 모델은 또한 PyTorch torch.nn.Module의 하위 클래스입니다. 일반적인 PyTorch Module처럼 사용하며, 일반적인 사용법 및 동작과 관련된 모든 사항은 PyTorch 문서를 참조하세요.

forward

< >

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

매개변수

  • pixel_values (torch.Tensor, shape (batch_size, num_channels, image_size, image_size)) — 입력 이미지에 해당하는 텐서입니다. 픽셀 값은 SLANeXtImageProcessor를 사용하여 얻을 수 있습니다. 자세한 내용은 SLANeXtImageProcessor.call()를 참조하세요 (processor_class는 이미지 처리에 SLANeXtImageProcessor를 사용합니다).

반환값

SLANetForTableRecognitionOutput 또는 tuple(torch.Tensor)

SLANetForTableRecognitionOutput 또는 torch.Tensor의 튜플(return_dict=False가 전달되었거나 config.return_dict=False인 경우)로, 구성(SLANetConfig)과 입력에 따라 다양한 요소를 포함합니다.

SLANetForTableRecognition의 forward 메서드는 __call__ 특수 메서드를 오버라이드합니다.

이 함수 내에서 forward pass의 레시피를 정의해야 하지만, 이후에는 이 함수 대신 Module 인스턴스를 호출해야 합니다. 전자는 전처리 및 후처리 단계를 실행하는 것을 처리하는 반면, 후자는 이를 조용히 무시하기 때문입니다.

  • last_hidden_state (torch.Tensor, shape (batch_size, num_channels, height, width)) — 모델의 마지막 레이어 출력에서 생성된 hidden-state 시퀀스입니다.

  • hidden_states (tuple(torch.Tensor), 선택 사항, output_hidden_states=True가 전달되거나 config.output_hidden_states=True인 경우 반환됨) — torch.Tensor의 튜플(모델에 임베딩 레이어가 있는 경우 임베딩의 출력에 대한 것 1개 + 각 레이어의 출력에 대한 것 1개)로, 모양은 (batch_size, num_channels, height, width)입니다.

    각 레이어의 출력에서 모델의 Hidden-states와 선택적 초기 임베딩 출력을 포함합니다.

  • head_hidden_states (tuple(torch.Tensor), 선택, output_hidden_states=True가 전달되었거나 config.output_hidden_states=True인 경우 반환됨) — 각 예측 단계에서 SLANetSLAHead의 hidden-states입니다. 조기 종료(early exit)에 따라 최대 self.config.max_text_length개의 state까지 달라질 수 있습니다.

  • head_attentions (tuple(torch.Tensor), 선택, output_attentions=True가 전달되었거나 config.output_attentions=True인 경우 반환됨) — 각 예측 단계에서 SLANetSLAHead의 attention 값입니다. 조기 종료(early exit)에 따라 최대 self.config.max_text_length개의 attention 값까지 달라질 수 있습니다.

SLANetBackbone

class transformers.SLANetBackbone

< >

( config: SLANetConfig )

forward

< >

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

매개변수

  • hidden_states (torch.Tensor) — `(batch, seq_len, embed_dim)` 모양의 레이어 입력

반환값

BaseModelOutputWithNoAttention 또는 tuple(torch.Tensor)

BaseModelOutputWithNoAttention 또는 torch.Tensor의 튜플(return_dict=False가 전달되었거나 config.return_dict=False인 경우)로, 구성(SLANetConfig)과 입력에 따라 다양한 요소를 포함합니다.

SLANetBackbone의 forward 메서드는 __call__ 특수 메서드를 오버라이드합니다.

이 함수 내에서 forward pass의 레시피를 정의해야 하지만, 이후에는 이 함수 대신 Module 인스턴스를 호출해야 합니다. 전자는 전처리 및 후처리 단계를 실행하는 것을 처리하는 반면, 후자는 이를 조용히 무시하기 때문입니다.

  • last_hidden_state (torch.Tensor, shape (batch_size, num_channels, height, width)) — 모델의 마지막 레이어 출력에서 생성된 hidden-state 시퀀스입니다.

  • hidden_states (tuple(torch.Tensor), 선택 사항, output_hidden_states=True가 전달되거나 config.output_hidden_states=True인 경우 반환됨) — torch.Tensor의 튜플(모델에 임베딩 레이어가 있는 경우 임베딩의 출력에 대한 것 1개 + 각 레이어의 출력에 대한 것 1개)로, 모양은 (batch_size, num_channels, height, width)입니다.

    각 레이어의 출력에서 모델의 Hidden-states와 선택적 초기 임베딩 출력을 포함합니다.

SLANetSLAHead

class transformers.SLANetSLAHead

< >

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

Update on GitHub