Transformers documentation
SLANeXt
Bu model, 2026-03-21 tarihinde Hugging Face Transformers'a katkıda bulunulmuştur.
SLANeXt
Genel Bakış
SLANeXt_wired ve SLANeXt_wireless, belgelerdeki ve doğal sahnelerdeki tablo yapılarını doğru bir şekilde tanıma odaklı, tablo yapısı tanıma için geliştirilmiş özel hafif modeller serisinin bir parçasıdır. SLANeXt serisi model hakkında daha fazla ayrıntı için resmî dokümantasyona bakın.
Model Mimarisi
SLANeXt serisi, Baidu PaddlePaddle Vision Ekibi tarafından bağımsız olarak geliştirilen yeni nesil tablo yapısı tanıma modelleridir. SLANeXt, tablo yapısı tanıma üzerine odaklanır ve kablolu ile kablosuz tablolar için ayrı ayrı özel ağırlıklar eğitir. Tüm tablo türleri için tanıma yeteneği önemli ölçüde iyileştirilmiştir, özellikle de kablolu tablolar için.
Kullanım
Tek girişli çıkarım
Aşağıdaki örnek, AutoModel kullanarak PP-OCRV5_Mobile_Det ile metin algılamanın nasıl yapılacağını göstermektedir.
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
sınıf transformers.SLANeXtConfig
< 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 = 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 )
Parametreler
- vision_config (
dictveya SLANeXtVisionConfig, opsiyonel) — Görüntü kodlayıcısının yapılandırması.Noneise, varsayılan bir SLANeXtVisionConfig kullanılır. - post_conv_in_channels (
int, isteğe bağlı, varsayılan 256) — Post-encoder konvolüsyon katmanı için giriş kanal sayısı. - post_conv_out_channels (
int, isteğe bağlı, varsayılan 512) — Post-encoder konvolüsyon katmanının çıktı kanal sayısı. - out_channels (
int, isteğe bağlı, varsayılan 50) — Tablo yapısı token tahmin başlığı için sözlük boyutu, yani modelin tahmin edebileceği farklı yapı tokenlerinin sayısı. - hidden_size (
int, isteğe bağlı, varsayılan 512) — Dikkat GRU hücresindeki gizli durumların ve yapı/konum tahmin başlıklarındaki boyut. - max_text_length (
int, isteğe bağlı, varsayılan 500) — Yapı ve konum çözücü için otoregresif çözümleme adımlarının (token) maksimum sayısı.
Bu, bir SlanextModel yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Slanext modelini örneklemek ve model mimarisini tanımlamak için kullanılır. Varsayılan değerlerle bir yapılandırma örneği oluşturmak, PaddlePaddle/SLANeXt_wired_safetensors ile benzer bir yapılandırmaya yol açar.
Yapılandırma nesneleri PreTrainedConfig sınıfından devralır ve model çıktılarını kontrol etmek için kullanılabilir. Daha fazla bilgi için PreTrainedConfig belgesini okuyun.
SLANeXtVisionConfig
sınıf transformers.SLANeXtVisionConfig
< 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 = 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 )
Parametreler
- hidden_size (
int, isteğe bağlı, varsayılan768) — Gizli temsillerin boyutu. - output_channels (
int, isteğe bağlı, varsayılan 256) — Patch Encoder'da çıktı kanallarının boyutu. - num_hidden_layers (
int, isteğe bağlı, varsayılan12) — Transformer çözücüdeki gizli katman sayısı. - num_attention_heads (
int, isteğe bağlı, varsayılan12) — Transformer decoder'ındaki her dikkat katmanı için dikkat başı sayısı. - num_channels (
int, isteğe bağlı, varsayılan3) — Giriş kanal sayısı. - image_size (
int, isteğe bağlı, varsayılan512) — Her bir görüntünün boyutu (çözünürlüğü). - patch_size (
Union[int, list[int], tuple[int, int]], isteğe bağlı, varsayılan16) — Her yamanın boyutu (çözünürlüğü). - hidden_act (
str, isteğe bağlı, varsayılangelu) — Çözücüdeki doğrusal olmayan aktivasyon fonksiyonu (fonksiyon veya dize). Örneğin,"gelu","relu","silu"vb. - layer_norm_eps (
float, isteğe bağlı, varsayılan1e-06) — Katman normalizasyon katmanları tarafından kullanılan epsilon. - attention_dropout (
Union[float, int], isteğe bağlı, varsayılan0.0) — Dikkat olasılıkları için dropout oranı. - initializer_range (
float, isteğe bağlı, varsayılan1e-10) — Tüm ağırlık matrislerini başlatmak için kullanılan truncated_normal_initializer'ın standart sapması. - qkv_bias (
bool, isteğe bağlı, varsayılanTrue) — Sorgulara, anahtarlara ve değerlere bir sapma eklenip eklenmeyeceği. - use_abs_pos (
bool, isteğe bağlı, varsayılanTrue) — Mutlak konum gömme kullanılıp kullanılmayacağı. - use_rel_pos (
bool, isteğe bağlı, varsayılanTrue) — Göreceli konum gömme kullanılıp kullanılmayacağı. - window_size (
int, isteğe bağlı, varsayılan 14) — Göreceli konum için pencere boyutu. - global_attn_indexes (
list[int], isteğe bağlı, varsayılan[2, 5, 8, 11]) — Küresel dikkat katmanlarının indeksleri. - mlp_dim (
int, isteğe bağlı, varsayılan 3072) — Transformer kodlayıcısındaki MLP katmanının boyutu.
Bu, bir SlanextModel yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Slanext modelini örneklemek ve model mimarisini tanımlamak için kullanılır. Varsayılan değerlerle bir yapılandırma örneği oluşturmak, PaddlePaddle/SLANeXt_wired_safetensors ile benzer bir yapılandırmaya yol açar.
Yapılandırma nesneleri PreTrainedConfig sınıfından devralır ve model çıktılarını kontrol etmek için kullanılabilir. Daha fazla bilgi için PreTrainedConfig belgesini okuyun.
SLANeXtForTableRecognition
sınıf transformers.SLANeXtForTableRecognition
< source >( config: SLANeXtConfig )
Parametreler
- config (SLANeXtConfig) — Modelin tüm parametrelerini içeren model yapılandırma sınıfı. Bir yapılandırma dosyasıyla başlatmak, modelle ilişkili ağırlıkları yüklemez, yalnızca yapılandırmayı yükler. Model ağırlıklarını yüklemek için from_pretrained() yöntemine bakın.
Tablo tanıma görevleri için SLANeXt Tablo Tanıma modeli. Çekirdek SLANeXtPreTrainedModel sınıfını sarmalar ve Transformers tablo tanıma API'siyle uyumlu çıktıları döndürür.
Bu model PreTrainedModel sınıfından devralır. Kütüphanenin tüm modelleri için uyguladığı genel yöntemler (indirme veya kaydetme, giriş gömme boyutlarını yeniden boyutlandırma, başları budama vb.) için üst sınıf belgelendirmesine bakın.
Bu model aynı zamanda bir PyTorch torch.nn.Module alt sınıfıdır. Bunu standart bir PyTorch Module olarak kullanın ve genel kullanım ve davranışla ilgili tüm konular için PyTorch dokümantasyonuna başvurun.
forward
< source >( pixel_values: Tensor**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → SLANeXtForTableRecognitionOutput or tuple(torch.Tensor)
Parametreler
- pixel_values (
torch.Tensor, şekli(batch_size, num_channels, image_size, image_size)) — Girdi görüntülerine karşılık gelen tensörler. Piksel değerleri SLANeXtImageProcessor kullanılarak elde edilebilir. Ayrıntılar için SLANeXtImageProcessor.call() bölümüne bakın (processor_class, görüntüleri işlemek için SLANeXtImageProcessor kullanır).
Dönüş değeri
SLANeXtForTableRecognitionOutput veya tuple(torch.Tensor)
SLANeXtForTableRecognitionOutput veya bir torch.Tensor demeti (return_dict=False geçirildiğinde veya config.return_dict=False olduğunda), yapılandırmaya (SLANeXtConfig) ve girdilere bağlı olarak çeşitli öğelerden oluşur.
SLANeXtForTableRecognition forward metodu, __call__ özel metodunu geçersiz kılar.
İleri geçiş tarifi bu fonksiyon içinde tanımlanmalı olsa da, sonrasında bunun yerine
Moduleörneğini çağırmak gerekir; çünkü önceki, ön ve son işleme adımlarını çalıştırmaktan sorumluyken ikincisi bunları sessizce yok sayar.
last_hidden_state (
torch.Tensor, şekli(batch_size, sequence_length, hidden_size)) — Modelin son katmanının çıktısındaki gizli durumlar dizisi.hidden_states (
tuple(torch.Tensor), isteğe bağlı,output_hidden_states=Truegeçirildiğinde veyaconfig.output_hidden_states=Trueolduğunda döndürülür) —torch.Tensor(modelin bir gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için birer tane) içeren,(batch_size, sequence_length, hidden_size)biçiminde bir demet.Her katmanın çıktısında modelin gizli durumları ve isteğe bağlı başlangıç gömme çıktıları.
attentions (
tuple(torch.Tensor), isteğe bağlı,output_attentions=Truegeçirildiğinde veyaconfig.output_attentions=Trueolduğunda döndürülür) —torch.Tensor(katman başına bir tane) içeren bir tuple, şekli(batch_size, num_heads, sequence_length, sequence_length).Dikkat softmax'ı sonrası dikkat ağırlıkları, öz-dikkat başlıklarında ağırlıklı ortalamanın hesaplanmasında kullanılır.
head_hidden_states (
tuple(torch.Tensor), isteğe bağlı,output_hidden_states=Truegeçirildiğinde veyaconfig.output_hidden_states=Trueolduğunda döndürülür) — SLANeXtSLAHead'in her tahmin adımındaki gizli durumları, erken çıkışlara bağlı olarak en fazlaself.config.max_text_lengthduruma kadar değişir.head_attentions (
tuple(torch.Tensor), isteğe bağlı,output_attentions=Truegeçirildiğinde veyaconfig.output_attentions=Trueolduğunda döndürülür) — SLANeXtSLAHead'in her tahmin adımındaki dikkatleri, erken çıkışlara bağlı olarak en fazlaself.config.max_text_lengthdikkate kadar değişir.
SLANeXtBackbone
SLANeXtSLAHead
SLANeXtImageProcessor
sınıf transformers.SLANeXtImageProcessor
< source >( **kwargs: *<class 'transformers.processing_utils.ImagesKwargs'> )
Parametreler
- do_convert_rgb (
bool, kwargs, opsiyonel, varsayılanTrue) — Görselin RGB'ye dönüştürülüp dönüştürülmemesi. - do_resize (
bool, kwargs, isteğe bağlı, varsayılanTrue) — Görselin yeniden boyutlandırılıp boyutlandırılmayacağı. - size (
Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs, varsayılan{'height' -- 512, 'width': 512}): Modelin kabul ettiği maksimum giriş boyutlarını açıklar. - default_to_square (
bool, kwargs, isteğe bağlı, varsayılanTrue) — size bir int ise, yeniden boyutlandırma sırasında varsayılan olarak kare bir görüntü kullanılıp kullanılmayacağı. - crop_size (
Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) —center_cropuygulandıktan sonra çıktı görüntüsünün boyutu. - resample (
Annotated[Union[int, PILImageResampling, NoneType], None], kwargs, varsayılan2) — Görsel yeniden boyutlandırılıyorsa kullanılacak yeniden örnekleme filtresi. Bu,PILImageResamplingenum değerlerinden biri olabilir. Yalnızcado_resizeTrueolarak ayarlanırsa etkilidir. - do_rescale (
bool, kwargs, isteğe bağlı, varsayılanTrue) — Görselin yeniden ölçeklendirilip ölçeklendirilmeyeceği. - rescale_factor (
float, kwargs, opsiyonel, varsayılan0.00392156862745098) —do_rescaleTrueolarak ayarlandığında görüntüyü yeniden ölçeklemek için kullanılan yeniden ölçekleme faktörü. - do_normalize (
bool, kwargs, opsiyonel, varsayılanTrue) — Görselin normalize edilip edilmeyeceği. - image_mean (
Union[float, list[float], tuple[float, ...]], kwargs, opsiyonel, varsayılan[0.485, 0.456, 0.406]) — Normalizasyon için kullanılacak görüntü ortalaması. Yalnızcado_normalizeTrueolarak ayarlanırsa etkilidir. - image_std (
Union[float, list[float], tuple[float, ...]], kwargs, opsiyonel, varsayılan[0.229, 0.224, 0.225]) — Normalizasyon için kullanılacak görüntü standart sapması. Yalnızcado_normalizeTrueolarak ayarlanırsa etkilidir. - do_pad (
bool, kwargs, opsiyonel, varsayılanTrue) — Görselin dolgu (padding) uygulanıp uygulanmayacağı. Dolgu, ya batch içindeki en büyük boyuta ya da görsel başına sabit bir kare boyuta yapılır. Kesin dolgu stratejisi modele bağlıdır. - pad_size (
Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs, varsayılan{'height' -- 512, 'width': 512}): Görsellerin doldurulacağı boyut,{"height": int, "width" int}biçiminde. Ön işleme için sağlanan herhangi bir görsel boyutundan büyük olmalıdır.pad_sizesağlanmazsa, görseller partideki en büyük yüksekliğe ve genişliğe doldurulur. Yalnızcado_pad=True.olduğunda uygulanır. - do_center_crop (
bool, kwargs, opsiyonel) — Görselin ortadan kırpılıp kırpılmayacağı. - data_format (
Union[str, ~image_utils.ChannelDimension], kwargs, isteğe bağlı) — YalnızcaChannelDimension.FIRSTdesteklenir. Yavaş işleyicilerle uyumluluk için eklendi. - input_data_format (
Union[str, ~image_utils.ChannelDimension], kwargs, isteğe bağlı) — Girdi görüntüsü için kanal boyutu biçimi. Ayarlanmazsa, kanal boyutu biçimi girdi görüntüsünden çıkarılır. Aşağıdakilerden biri olabilir:"channels_first"veyaChannelDimension.FIRST: (num_channels, height, width) biçiminde görüntü."channels_last"veyaChannelDimension.LAST: (yükseklik, genişlik, kanal sayısı) biçiminde görüntü."none"veyaChannelDimension.NONE: (height, width) biçiminde görüntü.
- device (
Annotated[Union[str, torch.device, NoneType], None], kwargs) — Videoların işleneceği cihaz. Ayarlanmamışsa, cihaz girdi videolarından çıkarılır. - return_tensors (
Annotated[str | ~utils.generic.TensorType | None, None], kwargs) —'pt'olarak ayarlanırsa yığılmış tensörler döndürür, aksi takdirde tensör listesi döndürür. - disable_grouping (
bool, kwargs, opsiyonel) — Görsellerin boyuta göre gruplandırılmasını devre dışı bırakıp onları toplu olarak değil, bireysel olarak işlenmesini belirtir. None ise, görseller CPU üzerindeyse True, aksi halde False olarak ayarlanır. Bu seçim, burada ayrıntılandırıldığı üzere ampirik gözlemlere dayanmaktadır: https://github.com/huggingface/transformers/pull/38157 - image_seq_length (
int, kwargs, isteğe bağlı) — Girdideki her görüntü için kullanılacak görüntü jetonlarının sayısı. Geriye dönük uyumluluk için eklendi ancak gelecekteki modellerde bu, bir işlemci özniteliği olarak ayarlanmalıdır.
SLANeXtImageProcessor görüntü işleyicisi oluşturur.
Tablo yapısı tanıma için decoder sözlüğünü başlatın.
HTML tablo yapı belirteçlerini (ör. <thead>, <tr>, <td>, colspan/
rowspan öznitelikleri) tamsayı indekslerine eşleyen bir karakter sözlüğü oluşturur. Sözlük, özel "sos" (dizinin başlangıcı) ve "eos" (dizinin sonu) belirteçlerini içerir. Uygulanabilir durumlarda, tek başına <td> belirteçleri yerine birleştirilmiş <td></td> belirteçleri kullanılır.
post_process_table_recognition
< source >( outputs ) → dict
Parametreler
- outputs (
SLANeXtForTableRecognitionOutput) — SLANeXt modelinden gelen ham çıktılar.last_hidden_statealanı, her çözümleme adımında yapı sözlüğü üzerindeki tahmini olasılık dağıtımlarını,(batch_size, max_text_length, num_classes)biçiminde içerir.
Dönüş değeri
dict
Şu içeriğe sahip bir sözlük:
- yapı (
list[str]):<html>,<body>ve<table>etiketleriyle sarılmış, token listesine dönüştürülmüş tahmin edilen HTML tablo yapısı. - structure_score (
float): Tahmin edilen tüm jetonlar için ortalama güven skoru.
Ham model çıktılarını işleyerek tahmin edilen tablo yapısını bir HTML token dizisine çözümlen.
Modelin yapı sözlüğü üzerindeki tahmini olasılık dağıtımlarını, tablo yapısını temsil eden bir HTML token dizisine dönüştürür. Çözümlenen tokenler, tam bir HTML tablo yapısı oluşturmak için <html>, <body> ve <table> etiketleriyle sarılır.