Transformers documentation
SLANet
이 모델은 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으로 텍스트를 감지하는 방법을 보여줍니다.
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
< source >( 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
< source >( config: SLANetConfig )
매개변수
- config (SLANetConfig) — 모델의 모든 매개변수를 포함하는 모델 구성 클래스입니다. 구성 파일로 초기화하는 것은 모델과 연관된 가중치를 로드하지 않으며, 구성 정보만 로드합니다. 모델 가중치를 로드하려면 from_pretrained() 메서드를 확인하세요.
작업을 위한 SLANet Table Recognition 모델. SLANetPreTrainedModel 코어를 래핑하여 Transformers table recognition API와 호환되는 출력을 반환합니다.
이 모델은 PreTrainedModel에서 상속됩니다. 라이브러리가 모든 모델에 대해 구현하는 일반적 메서드(다운로드 또는 저장, 입력 임베딩 크기 조정, 헤드 프루닝 등)에 대한 세부 사항은 상위 클래스 문서를 확인하세요.
이 모델은 또한 PyTorch torch.nn.Module의 하위 클래스입니다. 일반적인 PyTorch Module처럼 사용하며, 일반적인 사용법 및 동작과 관련된 모든 사항은 PyTorch 문서를 참조하세요.
forward
< source >( 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
forward
< source >( 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와 선택적 초기 임베딩 출력을 포함합니다.