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.2).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Model ini disumbangkan ke Hugging Face Transformers pada 2026-03-21.

SLANeXt

Ikhtisar

SLANeXt_wired dan SLANeXt_wireless merupakan bagian dari seri model ringan khusus untuk pengenalan struktur tabel, yang berfokus pada pengenalan struktur tabel secara akurat dalam dokumen dan adegan alami. Untuk detail lebih lanjut tentang model seri SLANeXt, silakan merujuk ke dokumentasi resmi.

Arsitektur Model

Seri SLANeXt adalah generasi baru model pengenalan struktur tabel yang dikembangkan secara independen oleh Tim Visi PaddlePaddle Baidu. SLANeXt berfokus pada pengenalan struktur tabel, dan melatih bobot khusus secara terpisah untuk tabel berbingkai (wired) dan tabel tanpa bingkai (wireless). Kemampuan pengenalan untuk semua jenis tabel telah ditingkatkan secara signifikan, terutama untuk tabel berbingkai.

Penggunaan

Inferensi input tunggal

Contoh di bawah ini menunjukkan cara mendeteksi teks dengan PP-OCRV5_Mobile_Det menggunakan 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

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

Parameter

  • vision_config (dict atau SLANeXtVisionConfig, opsional) — Konfigurasi untuk vision encoder. Jika None, SLANeXtVisionConfig default akan digunakan.
  • post_conv_in_channels (int, opsional, default 256) — Jumlah saluran input untuk lapisan konvolusi pasca-encoder.
  • post_conv_out_channels (int, opsional, default 512) — Jumlah channel output untuk lapisan konvolusi pasca-encoder.
  • out_channels (int, opsional, default 50) — Ukuran kosakata untuk head prediksi token struktur tabel, yaitu jumlah token struktur berbeda yang dapat diprediksi oleh model.
  • hidden_size (int, opsional, default 512) — Dimensi dari hidden states pada sel GRU attention dan head prediksi struktur/lokasi.
  • max_text_length (int, opsional, default 500) — Jumlah maksimum langkah decoding autoregresif (token) untuk decoder struktur dan lokasi.

Ini adalah kelas konfigurasi untuk menyimpan konfigurasi dari SlanextModel. Kelas ini digunakan untuk membuat instans model Slanext berdasarkan argumen yang ditentukan, sehingga mendefinisikan arsitektur model. Membuat instans konfigurasi dengan nilai bawaan akan menghasilkan konfigurasi yang serupa dengan konfigurasi dari PaddlePaddle/SLANeXt_wired_safetensors

Objek konfigurasi mewarisi dari PreTrainedConfig dan dapat digunakan untuk mengontrol output model. Baca dokumentasi dari PreTrainedConfig untuk informasi lebih lanjut.

SLANeXtVisionConfig

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

Parameter

  • hidden_size (int, opsional, default 768) — Dimensi dari representasi tersembunyi.
  • output_channels (int, opsional, default 256) — Dimensi dari saluran output di Patch Encoder.
  • num_hidden_layers (int, opsional, default 12) — Jumlah lapisan tersembunyi dalam decoder Transformer.
  • num_attention_heads (int, opsional, default 12) — Jumlah attention head untuk setiap lapisan attention di decoder Transformer.
  • num_channels (int, opsional, defaultnya 3) — Jumlah saluran input.
  • image_size (int, opsional, default 512) — Ukuran (resolusi) setiap gambar.
  • patch_size (Union[int, list[int], tuple[int, int]], opsional, defaultnya 16) — Ukuran (resolusi) dari setiap patch.
  • hidden_act (str, opsional, defaultnya gelu) — Fungsi aktivasi non-linear (fungsi atau string) di decoder. Misalnya, "gelu", "relu", "silu", dan sebagainya.
  • layer_norm_eps (float, opsional, defaultnya 1e-06) — Epsilon yang digunakan oleh lapisan normalisasi lapisan.
  • attention_dropout (Union[float, int], opsional, default 0.0) — Rasio dropout untuk probabilitas perhatian.
  • initializer_range (float, opsional, defaultnya 1e-10) — Standar deviasi dari truncated_normal_initializer untuk menginisialisasi semua matriks bobot.
  • qkv_bias (bool, opsional, defaultnya True) — Apakah akan menambahkan bias ke queries, keys, dan values.
  • use_abs_pos (bool, opsional, defaultnya True) — Apakah akan menggunakan penanam posisi absolut.
  • use_rel_pos (bool, opsional, default True) — Apakah akan menggunakan relative position embedding.
  • window_size (int, opsional, default 14) — Ukuran jendela untuk posisi relatif.
  • global_attn_indexes (list[int], opsional, default [2, 5, 8, 11]) — Indeks dari lapisan global attention.
  • mlp_dim (int, opsional, default 3072) — Dimensi dari lapisan MLP dalam encoder Transformer.

Ini adalah kelas konfigurasi untuk menyimpan konfigurasi dari SlanextModel. Kelas ini digunakan untuk membuat instans model Slanext berdasarkan argumen yang ditentukan, sehingga mendefinisikan arsitektur model. Membuat instans konfigurasi dengan nilai bawaan akan menghasilkan konfigurasi yang serupa dengan konfigurasi dari PaddlePaddle/SLANeXt_wired_safetensors

Objek konfigurasi mewarisi dari PreTrainedConfig dan dapat digunakan untuk mengontrol output model. Baca dokumentasi dari PreTrainedConfig untuk informasi lebih lanjut.

SLANeXtForTableRecognition

kelas transformers.SLANeXtForTableRecognition

< >

( config: SLANeXtConfig )

Parameter

  • config (SLANeXtConfig) — Kelas konfigurasi model dengan semua parameter model. Inisialisasi dengan file konfigurasi tidak memuat bobot yang terkait dengan model, hanya konfigurasinya. Lihat metode from_pretrained() untuk memuat bobot model.

Model SLANeXt Table Recognition untuk tugas pengenalan tabel. Membungkus inti SLANeXtPreTrainedModel dan mengembalikan output yang kompatibel dengan API pengenalan tabel Transformers.

Model ini mewarisi dari PreTrainedModel. Periksa dokumentasi kelas induk untuk metode generik yang diimplementasikan oleh pustaka untuk semua model (seperti mengunduh atau menyimpan, mengubah ukuran embedding input, memangkas kepala, dll.)

Model ini juga merupakan subclass dari torch.nn.Module PyTorch. Gunakan sebagai PyTorch Module biasa dan merujuk ke dokumentasi PyTorch untuk semua hal yang berkaitan dengan penggunaan dan perilaku umum.

forward

< >

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

Parameter

Mengembalikan

SLANeXtForTableRecognitionOutput atau tuple(torch.Tensor)

SLANeXtForTableRecognitionOutput atau tuple dari torch.Tensor (jika return_dict=False diteruskan atau ketika config.return_dict=False) yang terdiri dari berbagai elemen tergantung pada konfigurasi (SLANeXtConfig) dan input.

Metode forward dari SLANeXtForTableRecognition menimpa metode khusus __call__.

Meskipun resep untuk forward pass perlu didefinisikan di dalam fungsi ini, sebaiknya panggil instance Module setelahnya alih-alih fungsi ini, karena yang pertama menangani langkah-langkah pra-pemrosesan dan pasca-pemrosesan, sedangkan yang kedua mengabaikannya secara diam-diam.

  • last_hidden_state (torch.Tensor dengan bentuk (batch_size, sequence_length, hidden_size)) — Urutan hidden-states pada keluaran lapisan terakhir model.

  • hidden_states (tuple(torch.Tensor), opsional, dikembalikan saat output_hidden_states=True dilewatkan atau saat config.output_hidden_states=True) — Tuple dari torch.Tensor (satu untuk output dari embeddings, jika model memiliki lapisan embedding, + satu untuk output dari setiap lapisan) dengan bentuk (batch_size, sequence_length, hidden_size).

    Hidden-states model pada output setiap layer ditambah output embedding awal yang opsional.

  • attentions (tuple(torch.Tensor), opsional, dikembalikan saat output_attentions=True dilewatkan atau saat config.output_attentions=True) — Tuple dari torch.Tensor (satu untuk setiap layer) dengan bentuk (batch_size, num_heads, sequence_length, sequence_length).

    Bobot perhatian setelah softmax perhatian, digunakan untuk menghitung rata-rata berbobot di kepala perhatian diri (self-attention).

  • head_hidden_states (tuple(torch.Tensor), opsional, dikembalikan ketika output_hidden_states=True dilewatkan atau ketika config.output_hidden_states=True) — Hidden-states dari SLANeXtSLAHead pada setiap langkah prediksi, bervariasi hingga maksimal self.config.max_text_length state (tergantung pada early exits).

  • head_attentions (tuple(torch.Tensor), opsional, dikembalikan ketika output_attentions=True dilewatkan atau ketika config.output_attentions=True) — Atensi dari SLANeXtSLAHead pada setiap langkah prediksi, bervariasi hingga maksimal self.config.max_text_length atensi (tergantung pada early exits).

SLANeXtBackbone

kelas transformers.SLANeXtBackbone

< >

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

SLANeXtSLAHead

kelas transformers.SLANeXtSLAHead

< >

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

SLANeXtImageProcessor

kelas transformers.SLANeXtImageProcessor

< >

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

Parameter

  • do_convert_rgb (bool, kwargs, opsional, default True) — Apakah akan mengkonversi gambar ke RGB.
  • do_resize (bool, kwargs, opsional, default True) — Apakah akan mengubah ukuran gambar.
  • size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs, defaultnya {'height' -- 512, 'width': 512}): Menggambarkan dimensi input maksimum untuk model.
  • default_to_square (bool, kwargs, opsional, defaultnya True) — Apakah akan menggunakan gambar persegi sebagai default saat melakukan resize, jika size berupa int.
  • crop_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Ukuran gambar keluaran setelah menerapkan center_crop.
  • resample (Annotated[Union[int, PILImageResampling, NoneType], None], kwargs, defaultnya 2) — Filter resampling yang digunakan jika mengubah ukuran gambar. Ini bisa berupa salah satu enum PILImageResampling. Hanya berpengaruh jika do_resize diatur ke True.
  • do_rescale (bool, kwargs, opsional, default True) — Apakah akan melakukan penskalaan ulang pada gambar.
  • rescale_factor (float, kwargs, opsional, default 0.00392156862745098) — Faktor rescale untuk menskalakan ulang gambar jika do_rescale diatur ke True.
  • do_normalize (bool, kwargs, opsional, default True) — Apakah akan menormalisasi gambar.
  • image_mean (Union[float, list[float], tuple[float, ...]], kwargs, opsional, defaultnya [0.485, 0.456, 0.406]) — Rata-rata gambar yang digunakan untuk normalisasi. Hanya berpengaruh jika do_normalize diatur ke True.
  • image_std (Union[float, list[float], tuple[float, ...]], kwargs, opsional, defaultnya [0.229, 0.224, 0.225]) — Standar deviasi gambar yang digunakan untuk normalisasi. Hanya berpengaruh jika do_normalize diatur ke True.
  • do_pad (bool, kwargs, opsional, default True) — Apakah akan melakukan padding pada gambar. Padding dilakukan ke ukuran terbesar dalam batch atau ke ukuran persegi tetap per gambar. Strategi padding yang tepat bergantung pada model.
  • pad_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs, defaultnya {'height' -- 512, 'width': 512}): Ukuran dalam {"height": int, "width" int} untuk melakukan padding pada gambar. Harus lebih besar dari ukuran gambar mana pun yang diberikan untuk pra-pemrosesan. Jika pad_size tidak diberikan, gambar akan di-pad hingga tinggi dan lebar terbesar dalam batch. Diterapkan hanya ketika do_pad=True.
  • do_center_crop (bool, kwargs, opsional) — Apakah akan melakukan center crop pada gambar.
  • data_format (Union[str, ~image_utils.ChannelDimension], kwargs, opsional) — Hanya ChannelDimension.FIRST yang didukung. Ditambahkan untuk kompatibilitas dengan prosesor lambat.
  • input_data_format (Union[str, ~image_utils.ChannelDimension], kwargs, opsional) — Format dimensi channel untuk gambar input. Jika tidak diset, format dimensi channel akan disimpulkan dari gambar input. Bisa berupa salah satu dari:
    • "channels_first" atau ChannelDimension.FIRST: gambar dalam format (num_channels, height, width).
    • "channels_last" atau ChannelDimension.LAST: gambar dalam format (height, width, num_channels).
    • "none" atau ChannelDimension.NONE: gambar dalam format (height, width).
  • device (Annotated[Union[str, torch.device, NoneType], None], kwargs) — Perangkat untuk memproses video. Jika tidak disetel, perangkat akan disimpulkan dari video input.
  • return_tensors (Annotated[str | ~utils.generic.TensorType | None, None], kwargs) — Mengembalikan tensor bertumpuk jika diset ke 'pt', selain itu mengembalikan daftar tensor.
  • disable_grouping (bool, kwargs, opsional) — Apakah akan menonaktifkan pengelompokan gambar berdasarkan ukuran untuk memprosesnya secara individual dan bukan dalam batch. Jika None, akan diatur ke True jika gambar berada di CPU, dan False selain itu. Pilihan ini didasarkan pada pengamatan empiris, seperti yang dijelaskan di sini: https://github.com/huggingface/transformers/pull/38157
  • image_seq_length (int, kwargs, opsional) — Jumlah token gambar yang akan digunakan untuk setiap gambar dalam input. Ditambahkan untuk kompatibilitas mundur, tetapi ini seharusnya diatur sebagai atribut prosesor pada model-model mendatang.

Membangun pemroses gambar SLANeXtImageProcessor.

init_decoder

< >

( )

Inisialisasi kosakata decoder untuk pengenalan struktur tabel.

Membangun kamus karakter yang memetakan token struktur tabel HTML (misalnya, <thead>, <tr>, <td>, atribut colspan/ rowspan) ke indeks integer. Kamus ini mencakup token khusus "sos" (start-of-sequence) dan "eos" (end-of-sequence). Token <td></td> yang digabungkan digunakan sebagai pengganti token <td> mandiri ketika berlaku.

post_process_table_recognition

< >

( outputs ) → dict

Parameter

  • outputs (SLANeXtForTableRecognitionOutput) — Output mentah dari model SLANeXt. Field last_hidden_state berisi distribusi probabilitas yang diprediksi atas kosakata struktur pada setiap langkah decoding, dengan bentuk (batch_size, max_text_length, num_classes).

Mengembalikan

dict

Kamus yang berisi:

  • struktur (list[str]): Struktur tabel HTML yang diprediksi sebagai daftar token, dibungkus dengan tag <html>, <body>, dan <table>.
  • structure_score (float): Skor kepercayaan rata-rata di seluruh token yang diprediksi.

Lakukan pascapemrosesan pada keluaran mentah model untuk mendekode struktur tabel yang diprediksi menjadi sekuens token HTML.

Mengubah distribusi probabilitas prediksi model di atas kosakata struktur menjadi urutan token HTML yang merepresentasikan struktur tabel. Token yang didekode dibungkus dengan tag <html>, <body>, dan <table> untuk membentuk struktur tabel HTML yang lengkap.

Update on GitHub