Transformers documentation
LayoutXLM
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
< 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 = 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ılan30522) — Modelin sözlük boyutu.input_idstarafından temsil edilebilecek farklı token sayısını tanımlar. - hidden_size (
int, isteğe bağlı, varsayılan768) — Gizli temsillerin 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ı. - intermediate_size (
int, isteğe bağlı, varsayılan3072) — MLP temsillerinin boyutu. - 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. - hidden_dropout_prob (
Union[float, int], isteğe bağlı, varsayılan0.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ılan0.1) — Dikkat olasılıkları için dropout oranı. - max_position_embeddings (
int, isteğe bağlı, varsayılan512) — Bu modelin kullanılabileceği en uzun dizi uzunluğu. - type_vocab_size (
int, isteğe bağlı, varsayılan2) —token_type_idsiçin sözlük boyutu. - initializer_range (
float, isteğe bağlı, varsayılan0.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ılan1e-12) — Katman normalizasyon katmanları tarafından kullanılan epsilon. - pad_token_id (
int, isteğe bağlı, varsayılan0) — 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ılanTrue) — 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ılanTrue) — 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ılanTrue) — 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ılanTrue) — 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ılanFalse) — 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.configLayoutXLMTokenizer
sınıf transformers.LayoutXLMTokenizer
< source >( 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,dictveyalist, 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ındakiignore_indexdeğeridir. - only_label_first_subword (
bool, isteğe bağlı, varsayılanTrue) — Kelime etiketleri sağlandığında, yalnızca ilk alt kelimenin etiketlenip etiketlenmeyeceğini belirtir. - add_prefix_space (
bool, isteğe bağlı, varsayılanTrue) — 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__
< source >( 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ılanTrue) — Dizilerin, modele özel özel jetonlarla kodlanıp kodlanmayacağı. - padding (
bool,strveya PaddingStrategy, isteğe bağlı, varsayılan olarakFalse) — Dolgu işlemini etkinleştirir ve kontrol eder. Aşağıdaki değerleri kabul eder:Trueveya'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_lengthargümanı ile belirtilen maksimum uzunluğa veya bu argüman sağlanmadıysa modelin kabul edebileceği maksimum giriş uzunluğuna kadar doldurur.Falseveya'do_not_pad'(varsayılan): Dolgu yok (yani, farklı uzunluklarda diziler içeren bir parti çıktı olarak üretilebilir).
- truncation (
bool,strveya TruncationStrategy, isteğe bağlı, varsayılan olarakFalse) — Kesmeyi (truncation) etkinleştirir ve kontrol eder. Aşağıdaki değerleri kabul eder:Trueveya'longest_first':max_lengthargü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_lengthargü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_lengthargü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.Falseveya'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
Noneolarak 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_lengthile birlikte bir sayıya ayarlanırsa,return_overflowing_tokens=Trueolduğ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 (
strveya TensorType, isteğe bağlı) — Belirlenirse, Python tamsayı listesi yerine tensörler döndürülür. Kabul edilen değerler şunlardır:'pt': PyTorchtorch.Tensornesnelerini döndürür.'np': Numpynp.ndarraynesnelerini 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. - 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. - return_overflowing_tokens (
bool, isteğe bağlı, varsayılanFalse) — 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_firstveyaTrueile 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ılanFalse) — Özel jeton maskesi bilgisinin döndürülüp döndürülmemesi. - return_offsets_mapping (
bool, isteğe bağlı, varsayılan olarakFalse) — 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
NotImplementedErrorhatası fırlatır. - return_length (
bool, isteğe bağlı, varsayılanFalse) — Kodlanmış girdilerin uzunluklarının döndürülüp döndürülmeyeceği. - verbose (
bool, isteğe bağlı, varsayılanTrue) — Daha fazla bilgi ve uyarı basılıp basılmayacağı. - **kwargs —
self.tokenize()yöntemine iletilir
Dönüş değeri
Aşağıdaki alanlara sahip bir BatchEncoding:
-
input_ids — Bir modele verilecek token kimliklerinin listesi.
-
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=Trueolduğunda veya “token_type_ids”,self.model_input_namesiçinde olduğunda). -
attention_mask — Modelin hangi jetonlara dikkat etmesi gerektiğini belirleyen indeks listesi (
return_attention_mask=Trueolduğunda veyaself.model_input_namesiçinde “attention_mask” varsa). -
labels — Bir modele verilecek etiketlerin listesi. (
word_labelsbelirtildiğinde). -
overflowing_tokens — Taşan token dizileri listesi (
max_lengthbelirtildiğinde vereturn_overflowing_tokens=Trueolduğunda). -
num_truncated_tokens — Kırpılan token sayısı (
max_lengthbelirtildiğinde vereturn_overflowing_tokens=Trueolduğ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=Truevereturn_special_tokens_mask=Trueolduğunda). -
length — Girdilerin uzunluğu (
return_length=Trueolduğ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
< source >( 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
< source >( 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=Trueolduğ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
< source >( token_ids_0: listtoken_ids_1: list[int] | None = None ) → list[int]
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.
LayoutXLMProcessor
sınıf transformers.LayoutXLMProcessor
< source >( image_processor = Nonetokenizer = None**kwargs )
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__
< source >( 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, setdo_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çinis_split_into_words=Truedeğ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 (tokenizeyöntemiyle tokenize edilmiş dize) veya bir tamsayı listesi (convert_tokens_to_idsyö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ılanTrue) — Dizileri kodlarken özel token eklenip eklenmeyeceğini belirtir. Bu, girdi kimliklerine otomatik olarak hangi tokenların ekleneceğini tanımlayan alttakiPretrainedTokenizerBase.build_inputs_with_special_tokensişlevini kullanır.bosveyaeostokenları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:Trueveya'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_lengthargümanı ile belirtilen maksimum uzunluğa veya bu argüman sağlanmadıysa modelin kabul edebileceği maksimum giriş uzunluğuna kadar doldurur.Falseveya'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:
Trueveya'longest_first':max_lengthargü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_lengthargü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_lengthargü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.Falseveya'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
Noneolarak 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ılan0) —max_lengthile birlikte bir sayıya ayarlanırsa,return_overflowing_tokens=Trueolduğ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çinpaddingetkinleş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. - 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. - return_overflowing_tokens (
bool, isteğe bağlı, varsayılanFalse) — 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_firstveyaTrueile 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ılanFalse) — Özel jeton maskesi bilgisinin döndürülüp döndürülmemesi. - return_offsets_mapping (
bool, isteğe bağlı, varsayılan olarakFalse) — 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
NotImplementedErrorhatası fırlatır. - return_length (
bool, isteğe bağlı, varsayılanFalse) — Kodlanmış girdilerin uzunluklarının döndürülüp döndürülmeyeceği. - verbose (
bool, isteğe bağlı, varsayılanTrue) — 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': PyTorchtorch.Tensornesnelerini döndürür.'np': NumPynp.ndarraynesnelerini döndürür.
Dönüş değeri
~tokenization_utils_base.BatchEncoding
- data (
dict, isteğe bağlı) —__call__/encode_plus/batch_encode_plusyöntemleri tarafından döndürülen listeler/diziler/tensörler sözlüğü (‘input_ids’, ‘attention_mask’, vb.). - encoding (
tokenizers.EncodingveyaSequence[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ılanFalse) — Tensörlere dönüştürülürken bir batch ekseni eklenip eklenmeyeceğini belirtir (bkz. yukarıdakitensor_type).tensor_typeparametresi 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ı (Nonebilinmeyen,1tek bir dizi ve2dizi çifti için).