Transformers documentation

LayoutXLM

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

Bu model 2021-04-18 tarihinde HF papers'ta yayımlandı ve 2021-11-03 tarihinde Hugging Face Transformers'a katkıda bulunuldu.

LayoutXLM

Genel Bakış

LayoutXLM, Yiheng Xu, Tengchao Lv, Lei Cui, Guoxin Wang, Yijuan Lu, Dinei Florencio, Cha Zhang ve Furu Wei tarafından LayoutXLM: Multimodal Pre-training for Multilingual Visually-rich Document Understanding makalesinde önerilmiştir. 53 dilde eğitilmiş LayoutLMv2 modelinin çok dilli bir uzantısıdır.

Makalenin özeti aşağıdaki gibidir:

Metin, yerleşim ve görüntü ile çok modlu ön eğitim, son zamanlarda görsel açıdan zengin belge anlama görevlerinde SOTA performansına ulaşmış olup bu da farklı modlar arasında ortak öğrenmenin büyük potansiyelini göstermektedir. Bu makalede, görsel açıdan zengin belge anlama için diller arasındaki engelleri aşmayı amaçlayan, çok dilli belge anlama için çok modlu ön eğitilmiş bir model olan LayoutXLM'yi sunuyoruz. LayoutXLM'i doğru bir şekilde değerlendirmek için, 7 dilde (Çince, Japonca, İspanyolca, Fransızca, İtalyanca, Almanca, Portekizce) form anlama örnekleri içeren ve her dil için anahtar-değer çiftleri elle etiketlenmiş, XFUN adlı çok dilli form anlama referans veri setini de tanıtıyoruz. Deneysel sonuçlar, LayoutXLM modelinin XFUN veri setinde mevcut SOTA dil arası ön eğitilmiş modellere göre önemli ölçüde daha iyi performans gösterdiğini göstermektedir.

Bu model nielsr tarafından katkıda bulunmuştur. Orijinal kod burada bulunabilir.

Kullanım ipuçları ve örnekleri

LayoutXLM ağırlıkları, aşağıdaki gibi doğrudan bir LayoutLMv2 modeline yerleştirilebilir:

from transformers import LayoutLMv2Model


model = LayoutLMv2Model.from_pretrained("microsoft/layoutxlm-base", device_map="auto")

LayoutXLM'in, LayoutXLMTokenizer/LayoutXLMTokenizerFast tabanlı kendi tokenizer'ı olduğunu unutmayın. Bunu aşağıdaki gibi başlatabilirsiniz:

from transformers import LayoutXLMTokenizer


tokenizer = LayoutXLMTokenizer.from_pretrained("microsoft/layoutxlm-base")

LayoutLMv2'ye benzer şekilde, modele yönelik tüm verileri hazırlamak için LayoutXLMProcessor'u (içeride sırasıyla LayoutLMv2ImageProcessor ile LayoutXLMTokenizer/LayoutXLMTokenizerFast uygulayan) kullanabilirsiniz.

LayoutXLM’nin mimarisi LayoutLMv2’nin mimarisiyle eşdeğer olduğundan, tüm ipuçları, kod örnekleri ve defterler için LayoutLMv2’nin dokümantasyon sayfasına başvurulabilir.

LayoutXLMConfig

sınıf transformers.LayoutXLMConfig

< >

( 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 = Nonevocab_size: int = 30522hidden_size: int = 768num_hidden_layers: int = 12num_attention_heads: int = 12intermediate_size: int = 3072hidden_act: str = 'gelu'hidden_dropout_prob: float | int = 0.1attention_probs_dropout_prob: float | int = 0.1max_position_embeddings: int = 512type_vocab_size: int = 2initializer_range: float = 0.02layer_norm_eps: float = 1e-12pad_token_id: int | None = 0max_2d_position_embeddings: int = 1024max_rel_pos: int = 128rel_pos_bins: int = 32fast_qkv: bool = Truemax_rel_2d_pos: int = 256rel_2d_pos_bins: int = 64convert_sync_batchnorm: bool = Trueimage_feature_pool_shape: list[int] | tuple[int, ...] = (7, 7, 256)coordinate_size: int = 128shape_size: int = 128has_relative_attention_bias: bool = Truehas_spatial_attention_bias: bool = Truehas_visual_segment_embedding: bool = Falsedetectron2_config_args: dict | None = None )

Parametreler

  • vocab_size (int, isteğe bağlı, varsayılan 30522) — Modelin sözlük boyutu. input_ids tarafından temsil edilebilecek farklı token sayısını tanımlar.
  • hidden_size (int, isteğe bağlı, varsayılan 768) — Gizli temsillerin boyutu.
  • num_hidden_layers (int, isteğe bağlı, varsayılan 12) — Transformer çözücüdeki gizli katman sayısı.
  • num_attention_heads (int, isteğe bağlı, varsayılan 12) — Transformer decoder'ındaki her dikkat katmanı için dikkat başı sayısı.
  • intermediate_size (int, isteğe bağlı, varsayılan 3072) — MLP temsillerinin boyutu.
  • hidden_act (str, isteğe bağlı, varsayılan gelu) — Çözücüdeki doğrusal olmayan aktivasyon fonksiyonu (fonksiyon veya dize). Örneğin, "gelu", "relu", "silu" vb.
  • hidden_dropout_prob (Union[float, int], isteğe bağlı, varsayılan 0.1) — Gömme, kodlayıcı ve havuzlayıcıdaki tüm tam bağlı katmanlar için dropout olasılığı.
  • attention_probs_dropout_prob (Union[float, int], isteğe bağlı, varsayılan 0.1) — Dikkat olasılıkları için dropout oranı.
  • max_position_embeddings (int, isteğe bağlı, varsayılan 512) — Bu modelin kullanılabileceği en uzun dizi uzunluğu.
  • type_vocab_size (int, isteğe bağlı, varsayılan 2) — token_type_ids için sözlük boyutu.
  • initializer_range (float, isteğe bağlı, varsayılan 0.02) — Tüm ağırlık matrislerini başlatmak için kullanılan truncated_normal_initializer'ın standart sapması.
  • layer_norm_eps (float, isteğe bağlı, varsayılan 1e-12) — Katman normalizasyon katmanları tarafından kullanılan epsilon.
  • pad_token_id (int, isteğe bağlı, varsayılan 0) — Sözlükte dolgu için kullanılan token kimliği.
  • max_2d_position_embeddings (int, isteğe bağlı, varsayılan 1024) — 2D konum gömme (position embedding) ile kullanılabilecek en yüksek değer. Genellikle, olası durumlara karşı bu değeri büyük bir sayı olarak ayarlayın (ör. 1024).
  • max_rel_pos (int, isteğe bağlı, varsayılan 128) — Öz-dikkat mekanizmasında kullanılacak maksimum göreli konum sayısı.
  • rel_pos_bins (int, isteğe bağlı, varsayılan 32) — Öz-dikkat mekanizmasında kullanılacak göreli konum kutucuğu sayısı.
  • fast_qkv (bool, isteğe bağlı, varsayılan True) — Self-attention katmanlarında sorgular, anahtarlar ve değerler için tek bir matris kullanılıp kullanılmayacağı.
  • max_rel_2d_pos (int, isteğe bağlı, varsayılan 256) — Öz-dikkat mekanizmasındaki göreli 2B konumların maksimum sayısı.
  • rel_2d_pos_bins (int, isteğe bağlı, varsayılan 64) — Öz-dikkat mekanizmasındaki 2B göreli konum sınıflarının sayısı.
  • convert_sync_batchnorm (bool, isteğe bağlı, varsayılan True) — Batch normalization katmanlarının senkronize batch normalization katmanlarına dönüştürülüp dönüştürülmeyeceği.
  • image_feature_pool_shape (list[int], isteğe bağlı, varsayılan [7, 7, 256]) — Ortalama havuzlanmış özellik haritasının şekli.
  • coordinate_size (int, isteğe bağlı, varsayılan 128) — Koordinat gömme boyutu.
  • shape_size (int, isteğe bağlı, varsayılan 128) — Genişlik ve yükseklik gömme boyutu.
  • has_relative_attention_bias (bool, isteğe bağlı, varsayılan True) — Self-attention mekanizmasında göreli dikkat sapması (relative attention bias) kullanılıp kullanılmayacağını belirtir.
  • has_spatial_attention_bias (bool, isteğe bağlı, varsayılan True) — Self-attention mekanizmasında uzamsal dikkat sapması (spatial attention bias) kullanılıp kullanılmayacağı.
  • has_visual_segment_embedding (bool, isteğe bağlı, varsayılan False) — Görsel segment gömme eklenip eklenmeyeceğini belirtir.
  • detectron2_config_args (dict, isteğe bağlı) — Detectron2 görsel omurgasının yapılandırma argümanlarını içeren sözlük. Varsayılan değerlere ilişkin ayrıntılar için bu dosyaya bakınız.

Bu, bir LayoutxlmModel yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Layoutxlm modelinin mimarisini tanımlayarak örneklenmesinde kullanılır. Varsayılan değerlerle bir yapılandırma örneklendiğinde, microsoft/layoutxlm-base ile benzer bir yapılandırma elde edilir.

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.

Örnek:

>>> from transformers import LayoutXLMConfig, LayoutXLMModel

>>> # Initializing a LayoutXLM microsoft/layoutxlm-base style configuration
>>> configuration = LayoutXLMConfig()

>>> # Initializing a model (with random weights) from the microsoft/layoutxlm-base style configuration
>>> model = LayoutXLMModel(configuration)

>>> # Accessing the model configuration
>>> configuration = model.config

LayoutXLMTokenizer

sınıf transformers.LayoutXLMTokenizer

< >

( vocab: str | list | None = Nonebos_token = '<s>'eos_token = '</s>'sep_token = '</s>'cls_token = '<s>'unk_token = '<unk>'pad_token = '<pad>'mask_token = '<mask>'cls_token_box = [0, 0, 0, 0]sep_token_box = [1000, 1000, 1000, 1000]pad_token_box = [0, 0, 0, 0]pad_token_label = -100only_label_first_subword = Trueadd_prefix_space = True**kwargs )

Parametreler

  • vocab (str, dict veya list, isteğe bağlı) — Tokenizör için sözlük; bir yol, bir sözlük veya (token, score) demetlerinin bir listesi.
  • bos_token (str, isteğe bağlı, varsayılan olarak "<s>") — Ön eğitim sırasında kullanılan dizinin başlangıç token'ı. Bir dizi sınıflandırıcı token'ı olarak kullanılabilir. Özel token'lar kullanılarak bir dizi oluşturulduğunda, dizinin başlangıcı için kullanılan token bu değildir. Kullanılan token, cls_token'dır.

    Özel jetonlar kullanılarak bir dizi oluşturulduğunda, dizinin başlangıcı için kullanılan jeton bu değildir. Kullanılan jeton cls_token'dir.

  • eos_token (str, isteğe bağlı, varsayılan olarak "</s>") — Dizi sonu belirteci. Özel belirteçler kullanılarak bir dizi oluşturulduğunda, dizi sonu için kullanılan belirteç bu değildir. Kullanılan belirteç sep_token'dir.

    Özel jetonlar kullanılarak bir dizi oluşturulduğunda, dizinin sonu için kullanılan jeton bu değildir. Kullanılan jeton sep_token'dir.

  • sep_token (str, isteğe bağlı, varsayılan "</s>") — Ayrıştırıcı belirteci; birden fazla diziden bir dizi oluşturulurken kullanılır, örneğin dizi sınıflandırma için iki dizi veya soru cevaplamada bir metin ve bir soru için. Özel belirteçlerle oluşturulan bir dizinin son belirteci olarak da kullanılır.
  • cls_token (str, isteğe bağlı, varsayılan "<s>") — Dizilim sınıflandırması yapılırken (token başına sınıflandırma yerine tüm dizilimin sınıflandırılması) kullanılan sınıflandırıcı tokenıdır. Özel tokenlarla oluşturulduğunda dizilimin ilk tokenıdır.
  • unk_token (str, isteğe bağlı, varsayılan "<unk>") — Bilinmeyen token. Sözlükte yer almayan bir token, bir kimliğe dönüştürülemez ve bunun yerine bu token olarak ayarlanır.
  • pad_token (str, isteğe bağlı, varsayılan "<pad>") — Doldurma için kullanılan jeton, örneğin farklı uzunluklardaki dizileri toplu işleme (batching) sırasında.
  • mask_token (str, isteğe bağlı, varsayılan "<mask>") — Değerleri maskelemek için kullanılan belirteç. Bu, modelin maskeli dil modelleme ile eğitildiğinde kullanılan belirteçtir. Modelin tahmin etmeye çalışacağı belirteç budur.
  • cls_token_box (list[int], isteğe bağlı, varsayılan [0, 0, 0, 0]) — Özel [CLS] token'ı için kullanılacak sınırlayıcı kutu.
  • sep_token_box (list[int], isteğe bağlı, varsayılan [1000, 1000, 1000, 1000]) — Özel [SEP] token'ı için kullanılacak sınırlayıcı kutu.
  • pad_token_box (list[int], isteğe bağlı, varsayılan [0, 0, 0, 0]) — Özel [PAD] token'ı için kullanılacak sınırlayıcı kutu.
  • pad_token_label (int, isteğe bağlı, varsayılan -100) — Doldurma (padding) jetonları için kullanılacak etiket. Varsayılan olarak -100'dür; bu, PyTorch'un CrossEntropyLoss sınıfındaki ignore_index değeridir.
  • only_label_first_subword (bool, isteğe bağlı, varsayılan True) — Kelime etiketleri sağlandığında, yalnızca ilk alt kelimenin etiketlenip etiketlenmeyeceğini belirtir.
  • add_prefix_space (bool, isteğe bağlı, varsayılan True) — Girişe başlangıçta bir boşluk eklenip eklenmeyeceğini belirtir.
  • additional_special_tokens (list[str], isteğe bağlı, varsayılan ["<s>NOTUSED", "</s>NOTUSED"]) — Tokenizör tarafından kullanılan ek özel jetonlar.

“fast” bir LayoutXLM tokenizer'ı oluşturun (HuggingFace'in tokenizers kütüphanesi tarafından desteklenir). RobertaTokenizer ve XLNetTokenizer'den uyarlanmıştır. BPE tabanlıdır.

Bu tokenizer, ana yöntemlerin çoğunu içeren TokenizersBackend sınıfından devralır. Kullanıcıların bu yöntemlerle ilgili daha fazla bilgi için bu üst sınıfa başvurması gerekir.

__call__

< >

( text: str | list[str] | list[list[str]]text_pair: list[str] | list[list[str]] | None = Noneboxes: list[list[int]] | list[list[list[int]]] | None = Noneword_labels: list[int] | list[list[int]] | None = Noneadd_special_tokens: bool = Truepadding: bool | str | transformers.utils.generic.PaddingStrategy = Falsetruncation: bool | str | transformers.tokenization_utils_base.TruncationStrategy | None = Nonemax_length: int | None = Nonestride: int = 0pad_to_multiple_of: int | None = Nonepadding_side: str | None = Nonereturn_tensors: str | transformers.utils.generic.TensorType | None = Nonereturn_token_type_ids: bool | None = Nonereturn_attention_mask: bool | None = Nonereturn_overflowing_tokens: bool = Falsereturn_special_tokens_mask: bool = Falsereturn_offsets_mapping: bool = Falsereturn_length: bool = Falseverbose: bool = True**kwargs ) → BatchEncoding

Parametreler

  • text (str, list[str], list[list[str]]) — Kodlanacak dizi veya dizi grubu. Her dizi bir metin, metin listesi (tek bir örneğin kelimeleri veya örnek grubunun soruları) veya metin listesi listesi (kelime grubu) olabilir.
  • text_pair (list[str], list[list[str]]) — Kodlanacak dizi veya dizi grubu. Her dizi, dizelerden (önceden tokenize edilmiş dizeler) oluşmalıdır.
  • boxes (list[list[int]], list[list[list[int]]]) — Kelime düzeyinde sınırlayıcı kutular. Her sınırlayıcı kutu, 0-1000 ölçeğinde normalize edilmelidir.
  • word_labels (list[int], list[list[int]], isteğe bağlı) — Kelime düzeyinde tamsayı etiketleri (FUNSD, CORD gibi token sınıflandırma görevleri için).
  • add_special_tokens (bool, isteğe bağlı, varsayılan True) — Dizilerin, modele özel özel jetonlarla kodlanıp kodlanmayacağı.
  • padding (bool, str veya PaddingStrategy, isteğe bağlı, varsayılan olarak False) — Dolgu işlemini etkinleştirir ve kontrol eder. Aşağıdaki değerleri kabul eder:
    • True veya 'longest': Toplu işlemdeki en uzun dizinin uzunluğuna kadar dolgu yapılır (yalnızca tek bir dizi sağlandıysa dolgu yapılmaz).
    • 'max_length': max_length argümanı ile belirtilen maksimum uzunluğa veya bu argüman sağlanmadıysa modelin kabul edebileceği maksimum giriş uzunluğuna kadar doldurur.
    • False veya 'do_not_pad' (varsayılan): Dolgu yok (yani, farklı uzunluklarda diziler içeren bir parti çıktı olarak üretilebilir).
  • truncation (bool, str veya TruncationStrategy, isteğe bağlı, varsayılan olarak False) — Kesmeyi (truncation) etkinleştirir ve kontrol eder. Aşağıdaki değerleri kabul eder:
    • True veya 'longest_first': max_length argümanı ile belirtilen maksimum uzunluğa veya bu argüman sağlanmadıysa modelin kabul edebileceği maksimum giriş uzunluğuna kısaltılır. Bu işlem, token bazında kısaltma yapar; bir çift dizi (veya çift dizilerden oluşan bir batch) sağlandığında, çiftteki en uzun diziden bir token kaldırılır.
    • 'only_first': max_length argümanı ile belirtilen maksimum uzunluğa veya bu argüman sağlanmadıysa modelin kabul edebileceği maksimum giriş uzunluğuna kısaltır. Bir çift dizi (veya çiftlerin bir partisi) sağlandığında, yalnızca çiftin ilk dizisini kısaltır.
    • 'only_second': max_length argümanı ile belirtilen maksimum uzunluğa veya bu argüman sağlanmadıysa modelin kabul edebileceği maksimum girdi uzunluğuna kısaltılır. Bu, bir dizi çifti (veya çiftlerin bir partisi) sağlandığında yalnızca çiftin ikinci dizisini kısaltır.
    • False veya 'do_not_truncate' (varsayılan): Kesme yapılmaz (yani, modelin kabul edebileceği maksimum giriş boyutundan daha uzun dizi uzunluklarına sahip bir çıktı partisi üretilebilir).
  • max_length (int, isteğe bağlı) — Bir kesme/doldurma parametresi tarafından kullanılacak maksimum uzunluğu kontrol eder.

    Eğer ayarlanmazsa veya None olarak ayarlanırsa, kırpma/dolgu parametrelerinden biri tarafından bir maksimum uzunluk gerekiyorsa, bu, önceden tanımlanmış modelin maksimum uzunluğunu kullanır. Modelin belirli bir maksimum giriş uzunluğu yoksa (XLNet gibi), maksimum uzunluğa kırpma/dolgu devre dışı bırakılır.

  • stride (int, isteğe bağlı, varsayılan 0) — max_length ile birlikte bir sayıya ayarlanırsa, return_overflowing_tokens=True olduğunda döndürülen taşan jetonlar, kısaltılmış ve taşan diziler arasında bazı örtüşme sağlamak için kısaltılmış dizinin sonundan bazı jetonları içerir. Bu argümanın değeri, örtüşen jeton sayısını tanımlar.
  • pad_to_multiple_of (int, isteğe bağlı) — Belirlenirse, diziyi verilen değerin katına kadar doldurur. Bu, hesaplama yeteneği >= 7.5 (Volta) olan NVIDIA donanımlarında Tensor Cores kullanımını etkinleştirmek için özellikle faydalıdır.
  • return_tensors (str veya TensorType, isteğe bağlı) — Belirlenirse, Python tamsayı listesi yerine tensörler döndürülür. Kabul edilen değerler şunlardır:
    • 'pt': PyTorch torch.Tensor nesnelerini döndürür.
    • 'np': Numpy np.ndarray nesnelerini döndürür.
  • return_token_type_ids (bool, isteğe bağlı) — Token type ID'lerinin döndürülüp döndürülmeyeceğini belirtir. Varsayılan bırakılırsa, ilgili tokenizer'ın varsayılanına göre token type ID'lerini döndürür; bu, return_outputs özniteliği tarafından tanımlanır.

    Token type ID'leri nelerdir?

  • return_attention_mask (bool, isteğe bağlı) — Dikkat maskesinin (attention mask) döndürülüp döndürülmeyeceğini belirtir. Varsayılan bırakılırsa, ilgili tokenizer'ın varsayılanına göre dikkat maskesini döndürür; bu, return_outputs özniteliği ile tanımlanır.

    Dikkat maskeleri nedir?

  • return_overflowing_tokens (bool, isteğe bağlı, varsayılan False) — Taşan token dizilerinin döndürülüp döndürülmeyeceği. Girdi kimlikleri çiftlerinden (veya çiftlerden oluşan bir partiden) truncation_strategy = longest_first veya True ile sağlanırsa, taşan tokenlar döndürülmek yerine bir hata oluşturulur.
  • return_special_tokens_mask (bool, isteğe bağlı, varsayılan False) — Özel jeton maskesi bilgisinin döndürülüp döndürülmemesi.
  • return_offsets_mapping (bool, isteğe bağlı, varsayılan olarak False) — Her token için (char_start, char_end) dönüp döndürmeyeceğini belirtir.

    Bu özellik yalnızca PreTrainedTokenizerFast sınıfından türeyen hızlı tokenizörlerde kullanılabilir; Python tokenizörü kullanılırsa bu yöntem NotImplementedError hatası fırlatır.

  • return_length (bool, isteğe bağlı, varsayılan False) — Kodlanmış girdilerin uzunluklarının döndürülüp döndürülmeyeceği.
  • verbose (bool, isteğe bağlı, varsayılan True) — Daha fazla bilgi ve uyarı basılıp basılmayacağı.
  • **kwargs — self.tokenize() yöntemine iletilir

Dönüş değeri

BatchEncoding

Aşağıdaki alanlara sahip bir BatchEncoding:

  • input_ids — Bir modele verilecek token kimliklerinin listesi.

    Girdi kimlikleri nelerdir?

  • bbox — Bir modele verilecek sınırlayıcı kutuların listesi.

  • token_type_ids — Bir modele verilecek token türü kimlikleri listesi (return_token_type_ids=True olduğunda veya “token_type_ids”, self.model_input_names içinde olduğunda).

    Token type ID'leri nelerdir?

  • attention_mask — Modelin hangi jetonlara dikkat etmesi gerektiğini belirleyen indeks listesi (return_attention_mask=True olduğunda veya self.model_input_names içinde “attention_mask” varsa).

    Dikkat maskeleri nedir?

  • labels — Bir modele verilecek etiketlerin listesi. (word_labels belirtildiğinde).

  • overflowing_tokens — Taşan token dizileri listesi (max_length belirtildiğinde ve return_overflowing_tokens=True olduğunda).

  • num_truncated_tokens — Kırpılan token sayısı (max_length belirtildiğinde ve return_overflowing_tokens=True olduğunda).

  • special_tokens_mask — 0 ve 1'lerden oluşan liste; 1 eklenen özel tokenları, 0 ise normal dizi tokenlarını belirtir (add_special_tokens=True ve return_special_tokens_mask=True olduğunda).

  • length — Girdilerin uzunluğu (return_length=True olduğunda).

Bir veya birden fazla diziyi veya bir veya birden fazla dizi çiftini, kelime düzeyinde normalize edilmiş sınırlayıcı kutuları ve isteğe bağlı etiketlerle birlikte model için belirginleştirmek ve hazırlamak için ana yöntem.

build_inputs_with_special_tokens

< >

( token_ids_0: listtoken_ids_1: list[int] | None = None ) → list[int]

Parametreler

  • token_ids_0 (list[int]) — Özel jetonların ekleneceği kimlik listesi.
  • token_ids_1 (list[int], isteğe bağlı) — Sıra çiftleri için isteğe bağlı ikinci kimlik listesi.

Dönüş değeri

list[int]

Uygun özel jetonlarla girdi kimlikleri listesi.

Sınıflandırma görevleri için bir dizi veya dizi çiftinden model girdilerini birleştirerek ve özel jetonlar ekleyerek oluşturun. Bir XLM-RoBERTa dizisi aşağıdaki formata sahiptir:

  • tek dizi: <s> X </s>
  • dizi çifti: <s> A </s></s> B </s>

get_special_tokens_mask

< >

( token_ids_0: list[int]token_ids_1: list[int] | None = Nonealready_has_special_tokens: bool = False ) → A list of integers in the range [0, 1]

Parametreler

  • token_ids_0 — (muhtemelen zaten biçimlendirilmiş) dizinin kimlik listesi.
  • token_ids_1 — already_has_special_tokens=True olduğunda kullanılmaz. Bu durumda None olmalıdır.
  • already_has_special_tokens — Sıralamanın özel jetonlarla zaten biçimlendirilmiş olup olmadığı.

Dönüş değeri

[0, 1] aralığında tamsayıların bir listesi

özel bir jeton için 1, bir dizi jetonu için 0.

Özel tokenlar eklenmemiş bir token listesinden dizi kimliklerini (sequence ids) alın.

Hızlı tokenizörlerde, veri toplayıcılar (data collators) bu işlemi already_has_special_tokens=True parametresiyle çağırarak, biçimlendirilmiş bir dizinin üzerine bir maske oluşturur. Bu durumda, maskeyi all_special_ids içinde üyelik kontrolü yaparak hesaplarız.

create_token_type_ids_from_sequences

< >

( token_ids_0: listtoken_ids_1: list[int] | None = None ) → list[int]

Parametreler

  • token_ids_0 (list[int]) — Kimlik listesi.
  • token_ids_1 (list[int], isteğe bağlı) — Sıra çiftleri için isteğe bağlı ikinci kimlik listesi.

Dönüş değeri

list[int]

Sıfırlar listesi.

Sıralama çifti sınıflandırma görevinde kullanılmak üzere, iletilen iki diziden bir maske oluşturun. XLM-RoBERTa, token türü kimliklerini kullanmadığından, sıfırlardan oluşan bir liste döndürülür.

save_vocabulary

< >

( save_directory: strfilename_prefix: str | None = None )

LayoutXLMProcessor

sınıf transformers.LayoutXLMProcessor

< >

( image_processor = Nonetokenizer = None**kwargs )

Parametreler

  • image_processor (LayoutLMv2ImageProcessor) — Görsel işleyici zorunlu bir girdidir.
  • tokenizer (LayoutXLMTokenizer) — Tokenizer zorunlu bir girdidir.

Bir görüntü işleyiciyi ve bir belirteçleyiciyi tek bir işleyicide birleştiren bir LayoutXLMProcessor oluşturur.

LayoutXLMProcessor, LayoutLMv2ImageProcessor ve LayoutXLMTokenizer sınıflarının tüm işlevlerini sunar. Daha fazla bilgi için ~LayoutLMv2ImageProcessor ve ~LayoutXLMTokenizer sınıflarına bakın.

__call__

< >

( imagestext: str | list[str] | list[list[str]] = Nonetext_pair: list[str] | list[list[str]] | None = Noneboxes: list[list[int]] | list[list[list[int]]] | None = Noneword_labels: list[int] | list[list[int]] | None = Noneadd_special_tokens: bool = Truepadding: bool | str | transformers.utils.generic.PaddingStrategy = Falsetruncation: bool | str | transformers.tokenization_utils_base.TruncationStrategy = Nonemax_length: int | None = Nonestride: int = 0pad_to_multiple_of: int | None = Nonereturn_token_type_ids: bool | None = Nonereturn_attention_mask: bool | None = Nonereturn_overflowing_tokens: bool = Falsereturn_special_tokens_mask: bool = Falsereturn_offsets_mapping: bool = Falsereturn_length: bool = Falseverbose: bool = Truereturn_tensors: str | transformers.utils.generic.TensorType | None = None**kwargs ) → ~tokenization_utils_base.BatchEncoding

Parametreler

  • images (`) -- Image to preprocess. Expects a single or batch of images with pixel values ranging from 0 to 255. If passing in images with pixel values between 0 and 1, set do_rescale=False`.
  • text (Union[str, list[str], list[list[str]]], isteğe bağlı) — Kodlanacak dizi veya dizi grubu. Her dizi bir metin veya metin listesi (önceden tokenize edilmiş metin) olabilir. Önceden tokenize edilmiş bir girdi geçirirseniz, gruplu girdilerle karışıklığı önlemek için is_split_into_words=True değerini ayarlayın.
  • text_pair (str, list[str] or list[int], isteğe bağlı) — Kodlanacak isteğe bağlı ikinci dizi. Bu, bir dize, bir dize listesi (tokenize yöntemiyle tokenize edilmiş dize) veya bir tamsayı listesi (convert_tokens_to_ids yöntemiyle tokenize edilmiş dize kimlikleri) olabilir.
  • boxes (list[list[int]] or list[list[list[int]]], isteğe bağlı) — Kelime düzeyinde sınırlayıcı kutular. Her sınırlayıcı kutu, 0-1000 ölçeğine normalize edilmiş olmalıdır.
  • word_labels (list[int] or list[list[int]], isteğe bağlı) — Kelime düzeyinde tamsayı etiketleri (FUNSD, CORD gibi token sınıflandırma görevleri için).
  • add_special_tokens (bool, isteğe bağlı, varsayılan True) — Dizileri kodlarken özel token eklenip eklenmeyeceğini belirtir. Bu, girdi kimliklerine otomatik olarak hangi tokenların ekleneceğini tanımlayan alttaki PretrainedTokenizerBase.build_inputs_with_special_tokens işlevini kullanır. bos veya eos tokenlarını otomatik olarak eklemek istiyorsanız bu işe yarar.
  • padding (bool, str veya PaddingStrategy, isteğe bağlı, varsayılanı False) — Doldurmayı (padding) etkinleştirir ve kontrol eder. Aşağıdaki değerleri kabul eder:
    • True veya 'longest': Toplu işlemdeki en uzun dizinin uzunluğuna kadar dolgu yapılır (yalnızca tek bir dizi sağlanırsa dolgu yapılmaz).
    • 'max_length': max_length argümanı ile belirtilen maksimum uzunluğa veya bu argüman sağlanmadıysa modelin kabul edebileceği maksimum giriş uzunluğuna kadar doldurur.
    • False veya 'do_not_pad' (varsayılan): Dolgu yok (yani, farklı uzunluklarda diziler içeren bir parti çıktı olarak üretilebilir).
  • truncation (bool, str veya TruncationStrategy, isteğe bağlı) — Kesmeyi (truncation) etkinleştirir ve kontrol eder. Aşağıdaki değerleri kabul eder:
    • True veya 'longest_first': max_length argümanı ile belirtilen maksimum uzunluğa veya bu argüman sağlanmadıysa modelin kabul edebileceği maksimum giriş uzunluğuna kısaltılır. Bu işlem, token bazında kısaltma yapar; bir çift dizi (veya çift dizilerden oluşan bir batch) sağlandığında, çiftteki en uzun diziden bir token kaldırılır.
    • 'only_first': max_length argümanı ile belirtilen maksimum uzunluğa veya bu argüman sağlanmadıysa modelin kabul edebileceği maksimum giriş uzunluğuna kısaltır. Bir çift dizi (veya çiftlerin bir partisi) sağlandığında, yalnızca çiftin ilk dizisini kısaltır.
    • 'only_second': max_length argümanı ile belirtilen maksimum uzunluğa veya bu argüman sağlanmadıysa modelin kabul edebileceği maksimum girdi uzunluğuna kısaltılır. Bu, bir dizi çifti (veya çiftlerin bir partisi) sağlandığında yalnızca çiftin ikinci dizisini kısaltır.
    • False veya 'do_not_truncate' (varsayılan): Kesme yapılmaz (yani, modelin kabul edebileceği maksimum giriş boyutundan daha uzun dizi uzunluklarına sahip bir çıktı partisi üretilebilir).
  • max_length (int, isteğe bağlı) — Bir kesme/doldurma parametresi tarafından kullanılacak maksimum uzunluğu kontrol eder.

    Eğer ayarlanmazsa veya None olarak ayarlanırsa, kırpma/dolgu parametrelerinden biri tarafından bir maksimum uzunluk gerekiyorsa, bu, önceden tanımlanmış modelin maksimum uzunluğunu kullanır. Modelin belirli bir maksimum giriş uzunluğu yoksa (XLNet gibi), maksimum uzunluğa kırpma/dolgu devre dışı bırakılır.

  • stride (int, isteğe bağlı, varsayılan 0) — max_length ile birlikte bir sayıya ayarlanırsa, return_overflowing_tokens=True olduğunda döndürülen taşan jetonlar, kısaltılmış ve taşan diziler arasında bir örtüşme sağlamak amacıyla kısaltılmış dizinin sonundan bazı jetonları içerir. Bu argümanın değeri, örtüşen jetonların sayısını belirler.
  • pad_to_multiple_of (int, isteğe bağlı) — Belirlenirse, diziyi verilen değerin katına kadar doldurur. Bunun için padding etkinleştirilmelidir. Bu, hesaplama yeteneği >= 7.5 (Volta) olan NVIDIA donanımlarında Tensor Çekirdeklerinin kullanılmasını sağlamak için özellikle faydalıdır.
  • return_token_type_ids (bool, isteğe bağlı) — Token type ID'lerinin döndürülüp döndürülmeyeceğini belirtir. Varsayılan bırakılırsa, ilgili tokenizer'ın varsayılanına göre token type ID'lerini döndürür; bu, return_outputs özniteliği tarafından tanımlanır.

    Token type ID'leri nelerdir?

  • return_attention_mask (bool, isteğe bağlı) — Dikkat maskesinin (attention mask) döndürülüp döndürülmeyeceğini belirtir. Varsayılan bırakılırsa, ilgili tokenizer'ın varsayılanına göre dikkat maskesini döndürür; bu, return_outputs özniteliği ile tanımlanır.

    Dikkat maskeleri nedir?

  • return_overflowing_tokens (bool, isteğe bağlı, varsayılan False) — Taşan token dizilerinin döndürülüp döndürülmeyeceği. Girdi kimlikleri çiftlerinden (veya çiftlerden oluşan bir partiden) truncation_strategy = longest_first veya True ile sağlanırsa, taşan tokenlar döndürülmek yerine bir hata oluşturulur.
  • return_special_tokens_mask (bool, isteğe bağlı, varsayılan False) — Özel jeton maskesi bilgisinin döndürülüp döndürülmemesi.
  • return_offsets_mapping (bool, isteğe bağlı, varsayılan olarak False) — Her token için (char_start, char_end) dönüp döndürmeyeceğini belirtir.

    Bu özellik yalnızca PreTrainedTokenizerFast sınıfından türeyen hızlı tokenizörlerde kullanılabilir; Python tokenizörü kullanılırsa bu yöntem NotImplementedError hatası fırlatır.

  • return_length (bool, isteğe bağlı, varsayılan False) — Kodlanmış girdilerin uzunluklarının döndürülüp döndürülmeyeceği.
  • verbose (bool, isteğe bağlı, varsayılan True) — Daha fazla bilgi ve uyarı basılıp basılmayacağı.
  • return_tensors (Union[str, ~utils.generic.TensorType], isteğe bağlı) — Belirlenirse, belirli bir çerçeveye ait tensörler döndürülür. Kabul edilen değerler şunlardır:
    • 'pt': PyTorch torch.Tensor nesnelerini döndürür.
    • 'np': NumPy np.ndarray nesnelerini döndürür.

Dönüş değeri

~tokenization_utils_base.BatchEncoding

  • data (dict, isteğe bağlı) — __call__/encode_plus/batch_encode_plus yöntemleri tarafından döndürülen listeler/diziler/tensörler sözlüğü (‘input_ids’, ‘attention_mask’, vb.).
  • encoding (tokenizers.Encoding veya Sequence[tokenizers.Encoding], isteğe bağlı) — Tokenizer, kelime/karakter alanından token alanına eşleme gibi ek bilgiler üreten hızlı bir tokenizer ise, tokenizers.Encoding örneği veya örnekler listesi (toplu işlemler için) bu bilgileri barındırır.
  • tensor_type (Union[None, str, TensorType], isteğe bağlı) — Başlatma sırasında PyTorch/Numpy Tensörlerindeki tamsayı listelerini dönüştürmek için burada bir tensor_type verebilirsiniz.
  • prepend_batch_axis (bool, isteğe bağlı, varsayılan False) — Tensörlere dönüştürülürken bir batch ekseni eklenip eklenmeyeceğini belirtir (bkz. yukarıdaki tensor_type). tensor_type parametresi ayarlanmışsa bu parametrenin bir etkisi vardır, aksi halde hiçbir etkisi yoktur.
  • n_sequences (int, isteğe bağlı) — Her kodlamanın temsil ettiği girdi dizilerinin sayısı (None bilinmeyen, 1 tek bir dizi ve 2 dizi çifti için).
Update on GitHub