Transformers documentation

LayoutLMV2

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

Model ini dipublikasikan di HF papers pada 2020-12-29 dan disumbangkan ke Hugging Face Transformers pada 2021-08-30.

LayoutLMV2

Ikhtisar

Model LayoutLMV2 diusulkan dalam LayoutLMv2: Multi-modal Pre-training for Visually-Rich Document Understanding oleh Yang Xu, Yiheng Xu, Tengchao Lv, Lei Cui, Furu Wei, Guoxin Wang, Yijuan Lu, Dinei Florencio, Cha Zhang, Wanxiang Che, Min Zhang, Lidong Zhou. LayoutLMV2 meningkatkan LayoutLM untuk memperoleh hasil state-of-the-art di berbagai benchmark pemahaman gambar dokumen:

  • ekstraksi informasi dari dokumen hasil pindaian: dataset FUNSD (kumpulan 199 formulir anotasi yang berisi lebih dari 30.000 kata), dataset CORD (kumpulan 800 struk untuk pelatihan, 100 untuk validasi, dan 100 untuk pengujian), dataset SROIE (kumpulan 626 struk untuk pelatihan dan 347 struk untuk pengujian) dan dataset Kleister-NDA (kumpulan perjanjian kerahasiaan dari basis data EDGAR, termasuk 254 dokumen untuk pelatihan, 83 dokumen untuk validasi, dan 203 dokumen untuk pengujian).
  • klasifikasi dokumen: dataset RVL-CDIP (kumpulan 400.000 gambar yang termasuk ke dalam salah satu dari 16 kelas).
  • visual question answering dokumen: dataset DocVQA (kumpulan 50.000 pertanyaan yang didefinisikan pada 12.000+ gambar dokumen).

Abstrak dari makalah tersebut adalah sebagai berikut:

Pre-training teks dan tata letak telah terbukti efektif dalam berbagai tugas pemahaman dokumen yang kaya secara visual berkat arsitektur modelnya yang efektif serta keunggulan dari dokumen pindai/digital berskala besar tanpa label. Dalam makalah ini, kami memperkenalkan LayoutLMv2 dengan melakukan pre-training teks, tata letak, dan gambar dalam kerangka kerja multi-modal, di mana arsitektur model dan tugas pre-training baru dimanfaatkan. Secara spesifik, LayoutLMv2 tidak hanya menggunakan tugas pemodelan visual-bahasa yang ter-masker yang sudah ada, tetapi juga tugas penyelarasan teks-gambar dan pencocokan teks-gambar yang baru pada tahap pre-training, di mana interaksi lintas-modalitas dipelajari dengan lebih baik. Sementara itu, model ini juga mengintegrasikan mekanisme self-attention yang sadar spasial ke dalam arsitektur Transformer, sehingga model dapat sepenuhnya memahami hubungan posisi relatif di antara blok teks yang berbeda. Hasil eksperimen menunjukkan bahwa LayoutLMv2 melampaui baseline yang kuat dan mencapai hasil state-of-the-art baru pada berbagai tugas pemahaman dokumen yang kaya secara visual, termasuk FUNSD (0.7895 -> 0.8420), CORD (0.9493 -> 0.9601), SROIE (0.9524 -> 0.9781), Kleister-NDA (0.834 -> 0.852), RVL-CDIP (0.9443 -> 0.9564), dan DocVQA (0.7295 -> 0.8672). Model LayoutLMv2 yang telah di-pre-train tersedia secara publik di this https URL.

LayoutLMv2 bergantung pada detectron2, torchvision dan tesseract. Jalankan berikut untuk menginstalnya:

python -m pip install 'git+https://github.com/facebookresearch/detectron2.git'
python -m pip install torchvision tesseract

(Jika Anda mengembangkan untuk LayoutLMv2, perhatikan bahwa menjalankan doctests juga memerlukan instalasi paket-paket ini.)

Tips penggunaan

  • Perbedaan utama antara LayoutLMv1 dan LayoutLMv2 adalah bahwa yang terakhir mengintegrasikan visual embeddings selama pre-training (sedangkan LayoutLMv1 hanya menambahkan visual embeddings selama fine-tuning).
  • LayoutLMv2 menambahkan bias perhatian relatif 1D serta bias perhatian spasial 2D ke skor perhatian pada lapisan self-attention. Detailnya dapat ditemukan di halaman 5 makalah.
  • Notebook demo tentang cara menggunakan model LayoutLMv2 pada RVL-CDIP, FUNSD, DocVQA, dan CORD dapat ditemukan di sini.
  • LayoutLMv2 menggunakan paket Detectron2 dari Facebook AI untuk tulang punggung visualnya. Lihat tautan ini untuk instruksi instalasi.
  • Selain input_ids, forward() mengharapkan 2 input tambahan, yaitu image dan bbox. Input image sesuai dengan gambar dokumen asli tempat token teks tersebut muncul. Model mengharapkan setiap gambar dokumen berukuran 224x224. Ini berarti jika Anda memiliki batch gambar dokumen, image harus berupa tensor dengan bentuk (batch_size, 3, 224, 224). Ini bisa berupa torch.Tensor atau Detectron2.structures.ImageList. Anda tidak perlu menormalisasi channel, karena hal ini dilakukan oleh model. Penting untuk dicatat bahwa visual backbone mengharapkan channel BGR alih-alih RGB, karena semua model di Detectron2 dilatih sebelumnya menggunakan format BGR. Input bbox adalah kotak pembatas (yaitu posisi 2D) dari token teks input. Ini identik dengan LayoutLMModel. Kotak pembatas ini dapat diperoleh menggunakan mesin OCR eksternal seperti Tesseract dari Google (ada wrapper Python yang tersedia). Setiap kotak pembatas harus dalam format (x0, y0, x1, y1), di mana (x0, y0) sesuai dengan posisi sudut kiri atas pada kotak pembatas, dan (x1, y1) merepresentasikan posisi sudut kanan bawah. Perhatikan bahwa kotak pembatas terlebih dahulu perlu dinormalisasi ke skala 0-1000. Untuk menormalisasi, Anda dapat menggunakan fungsi berikut:
def normalize_bbox(bbox, width, height):
    return [
        int(1000 * (bbox[0] / width)),
        int(1000 * (bbox[1] / height)),
        int(1000 * (bbox[2] / width)),
        int(1000 * (bbox[3] / height)),
    ]

Di sini, width dan height sesuai dengan lebar dan tinggi dokumen asli tempat token tersebut muncul (sebelum gambar di-resize). Nilai-nilai tersebut dapat diperoleh, misalnya, menggunakan pustaka Python Image Library (PIL) sebagai berikut:

from PIL import Image


image = Image.open(
    "name_of_your_document - can be a png, jpg, etc. of your documents (PDFs must be converted to images)."
)

width, height = image.size

Namun, model ini menyertakan LayoutLMv2Processor yang benar-benar baru, yang dapat digunakan untuk langsung menyiapkan data untuk model (termasuk penerapan OCR di baliknya). Informasi lebih lanjut dapat ditemukan di bagian “Penggunaan” di bawah.

  • Secara internal, LayoutLMv2Model akan mengirimkan input image melalui visual backbone-nya untuk mendapatkan peta fitur dengan resolusi lebih rendah, yang bentuknya sama dengan atribut image_feature_pool_shape dari LayoutLMv2Config. Peta fitur ini kemudian diratakan (flattened) untuk mendapatkan urutan token gambar. Karena ukuran peta fitur secara default adalah 7x7, maka diperoleh 49 token gambar. Token-token ini kemudian digabungkan (concatenated) dengan token teks, dan dikirimkan melalui encoder Transformer. Artinya, last hidden states dari model akan memiliki panjang 512 + 49 = 561, jika Anda melakukan padding pada token teks hingga panjang maksimum. Secara lebih umum, last hidden states akan memiliki bentuk seq_length + image_feature_pool_shape[0] * config.image_feature_pool_shape[1].
  • Saat memanggil from_pretrained(), peringatan akan dicetak dengan daftar panjang nama parameter yang tidak diinisialisasi. Ini bukan masalah, karena parameter tersebut adalah statistik batch normalization, yang akan memiliki nilai saat fine-tuning pada dataset kustom.
  • Jika Anda ingin melatih model dalam lingkungan terdistribusi, pastikan untuk memanggil synchronize_batch_norm pada model agar lapisan normalisasi batch dari tulang punggung visual tersinkronkan dengan benar.

Selain itu, ada LayoutXLM, yaitu versi multibahasa dari LayoutLMv2. Informasi lebih lanjut dapat ditemukan di halaman dokumentasi LayoutXLM.

Sumber daya

Daftar sumber resmi Hugging Face dan komunitas (ditandai dengan 🌎) untuk membantu Anda memulai dengan LayoutLMv2. Jika Anda tertarik untuk mengirimkan sumber agar disertakan di sini, silakan buka Pull Request dan kami akan meninjaunya! Sumber tersebut sebaiknya mendemonstrasikan sesuatu yang baru, bukan menduplikasi sumber yang sudah ada.

Text Classification
Question Answering
Token Classification

Penggunaan: LayoutLMv2Processor

Cara termudah untuk menyiapkan data untuk model adalah dengan menggunakan LayoutLMv2Processor, yang secara internal menggabungkan image processor (LayoutLMv2ImageProcessor) dan tokenizer (LayoutLMv2Tokenizer atau LayoutLMv2TokenizerFast). Image processor menangani modalitas gambar, sedangkan tokenizer menangani modalitas teks. Processor menggabungkan keduanya, yang ideal untuk model multi-modal seperti LayoutLMv2. Perhatikan bahwa Anda masih dapat menggunakan keduanya secara terpisah, jika Anda hanya ingin menangani satu modalitas.

from transformers import LayoutLMv2ImageProcessor, LayoutLMv2Processor, LayoutLMv2TokenizerFast


image_processor = LayoutLMv2ImageProcessor()  # apply_ocr is set to True by default
tokenizer = LayoutLMv2TokenizerFast.from_pretrained("microsoft/layoutlmv2-base-uncased")
processor = LayoutLMv2Processor(image_processor, tokenizer)

Singkatnya, seseorang dapat memberikan gambar dokumen (dan mungkin data tambahan) ke LayoutLMv2Processor, dan ia akan membuat input yang diharapkan oleh model. Secara internal, prosesor pertama kali menggunakan LayoutLMv2ImageProcessor untuk menerapkan OCR pada gambar guna mendapatkan daftar kata dan kotak pembatas yang dinormalisasi, serta untuk mengubah ukuran gambar ke ukuran tertentu agar mendapatkan input image. Kata-kata dan kotak pembatas yang dinormalisasi tersebut kemudian diberikan ke LayoutLMv2Tokenizer atau LayoutLMv2TokenizerFast, yang mengubahnya menjadi input_ids, attention_mask, token_type_ids, bbox pada tingkat token. Secara opsional, seseorang dapat memberikan label kata ke prosesor, yang kemudian diubah menjadi labels pada tingkat token.

LayoutLMv2Processor menggunakan PyTesseract, sebuah wrapper Python untuk mesin OCR Tesseract dari Google, di baliknya. Perhatikan bahwa Anda tetap dapat menggunakan mesin OCR pilihan Anda sendiri, dan menyediakan kata-kata serta kotak ternormalisasi sendiri. Hal ini memerlukan inisialisasi LayoutLMv2ImageProcessor dengan apply_ocr diatur ke False.

Secara total, terdapat 5 kasus penggunaan yang didukung oleh prosesor. Di bawah ini, kami mencantumkan semuanya. Perhatikan bahwa masing-masing kasus penggunaan ini berfungsi untuk input berbatch maupun non-berbatch (kami mengilustrasikannya untuk input non-berbatch).

Kasus penggunaan 1: klasifikasi gambar dokumen (pelatihan, inferensi) + klasifikasi token (inferensi), apply_ocr = True

Ini adalah kasus paling sederhana, di mana prosesor (sebenarnya pemroses gambar) akan melakukan OCR pada gambar untuk mendapatkan kata-kata dan kotak pembatas yang dinormalisasi.

from PIL import Image

from transformers import LayoutLMv2Processor


processor = LayoutLMv2Processor.from_pretrained("microsoft/layoutlmv2-base-uncased")

image = Image.open(
    "name_of_your_document - can be a png, jpg, etc. of your documents (PDFs must be converted to images)."
).convert("RGB")
encoding = processor(
    image, return_tensors="pt"
)  # you can also add all tokenizer parameters here such as padding, truncation
print(encoding.keys())
# dict_keys(['input_ids', 'token_type_ids', 'attention_mask', 'bbox', 'image'])

Kasus penggunaan 2: klasifikasi gambar dokumen (pelatihan, inferensi) + klasifikasi token (inferensi), apply_ocr=False

Jika seseorang ingin melakukan OCR sendiri, mereka dapat menginisialisasi image processor dengan apply_ocr diatur ke False. Dalam hal itu, mereka harus menyediakan kata-kata dan bounding box (ternormalisasi) yang sesuai sendiri ke processor.

from PIL import Image

from transformers import LayoutLMv2Processor


processor = LayoutLMv2Processor.from_pretrained("microsoft/layoutlmv2-base-uncased", revision="no_ocr")

image = Image.open(
    "name_of_your_document - can be a png, jpg, etc. of your documents (PDFs must be converted to images)."
).convert("RGB")
words = ["hello", "world"]
boxes = [[1, 2, 3, 4], [5, 6, 7, 8]]  # make sure to normalize your bounding boxes
encoding = processor(image, words, boxes=boxes, return_tensors="pt").to(model.device)
print(encoding.keys())
# dict_keys(['input_ids', 'token_type_ids', 'attention_mask', 'bbox', 'image'])

Kasus penggunaan 3: klasifikasi token (pelatihan), apply_ocr=False

Untuk tugas klasifikasi token (seperti FUNSD, CORD, SROIE, Kleister-NDA), Anda juga dapat menyediakan label kata yang sesuai untuk melatih model. Prosesor kemudian akan mengonversi label ini menjadi labels pada tingkat token. Secara default, prosesornya hanya akan memberi label pada wordpiece pertama dari sebuah kata, dan memberi label -100 pada wordpiece sisanya, yang merupakan ignore_index dari CrossEntropyLoss PyTorch. Jika Anda ingin semua wordpiece dari sebuah kata diberi label, Anda dapat menginisialisasi tokenizer dengan only_label_first_subword yang diatur ke False.

from PIL import Image

from transformers import LayoutLMv2Processor


processor = LayoutLMv2Processor.from_pretrained("microsoft/layoutlmv2-base-uncased", revision="no_ocr")

image = Image.open(
    "name_of_your_document - can be a png, jpg, etc. of your documents (PDFs must be converted to images)."
).convert("RGB")
words = ["hello", "world"]
boxes = [[1, 2, 3, 4], [5, 6, 7, 8]]  # make sure to normalize your bounding boxes
word_labels = [1, 2]
encoding = processor(image, words, boxes=boxes, word_labels=word_labels, return_tensors="pt").to(model.device)
print(encoding.keys())
# dict_keys(['input_ids', 'token_type_ids', 'attention_mask', 'bbox', 'labels', 'image'])

Kasus penggunaan 4: visual question answering (inferensi), apply_ocr=True

Untuk tugas visual question answering (seperti DocVQA), Anda dapat memberikan pertanyaan ke processor. Secara default, processor akan menerapkan OCR pada gambar, dan membuat [CLS] question tokens [SEP] word tokens [SEP].

from PIL import Image

from transformers import LayoutLMv2Processor


processor = LayoutLMv2Processor.from_pretrained("microsoft/layoutlmv2-base-uncased")

image = Image.open(
    "name_of_your_document - can be a png, jpg, etc. of your documents (PDFs must be converted to images)."
).convert("RGB")
question = "What's his name?"
encoding = processor(image, question, return_tensors="pt").to(model.device)
print(encoding.keys())
# dict_keys(['input_ids', 'token_type_ids', 'attention_mask', 'bbox', 'image'])

Kasus penggunaan 5: visual question answering (inferensi), apply_ocr=False

Untuk tugas visual question answering (seperti DocVQA), Anda dapat memberikan pertanyaan ke processor. Jika Anda ingin melakukan OCR sendiri, Anda dapat memberikan kata-kata dan bounding box (ternormalisasi) Anda sendiri ke processor.

from PIL import Image

from transformers import LayoutLMv2Processor


processor = LayoutLMv2Processor.from_pretrained("microsoft/layoutlmv2-base-uncased", revision="no_ocr")

image = Image.open(
    "name_of_your_document - can be a png, jpg, etc. of your documents (PDFs must be converted to images)."
).convert("RGB")
question = "What's his name?"
words = ["hello", "world"]
boxes = [[1, 2, 3, 4], [5, 6, 7, 8]]  # make sure to normalize your bounding boxes
encoding = processor(image, question, words, boxes=boxes, return_tensors="pt").to(model.device)
print(encoding.keys())
# dict_keys(['input_ids', 'token_type_ids', 'attention_mask', 'bbox', 'image'])

LayoutLMv2Config

kelas transformers.LayoutLMv2Config

< >

( 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, default 30522) — Ukuran kosakata model. Menentukan jumlah token berbeda yang dapat direpresentasikan oleh input_ids.
  • hidden_size (int, opsional, default 768) — Dimensi dari representasi tersembunyi.
  • num_hidden_layers (int, opsional, default 12) — Jumlah lapisan tersembunyi dalam decoder Transformer.
  • num_attention_heads (int, opsional, default 12) — Jumlah attention head untuk setiap lapisan attention di decoder Transformer.
  • intermediate_size (int, opsional, default 3072) — Dimensi representasi MLP.
  • hidden_act (str, opsional, defaultnya gelu) — Fungsi aktivasi non-linear (fungsi atau string) di decoder. Misalnya, "gelu", "relu", "silu", dan sebagainya.
  • hidden_dropout_prob (Union[float, int], opsional, default 0.1) — Probabilitas dropout untuk semua lapisan fully connected di embeddings, encoder, dan pooler.
  • attention_probs_dropout_prob (Union[float, int], opsional, default 0.1) — Rasio dropout untuk probabilitas perhatian.
  • max_position_embeddings (int, opsional, default 512) — Panjang maksimum urutan yang mungkin digunakan dengan model ini.
  • type_vocab_size (int, opsional, default 2) — Ukuran kosakata dari token_type_ids.
  • initializer_range (float, opsional, defaultnya 0.02) — Standar deviasi dari truncated_normal_initializer untuk menginisialisasi semua matriks bobot.
  • layer_norm_eps (float, opsional, defaultnya 1e-12) — Epsilon yang digunakan oleh lapisan normalisasi lapisan.
  • pad_token_id (int, opsional, default 0) — 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, default True) — 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, default True) — 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, default True) — Apakah akan menggunakan relative attention bias dalam mekanisme self-attention.
  • has_spatial_attention_bias (bool, opsional, default True) — Apakah akan menggunakan bias perhatian spasial dalam mekanisme self-attention.
  • has_visual_segment_embedding (bool, opsional, default False) — 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 LayoutLMv2Model. Kelas ini digunakan untuk membuat instans model Layoutlmv2 berdasarkan argumen yang ditentukan, yang mendefinisikan arsitektur model. Membuat instans konfigurasi dengan nilai bawaan akan menghasilkan konfigurasi yang serupa dengan konfigurasi dari microsoft/layoutlmv2-base-uncased

Objek konfigurasi mewarisi dari PreTrainedConfig dan dapat digunakan untuk mengontrol output model. Baca dokumentasi dari PreTrainedConfig untuk informasi lebih lanjut.

Contoh:

>>> from transformers import LayoutLMv2Config, LayoutLMv2Model

>>> # Initializing a LayoutLMv2 microsoft/layoutlmv2-base-uncased style configuration
>>> configuration = LayoutLMv2Config()

>>> # Initializing a model (with random weights) from the microsoft/layoutlmv2-base-uncased style configuration
>>> model = LayoutLMv2Model(configuration)

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

LayoutLMv2ImageProcessor

kelas transformers.LayoutLMv2ImageProcessor

< >

( **kwargs: *<class 'transformers.models.layoutlmv2.image_processing_layoutlmv2.LayoutLMv2ImageProcessorKwargs'> )

Parameter

  • do_convert_rgb (bool, kwargs, opsional) — Apakah akan mengonversi gambar ke RGB.
  • do_resize (bool, kwargs, opsional, default True) — Apakah akan mengubah ukuran gambar.
  • size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs, defaultnya {'height' -- 224, 'width': 224}): Menggambarkan dimensi input maksimum untuk model.
  • default_to_square (bool, kwargs, opsional, defaultnya True) — Apakah akan menggunakan gambar persegi sebagai default saat melakukan resize, jika size berupa int.
  • crop_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Ukuran gambar keluaran setelah menerapkan center_crop.
  • resample (Annotated[Union[int, PILImageResampling, NoneType], None], kwargs, defaultnya 2) — Filter resampling yang digunakan jika mengubah ukuran gambar. Ini bisa berupa salah satu enum PILImageResampling. Hanya berpengaruh jika do_resize diatur ke True.
  • do_rescale (bool, kwargs, opsional) — Apakah akan melakukan penskalaan ulang pada gambar.
  • rescale_factor (float, kwargs, opsional, default None) — Faktor rescale untuk menskalakan ulang gambar jika do_rescale diatur ke True.
  • do_normalize (bool, kwargs, opsional) — Apakah akan menormalisasi gambar.
  • image_mean (Union[float, list[float], tuple[float, ...]], kwargs, opsional) — Rata-rata gambar yang digunakan untuk normalisasi. Hanya berpengaruh jika do_normalize diatur ke True.
  • image_std (Union[float, list[float], tuple[float, ...]], kwargs, opsional) — Standar deviasi gambar yang digunakan untuk normalisasi. Hanya berpengaruh jika do_normalize diatur ke True.
  • do_pad (bool, kwargs, opsional) — Apakah akan melakukan padding pada gambar. Padding dilakukan ke ukuran terbesar dalam batch atau ke ukuran persegi tetap per gambar. Strategi padding yang tepat bergantung pada model.
  • pad_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Ukuran dalam {"height": int, "width" int} untuk melakukan padding pada gambar. Harus lebih besar dari ukuran gambar mana pun yang disediakan untuk pra-pemrosesan. Jika pad_size tidak disediakan, gambar akan di-pad hingga tinggi dan lebar terbesar dalam batch. Diterapkan hanya ketika do_pad=True.
  • do_center_crop (bool, kwargs, opsional) — Apakah akan melakukan center crop pada gambar.
  • data_format (Union[str, ~image_utils.ChannelDimension], kwargs, opsional) — Hanya ChannelDimension.FIRST yang didukung. Ditambahkan untuk kompatibilitas dengan prosesor lambat.
  • input_data_format (Union[str, ~image_utils.ChannelDimension], kwargs, opsional) — Format dimensi channel untuk gambar input. Jika tidak diset, format dimensi channel akan disimpulkan dari gambar input. Bisa berupa salah satu dari:
    • "channels_first" atau ChannelDimension.FIRST: gambar dalam format (num_channels, height, width).
    • "channels_last" atau ChannelDimension.LAST: gambar dalam format (height, width, num_channels).
    • "none" atau ChannelDimension.NONE: gambar dalam format (height, width).
  • device (Annotated[Union[str, torch.device, NoneType], None], kwargs) — Perangkat untuk memproses video. Jika tidak disetel, perangkat akan disimpulkan dari video input.
  • return_tensors (Annotated[str | ~utils.generic.TensorType | None, None], kwargs) — Mengembalikan tensor bertumpuk jika diset ke 'pt', selain itu mengembalikan daftar tensor.
  • disable_grouping (bool, kwargs, opsional) — Apakah akan menonaktifkan pengelompokan gambar berdasarkan ukuran untuk memprosesnya secara individual dan bukan dalam batch. Jika None, akan diatur ke True jika gambar berada di CPU, dan False selain itu. Pilihan ini didasarkan pada pengamatan empiris, seperti yang dijelaskan di sini: https://github.com/huggingface/transformers/pull/38157
  • image_seq_length (int, kwargs, opsional) — Jumlah token gambar yang akan digunakan untuk setiap gambar dalam input. Ditambahkan untuk kompatibilitas mundur, tetapi ini seharusnya diatur sebagai atribut prosesor pada model-model mendatang.
  • apply_ocr (bool, kwargs, opsional, default self.apply_ocr) — Apakah akan menerapkan mesin Tesseract OCR untuk mendapatkan kata + kotak pembatas yang dinormalisasi. Dapat ditimpa oleh parameter apply_ocr pada metode preprocess.
  • ocr_lang (str, kwargs, opsional) — Bahasa, yang ditentukan oleh kode ISO-nya, yang akan digunakan oleh mesin Tesseract OCR. Secara default, bahasa Inggris digunakan. Dapat ditimpa oleh parameter ocr_lang pada metode preprocess.
  • tesseract_config (str, kwargs, opsional) — Bendera konfigurasi kustom tambahan apa pun yang diteruskan ke parameter config saat memanggil Tesseract. Contoh: ‘—psm 6’. Dapat ditimpa oleh parameter tesseract_config pada metode preprocess.

Membangun pemroses gambar LayoutLMv2ImageProcessor.

praproses

< >

( images: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor']]**kwargs: *<class 'transformers.models.layoutlmv2.image_processing_layoutlmv2.LayoutLMv2ImageProcessorKwargs'> ) → ~image_processing_base.BatchFeature

Parameter

  • images (Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]]) — Gambar yang akan dipreprocess. Mengharapkan satu gambar atau batch gambar dengan nilai piksel berkisar dari 0 hingga 255. Jika mengirimkan gambar dengan nilai piksel antara 0 dan 1, atur do_rescale=False.
  • do_convert_rgb (bool, kwargs, opsional) — Apakah akan mengonversi gambar ke RGB.
  • do_resize (bool, kwargs, opsional) — Apakah akan mengubah ukuran gambar.
  • size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Menggambarkan dimensi input maksimum untuk model.
  • default_to_square (bool, kwargs, opsional) — Apakah akan menggunakan gambar persegi sebagai default saat mengubah ukuran, jika size berupa int.
  • crop_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Ukuran gambar keluaran setelah menerapkan center_crop.
  • resample (Annotated[Union[int, PILImageResampling, NoneType], None], kwargs) — Filter resampling yang digunakan jika mengubah ukuran gambar. Ini dapat berupa salah satu enum PILImageResampling. Hanya berpengaruh jika do_resize diatur ke True.
  • do_rescale (bool, kwargs, opsional) — Apakah akan melakukan penskalaan ulang pada gambar.
  • rescale_factor (float, kwargs, opsional) — Faktor rescale untuk menskalakan ulang gambar jika do_rescale diatur ke True.
  • do_normalize (bool, kwargs, opsional) — Apakah akan menormalisasi gambar.
  • image_mean (Union[float, list[float], tuple[float, ...]], kwargs, opsional) — Rata-rata gambar yang digunakan untuk normalisasi. Hanya berpengaruh jika do_normalize diatur ke True.
  • image_std (Union[float, list[float], tuple[float, ...]], kwargs, opsional) — Standar deviasi gambar yang digunakan untuk normalisasi. Hanya berpengaruh jika do_normalize diatur ke True.
  • do_pad (bool, kwargs, opsional) — Apakah akan melakukan padding pada gambar. Padding dilakukan ke ukuran terbesar dalam batch atau ke ukuran persegi tetap per gambar. Strategi padding yang tepat bergantung pada model.
  • pad_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Ukuran dalam {"height": int, "width" int} untuk melakukan padding pada gambar. Harus lebih besar dari ukuran gambar mana pun yang disediakan untuk pra-pemrosesan. Jika pad_size tidak disediakan, gambar akan di-pad hingga tinggi dan lebar terbesar dalam batch. Diterapkan hanya ketika do_pad=True.
  • do_center_crop (bool, kwargs, opsional) — Apakah akan melakukan center crop pada gambar.
  • data_format (Union[str, ~image_utils.ChannelDimension], kwargs, opsional) — Hanya ChannelDimension.FIRST yang didukung. Ditambahkan untuk kompatibilitas dengan prosesor lambat.
  • input_data_format (Union[str, ~image_utils.ChannelDimension], kwargs, opsional) — Format dimensi channel untuk gambar input. Jika tidak diset, format dimensi channel akan disimpulkan dari gambar input. Bisa berupa salah satu dari:
    • "channels_first" atau ChannelDimension.FIRST: gambar dalam format (num_channels, height, width).
    • "channels_last" atau ChannelDimension.LAST: gambar dalam format (height, width, num_channels).
    • "none" atau ChannelDimension.NONE: gambar dalam format (height, width).
  • device (Annotated[Union[str, torch.device, NoneType], None], kwargs) — Perangkat untuk memproses video. Jika tidak disetel, perangkat akan disimpulkan dari video input.
  • return_tensors (Annotated[str | ~utils.generic.TensorType | None, None], kwargs) — Mengembalikan tensor bertumpuk jika diset ke 'pt', selain itu mengembalikan daftar tensor.
  • disable_grouping (bool, kwargs, opsional) — Apakah akan menonaktifkan pengelompokan gambar berdasarkan ukuran untuk memprosesnya secara individual dan bukan dalam batch. Jika None, akan diatur ke True jika gambar berada di CPU, dan False selain itu. Pilihan ini didasarkan pada pengamatan empiris, seperti yang dijelaskan di sini: https://github.com/huggingface/transformers/pull/38157
  • image_seq_length (int, kwargs, opsional) — Jumlah token gambar yang akan digunakan untuk setiap gambar dalam input. Ditambahkan untuk kompatibilitas mundur, tetapi ini seharusnya diatur sebagai atribut prosesor pada model-model mendatang.
  • apply_ocr (bool, kwargs, opsional, default self.apply_ocr) — Apakah akan menerapkan mesin Tesseract OCR untuk mendapatkan kata + kotak pembatas yang dinormalisasi. Dapat ditimpa oleh parameter apply_ocr pada metode preprocess.
  • ocr_lang (str, kwargs, opsional) — Bahasa, yang ditentukan oleh kode ISO-nya, yang akan digunakan oleh mesin Tesseract OCR. Secara default, bahasa Inggris digunakan. Dapat ditimpa oleh parameter ocr_lang pada metode preprocess.
  • tesseract_config (str, kwargs, opsional) — Bendera konfigurasi kustom tambahan apa pun yang diteruskan ke parameter config saat memanggil Tesseract. Contoh: ‘—psm 6’. Dapat ditimpa oleh parameter tesseract_config pada metode preprocess.

Mengembalikan

~image_processing_base.BatchFeature

  • data (dict) — Kamus berisi daftar/array/tensor yang dikembalikan oleh metode call (‘pixel_values’, dll.).
  • 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.

LayoutLMv2ImageProcessorPil

kelas transformers.LayoutLMv2ImageProcessorPil

< >

( **kwargs: *<class 'transformers.models.layoutlmv2.image_processing_pil_layoutlmv2.LayoutLMv2ImageProcessorKwargs'> )

Parameter

  • do_convert_rgb (bool, kwargs, opsional) — Apakah akan mengonversi gambar ke RGB.
  • do_resize (bool, kwargs, opsional, default True) — Apakah akan mengubah ukuran gambar.
  • size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs, defaultnya {'height' -- 224, 'width': 224}): Menggambarkan dimensi input maksimum untuk model.
  • default_to_square (bool, kwargs, opsional, defaultnya True) — Apakah akan menggunakan gambar persegi sebagai default saat melakukan resize, jika size berupa int.
  • crop_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Ukuran gambar keluaran setelah menerapkan center_crop.
  • resample (Annotated[Union[int, PILImageResampling, NoneType], None], kwargs, defaultnya 2) — Filter resampling yang digunakan jika mengubah ukuran gambar. Ini bisa berupa salah satu enum PILImageResampling. Hanya berpengaruh jika do_resize diatur ke True.
  • do_rescale (bool, kwargs, opsional) — Apakah akan melakukan penskalaan ulang pada gambar.
  • rescale_factor (float, kwargs, opsional, default None) — Faktor rescale untuk menskalakan ulang gambar jika do_rescale diatur ke True.
  • do_normalize (bool, kwargs, opsional) — Apakah akan menormalisasi gambar.
  • image_mean (Union[float, list[float], tuple[float, ...]], kwargs, opsional) — Rata-rata gambar yang digunakan untuk normalisasi. Hanya berpengaruh jika do_normalize diatur ke True.
  • image_std (Union[float, list[float], tuple[float, ...]], kwargs, opsional) — Standar deviasi gambar yang digunakan untuk normalisasi. Hanya berpengaruh jika do_normalize diatur ke True.
  • do_pad (bool, kwargs, opsional) — Apakah akan melakukan padding pada gambar. Padding dilakukan ke ukuran terbesar dalam batch atau ke ukuran persegi tetap per gambar. Strategi padding yang tepat bergantung pada model.
  • pad_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Ukuran dalam {"height": int, "width" int} untuk melakukan padding pada gambar. Harus lebih besar dari ukuran gambar mana pun yang disediakan untuk pra-pemrosesan. Jika pad_size tidak disediakan, gambar akan di-pad hingga tinggi dan lebar terbesar dalam batch. Diterapkan hanya ketika do_pad=True.
  • do_center_crop (bool, kwargs, opsional) — Apakah akan melakukan center crop pada gambar.
  • data_format (Union[str, ~image_utils.ChannelDimension], kwargs, opsional) — Hanya ChannelDimension.FIRST yang didukung. Ditambahkan untuk kompatibilitas dengan prosesor lambat.
  • input_data_format (Union[str, ~image_utils.ChannelDimension], kwargs, opsional) — Format dimensi channel untuk gambar input. Jika tidak diset, format dimensi channel akan disimpulkan dari gambar input. Bisa berupa salah satu dari:
    • "channels_first" atau ChannelDimension.FIRST: gambar dalam format (num_channels, height, width).
    • "channels_last" atau ChannelDimension.LAST: gambar dalam format (height, width, num_channels).
    • "none" atau ChannelDimension.NONE: gambar dalam format (height, width).
  • device (Annotated[Union[str, torch.device, NoneType], None], kwargs) — Perangkat untuk memproses video. Jika tidak disetel, perangkat akan disimpulkan dari video input.
  • return_tensors (Annotated[str | ~utils.generic.TensorType | None, None], kwargs) — Mengembalikan tensor bertumpuk jika diset ke 'pt', selain itu mengembalikan daftar tensor.
  • disable_grouping (bool, kwargs, opsional) — Apakah akan menonaktifkan pengelompokan gambar berdasarkan ukuran untuk memprosesnya secara individual dan bukan dalam batch. Jika None, akan diatur ke True jika gambar berada di CPU, dan False selain itu. Pilihan ini didasarkan pada pengamatan empiris, seperti yang dijelaskan di sini: https://github.com/huggingface/transformers/pull/38157
  • image_seq_length (int, kwargs, opsional) — Jumlah token gambar yang akan digunakan untuk setiap gambar dalam input. Ditambahkan untuk kompatibilitas mundur, tetapi ini seharusnya diatur sebagai atribut prosesor pada model-model mendatang.
  • apply_ocr (bool, kwargs, opsional, default self.apply_ocr) — Apakah akan menerapkan mesin Tesseract OCR untuk mendapatkan kata + kotak pembatas yang dinormalisasi. Dapat ditimpa oleh parameter apply_ocr pada metode preprocess.
  • ocr_lang (str, kwargs, opsional) — Bahasa, yang ditentukan oleh kode ISO-nya, yang akan digunakan oleh mesin Tesseract OCR. Secara default, bahasa Inggris digunakan. Dapat ditimpa oleh parameter ocr_lang pada metode preprocess.
  • tesseract_config (str, kwargs, opsional) — Bendera konfigurasi kustom tambahan apa pun yang diteruskan ke parameter config saat memanggil Tesseract. Contoh: ‘—psm 6’. Dapat ditimpa oleh parameter tesseract_config pada metode preprocess.

Membangun pemroses gambar LayoutLMv2ImageProcessor.

praproses

< >

( images: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor']]**kwargs: *<class 'transformers.models.layoutlmv2.image_processing_pil_layoutlmv2.LayoutLMv2ImageProcessorKwargs'> ) → ~image_processing_base.BatchFeature

Parameter

  • images (Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]]) — Gambar yang akan dipreprocess. Mengharapkan satu gambar atau batch gambar dengan nilai piksel berkisar dari 0 hingga 255. Jika mengirimkan gambar dengan nilai piksel antara 0 dan 1, atur do_rescale=False.
  • do_convert_rgb (bool, kwargs, opsional) — Apakah akan mengonversi gambar ke RGB.
  • do_resize (bool, kwargs, opsional) — Apakah akan mengubah ukuran gambar.
  • size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Menggambarkan dimensi input maksimum untuk model.
  • default_to_square (bool, kwargs, opsional) — Apakah akan menggunakan gambar persegi sebagai default saat mengubah ukuran, jika size berupa int.
  • crop_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Ukuran gambar keluaran setelah menerapkan center_crop.
  • resample (Annotated[Union[int, PILImageResampling, NoneType], None], kwargs) — Filter resampling yang digunakan jika mengubah ukuran gambar. Ini dapat berupa salah satu enum PILImageResampling. Hanya berpengaruh jika do_resize diatur ke True.
  • do_rescale (bool, kwargs, opsional) — Apakah akan melakukan penskalaan ulang pada gambar.
  • rescale_factor (float, kwargs, opsional) — Faktor rescale untuk menskalakan ulang gambar jika do_rescale diatur ke True.
  • do_normalize (bool, kwargs, opsional) — Apakah akan menormalisasi gambar.
  • image_mean (Union[float, list[float], tuple[float, ...]], kwargs, opsional) — Rata-rata gambar yang digunakan untuk normalisasi. Hanya berpengaruh jika do_normalize diatur ke True.
  • image_std (Union[float, list[float], tuple[float, ...]], kwargs, opsional) — Standar deviasi gambar yang digunakan untuk normalisasi. Hanya berpengaruh jika do_normalize diatur ke True.
  • do_pad (bool, kwargs, opsional) — Apakah akan melakukan padding pada gambar. Padding dilakukan ke ukuran terbesar dalam batch atau ke ukuran persegi tetap per gambar. Strategi padding yang tepat bergantung pada model.
  • pad_size (Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Ukuran dalam {"height": int, "width" int} untuk melakukan padding pada gambar. Harus lebih besar dari ukuran gambar mana pun yang disediakan untuk pra-pemrosesan. Jika pad_size tidak disediakan, gambar akan di-pad hingga tinggi dan lebar terbesar dalam batch. Diterapkan hanya ketika do_pad=True.
  • do_center_crop (bool, kwargs, opsional) — Apakah akan melakukan center crop pada gambar.
  • data_format (Union[str, ~image_utils.ChannelDimension], kwargs, opsional) — Hanya ChannelDimension.FIRST yang didukung. Ditambahkan untuk kompatibilitas dengan prosesor lambat.
  • input_data_format (Union[str, ~image_utils.ChannelDimension], kwargs, opsional) — Format dimensi channel untuk gambar input. Jika tidak diset, format dimensi channel akan disimpulkan dari gambar input. Bisa berupa salah satu dari:
    • "channels_first" atau ChannelDimension.FIRST: gambar dalam format (num_channels, height, width).
    • "channels_last" atau ChannelDimension.LAST: gambar dalam format (height, width, num_channels).
    • "none" atau ChannelDimension.NONE: gambar dalam format (height, width).
  • device (Annotated[Union[str, torch.device, NoneType], None], kwargs) — Perangkat untuk memproses video. Jika tidak disetel, perangkat akan disimpulkan dari video input.
  • return_tensors (Annotated[str | ~utils.generic.TensorType | None, None], kwargs) — Mengembalikan tensor bertumpuk jika diset ke 'pt', selain itu mengembalikan daftar tensor.
  • disable_grouping (bool, kwargs, opsional) — Apakah akan menonaktifkan pengelompokan gambar berdasarkan ukuran untuk memprosesnya secara individual dan bukan dalam batch. Jika None, akan diatur ke True jika gambar berada di CPU, dan False selain itu. Pilihan ini didasarkan pada pengamatan empiris, seperti yang dijelaskan di sini: https://github.com/huggingface/transformers/pull/38157
  • image_seq_length (int, kwargs, opsional) — Jumlah token gambar yang akan digunakan untuk setiap gambar dalam input. Ditambahkan untuk kompatibilitas mundur, tetapi ini seharusnya diatur sebagai atribut prosesor pada model-model mendatang.
  • apply_ocr (bool, kwargs, opsional, default self.apply_ocr) — Apakah akan menerapkan mesin Tesseract OCR untuk mendapatkan kata + kotak pembatas yang dinormalisasi. Dapat ditimpa oleh parameter apply_ocr pada metode preprocess.
  • ocr_lang (str, kwargs, opsional) — Bahasa, yang ditentukan oleh kode ISO-nya, yang akan digunakan oleh mesin Tesseract OCR. Secara default, bahasa Inggris digunakan. Dapat ditimpa oleh parameter ocr_lang pada metode preprocess.
  • tesseract_config (str, kwargs, opsional) — Bendera konfigurasi kustom tambahan apa pun yang diteruskan ke parameter config saat memanggil Tesseract. Contoh: ‘—psm 6’. Dapat ditimpa oleh parameter tesseract_config pada metode preprocess.

Mengembalikan

~image_processing_base.BatchFeature

  • data (dict) — Kamus berisi daftar/array/tensor yang dikembalikan oleh metode call (‘pixel_values’, dll.).
  • 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.

LayoutLMv2Tokenizer

kelas transformers.LayoutLMv2Tokenizer

< >

( vocab: str | dict[str, int] | None = Nonedo_lower_case = Trueunk_token = '[UNK]'sep_token = '[SEP]'pad_token = '[PAD]'cls_token = '[CLS]'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 = Truetokenize_chinese_chars = Truestrip_accents = Nonemodel_max_length = 512**kwargs )

Parameter

  • vocab_file (str) — File yang berisi kosakata.
  • do_lower_case (bool, opsional, default True) — Apakah akan mengubah input menjadi huruf kecil saat melakukan tokenisasi.
  • 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.
  • sep_token (str, opsional, default "[SEP]") — Token pemisah, yang digunakan saat membangun urutan dari beberapa urutan, misalnya dua urutan untuk klasifikasi urutan atau untuk teks dan pertanyaan untuk penjawaban pertanyaan. Token ini juga digunakan sebagai token terakhir dari urutan yang dibangun dengan token khusus.
  • pad_token (str, opsional, defaultnya "[PAD]") — Token yang digunakan untuk padding, misalnya saat membatching urutan dengan panjang yang berbeda.
  • cls_token (str, opsional, default "[CLS]") — 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.
  • mask_token (str, opsional, default "[MASK]") — Token yang digunakan untuk memask nilai. Ini adalah token yang digunakan saat melatih model ini dengan masked language modeling. 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 merupakan ignore_index dari CrossEntropyLoss PyTorch.
  • only_label_first_subword (bool, opsional, defaultnya True) — Apakah hanya subword pertama yang diberi label, jika label kata disediakan.
  • tokenize_chinese_chars (bool, opsional, default True) — Apakah akan melakukan tokenisasi karakter Tionghoa. Opsi ini sebaiknya dinonaktifkan untuk bahasa Jepang (lihat masalah ini).
  • strip_accents (bool, opsional) — Apakah akan menghapus semua aksen. Jika opsi ini tidak ditentukan, maka nilainya akan ditentukan oleh nilai lowercase (seperti pada LayoutLMv2 asli).

Konstruksi tokenizer LayoutLMv2 “cepat” (didukung oleh pustaka tokenizers HuggingFace). Berbasis WordPiece.

Tokenizer ini mewarisi dari PreTrainedTokenizerFast yang berisi sebagian besar metode utama. Pengguna sebaiknya merujuk ke superclass ini untuk informasi lebih lanjut mengenai metode-metode tersebut.

__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 )

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, default True) — Apakah akan mengkodekan urutan dengan token khusus yang relatif terhadap modelnya.
  • padding (bool, str atau PaddingStrategy, opsional, defaultnya False) — Mengaktifkan dan mengontrol padding. Menerima nilai-nilai berikut:
    • True atau '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 argumen max_length atau hingga panjang input maksimum yang dapat diterima oleh model jika argumen tersebut tidak diberikan.
    • False atau 'do_not_pad' (default): Tidak ada padding (yaitu, dapat menghasilkan batch dengan urutan yang panjangnya berbeda).
  • truncation (bool, str atau TruncationStrategy, opsional, defaultnya False) — Mengaktifkan dan mengontrol pemotongan. Menerima nilai-nilai berikut:
    • True atau 'longest_first': Memotong hingga panjang maksimum yang ditentukan dengan argumen max_length atau 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 argumen max_length atau 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 argumen max_length atau 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.
    • False atau '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 dengan max_length, token yang meluap yang dikembalikan saat return_overflowing_tokens=True akan 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_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 oleh return_outputs atribut.

    Apa itu token type ID?

  • 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 oleh return_outputs atribut.

    Apa itu attention mask?

  • return_overflowing_tokens (bool, opsional, default False) — Apakah akan mengembalikan urutan token yang meluap. Jika sepasang urutan id input (atau batch dari pasangan) diberikan dengan truncation_strategy = longest_first atau True, error akan dilemparkan alih-alih mengembalikan token yang meluap.
  • return_special_tokens_mask (bool, opsional, default False) — Apakah akan mengembalikan informasi mask token khusus.
  • return_offsets_mapping (bool, opsional, defaultnya False) — 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, default False) — Apakah akan mengembalikan panjang dari input yang dikodekan.
  • verbose (bool, opsional, defaultnya True) — Apakah akan mencetak lebih banyak informasi dan peringatan.
  • **kwargs — diteruskan ke metode self.tokenize()

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.

save_vocabulary

< >

( save_directory: strfilename_prefix: str | None = None )

LayoutLMv2Processor

kelas transformers.LayoutLMv2Processor

< >

( image_processor = Nonetokenizer = None**kwargs )

Parameter

  • image_processor (LayoutLMv2ImageProcessor) — Prosesor gambar adalah input yang wajib.
  • tokenizer (LayoutLMv2Tokenizer) — Tokenizer adalah input yang wajib.

Membangun LayoutLMv2Processor yang membungkus image processor dan tokenizer menjadi satu processor.

LayoutLMv2Processor menyediakan semua fungsionalitas dari LayoutLMv2ImageProcessor dan LayoutLMv2Tokenizer. Lihat ~LayoutLMv2ImageProcessor dan ~LayoutLMv2Tokenizer untuk informasi lebih lanjut.

__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 = Falsemax_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, set do_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, atur is_split_into_words=True untuk 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 metode tokenize) atau daftar bilangan bulat (id string yang ditokenisasi menggunakan metode convert_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, default True) — Apakah akan menambahkan token khusus saat meng-encode urutan. Ini akan menggunakan fungsi PretrainedTokenizerBase.build_inputs_with_special_tokens yang mendasarinya, yang mendefinisikan token mana yang ditambahkan secara otomatis ke input ids. Ini berguna jika Anda ingin menambahkan token bos atau eos secara otomatis.
  • padding (bool, str atau PaddingStrategy, opsional, defaultnya False) — Mengaktifkan dan mengontrol padding. Menerima nilai-nilai berikut:
    • True atau '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 argumen max_length atau hingga panjang input maksimum yang dapat diterima oleh model jika argumen tersebut tidak diberikan.
    • False atau 'do_not_pad' (default): Tidak ada padding (yaitu, dapat menghasilkan batch dengan urutan yang panjangnya berbeda).
  • truncation (bool, str atau TruncationStrategy, opsional, defaultnya False) — Mengaktifkan dan mengontrol pemotongan. Menerima nilai-nilai berikut:
    • True atau 'longest_first': Memotong hingga panjang maksimum yang ditentukan dengan argumen max_length atau 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 argumen max_length atau 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 argumen max_length atau 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.
    • False atau '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 dengan max_length, token yang meluap yang dikembalikan saat return_overflowing_tokens=True akan 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. Requires padding to 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 oleh return_outputs atribut.

    Apa itu token type ID?

  • 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 oleh return_outputs atribut.

    Apa itu attention mask?

  • return_overflowing_tokens (bool, opsional, default False) — Apakah akan mengembalikan urutan token yang meluap. Jika sepasang urutan id input (atau batch dari pasangan) diberikan dengan truncation_strategy = longest_first atau True, error akan dilemparkan alih-alih mengembalikan token yang meluap.
  • return_special_tokens_mask (bool, opsional, default False) — Apakah akan mengembalikan informasi mask token khusus.
  • return_offsets_mapping (bool, opsional, defaultnya False) — 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, default False) — Apakah akan mengembalikan panjang dari input yang dikodekan.
  • verbose (bool, opsional, defaultnya True) — 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 PyTorch torch.Tensor.
    • 'np': Mengembalikan objek NumPy np.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.Encoding atau Sequence[tokenizers.Encoding], opsional) — Jika tokenizer adalah fast tokenizer yang menghasilkan informasi tambahan seperti pemetaan dari ruang kata/karakter ke ruang token, instance tokenizers.Encoding atau 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, default False) — Apakah akan menambahkan sumbu batch saat mengonversi ke tensor (lihat tensor_type di atas). Perhatikan bahwa parameter ini berpengaruh jika parameter tensor_type disetel, tidak berpengaruh jika tidak.
  • n_sequences (int, opsional) — Jumlah urutan input yang direpresentasikan oleh setiap encoding (None untuk tidak diketahui, 1 untuk satu urutan, dan 2 untuk sepasang urutan).

LayoutLMv2Model

kelas transformers.LayoutLMv2Model

< >

( config: LayoutLMv2Config )

Parameter

  • config (LayoutLMv2Config) — Kelas konfigurasi model dengan semua parameter model. Inisialisasi dengan file konfigurasi tidak memuat bobot yang terkait dengan model, hanya konfigurasinya. Lihat metode from_pretrained() untuk memuat bobot model.

Model Layoutlmv2 polos yang menghasilkan hidden-states mentah tanpa head spesifik di atasnya.

Model ini mewarisi dari PreTrainedModel. Periksa dokumentasi kelas induk untuk metode generik yang diimplementasikan oleh pustaka untuk semua model (seperti mengunduh atau menyimpan, mengubah ukuran embedding input, memangkas kepala, dll.)

Model ini juga merupakan subclass dari torch.nn.Module PyTorch. Gunakan sebagai PyTorch Module biasa dan merujuk ke dokumentasi PyTorch untuk semua hal yang berkaitan dengan penggunaan dan perilaku umum.

forward

< >

( input_ids: typing.Optional[torch.LongTensor] = Nonebbox: typing.Optional[torch.LongTensor] = Noneimage: typing.Optional[torch.Tensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Nonetoken_type_ids: typing.Optional[torch.LongTensor] = Noneposition_ids: typing.Optional[torch.LongTensor] = Noneinputs_embeds: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutputWithPooling or tuple(torch.Tensor)

Parameter

  • input_ids (torch.LongTensor dengan bentuk (batch_size, sequence_length), opsional) — Indeks token dari urutan input dalam kosakata. Padding akan diabaikan secara default.

    Indeks dapat diperoleh menggunakan AutoTokenizer. Lihat PreTrainedTokenizer.encode() dan PreTrainedTokenizer.call() untuk detailnya.

    Apa itu input ID?

  • bbox (torch.LongTensor dengan bentuk ((batch_size, sequence_length), 4), opsional) — Kotak pembatas (bounding box) untuk setiap token dalam urutan input. Dipilih dalam rentang [0, config.max_2d_position_embeddings-1]. Setiap kotak pembatas harus berupa versi ternormalisasi dalam format (x0, y0, x1, y1), di mana (x0, y0) sesuai dengan posisi sudut kiri atas pada kotak pembatas, dan (x1, y1) merepresentasikan posisi sudut kanan bawah.
  • image (torch.Tensor dengan bentuk (batch_size, num_channels, height, width) atau detectron.structures.ImageList yang tensors memiliki bentuk (batch_size, num_channels, height, width)) — Batch gambar dokumen.
  • attention_mask (torch.Tensor dengan bentuk (batch_size, sequence_length), opsional) — Mask untuk menghindari eksekusi attention pada indeks token padding. Nilai mask dipilih dari [0, 1]:
    • 1 untuk token yang tidak dimasker,
    • 0 untuk token yang dimasker.

    Apa itu attention mask?

  • token_type_ids (torch.LongTensor dengan bentuk (batch_size, sequence_length), opsional) — Indeks token segmen untuk menunjukkan bagian pertama dan kedua dari input. Indeks dipilih dari [0, 1]:
    • 0 sesuai dengan token sentence A,
    • 1 sesuai dengan token sentence B.

    Apa itu token type ID?

  • position_ids (torch.LongTensor dengan bentuk (batch_size, sequence_length), opsional) — Indeks posisi token dari setiap urutan input dalam position embeddings. Dipilih dalam rentang [0, config.n_positions - 1].

    Apa itu ID posisi?

  • inputs_embeds (torch.Tensor dengan bentuk (batch_size, sequence_length, hidden_size), opsional) — Secara opsional, alih-alih meneruskan input_ids, Anda dapat memilih untuk langsung meneruskan representasi tertanam. Hal ini berguna jika Anda ingin memiliki kendali lebih atas cara mengonversi indeks input_ids menjadi vektor terkait, dibandingkan dengan matriks pencarian penanaman internal model.

Mengembalikan

BaseModelOutputWithPooling atau tuple(torch.Tensor)

A BaseModelOutputWithPooling atau tuple dari torch.Tensor (jika return_dict=False dilewatkan atau ketika config.return_dict=False) yang terdiri dari berbagai elemen tergantung pada konfigurasi (LayoutLMv2Config) dan input.

Metode forward dari LayoutLMv2Model menimpa metode khusus __call__.

Meskipun resep untuk forward pass perlu didefinisikan di dalam fungsi ini, sebaiknya panggil instance Module setelahnya alih-alih fungsi ini, karena yang pertama menangani langkah-langkah pra-pemrosesan dan pasca-pemrosesan, sedangkan yang kedua mengabaikannya secara diam-diam.

  • last_hidden_state (torch.Tensor dengan bentuk (batch_size, sequence_length, hidden_size)) — Urutan hidden-states pada keluaran lapisan terakhir model.

  • pooler_output (torch.Tensor dengan bentuk (batch_size, hidden_size)) — Hidden-state lapisan terakhir dari token pertama dalam urutan (token klasifikasi) setelah diproses lebih lanjut melalui lapisan yang digunakan untuk tugas pra-pelatihan tambahan. Misalnya, untuk keluarga model BERT, ini mengembalikan token klasifikasi setelah diproses melalui lapisan linear dan fungsi aktivasi tanh. Bobot lapisan linear dilatih dari tujuan prediksi kalimat berikutnya (klasifikasi) selama pra-pelatihan.

  • hidden_states (tuple(torch.Tensor), opsional, dikembalikan saat output_hidden_states=True dilewatkan atau saat config.output_hidden_states=True) — Tuple dari torch.Tensor (satu untuk output dari embeddings, jika model memiliki lapisan embedding, + satu untuk output dari setiap lapisan) dengan bentuk (batch_size, sequence_length, hidden_size).

    Hidden-states model pada output setiap layer ditambah output embedding awal yang opsional.

  • attentions (tuple(torch.Tensor), opsional, dikembalikan saat output_attentions=True dilewatkan atau saat config.output_attentions=True) — Tuple dari torch.Tensor (satu untuk setiap layer) dengan bentuk (batch_size, num_heads, sequence_length, sequence_length).

    Bobot perhatian setelah softmax perhatian, digunakan untuk menghitung rata-rata berbobot di kepala perhatian diri (self-attention).

Contoh:

>>> from transformers import AutoProcessor, LayoutLMv2Model, set_seed
>>> from PIL import Image
>>> import torch
>>> from datasets import load_dataset

>>> set_seed(0)

>>> processor = AutoProcessor.from_pretrained("microsoft/layoutlmv2-base-uncased")
>>> model = LayoutLMv2Model.from_pretrained("microsoft/layoutlmv2-base-uncased")


>>> dataset = load_dataset("hf-internal-testing/fixtures_docvqa")
>>> image = dataset["test"][0]["image"]

>>> encoding = processor(image, return_tensors="pt")

>>> outputs = model(**encoding)
>>> last_hidden_states = outputs.last_hidden_state

>>> last_hidden_states.shape
torch.Size([1, 342, 768])

LayoutLMv2ForSequenceClassification

kelas transformers.LayoutLMv2ForSequenceClassification

< >

( config: LayoutLMv2Config )

Parameter

  • config (LayoutLMv2Config) — Kelas konfigurasi model dengan semua parameter model. Inisialisasi dengan file konfigurasi tidak memuat bobot yang terkait dengan model, hanya konfigurasinya. Lihat metode from_pretrained() untuk memuat bobot model.

Model LayoutLMv2 dengan kepala klasifikasi urutan di atasnya (lapisan linear di atas konkatenasi dari state tersembunyi akhir dari token [CLS], embedding visual awal yang di-rata-rata, dan embedding visual akhir yang di-rata-rata, misalnya untuk tugas klasifikasi gambar dokumen seperti dataset RVL-CDIP.

Model ini mewarisi dari PreTrainedModel. Periksa dokumentasi kelas induk untuk metode generik yang diimplementasikan oleh pustaka untuk semua model (seperti mengunduh atau menyimpan, mengubah ukuran embedding input, memangkas kepala, dll.)

Model ini juga merupakan subclass dari torch.nn.Module PyTorch. Gunakan sebagai PyTorch Module biasa dan merujuk ke dokumentasi PyTorch untuk semua hal yang berkaitan dengan penggunaan dan perilaku umum.

forward

< >

( input_ids: typing.Optional[torch.LongTensor] = Nonebbox: typing.Optional[torch.LongTensor] = Noneimage: typing.Optional[torch.Tensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Nonetoken_type_ids: typing.Optional[torch.LongTensor] = Noneposition_ids: typing.Optional[torch.LongTensor] = Noneinputs_embeds: typing.Optional[torch.Tensor] = Nonelabels: typing.Optional[torch.LongTensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → SequenceClassifierOutput or tuple(torch.Tensor)

Parameter

  • input_ids (torch.LongTensor dengan bentuk batch_size, sequence_length) — Indeks token dari urutan input dalam kosakata. Indeks dapat diperoleh menggunakan AutoTokenizer. Lihat PreTrainedTokenizer.encode() dan PreTrainedTokenizer.call() untuk detailnya. Apa itu input ID?

    Indeks dapat diperoleh menggunakan AutoTokenizer. Lihat PreTrainedTokenizer.encode() dan PreTrainedTokenizer.call() untuk detailnya.

    Apa itu input ID?

  • bbox (torch.LongTensor dengan bentuk (batch_size, sequence_length, 4), opsional) — Kotak pembatas (bounding box) untuk setiap token dalam urutan input. Dipilih dalam rentang [0, config.max_2d_position_embeddings-1]. Setiap kotak pembatas harus berupa versi ternormalisasi dalam format (x0, y0, x1, y1), di mana (x0, y0) sesuai dengan posisi sudut kiri atas pada kotak pembatas, dan (x1, y1) merepresentasikan posisi sudut kanan bawah.
  • image (torch.Tensor dengan bentuk (batch_size, num_channels, height, width) atau detectron.structures.ImageList yang tensors memiliki bentuk (batch_size, num_channels, height, width)) — Batch gambar dokumen.
  • attention_mask (torch.Tensor dengan bentuk (batch_size, sequence_length), opsional) — Mask untuk menghindari eksekusi attention pada indeks token padding. Nilai mask dipilih dari [0, 1]:
    • 1 untuk token yang tidak dimasker,
    • 0 untuk token yang dimasker.

    Apa itu attention mask?

  • token_type_ids (torch.LongTensor dengan bentuk batch_size, sequence_length, opsional) — Indeks token segmen untuk menunjukkan bagian pertama dan kedua dari input. Indeks dipilih dari [0, 1]:
    • 0 sesuai dengan token sentence A,
    • 1 sesuai dengan token sentence B.

    Apa itu token type ID?

  • position_ids (torch.LongTensor dengan bentuk batch_size, sequence_length, opsional) — Indeks posisi token dari setiap urutan input dalam position embeddings. Dipilih dalam rentang [0, config.max_position_embeddings - 1].

    Apa itu ID posisi?

  • inputs_embeds (torch.Tensor dengan bentuk (batch_size, sequence_length, hidden_size), opsional) — Secara opsional, alih-alih meneruskan input_ids, Anda dapat memilih untuk langsung meneruskan representasi tertanam. Hal ini berguna jika Anda ingin memiliki kendali lebih atas cara mengonversi indeks input_ids menjadi vektor terkait, dibandingkan dengan matriks pencarian penanaman internal model.
  • labels (torch.LongTensor dengan bentuk (batch_size,), opsional) — Label untuk menghitung loss klasifikasi/regresi urutan. Indeks harus berada dalam [0, ..., config.num_labels - 1]. Jika config.num_labels == 1, loss regresi dihitung (Mean-Square loss). Jika config.num_labels > 1, loss klasifikasi dihitung (Cross-Entropy).

Mengembalikan

SequenceClassifierOutput atau tuple(torch.Tensor)

A SequenceClassifierOutput atau tuple dari torch.Tensor (jika return_dict=False dilewatkan atau ketika config.return_dict=False) yang terdiri dari berbagai elemen tergantung pada konfigurasi (LayoutLMv2Config) dan input.

Metode forward dari LayoutLMv2ForSequenceClassification menimpa metode khusus __call__.

Meskipun resep untuk forward pass perlu didefinisikan di dalam fungsi ini, sebaiknya panggil instance Module setelahnya alih-alih fungsi ini, karena yang pertama menangani langkah-langkah pra-pemrosesan dan pasca-pemrosesan, sedangkan yang kedua mengabaikannya secara diam-diam.

  • loss (torch.Tensor dengan bentuk (1,), opsional, dikembalikan saat labels disediakan) — Loss klasifikasi (atau regresi jika config.num_labels==1).

  • logits (torch.Tensor dengan bentuk (batch_size, config.num_labels)) — Skor klasifikasi (atau regresi jika config.num_labels==1) (sebelum SoftMax).

  • hidden_states (tuple(torch.Tensor), opsional, dikembalikan saat output_hidden_states=True dilewatkan atau saat config.output_hidden_states=True) — Tuple dari torch.Tensor (satu untuk output dari embeddings, jika model memiliki lapisan embedding, + satu untuk output dari setiap lapisan) dengan bentuk (batch_size, sequence_length, hidden_size).

    Hidden-states model pada output setiap layer ditambah output embedding awal yang opsional.

  • attentions (tuple(torch.Tensor), opsional, dikembalikan saat output_attentions=True dilewatkan atau saat config.output_attentions=True) — Tuple dari torch.Tensor (satu untuk setiap layer) dengan bentuk (batch_size, num_heads, sequence_length, sequence_length).

    Bobot perhatian setelah softmax perhatian, digunakan untuk menghitung rata-rata berbobot di kepala perhatian diri (self-attention).

Contoh:

>>> from transformers import AutoProcessor, LayoutLMv2ForSequenceClassification, set_seed
>>> from PIL import Image
>>> import torch
>>> from datasets import load_dataset

>>> set_seed(0)

>>> dataset = load_dataset("aharley/rvl_cdip", split="train", streaming=True)
>>> data = next(iter(dataset))
>>> image = data["image"].convert("RGB")

>>> processor = AutoProcessor.from_pretrained("microsoft/layoutlmv2-base-uncased")
>>> model = LayoutLMv2ForSequenceClassification.from_pretrained(
...     "microsoft/layoutlmv2-base-uncased", num_labels=dataset.info.features["label"].num_classes
... )

>>> encoding = processor(image, return_tensors="pt")
>>> sequence_label = torch.tensor([data["label"]])

>>> outputs = model(**encoding, labels=sequence_label)

>>> loss, logits = outputs.loss, outputs.logits
>>> predicted_idx = logits.argmax(dim=-1).item()
>>> predicted_answer = dataset.info.features["label"].names[4]
>>> predicted_idx, predicted_answer  # results are not good without further fine-tuning
(7, 'advertisement')

LayoutLMv2ForTokenClassification

kelas transformers.LayoutLMv2ForTokenClassification

< >

( config: LayoutLMv2Config )

Parameter

  • config (LayoutLMv2Config) — Kelas konfigurasi model dengan semua parameter model. Inisialisasi dengan file konfigurasi tidak memuat bobot yang terkait dengan model, hanya konfigurasinya. Lihat metode from_pretrained() untuk memuat bobot model.

Model LayoutLMv2 dengan kepala klasifikasi token di atasnya (lapisan linear di atas bagian teks dari keadaan tersembunyi), misalnya untuk tugas pelabelan urutan (ekstraksi informasi) seperti FUNSD, SROIE, CORD dan Kleister-NDA.

Model ini mewarisi dari PreTrainedModel. Periksa dokumentasi kelas induk untuk metode generik yang diimplementasikan oleh pustaka untuk semua model (seperti mengunduh atau menyimpan, mengubah ukuran embedding input, memangkas kepala, dll.)

Model ini juga merupakan subclass dari torch.nn.Module PyTorch. Gunakan sebagai PyTorch Module biasa dan merujuk ke dokumentasi PyTorch untuk semua hal yang berkaitan dengan penggunaan dan perilaku umum.

forward

< >

( input_ids: typing.Optional[torch.LongTensor] = Nonebbox: typing.Optional[torch.LongTensor] = Noneimage: typing.Optional[torch.Tensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Nonetoken_type_ids: typing.Optional[torch.LongTensor] = Noneposition_ids: typing.Optional[torch.LongTensor] = Noneinputs_embeds: typing.Optional[torch.Tensor] = Nonelabels: typing.Optional[torch.LongTensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → TokenClassifierOutput or tuple(torch.Tensor)

Parameter

  • input_ids (torch.LongTensor dengan bentuk batch_size, sequence_length) — Indeks token dari urutan input dalam kosakata. Indeks dapat diperoleh menggunakan AutoTokenizer. Lihat PreTrainedTokenizer.encode() dan PreTrainedTokenizer.call() untuk detailnya. Apa itu input ID?

    Indeks dapat diperoleh menggunakan AutoTokenizer. Lihat PreTrainedTokenizer.encode() dan PreTrainedTokenizer.call() untuk detailnya.

    Apa itu input ID?

  • bbox (torch.LongTensor dengan bentuk (batch_size, sequence_length, 4), opsional) — Kotak pembatas (bounding box) untuk setiap token dalam urutan input. Dipilih dalam rentang [0, config.max_2d_position_embeddings-1]. Setiap kotak pembatas harus berupa versi ternormalisasi dalam format (x0, y0, x1, y1), di mana (x0, y0) sesuai dengan posisi sudut kiri atas pada kotak pembatas, dan (x1, y1) merepresentasikan posisi sudut kanan bawah.
  • image (torch.Tensor dengan bentuk (batch_size, num_channels, height, width) atau detectron.structures.ImageList yang tensors memiliki bentuk (batch_size, num_channels, height, width)) — Batch gambar dokumen.
  • attention_mask (torch.Tensor dengan bentuk (batch_size, sequence_length), opsional) — Mask untuk menghindari eksekusi attention pada indeks token padding. Nilai mask dipilih dari [0, 1]:
    • 1 untuk token yang tidak dimasker,
    • 0 untuk token yang dimasker.

    Apa itu attention mask?

  • token_type_ids (torch.LongTensor dengan bentuk batch_size, sequence_length, opsional) — Indeks token segmen untuk menunjukkan bagian pertama dan kedua dari input. Indeks dipilih dari [0, 1]:
    • 0 sesuai dengan token sentence A,
    • 1 sesuai dengan token sentence B.

    Apa itu token type ID?

  • position_ids (torch.LongTensor dengan bentuk batch_size, sequence_length, opsional) — Indeks posisi token dari setiap urutan input dalam position embeddings. Dipilih dalam rentang [0, config.max_position_embeddings - 1].

    Apa itu ID posisi?

  • inputs_embeds (torch.Tensor dengan bentuk (batch_size, sequence_length, hidden_size), opsional) — Secara opsional, alih-alih meneruskan input_ids, Anda dapat memilih untuk langsung meneruskan representasi tertanam. Hal ini berguna jika Anda ingin memiliki kendali lebih atas cara mengonversi indeks input_ids menjadi vektor terkait, dibandingkan dengan matriks pencarian penanaman internal model.
  • labels (torch.LongTensor dengan bentuk (batch_size, sequence_length), opsional) — Label untuk menghitung kerugian klasifikasi token. Indeks harus berada dalam [0, ..., config.num_labels - 1].

Mengembalikan

TokenClassifierOutput atau tuple(torch.Tensor)

A TokenClassifierOutput atau tuple dari torch.Tensor (jika return_dict=False dilewatkan atau ketika config.return_dict=False) yang terdiri dari berbagai elemen tergantung pada konfigurasi (LayoutLMv2Config) dan input.

Metode forward dari LayoutLMv2ForTokenClassification menimpa metode khusus __call__.

Meskipun resep untuk forward pass perlu didefinisikan di dalam fungsi ini, sebaiknya panggil instance Module setelahnya alih-alih fungsi ini, karena yang pertama menangani langkah-langkah pra-pemrosesan dan pasca-pemrosesan, sedangkan yang kedua mengabaikannya secara diam-diam.

  • loss (torch.Tensor dengan bentuk (1,), opsional, dikembalikan saat labels disediakan) — Loss klasifikasi.

  • logits (torch.Tensor dengan bentuk (batch_size, sequence_length, config.num_labels)) — Skor klasifikasi (sebelum SoftMax).

  • hidden_states (tuple(torch.Tensor), opsional, dikembalikan saat output_hidden_states=True dilewatkan atau saat config.output_hidden_states=True) — Tuple dari torch.Tensor (satu untuk output dari embeddings, jika model memiliki lapisan embedding, + satu untuk output dari setiap lapisan) dengan bentuk (batch_size, sequence_length, hidden_size).

    Hidden-states model pada output setiap layer ditambah output embedding awal yang opsional.

  • attentions (tuple(torch.Tensor), opsional, dikembalikan saat output_attentions=True dilewatkan atau saat config.output_attentions=True) — Tuple dari torch.Tensor (satu untuk setiap layer) dengan bentuk (batch_size, num_heads, sequence_length, sequence_length).

    Bobot perhatian setelah softmax perhatian, digunakan untuk menghitung rata-rata berbobot di kepala perhatian diri (self-attention).

Contoh:

>>> from transformers import AutoProcessor, LayoutLMv2ForTokenClassification, set_seed
>>> from PIL import Image
>>> from datasets import load_dataset

>>> set_seed(0)

>>> datasets = load_dataset("nielsr/funsd", split="test")
>>> labels = datasets.features["ner_tags"].feature.names
>>> id2label = {v: k for v, k in enumerate(labels)}

>>> processor = AutoProcessor.from_pretrained("microsoft/layoutlmv2-base-uncased", revision="no_ocr")
>>> model = LayoutLMv2ForTokenClassification.from_pretrained(
...     "microsoft/layoutlmv2-base-uncased", num_labels=len(labels)
... )

>>> data = datasets[0]
>>> image = Image.open(data["image_path"]).convert("RGB")
>>> words = data["words"]
>>> boxes = data["bboxes"]  # make sure to normalize your bounding boxes
>>> word_labels = data["ner_tags"]
>>> encoding = processor(
...     image,
...     words,
...     boxes=boxes,
...     word_labels=word_labels,
...     padding="max_length",
...     truncation=True,
...     return_tensors="pt",
... )

>>> outputs = model(**encoding)
>>> logits, loss = outputs.logits, outputs.loss

>>> predicted_token_class_ids = logits.argmax(-1)
>>> predicted_tokens_classes = [id2label[t.item()] for t in predicted_token_class_ids[0]]
>>> predicted_tokens_classes[:5]  # results are not good without further fine-tuning
['I-HEADER', 'I-HEADER', 'I-QUESTION', 'I-HEADER', 'I-QUESTION']

LayoutLMv2ForQuestionAnswering

kelas transformers.LayoutLMv2ForQuestionAnswering

< >

( config: LayoutLMv2Confighas_visual_segment_embedding = True )

Parameter

  • config (LayoutLMv2Config) — Kelas konfigurasi model dengan semua parameter model. Inisialisasi dengan file konfigurasi tidak memuat bobot yang terkait dengan model, hanya konfigurasinya. Lihat metode from_pretrained() untuk memuat bobot model.
  • has_visual_segment_embedding (bool, opsional, defaultnya True) — Apakah akan menambahkan embedding segmen visual.

Transformer Layoutlmv2 dengan kepala klasifikasi span di atasnya untuk tugas tanya-jawab ekstraktif seperti SQuAD (lapisan linear di atas keluaran hidden-states untuk menghitung span start logits dan span end logits).

Model ini mewarisi dari PreTrainedModel. Periksa dokumentasi kelas induk untuk metode generik yang diimplementasikan oleh pustaka untuk semua model (seperti mengunduh atau menyimpan, mengubah ukuran embedding input, memangkas kepala, dll.)

Model ini juga merupakan subclass dari torch.nn.Module PyTorch. Gunakan sebagai PyTorch Module biasa dan merujuk ke dokumentasi PyTorch untuk semua hal yang berkaitan dengan penggunaan dan perilaku umum.

forward

< >

( input_ids: typing.Optional[torch.LongTensor] = Nonebbox: typing.Optional[torch.LongTensor] = Noneimage: typing.Optional[torch.Tensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Nonetoken_type_ids: typing.Optional[torch.LongTensor] = Noneposition_ids: typing.Optional[torch.LongTensor] = Noneinputs_embeds: typing.Optional[torch.Tensor] = Nonestart_positions: typing.Optional[torch.LongTensor] = Noneend_positions: typing.Optional[torch.LongTensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → QuestionAnsweringModelOutput or tuple(torch.Tensor)

Parameter

  • input_ids (torch.LongTensor dengan bentuk batch_size, sequence_length) — Indeks token dari urutan input dalam kosakata. Indeks dapat diperoleh menggunakan AutoTokenizer. Lihat PreTrainedTokenizer.encode() dan PreTrainedTokenizer.call() untuk detailnya. Apa itu input ID?

    Indeks dapat diperoleh menggunakan AutoTokenizer. Lihat PreTrainedTokenizer.encode() dan PreTrainedTokenizer.call() untuk detailnya.

    Apa itu input ID?

  • bbox (torch.LongTensor dengan bentuk (batch_size, sequence_length, 4), opsional) — Kotak pembatas (bounding box) untuk setiap token dalam urutan input. Dipilih dalam rentang [0, config.max_2d_position_embeddings-1]. Setiap kotak pembatas harus berupa versi ternormalisasi dalam format (x0, y0, x1, y1), di mana (x0, y0) sesuai dengan posisi sudut kiri atas pada kotak pembatas, dan (x1, y1) merepresentasikan posisi sudut kanan bawah.
  • image (torch.Tensor dengan bentuk (batch_size, num_channels, height, width) atau detectron.structures.ImageList yang tensors memiliki bentuk (batch_size, num_channels, height, width)) — Batch gambar dokumen.
  • attention_mask (torch.Tensor dengan bentuk (batch_size, sequence_length), opsional) — Mask untuk menghindari eksekusi attention pada indeks token padding. Nilai mask dipilih dari [0, 1]:
    • 1 untuk token yang tidak dimasker,
    • 0 untuk token yang dimasker.

    Apa itu attention mask?

  • token_type_ids (torch.LongTensor dengan bentuk batch_size, sequence_length, opsional) — Indeks token segmen untuk menunjukkan bagian pertama dan kedua dari input. Indeks dipilih dari [0, 1]:
    • 0 sesuai dengan token sentence A,
    • 1 sesuai dengan token sentence B.

    Apa itu token type ID?

  • position_ids (torch.LongTensor dengan bentuk batch_size, sequence_length, opsional) — Indeks posisi token dari setiap urutan input dalam position embeddings. Dipilih dalam rentang [0, config.max_position_embeddings - 1].

    Apa itu ID posisi?

  • inputs_embeds (torch.Tensor dengan bentuk (batch_size, sequence_length, hidden_size), opsional) — Secara opsional, alih-alih meneruskan input_ids, Anda dapat memilih untuk langsung meneruskan representasi tertanam. Hal ini berguna jika Anda ingin memiliki kendali lebih atas cara mengonversi indeks input_ids menjadi vektor terkait, dibandingkan dengan matriks pencarian penanaman internal model.
  • start_positions (torch.LongTensor dengan bentuk (batch_size,), opsional) — Label untuk posisi (indeks) awal span berlabel untuk menghitung kerugian klasifikasi token. Posisi dibatasi pada panjang sekuens (sequence_length). Posisi di luar sekuens tidak diperhitungkan dalam perhitungan kerugian.
  • end_positions (torch.LongTensor dengan bentuk (batch_size,), opsional) — Label untuk posisi (indeks) akhir dari span berlabel untuk menghitung kerugian klasifikasi token. Posisi dibatasi pada panjang sekuens (sequence_length). Posisi di luar sekuens tidak diperhitungkan dalam perhitungan kerugian.

Mengembalikan

QuestionAnsweringModelOutput atau tuple(torch.Tensor)

A QuestionAnsweringModelOutput atau tuple dari torch.Tensor (jika return_dict=False dilewatkan atau ketika config.return_dict=False) yang terdiri dari berbagai elemen tergantung pada konfigurasi (LayoutLMv2Config) dan input.

Metode forward dari LayoutLMv2ForQuestionAnswering menimpa metode khusus __call__.

Meskipun resep untuk forward pass perlu didefinisikan di dalam fungsi ini, sebaiknya panggil instance Module setelahnya alih-alih fungsi ini, karena yang pertama menangani langkah-langkah pra-pemrosesan dan pasca-pemrosesan, sedangkan yang kedua mengabaikannya secara diam-diam.

  • loss (torch.Tensor dengan bentuk (1,), opsional, dikembalikan saat labels disediakan) — Total loss ekstraksi span adalah jumlah dari Cross-Entropy untuk posisi awal dan akhir.

  • start_logits (torch.Tensor dengan bentuk (batch_size, sequence_length)) — Skor awal span (sebelum SoftMax).

  • end_logits (torch.Tensor dengan bentuk (batch_size, sequence_length)) — Skor akhir span (sebelum SoftMax).

  • hidden_states (tuple(torch.Tensor), opsional, dikembalikan saat output_hidden_states=True dilewatkan atau saat config.output_hidden_states=True) — Tuple dari torch.Tensor (satu untuk output dari embeddings, jika model memiliki lapisan embedding, + satu untuk output dari setiap lapisan) dengan bentuk (batch_size, sequence_length, hidden_size).

    Hidden-states model pada output setiap layer ditambah output embedding awal yang opsional.

  • attentions (tuple(torch.Tensor), opsional, dikembalikan saat output_attentions=True dilewatkan atau saat config.output_attentions=True) — Tuple dari torch.Tensor (satu untuk setiap layer) dengan bentuk (batch_size, num_heads, sequence_length, sequence_length).

    Bobot perhatian setelah softmax perhatian, digunakan untuk menghitung rata-rata berbobot di kepala perhatian diri (self-attention).

Contoh:

Pada contoh di bawah ini, kami memberikan model LayoutLMv2 sebuah gambar (berisi teks) dan mengajukan pertanyaan. Model akan memberikan prediksi tentang apa yang dianggapnya sebagai jawaban (rentang jawaban di dalam teks yang diparsing dari gambar).

>>> from transformers import AutoProcessor, LayoutLMv2ForQuestionAnswering, set_seed
>>> import torch
>>> from PIL import Image
>>> from datasets import load_dataset

>>> set_seed(0)
>>> processor = AutoProcessor.from_pretrained("microsoft/layoutlmv2-base-uncased")
>>> model = LayoutLMv2ForQuestionAnswering.from_pretrained("microsoft/layoutlmv2-base-uncased")

>>> dataset = load_dataset("hf-internal-testing/fixtures_docvqa")
>>> image = dataset["test"][0]["image"]
>>> question = "When is coffee break?"
>>> encoding = processor(image, question, return_tensors="pt")

>>> outputs = model(**encoding)
>>> predicted_start_idx = outputs.start_logits.argmax(-1).item()
>>> predicted_end_idx = outputs.end_logits.argmax(-1).item()
>>> predicted_start_idx, predicted_end_idx
(30, 191)

>>> predicted_answer_tokens = encoding.input_ids.squeeze()[predicted_start_idx : predicted_end_idx + 1]
>>> predicted_answer = processor.tokenizer.decode(predicted_answer_tokens)
>>> predicted_answer  # results are not good without further fine-tuning
'44 a. m. to 12 : 25 p. m. 12 : 25 to 12 : 58 p. m. 12 : 58 to 4 : 00 p. m. 2 : 00 to 5 : 00 p. m. coffee break coffee will be served for men and women in the lobby adjacent to exhibit area. please move into exhibit area. ( exhibits open ) trrf general session ( part | ) presiding : lee a. waller trrf vice president " introductory remarks " lee a. waller, trrf vice presi - dent individual interviews with trrf public board members and sci - entific advisory council mem - bers conducted by trrf treasurer philip g. kuehn to get answers which the public refrigerated warehousing industry is looking for. plus questions from'
>>> target_start_index = torch.tensor([7])
>>> target_end_index = torch.tensor([14])
>>> outputs = model(**encoding, start_positions=target_start_index, end_positions=target_end_index)
>>> predicted_answer_span_start = outputs.start_logits.argmax(-1).item()
>>> predicted_answer_span_end = outputs.end_logits.argmax(-1).item()
>>> predicted_answer_span_start, predicted_answer_span_end
(30, 191)
Update on GitHub