Transformers documentation
LayoutXLM
Model ini dipublikasikan di HF papers pada 2021-04-18 dan disumbangkan ke Hugging Face Transformers pada 2021-11-03.
LayoutXLM
Ikhtisar
LayoutXLM diusulkan dalam LayoutXLM: Multimodal Pre-training for Multilingual Visually-rich Document Understanding oleh Yiheng Xu, Tengchao Lv, Lei Cui, Guoxin Wang, Yijuan Lu, Dinei Florencio, Cha Zhang, Furu Wei. Ini adalah ekstensi multibahasa dari model LayoutLMv2 yang dilatih pada 53 bahasa.
Abstrak dari makalah tersebut adalah sebagai berikut:
Prapelatihan multimodal dengan teks, tata letak, dan gambar telah mencapai kinerja SOTA untuk tugas pemahaman dokumen yang kaya secara visual baru-baru ini, yang menunjukkan potensi besar untuk pembelajaran bersama di antara berbagai modalitas. Dalam makalah ini, kami memperkenalkan LayoutXLM, model prapelatihan multimodal untuk pemahaman dokumen multibahasa, yang bertujuan untuk menjembatani hambatan bahasa untuk pemahaman dokumen yang kaya secara visual. Untuk mengevaluasi LayoutXLM secara akurat, kami juga memperkenalkan dataset benchmark pemahaman formulir multibahasa bernama XFUN, yang mencakup sampel pemahaman formulir dalam 7 bahasa (Tionghoa, Jepang, Spanyol, Prancis, Italia, Jerman, Portugis), dan pasangan kunci-nilai diberi label secara manual untuk setiap bahasa. Hasil eksperimen menunjukkan bahwa model LayoutXLM secara signifikan melampaui model prapelatihan lintas bahasa SOTA yang ada pada dataset XFUN.
Model ini disumbangkan oleh nielsr. Kode aslinya dapat ditemukan di sini.
Tips dan contoh penggunaan
Seseorang dapat langsung memasukkan bobot LayoutXLM ke dalam model LayoutLMv2, seperti berikut:
from transformers import LayoutLMv2Model
model = LayoutLMv2Model.from_pretrained("microsoft/layoutxlm-base", device_map="auto")Perhatikan bahwa LayoutXLM memiliki tokenizer-nya sendiri, berdasarkan LayoutXLMTokenizer/LayoutXLMTokenizerFast. Anda dapat menginisialisasinya sebagai berikut:
from transformers import LayoutXLMTokenizer
tokenizer = LayoutXLMTokenizer.from_pretrained("microsoft/layoutxlm-base")Mirip dengan LayoutLMv2, Anda dapat menggunakan LayoutXLMProcessor (yang secara internal menerapkan LayoutLMv2ImageProcessor dan LayoutXLMTokenizer/LayoutXLMTokenizerFast secara berurutan) untuk menyiapkan semua data untuk model.
Karena arsitektur LayoutXLM ekuivalen dengan LayoutLMv2, Anda dapat merujuk ke halaman dokumentasi LayoutLMv2 untuk semua tips, contoh kode, dan notebook.
LayoutXLMConfig
kelas 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 )
Parameter
- vocab_size (
int, opsional, default30522) — Ukuran kosakata model. Menentukan jumlah token berbeda yang dapat direpresentasikan olehinput_ids. - hidden_size (
int, opsional, default768) — Dimensi dari representasi tersembunyi. - num_hidden_layers (
int, opsional, default12) — Jumlah lapisan tersembunyi dalam decoder Transformer. - num_attention_heads (
int, opsional, default12) — Jumlah attention head untuk setiap lapisan attention di decoder Transformer. - intermediate_size (
int, opsional, default3072) — Dimensi representasi MLP. - hidden_act (
str, opsional, defaultnyagelu) — Fungsi aktivasi non-linear (fungsi atau string) di decoder. Misalnya,"gelu","relu","silu", dan sebagainya. - hidden_dropout_prob (
Union[float, int], opsional, default0.1) — Probabilitas dropout untuk semua lapisan fully connected di embeddings, encoder, dan pooler. - attention_probs_dropout_prob (
Union[float, int], opsional, default0.1) — Rasio dropout untuk probabilitas perhatian. - max_position_embeddings (
int, opsional, default512) — Panjang maksimum urutan yang mungkin digunakan dengan model ini. - type_vocab_size (
int, opsional, default2) — Ukuran kosakata daritoken_type_ids. - initializer_range (
float, opsional, defaultnya0.02) — Standar deviasi dari truncated_normal_initializer untuk menginisialisasi semua matriks bobot. - layer_norm_eps (
float, opsional, defaultnya1e-12) — Epsilon yang digunakan oleh lapisan normalisasi lapisan. - pad_token_id (
int, opsional, default0) — ID token yang digunakan untuk padding dalam kosakata. - max_2d_position_embeddings (
int, opsional, default 1024) — Nilai maksimum yang mungkin digunakan oleh 2D position embedding. Biasanya, atur nilai ini menjadi sesuatu yang besar sebagai antisipasi (misalnya, 1024). - max_rel_pos (
int, opsional, default 128) — Jumlah maksimum posisi relatif yang digunakan dalam mekanisme self-attention. - rel_pos_bins (
int, opsional, default 32) — Jumlah bin posisi relatif yang akan digunakan dalam mekanisme self-attention. - fast_qkv (
bool, opsional, defaultTrue) — Apakah akan menggunakan satu matriks untuk queries, keys, dan values pada lapisan self-attention. - max_rel_2d_pos (
int, opsional, defaultnya 256) — Jumlah maksimum posisi relatif 2D dalam mekanisme self-attention. - rel_2d_pos_bins (
int, opsional, default 64) — Jumlah bin posisi relatif 2D dalam mekanisme self-attention. - convert_sync_batchnorm (
bool, opsional, defaultTrue) — Apakah akan mengkonversi lapisan batch normalization menjadi lapisan synchronized batch normalization. - image_feature_pool_shape (
list[int], opsional, defaultnya[7, 7, 256]) — Bentuk dari peta fitur yang telah di-rata-rata (average-pooled). - coordinate_size (
int, opsional, default 128) — Dimensi dari embedding koordinat. - shape_size (
int, opsional, default 128) — Dimensi dari embedding lebar dan tinggi. - has_relative_attention_bias (
bool, opsional, defaultTrue) — Apakah akan menggunakan relative attention bias dalam mekanisme self-attention. - has_spatial_attention_bias (
bool, opsional, defaultTrue) — Apakah akan menggunakan bias perhatian spasial dalam mekanisme self-attention. - has_visual_segment_embedding (
bool, opsional, defaultFalse) — Apakah akan menambahkan embedding segmen visual. - detectron2_config_args (
dict, opsional) — Kamus yang berisi argumen konfigurasi dari visual backbone Detectron2. Lihat file ini untuk detail mengenai nilai default.
Ini adalah kelas konfigurasi untuk menyimpan konfigurasi dari LayoutxlmModel. Kelas ini digunakan untuk membuat instans model Layoutxlm sesuai dengan argumen yang ditentukan, yang mendefinisikan arsitektur model. Membuat instans konfigurasi dengan nilai bawaan akan menghasilkan konfigurasi yang serupa dengan konfigurasi dari microsoft/layoutxlm-base
Objek konfigurasi mewarisi dari PreTrainedConfig dan dapat digunakan untuk mengontrol output model. Baca dokumentasi dari PreTrainedConfig untuk informasi lebih lanjut.
Contoh:
>>> 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
kelas 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 )
Parameter
- vocab (
str,dictataulist, opsional) — Kosakata untuk tokenizer sebagai path, dictionary, atau list dari tuple(token, score). - bos_token (
str, opsional, defaultnya"<s>") — Token awal urutan yang digunakan selama pretraining. Dapat digunakan sebagai token klasifikator urutan. Saat membangun urutan menggunakan token khusus, ini bukan token yang digunakan untuk awal urutan. Token yang digunakan adalah cls_token.Saat membangun sebuah sekuens menggunakan token khusus, token ini bukan token yang digunakan untuk awal sekuens. Token yang digunakan adalah
cls_token. - eos_token (
str, opsional, defaultnya"</s>") — Token akhir urutan.Saat membangun sebuah urutan menggunakan token khusus, token ini bukan yang digunakan untuk akhir urutan. Token yang digunakan adalah
sep_token. - sep_token (
str, opsional, default"</s>") — Token pemisah, yang digunakan saat membangun satu rangkaian dari beberapa rangkaian, misalnya dua rangkaian untuk klasifikasi rangkaian atau untuk teks dan pertanyaan untuk penjawaban pertanyaan. Token ini juga digunakan sebagai token terakhir dari rangkaian yang dibangun dengan token khusus. - cls_token (
str, opsional, default"<s>") — Token klasifikator yang digunakan saat melakukan klasifikasi sekuens (klasifikasi seluruh sekuens, bukan klasifikasi per-token). Token ini merupakan token pertama dari sekuens ketika dibangun dengan token khusus. - unk_token (
str, opsional, default"<unk>") — Token yang tidak diketahui. Token yang tidak ada dalam kosakata tidak dapat dikonversi menjadi ID dan akan diset sebagai token ini sebagai gantinya. - pad_token (
str, opsional, defaultnya"<pad>") — Token yang digunakan untuk padding, misalnya saat membatching urutan dengan panjang yang berbeda. - mask_token (
str, opsional, default"<mask>") — Token yang digunakan untuk memask nilai. Ini adalah token yang digunakan saat melatih model ini dengan pemodelan bahasa ter-mask. Ini adalah token yang akan diprediksi oleh model. - cls_token_box (
list[int], opsional, default[0, 0, 0, 0]) — Bounding box yang digunakan untuk token khusus [CLS]. - sep_token_box (
list[int], opsional, default[1000, 1000, 1000, 1000]) — Bounding box yang digunakan untuk token khusus [SEP]. - pad_token_box (
list[int], opsional, default[0, 0, 0, 0]) — Bounding box yang digunakan untuk token khusus [PAD]. - pad_token_label (
int, opsional, default -100) — Label yang digunakan untuk token padding. Defaultnya adalah -100, yang merupakanignore_indexdari CrossEntropyLoss PyTorch. - only_label_first_subword (
bool, opsional, defaultnyaTrue) — Apakah hanya subword pertama yang diberi label, jika label kata disediakan. - add_prefix_space (
bool, opsional, defaultTrue) — Apakah akan menambahkan spasi awal ke input. - additional_special_tokens (
list[str], opsional, defaultnya["<s>NOTUSED", "</s>NOTUSED"]) — Token khusus tambahan yang digunakan oleh tokenizer.
Konstruksi tokenizer LayoutXLM “cepat” (didukung oleh pustaka tokenizers HuggingFace). Diadaptasi dari RobertaTokenizer dan XLNetTokenizer. Berbasis BPE.
Tokenizer ini mewarisi dari TokenizersBackend yang berisi sebagian besar metode utama. Pengguna sebaiknya merujuk ke superclass ini untuk informasi lebih lanjut mengenai metode-metode tersebut.
__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
Parameter
- text (
str,list[str],list[list[str]]) — Sequens atau batch dari sequens yang akan dienkod. Setiap sequens dapat berupa string, daftar string (kata-kata dari satu contoh atau pertanyaan dari batch contoh) atau daftar dari daftar string (batch kata). - text_pair (
list[str],list[list[str]]) — Urutan atau batch dari urutan yang akan dienkod. Setiap urutan harus berupa daftar string (string yang sudah dipretokenisasi). - boxes (
list[list[int]],list[list[list[int]]]) — Kotak pembatas tingkat kata. Setiap kotak pembatas harus dinormalisasi ke skala 0-1000. - word_labels (
list[int],list[list[int]], opsional) — Label integer tingkat kata (untuk tugas klasifikasi token seperti FUNSD, CORD). - add_special_tokens (
bool, opsional, defaultTrue) — Apakah akan mengkodekan urutan dengan token khusus yang relatif terhadap modelnya. - padding (
bool,stratau PaddingStrategy, opsional, defaultnyaFalse) — Mengaktifkan dan mengontrol padding. Menerima nilai-nilai berikut:Trueatau'longest': Pad hingga urutan terpanjang dalam batch (atau tanpa padding jika hanya satu urutan yang diberikan).'max_length': Pad hingga panjang maksimum yang ditentukan dengan argumenmax_lengthatau hingga panjang input maksimum yang dapat diterima oleh model jika argumen tersebut tidak diberikan.Falseatau'do_not_pad'(default): Tidak ada padding (yaitu, dapat menghasilkan batch dengan urutan yang panjangnya berbeda).
- truncation (
bool,stratau TruncationStrategy, opsional, defaultnyaFalse) — Mengaktifkan dan mengontrol pemotongan. Menerima nilai-nilai berikut:Trueatau'longest_first': Memotong hingga panjang maksimum yang ditentukan dengan argumenmax_lengthatau hingga panjang input maksimum yang dapat diterima oleh model jika argumen tersebut tidak diberikan. Ini akan memotong per token, dengan menghapus satu token dari urutan terpanjang dalam pasangan jika sepasang urutan (atau batch pasangan) diberikan.'only_first': Potong hingga panjang maksimum yang ditentukan dengan argumenmax_lengthatau hingga panjang input maksimum yang dapat diterima oleh model jika argumen tersebut tidak diberikan. Ini hanya akan memotong urutan pertama dari sebuah pasangan jika sepasang urutan (atau batch dari pasangan) diberikan.'only_second': Potong hingga panjang maksimum yang ditentukan dengan argumenmax_lengthatau hingga panjang input maksimum yang dapat diterima oleh model jika argumen tersebut tidak diberikan. Ini hanya akan memotong urutan kedua dari sebuah pasangan jika sepasang urutan (atau batch dari pasangan) diberikan.Falseatau'do_not_truncate'(default): Tidak ada pemotongan (yaitu, dapat menghasilkan batch dengan panjang sekuens yang lebih besar dari ukuran input maksimum yang diizinkan model).
- max_length (
int, opsional) — Mengontrol panjang maksimum yang digunakan oleh salah satu parameter truncation/padding.Jika tidak disetel atau disetel ke
None, ini akan menggunakan panjang maksimum model yang telah didefinisikan sebelumnya jika panjang maksimum diperlukan oleh salah satu parameter truncation/padding. Jika model tidak memiliki panjang input maksimum yang spesifik (seperti XLNet), truncation/padding ke panjang maksimum akan dinonaktifkan. - stride (
int, opsional, default 0) — Jika diatur ke sebuah angka bersama denganmax_length, token yang meluap yang dikembalikan saatreturn_overflowing_tokens=Trueakan berisi beberapa token dari akhir urutan terpotong yang dikembalikan untuk menyediakan beberapa tumpang tindih antara urutan terpotong dan urutan yang meluap. Nilai argumen ini menentukan jumlah token yang tumpang tindih. - pad_to_multiple_of (
int, opsional) — Jika diset, akan melakukan padding pada urutan hingga menjadi kelipatan dari nilai yang diberikan. Ini sangat berguna untuk memungkinkan penggunaan Tensor Cores pada perangkat keras NVIDIA dengan kemampuan komputasi>= 7.5(Volta). - return_tensors (
stratau TensorType, opsional) — Jika diset, akan mengembalikan tensor alih-alih daftar integer Python. Nilai yang dapat diterima adalah:'pt': Mengembalikan objek PyTorchtorch.Tensor.'np': Mengembalikan objek Numpynp.ndarray.
- return_token_type_ids (
bool, opsional) — Apakah akan mengembalikan token type ID. Jika dibiarkan pada nilai default, akan mengembalikan token type ID sesuai dengan default tokenizer tertentu, yang ditentukan olehreturn_outputsatribut. - return_attention_mask (
bool, opsional) — Apakah akan mengembalikan attention mask. Jika dibiarkan pada nilai default, akan mengembalikan attention mask sesuai dengan default tokenizer tertentu, yang didefinisikan olehreturn_outputsatribut. - return_overflowing_tokens (
bool, opsional, defaultFalse) — Apakah akan mengembalikan urutan token yang meluap. Jika sepasang urutan id input (atau batch dari pasangan) diberikan dengantruncation_strategy = longest_firstatauTrue, error akan dilemparkan alih-alih mengembalikan token yang meluap. - return_special_tokens_mask (
bool, opsional, defaultFalse) — Apakah akan mengembalikan informasi mask token khusus. - return_offsets_mapping (
bool, opsional, defaultnyaFalse) — Apakah akan mengembalikan(char_start, char_end)untuk setiap token.Ini hanya tersedia pada fast tokenizer yang mewarisi dari PreTrainedTokenizerFast, jika menggunakan tokenizer Python, metode ini akan memicu
NotImplementedError. - return_length (
bool, opsional, defaultFalse) — Apakah akan mengembalikan panjang dari input yang dikodekan. - verbose (
bool, opsional, defaultnyaTrue) — Apakah akan mencetak lebih banyak informasi dan peringatan. - **kwargs — diteruskan ke metode
self.tokenize()
Mengembalikan
BatchEncoding dengan bidang berikut:
-
input_ids — Daftar id token yang akan diberikan ke model.
-
bbox — Daftar kotak pembatas yang akan diberikan ke model.
-
token_type_ids — Daftar token type id yang akan diberikan ke model (ketika
return_token_type_ids=Trueatau jika “token_type_ids” ada diself.model_input_names). -
attention_mask — Daftar indeks yang menentukan token mana yang harus diperhatikan oleh model (ketika
return_attention_mask=Trueatau jika “attention_mask” ada diself.model_input_names). -
labels — Daftar label yang akan diberikan ke model. (ketika
word_labelsditentukan). -
overflowing_tokens — Daftar sekuens token yang meluap (ketika
max_lengthditentukan danreturn_overflowing_tokens=True). -
num_truncated_tokens — Jumlah token yang dipangkas (ketika
max_lengthditentukan danreturn_overflowing_tokens=True). -
special_tokens_mask — Daftar angka 0 dan 1, di mana 1 menandakan token khusus yang ditambahkan dan 0 menandakan token urutan reguler (ketika
add_special_tokens=Truedanreturn_special_tokens_mask=True). -
length — Panjang dari input (ketika
return_length=True).
Metode utama untuk melakukan tokenisasi dan persiapan satu atau beberapa urutan atau satu atau beberapa pasangan urutan dengan kotak pembatas (bounding boxes) yang dinormalisasi pada tingkat kata dan label opsional untuk model.
build_inputs_with_special_tokens
< source >( token_ids_0: listtoken_ids_1: list[int] | None = None ) → list[int]
Parameter
- token_ids_0 (
list[int]) — Daftar ID tempat token khusus akan ditambahkan. - token_ids_1 (
list[int], opsional) — Daftar ID kedua opsional untuk pasangan sekuens.
Mengembalikan
list[int]
Daftar ID input dengan token khusus yang sesuai.
Bangun input model dari sebuah urutan atau sepasang urutan untuk tugas klasifikasi urutan dengan melakukan penggabungan (concatenation) dan penambahan token khusus. Urutan XLM-RoBERTa memiliki format berikut:
- satu urutan:
<s> X </s> - pasangan sekuens:
<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]
Parameter
- token_ids_0 — Daftar ID untuk urutan (yang mungkin sudah diformat).
- token_ids_1 — Tidak digunakan saat
already_has_special_tokens=True. Harus None dalam kasus tersebut. - already_has_special_tokens — Apakah urutan sudah diformat dengan token khusus.
Mengembalikan
Daftar bilangan bulat dalam rentang [0, 1]
1 untuk token khusus, 0 untuk token urutan.
Ambil id urutan dari daftar token yang tidak memiliki token khusus yang ditambahkan.
Untuk tokenizer yang cepat, data collator memanggil ini dengan already_has_special_tokens=True untuk membangun mask di atas urutan yang sudah diformat. Dalam kasus tersebut, kami menghitung mask dengan memeriksa keanggotaan dalam all_special_ids.
create_token_type_ids_from_sequences
< source >( token_ids_0: listtoken_ids_1: list[int] | None = None ) → list[int]
Buat mask dari dua urutan yang diteruskan untuk digunakan dalam tugas klasifikasi pasangan urutan. XLM-RoBERTa tidak menggunakan id tipe token, oleh karena itu daftar nol dikembalikan.
LayoutXLMProcessor
kelas transformers.LayoutXLMProcessor
< source >( image_processor = Nonetokenizer = None**kwargs )
Membangun LayoutXLMProcessor yang membungkus image processor dan tokenizer menjadi satu processor.
LayoutXLMProcessor menyediakan semua fungsionalitas dari LayoutLMv2ImageProcessor dan LayoutXLMTokenizer. Lihat ~LayoutLMv2ImageProcessor dan ~LayoutXLMTokenizer untuk informasi lebih lanjut.
__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
Parameter
- 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]]], opsional) — Sequens atau batch dari sequens yang akan dienkod. Setiap sequens dapat berupa string atau daftar string (string yang sudah dipretokenisasi). Jika Anda memasukkan input yang sudah dipretokenisasi, aturis_split_into_words=Trueuntuk menghindari ambiguitas dengan input yang di-batch. - text_pair (
str, list[str] or list[int], opsional) — Urutan kedua opsional untuk dikodekan. Ini bisa berupa string, daftar string (string yang ditokenisasi menggunakan metodetokenize) atau daftar bilangan bulat (id string yang ditokenisasi menggunakan metodeconvert_tokens_to_ids). - boxes (
list[list[int]] or list[list[list[int]]], opsional) — Kotak pembatas tingkat kata. Setiap kotak pembatas harus dinormalisasi ke skala 0-1000. - word_labels (
list[int] or list[list[int]], opsional) — Label integer tingkat kata (untuk tugas klasifikasi token seperti FUNSD, CORD). - add_special_tokens (
bool, opsional, defaultTrue) — Apakah akan menambahkan token khusus saat meng-encode urutan. Ini akan menggunakan fungsiPretrainedTokenizerBase.build_inputs_with_special_tokensyang mendasarinya, yang mendefinisikan token mana yang ditambahkan secara otomatis ke input ids. Ini berguna jika Anda ingin menambahkan tokenbosataueossecara otomatis. - padding (bool, str atau PaddingStrategy, opsional, defaultnya
False) — Mengaktifkan dan mengontrol padding. Menerima nilai-nilai berikut:Trueatau'longest': Pad hingga urutan terpanjang dalam batch (atau tanpa padding jika hanya satu urutan yang diberikan).'max_length': Pad hingga panjang maksimum yang ditentukan dengan argumenmax_lengthatau hingga panjang input maksimum yang dapat diterima oleh model jika argumen tersebut tidak diberikan.Falseatau'do_not_pad'(default): Tidak ada padding (yaitu, dapat menghasilkan batch dengan urutan yang panjangnya berbeda).
- truncation (bool, str atau TruncationStrategy, opsional) —
Mengaktifkan dan mengontrol pemotongan. Menerima nilai-nilai berikut:
Trueatau'longest_first': Memotong hingga panjang maksimum yang ditentukan dengan argumenmax_lengthatau hingga panjang input maksimum yang dapat diterima oleh model jika argumen tersebut tidak diberikan. Ini akan memotong per token, dengan menghapus satu token dari urutan terpanjang dalam pasangan jika sepasang urutan (atau batch pasangan) diberikan.'only_first': Potong hingga panjang maksimum yang ditentukan dengan argumenmax_lengthatau hingga panjang input maksimum yang dapat diterima oleh model jika argumen tersebut tidak diberikan. Ini hanya akan memotong urutan pertama dari sebuah pasangan jika sepasang urutan (atau batch dari pasangan) diberikan.'only_second': Potong hingga panjang maksimum yang ditentukan dengan argumenmax_lengthatau hingga panjang input maksimum yang dapat diterima oleh model jika argumen tersebut tidak diberikan. Ini hanya akan memotong urutan kedua dari sebuah pasangan jika sepasang urutan (atau batch dari pasangan) diberikan.Falseatau'do_not_truncate'(default): Tidak ada pemotongan (yaitu, dapat menghasilkan batch dengan panjang sekuens yang lebih besar dari ukuran input maksimum yang diizinkan model).
- max_length (
int, opsional) — Mengontrol panjang maksimum yang digunakan oleh salah satu parameter truncation/padding.Jika tidak disetel atau disetel ke
None, ini akan menggunakan panjang maksimum model yang telah didefinisikan sebelumnya jika panjang maksimum diperlukan oleh salah satu parameter truncation/padding. Jika model tidak memiliki panjang input maksimum yang spesifik (seperti XLNet), truncation/padding ke panjang maksimum akan dinonaktifkan. - stride (
int, opsional, default0) — Jika diatur ke sebuah angka bersama denganmax_length, token yang meluap yang dikembalikan saatreturn_overflowing_tokens=Trueakan berisi beberapa token dari akhir urutan terpotong yang dikembalikan untuk menyediakan beberapa tumpang tindih antara urutan terpotong dan urutan yang meluap. Nilai argumen ini menentukan jumlah token yang tumpang tindih. - pad_to_multiple_of (
int, optional) — If set will pad the sequence to a multiple of the provided value. Requirespaddingto be activated. This is especially useful to enable using Tensor Cores on NVIDIA hardware with compute capability>= 7.5(Volta). - return_token_type_ids (
bool, opsional) — Apakah akan mengembalikan token type ID. Jika dibiarkan pada nilai default, akan mengembalikan token type ID sesuai dengan default tokenizer tertentu, yang ditentukan olehreturn_outputsatribut. - return_attention_mask (
bool, opsional) — Apakah akan mengembalikan attention mask. Jika dibiarkan pada nilai default, akan mengembalikan attention mask sesuai dengan default tokenizer tertentu, yang didefinisikan olehreturn_outputsatribut. - return_overflowing_tokens (
bool, opsional, defaultFalse) — Apakah akan mengembalikan urutan token yang meluap. Jika sepasang urutan id input (atau batch dari pasangan) diberikan dengantruncation_strategy = longest_firstatauTrue, error akan dilemparkan alih-alih mengembalikan token yang meluap. - return_special_tokens_mask (
bool, opsional, defaultFalse) — Apakah akan mengembalikan informasi mask token khusus. - return_offsets_mapping (
bool, opsional, defaultnyaFalse) — Apakah akan mengembalikan(char_start, char_end)untuk setiap token.Ini hanya tersedia pada fast tokenizer yang mewarisi dari PreTrainedTokenizerFast, jika menggunakan tokenizer Python, metode ini akan memicu
NotImplementedError. - return_length (
bool, opsional, defaultFalse) — Apakah akan mengembalikan panjang dari input yang dikodekan. - verbose (
bool, opsional, defaultnyaTrue) — Apakah akan mencetak lebih banyak informasi dan peringatan. - return_tensors (
Union[str, ~utils.generic.TensorType], opsional) — Jika diatur, akan mengembalikan tensor dari framework tertentu. Nilai yang dapat diterima adalah:'pt': Mengembalikan objek PyTorchtorch.Tensor.'np': Mengembalikan objek NumPynp.ndarray.
Mengembalikan
~tokenization_utils_base.BatchEncoding
- data (
dict, opsional) — Kamus berisi daftar/array/tensor yang dikembalikan oleh metode__call__/encode_plus/batch_encode_plus(‘input_ids’, ‘attention_mask’, dll.). - encoding (
tokenizers.EncodingatauSequence[tokenizers.Encoding], opsional) — Jika tokenizer adalah fast tokenizer yang menghasilkan informasi tambahan seperti pemetaan dari ruang kata/karakter ke ruang token, instancetokenizers.Encodingatau daftar instance (untuk batch) menyimpan informasi ini. - tensor_type (
Union[None, str, TensorType], opsional) — Anda dapat memberikan tensor_type di sini untuk mengonversi daftar bilangan bulat menjadi Tensor PyTorch/Numpy saat inisialisasi. - prepend_batch_axis (
bool, opsional, defaultFalse) — Apakah akan menambahkan sumbu batch saat mengonversi ke tensor (lihattensor_typedi atas). Perhatikan bahwa parameter ini berpengaruh jika parametertensor_typedisetel, tidak berpengaruh jika tidak. - n_sequences (
int, opsional) — Jumlah urutan input yang direpresentasikan oleh setiap encoding (Noneuntuk tidak diketahui,1untuk satu urutan, dan2untuk sepasang urutan).