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年4月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

クラス 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 セルおよび構造/位置予測ヘッドにおける隠れ状態の次元数。
  • max_text_length (int、任意、デフォルト値は 500) — 構造および位置デコーダーにおける自己回帰デコーディングの最大ステップ数(トークン数)。
  • backbone_config (Union[dict, ~configuration_utils.PreTrainedConfig], 任意) — バックボーンモデルの設定です。
  • 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 と同様の設定が得られます。

設定オブジェクトは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: FloatTensor**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → SLANetForTableRecognitionOutput or tuple(torch.FloatTensor)

パラメータ

  • pixel_values (torch.FloatTensor、shape (batch_size, num_channels, image_size, image_size)) — 入力画像に対応するテンソルです。ピクセル値はSLANeXtImageProcessorを使用して取得できます。詳細はSLANeXtImageProcessor.call()を参照してください(processor_classは画像の処理にSLANeXtImageProcessorを使用します)。

戻り値

SLANetForTableRecognitionOutput または tuple(torch.FloatTensor)

SLANetForTableRecognitionOutput、またはtorch.FloatTensorのタプル(return_dict=Falseが渡された場合、またはconfig.return_dict=Falseの場合)。設定(SLANetConfig)と入力に応じて、さまざまな要素で構成されます。

SLANetForTableRecognitionのforwardメソッドは、__call__特殊メソッドをオーバーライドします。

この関数内でフォワードパスの手順を定義する必要がありますが、その後、この関数ではなくModuleインスタンスを呼び出すべきです。前者は前処理と後処理の実行を適切に処理するのに対し、後者はそれらを黙って無視するためです。

  • last_hidden_state (torch.FloatTensor、shape (batch_size, num_channels, height, width)) — モデルの最終層の出力における隠れ状態のシーケンス。

  • hidden_states (tuple(torch.FloatTensor)、optional、output_hidden_states=True が渡された場合または config.output_hidden_states=True の場合に返される) — torch.FloatTensor のタプル(埋め込み層を持つモデルの場合、埋め込みの出力が 1 つ、各層の出力がそれぞれ 1 つずつ)で、形状は (batch_size, num_channels, height, width) です。

    各層の出力におけるモデルのHidden-states、および任意の初期埋め込み出力。

  • head_hidden_states (tuple(torch.FloatTensor)、optional、output_hidden_states=True が渡された場合または config.output_hidden_states=True の場合に返されます)— 各予測ステップにおける SLANetSLAHead の隠れ状態。早期終了に依存して、最大 self.config.max_text_length 個の状態まで変化します。

  • head_attentions (tuple(torch.FloatTensor)、optional、output_attentions=True が渡された場合または config.output_attentions=True の場合に返されます) — 各予測ステップにおける SLANetSLAHead のアテンション。早期終了に依存して、最大 self.config.max_text_length 個のアテンションまで変化します。

SLANetBackbone

class transformers.SLANetBackbone

< >

( config: SLANetConfig )

forward

< >

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

パラメータ

  • hidden_states (torch.FloatTensor) — 形状が `(batch, seq_len, embed_dim)` のレイヤーへの入力

戻り値

BaseModelOutputWithNoAttention または tuple(torch.FloatTensor)

BaseModelOutputWithNoAttention または、return_dict=False が渡された場合、または config.return_dict=False の場合、torch.FloatTensor のタプル。設定(SLANetConfig)や入力に応じて、さまざまな要素で構成されます。

SLANetBackboneのforwardメソッドは、__call__特殊メソッドをオーバーライドします。

この関数内でフォワードパスの手順を定義する必要がありますが、その後、この関数ではなくModuleインスタンスを呼び出すべきです。前者は前処理と後処理の実行を適切に処理するのに対し、後者はそれらを黙って無視するためです。

  • last_hidden_state (torch.FloatTensor、shape (batch_size, num_channels, height, width)) — モデルの最終層の出力における隠れ状態のシーケンス。

  • hidden_states (tuple(torch.FloatTensor)、optional、output_hidden_states=True が渡された場合または config.output_hidden_states=True の場合に返される) — torch.FloatTensor のタプル(埋め込み層を持つモデルの場合、埋め込みの出力が 1 つ、各層の出力がそれぞれ 1 つずつ)で、形状は (batch_size, num_channels, height, width) です。

    各層の出力におけるモデルのHidden-states、および任意の初期埋め込み出力。

SLANetSLAHead

class transformers.SLANetSLAHead

< >

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

Update on GitHub