Transformers documentation
SLANet
Bu model, 2026-04-22 tarihinde Hugging Face Transformers'a katkıda bulunulmuştur.
SLANet
Genel Bakış
SLANet ve SLANet_plus, 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. SLANet serisi model hakkında daha fazla ayrıntı için resmî dokümantasyona bakın.
Model Mimarisi
SLANet, Baidu PaddlePaddle Vision Team tarafından geliştirilen bir tablo yapısı tanıma modelidir. Model, CPU dostu hafif bir omurga ağı olan PP-LCNet, yüksek-düşük seviyeli özellik füzyon modülü CSP-PAN ve yapısal ile konumsal bilgileri hizalayan bir özellik çözümleme modülü olan SLA Head'i benimseyerek tablo yapısı tanımanın doğruluğunu ve çıkarım hızını önemli ölçüde artırır.
Kullanım
Tek girişli çıkarım
Aşağıdaki örnek, AutoModel kullanarak SLANet ile metin algılamanın nasıl yapılacağını göstermektedir.
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
sınıf 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 )
Parametreler
- post_conv_out_channels (
int, isteğe bağlı, varsayılan 96) — Kodlayıcı sonrası 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 256) — 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ı. - backbone_config (
Union[dict, ~configuration_utils.PreTrainedConfig], isteğe bağlı) — Backbone modelinin yapılandırması. - hidden_act (
str, isteğe bağlı, varsayılanhardswish) — Çözücüdeki doğrusal olmayan aktivasyon fonksiyonu (fonksiyon veya dize). Örneğin,"gelu","relu","silu"vb. - csp_kernel_size (
int, isteğe bağlı, varsayılan 5) — Cross Stage Partial (CSP) katmanının çekirdek boyutu. - csp_num_blocks (
int, isteğe bağlı, varsayılan 1) — Cross Stage Partial (CSP) katmanı içindeki blok sayısı.
Bu, bir SlanetModel'in yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Slanet modelinin örneklenmesinde, model mimarisini tanımlamak için kullanılır. Varsayılan değerlerle bir yapılandırma örneği oluşturmak, PaddlePaddle/SLANet_plus_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.
SLANetForTableRecognition
sınıf transformers.SLANetForTableRecognition
< source >( config: SLANetConfig )
Parametreler
- config (SLANetConfig) — 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 SLANet Tablo Tanıma modeli. Çekirdek SLANetPreTrainedModel 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'> ) → SLANetForTableRecognitionOutput 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
SLANetForTableRecognitionOutput veya tuple(torch.Tensor)
SLANetForTableRecognitionOutput veya bir torch.Tensor demeti (return_dict=False geçirildiğinde veya config.return_dict=False olduğunda), yapılandırma (SLANetConfig) ve girdilere bağlı olarak çeşitli öğelerden oluşur.
SLANetForTableRecognition 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, num_channels, height, width)) — 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, num_channels, height, width)biçiminde bir demet.Her katmanın çıktısında modelin gizli durumları ve isteğe bağlı başlangıç gömme çıktıları.
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) — SLANetSLAHead'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) — SLANetSLAHead'in her tahmin adımındaki dikkatleri, erken çıkışlara bağlı olarak en fazlaself.config.max_text_lengthdikkate kadar değişir.
SLANetBackbone
forward
< source >( hidden_states: Tensor**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutputWithNoAttention or tuple(torch.Tensor)
Parametreler
- hidden_states (
torch.Tensor) — katmanın girdisi, şekli `(batch, seq_len, embed_dim)`
Dönüş değeri
BaseModelOutputWithNoAttention veya tuple(torch.Tensor)
BaseModelOutputWithNoAttention veya bir torch.Tensor demeti (eğer return_dict=False geçirildiyse veya config.return_dict=False ise), yapılandırmaya (SLANetConfig) ve girdilere bağlı olarak çeşitli öğelerden oluşur.
SLANetBackbone 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, num_channels, height, width)) — 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, num_channels, height, width)biçiminde bir demet.Her katmanın çıktısında modelin gizli durumları ve isteğe bağlı başlangıç gömme çıktıları.