# LayoutLMv3

## نظرة عامة

قُدِّم نموذج LayoutLMv3 في [LayoutLMv3: Pre-training for Document AI with Unified Text and Image Masking](https://huggingface.co/papers/2204.08387) بواسطة Yupan Huang وTengchao Lv وLei Cui وYutong Lu وFuru Wei. يبسّط LayoutLMv3 نموذج [LayoutLMv2](layoutlmv2) من خلال استخدام تضمينات البقع (كما في [ViT](vit)) بدلاً من الاعتماد على عمود فقري لشبكة عصبية تلافيفية، ويُدرّب النموذج مسبقاً على ثلاثة أهداف: نمذجة اللغة المقنّعة (MLM)، ونمذجة الصورة المقنّعة (MIM)، ومحاذاة الكلمة مع البقعة (WPA).

المستخلص من الورقة البحثية هو كالتالي:

*حققت تقنيات التدريب المسبق ذاتي الإشراف تقدماً ملحوظاً في مجال الذكاء الاصطناعي المستند إلى المستندات. تستخدم معظم النماذج متعددة الوسائط المدربة مسبقاً هدف نمذجة اللغة المقنّعة (masked language modeling) لتعلم التمثيلات ثنائية الاتجاه على نمطية النص، لكنها تختلف في أهداف التدريب المسبق الخاصة بنمطية الصورة. يضيف هذا الاختلاف صعوبة إلى تعلم التمثيلات متعددة الوسائط. في هذه الورقة، نقترح LayoutLMv3 لتدريب مسبق لنماذج Transformers متعددة الوسائط مخصصة للذكاء الاصطناعي المستند إلى المستندات، معتمدين على قناع موحّد للنص والصورة. بالإضافة إلى ذلك، تم تدريب LayoutLMv3 مسبقاً باستخدام هدف محاذاة الكلمة مع البقعة (word-patch alignment) لتعلم المحاذاة بين الوسائط من خلال التنبؤ بما إذا كانت بقعة الصورة المقابلة لكلمة نصية معيّنة مقنّعة أم لا. يجعل البنية الموحّدة البسيطة وأهداف التدريب من LayoutLMv3 نموذجاً تدريبياً مسبقاً عاماً للمهام المستندة إلى المستندات، سواء كانت مركزة على النص أو على الصورة. تُظهر النتائج التجريبية أن LayoutLMv3 يحقق أداءً متقدماً (state-of-the-art) ليس فقط في المهام المركزة على النص، بما في ذلك فهم النماذج (form understanding) وفهم الإيصالات (receipt understanding) والإجابة البصرية على أسئلة المستندات (document visual question answering)، بل أيضاً في المهام المركزة على الصورة مثل تصنيف صور المستندات وتحليل تخطيط المستندات (document layout analysis).*

<img src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/layoutlmv3_architecture.png"
alt="drawing" width="600"/>

 بنية LayoutLMv3. مأخوذة من الورقة الأصلية.

تمت مساهمة هذا النموذج من قِبل [nielsr](https://huggingface.co/nielsr). يمكن العثور على الكود الأصلي [هنا](https://github.com/microsoft/unilm/tree/master/layoutlmv3).

## نصائح للاستخدام

- من حيث معالجة البيانات، يتطابق LayoutLMv3 مع سابقه [LayoutLMv2](layoutlmv2)، باستثناء ما يلي:
  - يجب إعادة تحجيم الصور وتطبيعها مع وضع القنوات في تنسيق RGB العادي. في المقابل، يقوم LayoutLMv2 بتطبيع الصور داخلياً ويتوقع وجود القنوات في تنسيق BGR.
  - تُرمَّز النصوص باستخدام ترميز زوج البايت (BPE)، على عكس WordPiece. ونظراً لهذه الاختلافات في المعالجة المسبقة للبيانات، يمكن استخدام [LayoutLMv3Processor](/docs/transformers/main/ar/model_doc/layoutlmv3#transformers.LayoutLMv3Processor) الذي يجمع داخلياً بين [LayoutLMv3ImageProcessor](/docs/transformers/main/ar/model_doc/layoutlmv3#transformers.LayoutLMv3ImageProcessor) (لنمط الصورة) و [LayoutLMv3Tokenizer](/docs/transformers/main/ar/model_doc/layoutlmv3#transformers.LayoutLMv3Tokenizer)/[LayoutLMv3TokenizerFast](/docs/transformers/main/ar/model_doc/layoutlmv3#transformers.LayoutLMv3Tokenizer) (لنمط النص) لإعداد جميع البيانات للنموذج.
- بالنسبة لاستخدام [LayoutLMv3Processor](/docs/transformers/main/ar/model_doc/layoutlmv3#transformers.LayoutLMv3Processor)، نحيلكم إلى [دليل الاستخدام](layoutlmv2#usage-layoutlmv2processor) الخاص بسلفه.

## الموارد

قائمة بالموارد الرسمية من Hugging Face وموارد المجتمع (المشار إليها بـ 🌎) لمساعدتك على البدء باستخدام LayoutLMv3. إذا كنت مهتمًا بتقديم مورد ليُدرج هنا، فلا تتردد في فتح طلب سحب (Pull Request) وسنقوم بمراجعته! يُفضَّل أن يُظهر المورد شيئًا جديدًا بدلاً من تكرار مورد موجود مسبقًا.

تُشبه LayoutLMv3 نظيرتها LayoutLMv2 إلى حد كبير، لذا فقد أدرجنا أيضًا موارد LayoutLMv2 التي يمكنك تكييفها لمهام LayoutLMv3. عند استخدام هذه الدفاتر، انتبه إلى استخدام [LayoutLMv2Processor](/docs/transformers/main/ar/model_doc/layoutlmv2#transformers.LayoutLMv2Processor) بدلاً منها عند إعداد البيانات للنموذج!

- يمكن العثور على كراسات العرض الخاصة بـ LayoutLMv3 [هنا](https://github.com/NielsRogge/Transformers-Tutorials/tree/master/LayoutLMv3).
- يمكن العثور على سكربتات العرض التوضيحي [هنا](https://github.com/huggingface/transformers-research-projects/tree/main/layoutlmv3).

- يُؤيَّد [LayoutLMv2ForSequenceClassification](/docs/transformers/main/ar/model_doc/layoutlmv2#transformers.LayoutLMv2ForSequenceClassification) بواسطة هذا [دفتر ملاحظات](https://colab.research.google.com/github/NielsRogge/Transformers-Tutorials/blob/master/LayoutLMv2/RVL-CDIP/Fine_tuning_LayoutLMv2ForSequenceClassification_on_RVL_CDIP.ipynb).
- [دليل مهمة تصنيف النصوص](../tasks/sequence_classification)

- يُؤمَّن دعم [LayoutLMv3ForTokenClassification](/docs/transformers/main/ar/model_doc/layoutlmv3#transformers.LayoutLMv3ForTokenClassification) من خلال [مثال السكربت](https://github.com/huggingface/transformers-research-projects/tree/main/layoutlmv3) و[دفتر الملاحظات](https://colab.research.google.com/github/NielsRogge/Transformers-Tutorials/blob/master/LayoutLMv3/Fine_tune_LayoutLMv3_on_FUNSD_(HuggingFace_Trainer).ipynb) هذا.
- دفتر [notebook](https://colab.research.google.com/github/NielsRogge/Transformers-Tutorials/blob/master/LayoutLMv2/FUNSD/Inference_with_LayoutLMv2ForTokenClassification.ipynb) يوضح كيفية تنفيذ الاستدلال باستخدام [LayoutLMv2ForTokenClassification](/docs/transformers/main/ar/model_doc/layoutlmv2#transformers.LayoutLMv2ForTokenClassification)، ودفتر [notebook](https://colab.research.google.com/github/NielsRogge/Transformers-Tutorials/blob/master/LayoutLMv2/FUNSD/True_inference_with_LayoutLMv2ForTokenClassification_%2B_Gradio_demo.ipynb) يوضح كيفية تنفيذ الاستدلال عندما لا تتوفر تسميات باستخدام [LayoutLMv2ForTokenClassification](/docs/transformers/main/ar/model_doc/layoutlmv2#transformers.LayoutLMv2ForTokenClassification).
- دفتر [notebook](https://colab.research.google.com/github/NielsRogge/Transformers-Tutorials/blob/master/LayoutLMv2/FUNSD/Fine_tuning_LayoutLMv2ForTokenClassification_on_FUNSD_using_HuggingFace_Trainer.ipynb) يوضح كيفية ضبط [LayoutLMv2ForTokenClassification](/docs/transformers/main/ar/model_doc/layoutlmv2#transformers.LayoutLMv2ForTokenClassification) باستخدام 🤗 Trainer.
- [دليل مهمة تصنيف الرموز](../tasks/token_classification)

- يُؤمَّن دعم [LayoutLMv2ForQuestionAnswering](/docs/transformers/main/ar/model_doc/layoutlmv2#transformers.LayoutLMv2ForQuestionAnswering) من خلال هذا [دفتر ملاحظات](https://colab.research.google.com/github/NielsRogge/Transformers-Tutorials/blob/master/LayoutLMv2/DocVQA/Fine_tuning_LayoutLMv2ForQuestionAnswering_on_DocVQA.ipynb).
- [دليل مهمة الإجابة عن الأسئلة](../tasks/question_answering)

**إجابة الأسئلة على المستندات**

- [دليل مهمة الإجابة عن الأسئلة من المستندات](../tasks/document_question_answering)

## LayoutLMv3Config[[transformers.LayoutLMv3Config]]

#### transformers.LayoutLMv3Config[[transformers.LayoutLMv3Config]]

```python
transformers.LayoutLMv3Config(transformers_version: str | None = None, architectures: list[str] | None = None, output_hidden_states: bool | None = False, return_dict: bool | None = True, dtype: str | torch.dtype | None = None, chunk_size_feed_forward: int = 0, is_encoder_decoder: bool = False, id2label: dict[int, str] | dict[str, str] | None = None, label2id: dict[str, int] | dict[str, str] | None = None, problem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = None, vocab_size: int = 50265, hidden_size: int = 768, num_hidden_layers: int = 12, num_attention_heads: int = 12, intermediate_size: int = 3072, hidden_act: str = 'gelu', hidden_dropout_prob: float | int = 0.1, attention_probs_dropout_prob: float | int = 0.1, max_position_embeddings: int = 512, type_vocab_size: int = 2, initializer_range: float = 0.02, layer_norm_eps: float = 1e-05, pad_token_id: int | None = 1, bos_token_id: int | None = 0, eos_token_id: int | list[int] | None = 2, max_2d_position_embeddings: int = 1024, coordinate_size: int = 128, shape_size: int = 128, has_relative_attention_bias: bool = True, rel_pos_bins: int = 32, max_rel_pos: int = 128, rel_2d_pos_bins: int = 64, max_rel_2d_pos: int = 256, has_spatial_attention_bias: bool = True, text_embed: bool = True, visual_embed: bool = True, input_size: int = 224, num_channels: int = 3, patch_size: int | list[int] | tuple[int, int] = 16, classifier_dropout: float | int | None = None)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/layoutlmv3/configuration_layoutlmv3.py#L24)

**المعاملات:**

vocab_size (`int`, *اختياري*, الافتراضي `50265`) : حجم مفردات النموذج. يحدد عدد الرموز المختلفة التي يمكن تمثيلها بواسطة `input_ids`.

hidden_size (`int`، *اختياري*، القيمة الافتراضية `768`) : بُعد التمثيلات المخفية.

num_hidden_layers (`int`، *اختياري*، القيمة الافتراضية `12`) : عدد الطبقات المخفية في مُفكِّك Transformer.

num_attention_heads (`int`، *اختياري*، القيمة الافتراضية `12`) : عدد رؤوس الانتباه في كل طبقة انتباه داخل مُفكِّك Transformer.

intermediate_size (`int`، *اختياري*، القيمة الافتراضية `3072`) : بُعد تمثيلات MLP.

hidden_act (`str`، *اختياري*، القيمة الافتراضية `gelu`) : دالة التنشيط غير الخطية (دالة أو نص) في المُفكِّك. على سبيل المثال، `"gelu"`، `"relu"`، `"silu"`، وما إلى ذلك.

hidden_dropout_prob (`Union[float, int]`، *اختياري*، القيمة الافتراضية `0.1`) : احتمال الإسقاط (dropout) لجميع الطبقات المتصلة بالكامل في التضمينات (embeddings) والمُشفِّر (encoder) والمُجمِّع (pooler).

attention_probs_dropout_prob (`Union[float, int]`، *اختياري*، القيمة الافتراضية `0.1`) : نسبة الإسقاط (dropout) لاحتمالات الانتباه.

max_position_embeddings (`int`، *اختياري*، القيمة الافتراضية `512`) : أقصى طول تسلسل قد يُستخدم مع هذا النموذج.

type_vocab_size (`int`، *اختياري*، القيمة الافتراضية `2`) : حجم مفردات `token_type_ids`.

initializer_range (`float`، *اختياري*، القيمة الافتراضية `0.02`) : الانحراف المعياري لـ truncated_normal_initializer المستخدم في تهيئة جميع مصفوفات الأوزان.

layer_norm_eps (`float`، *اختياري*، القيمة الافتراضية `1e-05`) : قيمة الإيبسلون المستخدمة في طبقات تطبيع الطبقة.

pad_token_id (`int`، *اختياري*، القيمة الافتراضية `1`) : معرّف الرمز المستخدم للتعبئة في المفردات.

bos_token_id (`int`، *اختياري*، القيمة الافتراضية `0`) : معرّف الرمز المستخدم لبدء البث في المفردات.

eos_token_id (`Union[int, list[int]]`، *اختياري*، القيمة الافتراضية `2`) : معرّف الرمز المستخدم لنهاية البث في المفردات.

max_2d_position_embeddings (`int`، *اختياري*، القيمة الافتراضية 1024) : القيمة القصوى التي قد يُستخدم معها تضمين الموقع ثنائي الأبعاد. يُنصح عادةً بإعداد هذه القيمة إلى رقم كبير احتياطًا (مثل 1024).

coordinate_size (`int`، *اختياري*، القيمة الافتراضية `128`) : بُعد تضمينات الإحداثيات.

shape_size (`int`، *اختياري*، القيمة الافتراضية `128`) : بُعد تضمينات العرض والارتفاع.

has_relative_attention_bias (`bool`، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان سيتم استخدام انحياز انتباه نسبي في آلية الانتباه الذاتي أم لا.

rel_pos_bins (`int`، *اختياري*، القيمة الافتراضية 32) : عدد دلاء الموضع النسبي المستخدمة في آلية الانتباه الذاتي.

max_rel_pos (`int`، *اختياري*، القيمة الافتراضية 128) : الحد الأقصى لعدد المواضع النسبية المستخدمة في آلية الانتباه الذاتي.

rel_2d_pos_bins (`int`، *اختياري*، القيمة الافتراضية 64) : عدد خلايا المواقع النسبية ثنائية الأبعاد في آلية الانتباه الذاتي.

max_rel_2d_pos (`int`، *اختياري*، القيمة الافتراضية 256) : الحد الأقصى لعدد المواضع النسبية ثنائية الأبعاد في آلية الانتباه الذاتي.

has_spatial_attention_bias (`bool`، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان سيتم استخدام انحياز انتباه مكاني في آلية الانتباه الذاتي أم لا.

text_embed (`bool`، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان يجب إضافة تضمينات النص أم لا.

visual_embed (`bool`، *اختياري*، الافتراضي `True`) : ما إذا كان يجب إضافة تضمينات الباتش أم لا.

input_size (`int`، *اختياري*، القيمة الافتراضية `224`) : حجم (دقة) الصور.

num_channels (`int`، *اختياري*، القيمة الافتراضية `3`) : عدد قنوات الإدخال.

patch_size (`Union[int, list[int], tuple[int, int]]`، *اختياري*، القيمة الافتراضية `16`) : حجم (دقة) كل رقعة.

classifier_dropout (`Union[float, int]`، *اختياري*) : نسبة dropout للمصنّف.

هذه فئة الإعدادات المخزنة لإعدادات نموذج LayoutLMv3Model. تُستخدم لاستحداث نموذج Layoutlmv3 وفقاً للحجج المحددة، مع تعريف بنية النموذج. إن استحداث إعدادات باستخدام القيم الافتراضية سيؤدي إلى إعدادات مشابهة لتلك الخاصة بـ [microsoft/layoutlmv3-base](https://huggingface.co/microsoft/layoutlmv3-base)

ترث كائنات الإعداد من [PreTrainedConfig](/docs/transformers/main/ar/main_classes/configuration#transformers.PreTrainedConfig) ويمكن استخدامها للتحكم في مخرجات النموذج. اقرأ التوثيق الخاص بـ [PreTrainedConfig](/docs/transformers/main/ar/main_classes/configuration#transformers.PreTrainedConfig) لمزيد من المعلومات.

مثال:

```python
>>> from transformers import LayoutLMv3Config, LayoutLMv3Model

>>> # Initializing a LayoutLMv3 microsoft/layoutlmv3-base style configuration
>>> configuration = LayoutLMv3Config()

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

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

## LayoutLMv3ImageProcessor[[transformers.LayoutLMv3ImageProcessor]]

#### transformers.LayoutLMv3ImageProcessor[[transformers.LayoutLMv3ImageProcessor]]

```python
transformers.LayoutLMv3ImageProcessor(**kwargs: *<class 'transformers.models.layoutlmv3.image_processing_layoutlmv3.LayoutLMv3ImageProcessorKwargs'>)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/layoutlmv3/image_processing_layoutlmv3.py#L124)

**المعاملات:**

do_convert_rgb (`bool`، *kwargs*، *اختياري*) : ما إذا كان يجب تحويل الصورة إلى RGB.

do_resize (`bool`، *kwargs*، *اختياري*، الافتراضي هو `True`) : ما إذا كان سيتم تغيير حجم الصورة.

size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`، *kwargs*، القيمة الافتراضية هي `{'height' : 224, 'width': 224}`): يصف الأبعاد القصوى للمدخلات إلى النموذج.

default_to_square (`bool`، *kwargs*، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان يجب افتراض صورة مربعة عند تغيير الحجم، إذا كان الحجم من نوع عدد صحيح.

crop_size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`، *kwargs*) : حجم الصورة الناتجة بعد تطبيق `center_crop`.

resample (`Annotated[Union[int, PILImageResampling, NoneType], None]`، *kwargs*، القيمة الافتراضية `2`) : مرشح إعادة العينة المستخدم عند تغيير حجم الصورة. يمكن أن يكون أحد قيم التعداد `PILImageResampling`. لا يؤثر إلا إذا كانت قيمة `do_resize` هي `True`.

do_rescale (`bool`، *kwargs*، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان يجب إعادة تحجيم الصورة.

rescale_factor (`float`، *kwargs*، *اختياري*، القيمة الافتراضية هي `0.00392156862745098`) : عامل إعادة التحجيم لإعادة تحجيم الصورة إذا كان `do_rescale` مضبوطاً على `True`.

do_normalize (`bool`، *kwargs*، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان سيتم تطبيع الصورة.

image_mean (`Union[float, list[float], tuple[float, ...]]`، *kwargs*، *اختياري*، القيمة الافتراضية هي `[0.5, 0.5, 0.5]`) : متوسط الصورة المستخدم للتطبيع. لا يكون له تأثير إلا إذا تم تعيين `do_normalize` إلى `True`.

image_std (`Union[float, list[float], tuple[float, ...]]`، *kwargs*، *اختياري*، القيمة الافتراضية هي `[0.5, 0.5, 0.5]`) : الانحراف المعياري للصورة المستخدم للتطبيع. لا يكون له أي تأثير إلا إذا تم تعيين `do_normalize` إلى `True`.

do_pad (`bool`، *kwargs*، *اختياري*) : ما إذا كان يجب إضافة حشوة إلى الصورة. يتم تنفيذ الحشوة إما إلى أكبر حجم في الدفعة أو إلى حجم مربع ثابت لكل صورة. تعتمد استراتيجية الحشوة الدقيقة على النموذج.

pad_size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`, *kwargs*) : الحجم على شكل `{"height": int, "width" int}` الذي يجب توسيد الصور إليه. يجب أن يكون أكبر من أي حجم صورة مُقدَّم للمعالجة المسبقة. إذا لم يُقدَّم `pad_size`، فسيتم توسيد الصور إلى أكبر ارتفاع وعرض في الدفعة. يُطبَّق فقط عندما يكون `do_pad=True.`

do_center_crop (`bool`، *kwargs*، *اختياري*) : ما إذا كان يجب قص الصورة من المنتصف.

data_format (`Union[str, ~image_utils.ChannelDimension]`، *kwargs*، *اختياري*) : يُدعم `ChannelDimension.FIRST` فقط. أُضيف من أجل التوافق مع المعالجات البطيئة.

input_data_format (`Union[str, ~image_utils.ChannelDimension]`، *kwargs*، *اختياري*) : تنسيق بُعد القناة للصورة المدخلة. إذا لم يتم ضبطه، يُستنتج تنسيق بُعد القناة من الصورة المدخلة. يمكن أن يكون أحد ما يلي: - `"channels_first"` أو `ChannelDimension.FIRST`: صورة بتنسيق (num_channels, height, width). - `"channels_last"` أو `ChannelDimension.LAST`: صورة بتنسيق (height, width, num_channels). - `"none"` أو `ChannelDimension.NONE`: صورة بتنسيق (height, width).

device (`Annotated[Union[str, torch.device, NoneType], None]`, *kwargs*) : الجهاز الذي تتم عليه معالجة مقاطع الفيديو. إذا لم يتم ضبطه، يُستنتج الجهاز من مقاطع الفيديو المدخلة.

return_tensors (`Annotated[str | ~utils.generic.TensorType | None, None]`, *kwargs*) : تُرجع توتنرات مكدّسة إذا كان الإعداد `'pt'`، وإلا تُرجع قائمة من التوتنرات.

disable_grouping (`bool`، *kwargs*، *اختياري*) : ما إذا كان سيتم تعطيل تجميع الصور حسب الحجم لمعالجتها بشكل فردي بدلاً من دفعات. إذا كانت القيمة None، فسيتم تعيينها إلى True إذا كانت الصور على وحدة المعالجة المركزية (CPU)، وإلا فستكون False. تستند هذه الخيارات إلى ملاحظات تجريبية، كما هو موضح هنا: https://github.com/huggingface/transformers/pull/38157

image_seq_length (`int`، *kwargs*، *اختياري*) : عدد رموز الصور التي سيتم استخدامها لكل صورة في المدخلات. أُضيفت لضمان التوافق مع الإصدارات السابقة، لكن ينبغي ضبطها كخاصية للمعالج في النماذج المستقبلية.

apply_ocr (`bool`، *kwargs*، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان سيتم تطبيق محرك Tesseract OCR للحصول على الكلمات + صناديق الحدود المعيارية. يمكن تجاوز ذلك عبر معامل `apply_ocr` في طريقة `preprocess`.

ocr_lang (`str`، *kwargs*، *اختياري*) : اللغة، المُحدَّدة برمزها القياسي (ISO)، التي سيستخدمها محرك Tesseract OCR. افتراضيًا، تُستخدم اللغة الإنجليزية. يمكن تجاوز ذلك عبر معامل `ocr_lang` في طريقة `preprocess`.

tesseract_config (`str`، *kwargs*، *اختياري*) : أي أعلام تكوين مخصصة إضافية يتم تمريرها إلى معامل `config` عند استدعاء Tesseract. على سبيل المثال: '--psm 6'. يمكن تجاوزها بواسطة معامل `tesseract_config` في طريقة `preprocess`.

ينشئ معالج صور LayoutLMv3ImageProcessor.

#### preprocess[[transformers.LayoutLMv3ImageProcessor.preprocess]]

```python
preprocess(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.layoutlmv3.image_processing_layoutlmv3.LayoutLMv3ImageProcessorKwargs'>)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/layoutlmv3/image_processing_layoutlmv3.py#L140)

**المعاملات:**

images (`Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]]`) : الصورة المراد معالجتها مسبقًا. يتوقع صورة واحدة أو دفعة من الصور بقيم بكسل تتراوح بين 0 و255. إذا كنت تمرر صورًا بقيم بكسل بين 0 و1، فاضبط `do_rescale=False`.

do_convert_rgb (`bool`، *kwargs*، *اختياري*) : ما إذا كان يجب تحويل الصورة إلى RGB.

do_resize (`bool`، *kwargs*، *اختياري*) : ما إذا كان يجب تغيير حجم الصورة.

size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`, *kwargs*) : يصف الأبعاد القصوى للمدخلات إلى النموذج.

default_to_square (`bool`، *kwargs*، *اختياري*) : ما إذا كان يجب افتراض صورة مربعة عند تغيير الحجم، إذا كان الحجم عددًا صحيحًا.

crop_size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`، *kwargs*) : حجم الصورة الناتجة بعد تطبيق `center_crop`.

resample (`Annotated[Union[int, PILImageResampling, NoneType], None]`, *kwargs*) : مرشح إعادة العينة المستخدم عند تغيير حجم الصورة. يمكن أن يكون أحد قيم enum `PILImageResampling`. لا يؤثر إلا إذا كان `do_resize` مضبوطاً على `True`.

do_rescale (`bool`، *kwargs*، *اختياري*) : ما إذا كان يجب إعادة تحجيم الصورة.

rescale_factor (`float`، *kwargs*، *اختياري*) : معامل إعادة التحجيم لإعادة تحجيم الصورة إذا كان `do_rescale` مضبوطًا على `True`.

do_normalize (`bool`، *kwargs*، *اختياري*) : ما إذا كان يجب تطبيع الصورة.

image_mean (`Union[float, list[float], tuple[float, ...]]`، *kwargs*، *اختياري*) : متوسط الصورة المستخدم للتطبيع. لا يكون له أي تأثير إلا إذا تم تعيين `do_normalize` إلى `True`.

image_std (`Union[float, list[float], tuple[float, ...]]`، *kwargs*، *اختياري*) : الانحراف المعياري للصورة المستخدم للتطبيع. لا يكون له أي تأثير إلا إذا تم تعيين `do_normalize` إلى `True`.

do_pad (`bool`، *kwargs*، *اختياري*) : ما إذا كان يجب إضافة حشوة إلى الصورة. يتم تنفيذ الحشوة إما إلى أكبر حجم في الدفعة أو إلى حجم مربع ثابت لكل صورة. تعتمد استراتيجية الحشوة الدقيقة على النموذج.

pad_size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`, *kwargs*) : الحجم على شكل `{"height": int, "width" int}` الذي يجب توسيد الصور إليه. يجب أن يكون أكبر من أي حجم صورة مُقدَّم للمعالجة المسبقة. إذا لم يُقدَّم `pad_size`، فسيتم توسيد الصور إلى أكبر ارتفاع وعرض في الدفعة. يُطبَّق فقط عندما يكون `do_pad=True.`

do_center_crop (`bool`، *kwargs*، *اختياري*) : ما إذا كان يجب قص الصورة من المنتصف.

data_format (`Union[str, ~image_utils.ChannelDimension]`، *kwargs*، *اختياري*) : يُدعم `ChannelDimension.FIRST` فقط. أُضيف من أجل التوافق مع المعالجات البطيئة.

input_data_format (`Union[str, ~image_utils.ChannelDimension]`، *kwargs*، *اختياري*) : تنسيق بُعد القناة للصورة المدخلة. إذا لم يتم ضبطه، يُستنتج تنسيق بُعد القناة من الصورة المدخلة. يمكن أن يكون أحد ما يلي: - `"channels_first"` أو `ChannelDimension.FIRST`: صورة بتنسيق (num_channels, height, width). - `"channels_last"` أو `ChannelDimension.LAST`: صورة بتنسيق (height, width, num_channels). - `"none"` أو `ChannelDimension.NONE`: صورة بتنسيق (height, width).

device (`Annotated[Union[str, torch.device, NoneType], None]`, *kwargs*) : الجهاز الذي تتم عليه معالجة مقاطع الفيديو. إذا لم يتم ضبطه، يُستنتج الجهاز من مقاطع الفيديو المدخلة.

return_tensors (`Annotated[str | ~utils.generic.TensorType | None, None]`, *kwargs*) : تُرجع توتنرات مكدّسة إذا كان الإعداد `'pt'`، وإلا تُرجع قائمة من التوتنرات.

disable_grouping (`bool`، *kwargs*، *اختياري*) : ما إذا كان سيتم تعطيل تجميع الصور حسب الحجم لمعالجتها بشكل فردي بدلاً من دفعات. إذا كانت القيمة None، فسيتم تعيينها إلى True إذا كانت الصور على وحدة المعالجة المركزية (CPU)، وإلا فستكون False. تستند هذه الخيارات إلى ملاحظات تجريبية، كما هو موضح هنا: https://github.com/huggingface/transformers/pull/38157

image_seq_length (`int`، *kwargs*، *اختياري*) : عدد رموز الصور التي سيتم استخدامها لكل صورة في المدخلات. أُضيفت لضمان التوافق مع الإصدارات السابقة، لكن ينبغي ضبطها كخاصية للمعالج في النماذج المستقبلية.

apply_ocr (`bool`، *kwargs*، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان سيتم تطبيق محرك Tesseract OCR للحصول على الكلمات + صناديق الحدود المعيارية. يمكن تجاوز ذلك عبر معامل `apply_ocr` في طريقة `preprocess`.

ocr_lang (`str`، *kwargs*، *اختياري*) : اللغة، المُحدَّدة برمزها القياسي (ISO)، التي سيستخدمها محرك Tesseract OCR. افتراضيًا، تُستخدم اللغة الإنجليزية. يمكن تجاوز ذلك عبر معامل `ocr_lang` في طريقة `preprocess`.

tesseract_config (`str`، *kwargs*، *اختياري*) : أي أعلام تكوين مخصصة إضافية يتم تمريرها إلى معامل `config` عند استدعاء Tesseract. على سبيل المثال: '--psm 6'. يمكن تجاوزها بواسطة معامل `tesseract_config` في طريقة `preprocess`.

**يعيد:** `~image_processing_base.BatchFeature`

- **data** (`dict`) -- قاموس من القوائم/المصفوفات/الموترات التي يعيدها أسلوب __call__ ('pixel_values'، وما إلى ذلك).
- **tensor_type** (`Union[None, str, TensorType]`، *اختياري*) -- يمكنك تحديد tensor_type هنا لتحويل قوائم الأعداد الصحيحة إلى تينسورات PyTorch/Numpy عند التهيئة.

## LayoutLMv3ImageProcessorPil[[transformers.LayoutLMv3ImageProcessorPil]]

#### transformers.LayoutLMv3ImageProcessorPil[[transformers.LayoutLMv3ImageProcessorPil]]

```python
transformers.LayoutLMv3ImageProcessorPil(**kwargs: *<class 'transformers.models.layoutlmv3.image_processing_pil_layoutlmv3.LayoutLMv3ImageProcessorKwargs'>)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/layoutlmv3/image_processing_pil_layoutlmv3.py#L123)

**المعاملات:**

do_convert_rgb (`bool`، *kwargs*، *اختياري*) : ما إذا كان يجب تحويل الصورة إلى RGB.

do_resize (`bool`، *kwargs*، *اختياري*، الافتراضي هو `True`) : ما إذا كان سيتم تغيير حجم الصورة.

size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`، *kwargs*، القيمة الافتراضية هي `{'height' : 224, 'width': 224}`): يصف الأبعاد القصوى للمدخلات إلى النموذج.

default_to_square (`bool`، *kwargs*، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان يجب افتراض صورة مربعة عند تغيير الحجم، إذا كان الحجم من نوع عدد صحيح.

crop_size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`، *kwargs*) : حجم الصورة الناتجة بعد تطبيق `center_crop`.

resample (`Annotated[Union[int, PILImageResampling, NoneType], None]`، *kwargs*، القيمة الافتراضية `2`) : مرشح إعادة العينة المستخدم عند تغيير حجم الصورة. يمكن أن يكون أحد قيم التعداد `PILImageResampling`. لا يؤثر إلا إذا كانت قيمة `do_resize` هي `True`.

do_rescale (`bool`، *kwargs*، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان يجب إعادة تحجيم الصورة.

rescale_factor (`float`، *kwargs*، *اختياري*، القيمة الافتراضية هي `0.00392156862745098`) : عامل إعادة التحجيم لإعادة تحجيم الصورة إذا كان `do_rescale` مضبوطاً على `True`.

do_normalize (`bool`، *kwargs*، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان سيتم تطبيع الصورة.

image_mean (`Union[float, list[float], tuple[float, ...]]`، *kwargs*، *اختياري*، القيمة الافتراضية هي `[0.5, 0.5, 0.5]`) : متوسط الصورة المستخدم للتطبيع. لا يكون له تأثير إلا إذا تم تعيين `do_normalize` إلى `True`.

image_std (`Union[float, list[float], tuple[float, ...]]`، *kwargs*، *اختياري*، القيمة الافتراضية هي `[0.5, 0.5, 0.5]`) : الانحراف المعياري للصورة المستخدم للتطبيع. لا يكون له أي تأثير إلا إذا تم تعيين `do_normalize` إلى `True`.

do_pad (`bool`، *kwargs*، *اختياري*) : ما إذا كان يجب إضافة حشوة إلى الصورة. يتم تنفيذ الحشوة إما إلى أكبر حجم في الدفعة أو إلى حجم مربع ثابت لكل صورة. تعتمد استراتيجية الحشوة الدقيقة على النموذج.

pad_size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`, *kwargs*) : الحجم على شكل `{"height": int, "width" int}` الذي يجب توسيد الصور إليه. يجب أن يكون أكبر من أي حجم صورة مُقدَّم للمعالجة المسبقة. إذا لم يُقدَّم `pad_size`، فسيتم توسيد الصور إلى أكبر ارتفاع وعرض في الدفعة. يُطبَّق فقط عندما يكون `do_pad=True.`

do_center_crop (`bool`، *kwargs*، *اختياري*) : ما إذا كان يجب قص الصورة من المنتصف.

data_format (`Union[str, ~image_utils.ChannelDimension]`، *kwargs*، *اختياري*) : يُدعم `ChannelDimension.FIRST` فقط. أُضيف من أجل التوافق مع المعالجات البطيئة.

input_data_format (`Union[str, ~image_utils.ChannelDimension]`، *kwargs*، *اختياري*) : تنسيق بُعد القناة للصورة المدخلة. إذا لم يتم ضبطه، يُستنتج تنسيق بُعد القناة من الصورة المدخلة. يمكن أن يكون أحد ما يلي: - `"channels_first"` أو `ChannelDimension.FIRST`: صورة بتنسيق (num_channels, height, width). - `"channels_last"` أو `ChannelDimension.LAST`: صورة بتنسيق (height, width, num_channels). - `"none"` أو `ChannelDimension.NONE`: صورة بتنسيق (height, width).

device (`Annotated[Union[str, torch.device, NoneType], None]`, *kwargs*) : الجهاز الذي تتم عليه معالجة مقاطع الفيديو. إذا لم يتم ضبطه، يُستنتج الجهاز من مقاطع الفيديو المدخلة.

return_tensors (`Annotated[str | ~utils.generic.TensorType | None, None]`, *kwargs*) : تُرجع توتنرات مكدّسة إذا كان الإعداد `'pt'`، وإلا تُرجع قائمة من التوتنرات.

disable_grouping (`bool`، *kwargs*، *اختياري*) : ما إذا كان سيتم تعطيل تجميع الصور حسب الحجم لمعالجتها بشكل فردي بدلاً من دفعات. إذا كانت القيمة None، فسيتم تعيينها إلى True إذا كانت الصور على وحدة المعالجة المركزية (CPU)، وإلا فستكون False. تستند هذه الخيارات إلى ملاحظات تجريبية، كما هو موضح هنا: https://github.com/huggingface/transformers/pull/38157

image_seq_length (`int`، *kwargs*، *اختياري*) : عدد رموز الصور التي سيتم استخدامها لكل صورة في المدخلات. أُضيفت لضمان التوافق مع الإصدارات السابقة، لكن ينبغي ضبطها كخاصية للمعالج في النماذج المستقبلية.

apply_ocr (`bool`، *kwargs*، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان سيتم تطبيق محرك Tesseract OCR للحصول على الكلمات + صناديق الحدود المعيارية. يمكن تجاوز ذلك عبر معامل `apply_ocr` في طريقة `preprocess`.

ocr_lang (`str`، *kwargs*، *اختياري*) : اللغة، المُحدَّدة برمزها القياسي (ISO)، التي سيستخدمها محرك Tesseract OCR. افتراضيًا، تُستخدم اللغة الإنجليزية. يمكن تجاوز ذلك عبر معامل `ocr_lang` في طريقة `preprocess`.

tesseract_config (`str`، *kwargs*، *اختياري*) : أي أعلام تكوين مخصصة إضافية يتم تمريرها إلى معامل `config` عند استدعاء Tesseract. على سبيل المثال: '--psm 6'. يمكن تجاوزها بواسطة معامل `tesseract_config` في طريقة `preprocess`.

ينشئ معالج صور LayoutLMv3ImageProcessor.

#### preprocess[[transformers.LayoutLMv3ImageProcessorPil.preprocess]]

```python
preprocess(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.layoutlmv3.image_processing_pil_layoutlmv3.LayoutLMv3ImageProcessorKwargs'>)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/layoutlmv3/image_processing_pil_layoutlmv3.py#L139)

**المعاملات:**

images (`Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]]`) : الصورة المراد معالجتها مسبقًا. يتوقع صورة واحدة أو دفعة من الصور بقيم بكسل تتراوح بين 0 و255. إذا كنت تمرر صورًا بقيم بكسل بين 0 و1، فاضبط `do_rescale=False`.

do_convert_rgb (`bool`، *kwargs*، *اختياري*) : ما إذا كان يجب تحويل الصورة إلى RGB.

do_resize (`bool`، *kwargs*، *اختياري*) : ما إذا كان يجب تغيير حجم الصورة.

size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`, *kwargs*) : يصف الأبعاد القصوى للمدخلات إلى النموذج.

default_to_square (`bool`، *kwargs*، *اختياري*) : ما إذا كان يجب افتراض صورة مربعة عند تغيير الحجم، إذا كان الحجم عددًا صحيحًا.

crop_size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`، *kwargs*) : حجم الصورة الناتجة بعد تطبيق `center_crop`.

resample (`Annotated[Union[int, PILImageResampling, NoneType], None]`, *kwargs*) : مرشح إعادة العينة المستخدم عند تغيير حجم الصورة. يمكن أن يكون أحد قيم enum `PILImageResampling`. لا يؤثر إلا إذا كان `do_resize` مضبوطاً على `True`.

do_rescale (`bool`، *kwargs*، *اختياري*) : ما إذا كان يجب إعادة تحجيم الصورة.

rescale_factor (`float`، *kwargs*، *اختياري*) : معامل إعادة التحجيم لإعادة تحجيم الصورة إذا كان `do_rescale` مضبوطًا على `True`.

do_normalize (`bool`، *kwargs*، *اختياري*) : ما إذا كان يجب تطبيع الصورة.

image_mean (`Union[float, list[float], tuple[float, ...]]`، *kwargs*، *اختياري*) : متوسط الصورة المستخدم للتطبيع. لا يكون له أي تأثير إلا إذا تم تعيين `do_normalize` إلى `True`.

image_std (`Union[float, list[float], tuple[float, ...]]`، *kwargs*، *اختياري*) : الانحراف المعياري للصورة المستخدم للتطبيع. لا يكون له أي تأثير إلا إذا تم تعيين `do_normalize` إلى `True`.

do_pad (`bool`، *kwargs*، *اختياري*) : ما إذا كان يجب إضافة حشوة إلى الصورة. يتم تنفيذ الحشوة إما إلى أكبر حجم في الدفعة أو إلى حجم مربع ثابت لكل صورة. تعتمد استراتيجية الحشوة الدقيقة على النموذج.

pad_size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`, *kwargs*) : الحجم على شكل `{"height": int, "width" int}` الذي يجب توسيد الصور إليه. يجب أن يكون أكبر من أي حجم صورة مُقدَّم للمعالجة المسبقة. إذا لم يُقدَّم `pad_size`، فسيتم توسيد الصور إلى أكبر ارتفاع وعرض في الدفعة. يُطبَّق فقط عندما يكون `do_pad=True.`

do_center_crop (`bool`، *kwargs*، *اختياري*) : ما إذا كان يجب قص الصورة من المنتصف.

data_format (`Union[str, ~image_utils.ChannelDimension]`، *kwargs*، *اختياري*) : يُدعم `ChannelDimension.FIRST` فقط. أُضيف من أجل التوافق مع المعالجات البطيئة.

input_data_format (`Union[str, ~image_utils.ChannelDimension]`، *kwargs*، *اختياري*) : تنسيق بُعد القناة للصورة المدخلة. إذا لم يتم ضبطه، يُستنتج تنسيق بُعد القناة من الصورة المدخلة. يمكن أن يكون أحد ما يلي: - `"channels_first"` أو `ChannelDimension.FIRST`: صورة بتنسيق (num_channels, height, width). - `"channels_last"` أو `ChannelDimension.LAST`: صورة بتنسيق (height, width, num_channels). - `"none"` أو `ChannelDimension.NONE`: صورة بتنسيق (height, width).

device (`Annotated[Union[str, torch.device, NoneType], None]`, *kwargs*) : الجهاز الذي تتم عليه معالجة مقاطع الفيديو. إذا لم يتم ضبطه، يُستنتج الجهاز من مقاطع الفيديو المدخلة.

return_tensors (`Annotated[str | ~utils.generic.TensorType | None, None]`, *kwargs*) : تُرجع توتنرات مكدّسة إذا كان الإعداد `'pt'`، وإلا تُرجع قائمة من التوتنرات.

disable_grouping (`bool`، *kwargs*، *اختياري*) : ما إذا كان سيتم تعطيل تجميع الصور حسب الحجم لمعالجتها بشكل فردي بدلاً من دفعات. إذا كانت القيمة None، فسيتم تعيينها إلى True إذا كانت الصور على وحدة المعالجة المركزية (CPU)، وإلا فستكون False. تستند هذه الخيارات إلى ملاحظات تجريبية، كما هو موضح هنا: https://github.com/huggingface/transformers/pull/38157

image_seq_length (`int`، *kwargs*، *اختياري*) : عدد رموز الصور التي سيتم استخدامها لكل صورة في المدخلات. أُضيفت لضمان التوافق مع الإصدارات السابقة، لكن ينبغي ضبطها كخاصية للمعالج في النماذج المستقبلية.

apply_ocr (`bool`، *kwargs*، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان سيتم تطبيق محرك Tesseract OCR للحصول على الكلمات + صناديق الحدود المعيارية. يمكن تجاوز ذلك عبر معامل `apply_ocr` في طريقة `preprocess`.

ocr_lang (`str`، *kwargs*، *اختياري*) : اللغة، المُحدَّدة برمزها القياسي (ISO)، التي سيستخدمها محرك Tesseract OCR. افتراضيًا، تُستخدم اللغة الإنجليزية. يمكن تجاوز ذلك عبر معامل `ocr_lang` في طريقة `preprocess`.

tesseract_config (`str`، *kwargs*، *اختياري*) : أي أعلام تكوين مخصصة إضافية يتم تمريرها إلى معامل `config` عند استدعاء Tesseract. على سبيل المثال: '--psm 6'. يمكن تجاوزها بواسطة معامل `tesseract_config` في طريقة `preprocess`.

**يعيد:** `~image_processing_base.BatchFeature`

- **data** (`dict`) -- قاموس من القوائم/المصفوفات/الموترات التي يعيدها أسلوب __call__ ('pixel_values'، وما إلى ذلك).
- **tensor_type** (`Union[None, str, TensorType]`، *اختياري*) -- يمكنك تحديد tensor_type هنا لتحويل قوائم الأعداد الصحيحة إلى تينسورات PyTorch/Numpy عند التهيئة.

## LayoutLMv3Tokenizer[[transformers.LayoutLMv3Tokenizer]]

#### transformers.LayoutLMv3Tokenizer[[transformers.LayoutLMv3Tokenizer]]

```python
transformers.LayoutLMv3Tokenizer(errors = 'replace', bos_token = '<s>', eos_token = '</s>', sep_token = '</s>', cls_token = '<s>', unk_token = '<unk>', pad_token = '<pad>', mask_token = '<mask>', add_prefix_space = True, cls_token_box = [0, 0, 0, 0], sep_token_box = [0, 0, 0, 0], pad_token_box = [0, 0, 0, 0], pad_token_label = -100, only_label_first_subword = True, vocab: str | dict[str, int] | None = None, merges: str | list[str] | None = None, **kwargs)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/layoutlmv3/tokenization_layoutlmv3.py#L114)

**المعاملات:**

errors (`str`، *اختياري*، الافتراضي هو `"replace"`) : المنهج المتّبع عند فكّ ترميز البايتات إلى UTF-8. راجع [bytes.decode](https://docs.python.org/3/library/stdtypes.html#bytes.decode) لمزيد من المعلومات.

bos_token (`str`، *اختياري*، القيمة الافتراضية `"<s>"`) : رمز بداية التسلسل الذي تم استخدامه أثناء التدريب المسبق. يمكن استخدامه كرمز لتصنيف التسلسل.

eos_token (`str`, *اختياري*, الافتراضي هو `"</s>"`) : رمز نهاية التسلسل.

sep_token (`str`، *اختياري*، الافتراضي هو `"</s>"`) : رمز الفاصل، الذي يُستخدم عند بناء تسلسل من عدة تسلسلات، مثل تسلسلين لتصنيف التسلسلات، أو نص وسؤال للإجابة على الأسئلة. كما يُستخدم كآخر رمز في تسلسل مبني برموز خاصة.

cls_token (`str`، *اختياري*، القيمة الافتراضية `"<s>"`) : رمز التصنيف الذي يُستخدم عند إجراء تصنيف التسلسل (تصنيف التسلسل بأكمله بدلاً من تصنيف كل رمز على حدة). وهو الرمز الأول في التسلسل عند بناؤه باستخدام الرموز الخاصة.

unk_token (`str`، *اختياري*، القيمة الافتراضية `"<unk>"`) : رمز المجهول. الرمز غير الموجود في قاموس الكلمات لا يمكن تحويله إلى معرّف، لذا يُعيَّن هذا الرمز بدلاً منه.

pad_token (`str`، *اختياري*، القيمة الافتراضية هي `"<pad>"`) : الرمز المستخدم للتعبئة، على سبيل المثال عند تجميع تسلسلات ذات أطوال مختلفة.

mask_token (`str`، *اختياري*، القيمة الافتراضية `"<mask>"`) : الرمز المستخدم لإخفاء القيم. هذا هو الرمز المستخدم عند تدريب هذا النموذج باستخدام نمذجة اللغة المقنّعة. وهو الرمز الذي سيحاول النموذج التنبؤ به.

add_prefix_space (`bool`، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان يجب إضافة مسافة أولية إلى المدخل أم لا. هذا يتيح التعامل مع الكلمة الأولى تمامًا مثل أي كلمة أخرى.

cls_token_box (`list[int]`، *اختياري*، القيمة الافتراضية `[0, 0, 0, 0]`) : الصندوق المحيط (bounding box) الذي سيُستخدم للرمز الخاص [CLS].

sep_token_box (`list[int]`، *اختياري*، القيمة الافتراضية `[0, 0, 0, 0]`) : صندوق الحدود (bounding box) الذي سيُستخدم للرمز الخاص [SEP].

pad_token_box (`list[int]`، *اختياري*، القيمة الافتراضية `[0, 0, 0, 0]`) : الصندوق المحيط (bounding box) الذي سيُستخدم للرمز الخاص [PAD].

pad_token_label (`int`، *اختياري*، القيمة الافتراضية -100) : التسمية المستخدمة لرموز الحشو. القيمة الافتراضية هي -100، وهي `ignore_index` في CrossEntropyLoss الخاصة بـ PyTorch.

only_label_first_subword (`bool`، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان يجب وضع التسمية على أول جزء من الكلمة فقط، في حال تم توفير تسميات الكلمات.

vocab (`str` أو `dict[str, int]`، *اختياري*) : قاموس مفردات مخصص. إذا لم يُقدَّم، يتم تحميل المفردات من `vocab_file` عند استخدام `from_pretrained`.

merges (`str` أو `list[str]`، *اختياري*) : قائمة دمج مخصصة. إذا لم تُقدَّم، يتم تحميل عمليات الدمج من `merges_file` عند استخدام `from_pretrained`.

أنشئ مُرمِّز LayoutLMv3 (مدعوم بمكتبة *tokenizers* من HuggingFace). يعتمد على BPE على مستوى البايتات.

يرث هذا المُجزِّئ من [TokenizersBackend](/docs/transformers/main/ar/main_classes/tokenizer#transformers.TokenizersBackend) التي تحتوي على معظم الدوال الرئيسية. ينبغي على المستخدمين الرجوع إلى هذه الفئة الأصلية لمزيد من المعلومات حول تلك الدوال.

#### __call__[[transformers.LayoutLMv3Tokenizer.__call__]]

```python
__call__(text: str | list[str] | list[list[str]], text_pair: list[str] | list[list[str]] | None = None, boxes: list[list[int]] | list[list[list[int]]] | None = None, word_labels: list[int] | list[list[int]] | None = None, add_special_tokens: bool = True, padding: bool | str | transformers.utils.generic.PaddingStrategy = False, truncation: bool | str | transformers.tokenization_utils_base.TruncationStrategy | None = None, max_length: int | None = None, stride: int = 0, pad_to_multiple_of: int | None = None, padding_side: str | None = None, return_tensors: str | transformers.utils.generic.TensorType | None = None, return_token_type_ids: bool | None = None, return_attention_mask: bool | None = None, return_overflowing_tokens: bool = False, return_special_tokens_mask: bool = False, return_offsets_mapping: bool = False, return_length: bool = False, verbose: bool = True, **kwargs)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/layoutlmv3/tokenization_layoutlmv3.py#L240)

**المعاملات:**

text (`str`، `List[str]`، `List[List[str]]`) : التسلسل أو الدفعة من التسلسلات المراد ترميزها. يمكن أن يكون كل تسلسل نصًا، أو قائمة من النصوص (كلمات مثال واحد أو أسئلة دفعة من الأمثلة)، أو قائمة من قوائم النصوص (دفعة من الكلمات).

text_pair (`List[str]`، `List[List[str]]`) : التسلسل أو الدفعة من التسلسلات المراد ترميزها. يجب أن يكون كل تسلسل قائمة من النصوص (نص مُقسَّم مسبقًا).

boxes (`List[List[int]]`، `List[List[List[int]]]`) : صناديق حدود على مستوى الكلمة. يجب أن تكون كل صناديق الحدود مُعايرة على مقياس من 0 إلى 1000.

word_labels (`List[int]`، `List[List[int]]`، *اختياري*) : تسميات عددية صحيحة على مستوى الكلمة (لمهام تصنيف الرموز مثل FUNSD وCORD).

add_special_tokens (`bool`، *اختياري*، الافتراضي `True`) : ما إذا كان سيتم ترميز التسلسلات باستخدام الرموز الخاصة الخاصة بنموذجها أم لا.

padding (`bool` أو `str` أو [PaddingStrategy](/docs/transformers/main/ar/internal/file_utils#transformers.utils.PaddingStrategy)، *اختياري*، القيمة الافتراضية `False`) : يُفعّل التحكم في الحشو. يقبل القيم التالية:  - `True` أو `'longest'`: الحشو حتى أطول تسلسل في الدفعة (أو بدون حشو إذا تم تقديم تسلسل واحد فقط). - `'max_length'`: الحشو حتى الحد الأقصى للطول المحدد بواسطة الحجة `max_length` أو حتى الحد الأقصى المقبول لطول الإدخال للنموذج إذا لم تُقدَّم تلك الحجة. - `False` أو `'do_not_pad'` (الافتراضي): بدون حشو (أي، يمكنه إخراج دفعة تحتوي على تسلسلات بطول مختلف).

truncation (`bool` أو `str` أو [TruncationStrategy](/docs/transformers/main/ar/internal/tokenization_utils#transformers.tokenization_utils_base.TruncationStrategy)، *اختياري*، القيمة الافتراضية `False`) : يُفعّل التحكم في القص. يقبل القيم التالية:  - `True` أو `'longest_first'`: يُقصّ إلى الحد الأقصى للطول المحدد عبر الحجة `max_length` أو إلى الحد الأقصى لطول الإدخال المقبول للنموذج إذا لم تُقدَّم تلك الحجة. سيؤدي هذا إلى القص رمزًا تلو الآخر، مع إزالة رمز من أطول تسلسل في الزوج إذا قُدِّم زوج من التسلسلات (أو دفعة من الأزواج). - `'only_first'`: يُقصّ إلى الحد الأقصى للطول المحدد عبر الحجة `max_length` أو إلى الحد الأقصى لطول الإدخال المقبول للنموذج إذا لم تُقدَّم تلك الحجة. سيؤدي هذا إلى قصّ التسلسل الأول من الزوج فقط إذا قُدِّم زوج من التسلسلات (أو دفعة من الأزواج). - `'only_second'`: يُقصّ إلى الحد الأقصى للطول المحدد عبر الحجة `max_length` أو إلى الحد الأقصى لطول الإدخال المقبول للنموذج إذا لم تُقدَّم تلك الحجة. سيؤدي هذا إلى قصّ التسلسل الثاني من الزوج فقط إذا قُدِّم زوج من التسلسلات (أو دفعة من الأزواج). - `False` أو `'do_not_truncate'` (الافتراضي): لا يوجد قص (أي، يمكن إخراج دفعة بأطوال تسلسلات أكبر من الحد الأقصى المقبول لحجم الإدخال للنموذج).

max_length (`int`, *اختياري*) : يتحكم في الحد الأقصى للطول الذي سيستخدمه أحد معاملات القص/الحشو. إذا تُرك غير مضبوط أو ضُبط على `None`، فسيتم استخدام الحد الأقصى للطول المحدد مسبقًا للنموذج إذا كان أحد معاملات القص/الحشو يتطلب حدًا أقصى للطول. إذا لم يكن للنموذج حد أقصى محدد لطول الإدخال (مثل XLNet)، فسيتم تعطيل القص/الحشو إلى حد أقصى للطول.

stride (`int`، *اختياري*، القيمة الافتراضية 0) : إذا تم تعيينه إلى رقم مع `max_length`، فإن الرموز الزائدة المُعاد عند `return_overflowing_tokens=True` ستحتوي على بعض الرموز من نهاية التسلسل المُقتطع المُعاد، لتوفير بعض التداخل بين التسلسلات المُقتطعة والتسلسلات الزائدة. تحدد قيمة هذا الحجة عدد الرموز المتداخلة.

pad_to_multiple_of (`int`, *اختياري*) : إذا تم تعيينه، سيتم توسيط التسلسل إلى مضاعف للقيمة المُقدَّمة. وهذا مفيد بشكل خاص لتمكين استخدام نوى التينسور (Tensor Cores) على أجهزة NVIDIA التي تتمتع بقابلية معالجة `>= 7.5` (Volta).

return_token_type_ids (`bool`، *اختياري*) : ما إذا كان يجب إرجاع معرّفات أنواع الرموز. إذا تُركت القيمة الافتراضية، فسيتم إرجاع معرّفات أنواع الرموز وفقًا للقيمة الافتراضية الخاصة بمجزّئ الرموز المحدد، كما تحددها خاصية `return_outputs`.  [ما هي معرّفات أنواع الرموز؟](../glossary#token-type-ids)

return_attention_mask (`bool`، *اختياري*) : ما إذا كان يجب إرجاع قناع الانتباه. إذا تُركت القيمة الافتراضية، فسيتم إرجاع قناع الانتباه وفقاً للقيمة الافتراضية الخاصة بمجزّئ الرموز المعني، كما هو معرّف بواسطة الخاصية `return_outputs`.  [ما هي أقنعة الانتباه؟](../glossary#attention-mask)

return_overflowing_tokens (`bool`، *اختياري*، القيمة الافتراضية `False`) : ما إذا كان سيتم إرجاع تسلسلات الرموز المتجاوزة أم لا. إذا تم تقديم زوج من تسلسلات معرّفات الإدخال (أو دفعة من الأزواج) مع `truncation_strategy = longest_first` أو `True`، فسيتم رفع خطأ بدلاً من إرجاع الرموز المتجاوزة.

return_special_tokens_mask (`bool`، *اختياري*، القيمة الافتراضية `False`) : ما إذا كان سيتم إرجاع معلومات قناع الرموز الخاصة أم لا.

return_offsets_mapping (`bool`، *اختياري*، القيمة الافتراضية `False`) : ما إذا كان يجب إرجاع `(char_start, char_end)` لكل رمز. هذه الخاصية متاحة فقط في مُرمّزيات fast التي ترث من [PreTrainedTokenizerFast](/docs/transformers/main/ar/main_classes/tokenizer#transformers.TokenizersBackend)، وإذا كنت تستخدم مُرمّزي Python، فسيُطلق هذا الدالة `NotImplementedError`.

return_length (`bool`، *اختياري*، الافتراضي `False`) : ما إذا كان يجب إرجاع أطوال المدخلات المُرمّزة أم لا.

verbose (`bool`، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان يجب طباعة مزيد من المعلومات والتنبيهات أم لا.

- ****kwargs** : تُمرَّر إلى طريقة `self.tokenize()`

الطريقة الرئيسية لتجزئة (tokenization) وتجهيز تسلسل واحد أو عدة تسلسلات، أو زوج واحد أو عدة أزواج من التسلسلات، مع صناديق حدود (bounding boxes) مُطبَّعة على مستوى الكلمة، وعلامات اختيارية.

#### save_vocabulary[[transformers.LayoutLMv3Tokenizer.save_vocabulary]]

```python
save_vocabulary(save_directory: str, filename_prefix: str | None = None)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_utils_tokenizers.py#L546)

## LayoutLMv3TokenizerFast[[transformers.LayoutLMv3Tokenizer]]

#### transformers.LayoutLMv3Tokenizer[[transformers.LayoutLMv3Tokenizer]]

```python
transformers.LayoutLMv3Tokenizer(errors = 'replace', bos_token = '<s>', eos_token = '</s>', sep_token = '</s>', cls_token = '<s>', unk_token = '<unk>', pad_token = '<pad>', mask_token = '<mask>', add_prefix_space = True, cls_token_box = [0, 0, 0, 0], sep_token_box = [0, 0, 0, 0], pad_token_box = [0, 0, 0, 0], pad_token_label = -100, only_label_first_subword = True, vocab: str | dict[str, int] | None = None, merges: str | list[str] | None = None, **kwargs)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/layoutlmv3/tokenization_layoutlmv3.py#L114)

**المعاملات:**

errors (`str`، *اختياري*، الافتراضي هو `"replace"`) : المنهج المتّبع عند فكّ ترميز البايتات إلى UTF-8. راجع [bytes.decode](https://docs.python.org/3/library/stdtypes.html#bytes.decode) لمزيد من المعلومات.

bos_token (`str`، *اختياري*، القيمة الافتراضية `"<s>"`) : رمز بداية التسلسل الذي تم استخدامه أثناء التدريب المسبق. يمكن استخدامه كرمز لتصنيف التسلسل.

eos_token (`str`, *اختياري*, الافتراضي هو `"</s>"`) : رمز نهاية التسلسل.

sep_token (`str`، *اختياري*، الافتراضي هو `"</s>"`) : رمز الفاصل، الذي يُستخدم عند بناء تسلسل من عدة تسلسلات، مثل تسلسلين لتصنيف التسلسلات، أو نص وسؤال للإجابة على الأسئلة. كما يُستخدم كآخر رمز في تسلسل مبني برموز خاصة.

cls_token (`str`، *اختياري*، القيمة الافتراضية `"<s>"`) : رمز التصنيف الذي يُستخدم عند إجراء تصنيف التسلسل (تصنيف التسلسل بأكمله بدلاً من تصنيف كل رمز على حدة). وهو الرمز الأول في التسلسل عند بناؤه باستخدام الرموز الخاصة.

unk_token (`str`، *اختياري*، القيمة الافتراضية `"<unk>"`) : رمز المجهول. الرمز غير الموجود في قاموس الكلمات لا يمكن تحويله إلى معرّف، لذا يُعيَّن هذا الرمز بدلاً منه.

pad_token (`str`، *اختياري*، القيمة الافتراضية هي `"<pad>"`) : الرمز المستخدم للتعبئة، على سبيل المثال عند تجميع تسلسلات ذات أطوال مختلفة.

mask_token (`str`، *اختياري*، القيمة الافتراضية `"<mask>"`) : الرمز المستخدم لإخفاء القيم. هذا هو الرمز المستخدم عند تدريب هذا النموذج باستخدام نمذجة اللغة المقنّعة. وهو الرمز الذي سيحاول النموذج التنبؤ به.

add_prefix_space (`bool`، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان يجب إضافة مسافة أولية إلى المدخل أم لا. هذا يتيح التعامل مع الكلمة الأولى تمامًا مثل أي كلمة أخرى.

cls_token_box (`list[int]`، *اختياري*، القيمة الافتراضية `[0, 0, 0, 0]`) : الصندوق المحيط (bounding box) الذي سيُستخدم للرمز الخاص [CLS].

sep_token_box (`list[int]`، *اختياري*، القيمة الافتراضية `[0, 0, 0, 0]`) : صندوق الحدود (bounding box) الذي سيُستخدم للرمز الخاص [SEP].

pad_token_box (`list[int]`، *اختياري*، القيمة الافتراضية `[0, 0, 0, 0]`) : الصندوق المحيط (bounding box) الذي سيُستخدم للرمز الخاص [PAD].

pad_token_label (`int`، *اختياري*، القيمة الافتراضية -100) : التسمية المستخدمة لرموز الحشو. القيمة الافتراضية هي -100، وهي `ignore_index` في CrossEntropyLoss الخاصة بـ PyTorch.

only_label_first_subword (`bool`، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان يجب وضع التسمية على أول جزء من الكلمة فقط، في حال تم توفير تسميات الكلمات.

vocab (`str` أو `dict[str, int]`، *اختياري*) : قاموس مفردات مخصص. إذا لم يُقدَّم، يتم تحميل المفردات من `vocab_file` عند استخدام `from_pretrained`.

merges (`str` أو `list[str]`، *اختياري*) : قائمة دمج مخصصة. إذا لم تُقدَّم، يتم تحميل عمليات الدمج من `merges_file` عند استخدام `from_pretrained`.

أنشئ مُرمِّز LayoutLMv3 (مدعوم بمكتبة *tokenizers* من HuggingFace). يعتمد على BPE على مستوى البايتات.

يرث هذا المُجزِّئ من [TokenizersBackend](/docs/transformers/main/ar/main_classes/tokenizer#transformers.TokenizersBackend) التي تحتوي على معظم الدوال الرئيسية. ينبغي على المستخدمين الرجوع إلى هذه الفئة الأصلية لمزيد من المعلومات حول تلك الدوال.

#### batch_encode_plus[[transformers.LayoutLMv3Tokenizer.batch_encode_plus]]

```python
batch_encode_plus(batch_text_or_text_pairs: list[str] | list[tuple[str, str]] | list[list[str]], is_pair: bool | None = None, boxes: list[list[list[int]]] | None = None, word_labels: list[int] | list[list[int]] | None = None, add_special_tokens: bool = True, padding: bool | str | transformers.utils.generic.PaddingStrategy = False, truncation: bool | str | transformers.tokenization_utils_base.TruncationStrategy | None = None, max_length: int | None = None, stride: int = 0, pad_to_multiple_of: int | None = None, padding_side: str | None = None, return_tensors: str | transformers.utils.generic.TensorType | None = None, return_token_type_ids: bool | None = None, return_attention_mask: bool | None = None, return_overflowing_tokens: bool = False, return_special_tokens_mask: bool = False, return_offsets_mapping: bool = False, return_length: bool = False, verbose: bool = True, **kwargs)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/layoutlmv3/tokenization_layoutlmv3.py#L392)

add_special_tokens (`bool`، *اختياري*، القيمة الافتراضية `True`): ما إذا كان سيتم ترميز التسلسلات باستخدام الرموز الخاصة الخاصة بنموذجها أم لا. padding (`bool` أو `str` أو [PaddingStrategy](/docs/transformers/main/ar/internal/file_utils#transformers.utils.PaddingStrategy)، *اختياري*، القيمة الافتراضية `False`): يُفعّل التحكم في الحشو. يقبل القيم التالية:

- `True` أو `'longest'`: يتم ملء التسلسلات حتى أطول تسلسل في الدفعة (أو لا يتم أي ملء إذا تم تقديم تسلسل واحد فقط).
- `'max_length'`: يُكمل النص حتى الطول الأقصى المحدد عبر الحجة `max_length` أو حتى الطول الأقصى المقبول لإدخال النموذج إذا لم تُقدَّم تلك الحجة.
- `False` أو `'do_not_pad'` (الافتراضي): لا يوجد حشو (أي، يمكن إخراج دفعة تحتوي على تسلسلات بطول مختلف).
truncation (`bool` أو `str` أو [TruncationStrategy](/docs/transformers/main/ar/internal/tokenization_utils#transformers.tokenization_utils_base.TruncationStrategy)، *اختياري*، القيمة الافتراضية `False`): يُفعّل التحكم في القص. يقبل القيم التالية:

- `True` أو `'longest_first'`: يُقصّ النص إلى الحد الأقصى للطول المحدد عبر الحجة `max_length` أو إلى الحد الأقصى المقبول لطول الإدخال للنموذج إذا لم تُقدَّم تلك الحجة. يتم هذا القص رمزًا تلو الآخر، حيث يُزال رمز من أطول تسلسل في الزوج إذا كان قد قُدِّم زوج من التسلسلات (أو دفعة من الأزواج).
- `'only_first'`: يُقصّ النص إلى الحد الأقصى للطول المحدد عبر الحجة `max_length` أو إلى الحد الأقصى المقبول لطول الإدخال للنموذج إذا لم تُقدَّم تلك الحجة. لن يُقصّ هذا الخيار سوى التسلسل الأول من الزوج إذا قُدِّم زوج من التسلسلات (أو دفعة من الأزواج).
- `'only_second'`: يُقصّ النص إلى الحد الأقصى للطول المحدد عبر الحجة `max_length` أو إلى الحد الأقصى لطول الإدخال المقبول للنموذج إذا لم تُقدَّم تلك الحجة. لن يتم قصّ النص الثاني من الزوج إلا إذا قُدِّم زوج من النصوص (أو دفعة من الأزواج).
- `False` أو `'do_not_truncate'` (الافتراضي): لا يوجد اقتطاع (أي، يمكن إخراج دفعة بأطوال تسلسلات أكبر من الحد الأقصى المقبول لحجم الإدخال في النموذج).
max_length (`int`، *اختياري*): يتحكم في الحد الأقصى للطول الذي يستخدمه أحد معاملات القص/الحشو.

If left unset or set to `None`, this will use the predefined model maximum length if a maximum length is required by one of the truncation/padding parameters. If the model has no specific maximum input length (like XLNet) truncation/padding to a maximum length will be deactivated. stride (`int`, *optional*, defaults to 0): If set to a number along with `max_length`, the overflowing tokens returned when `return_overflowing_tokens=True` will contain some tokens from the end of the truncated sequence returned to provide some overlap between truncated and overflowing sequences. The value of this argument defines the number of overlapping tokens. pad_to_multiple_of (`int`, *optional*): If set will pad the sequence to a multiple of the provided value. This is especially useful to enable the use of Tensor Cores on NVIDIA hardware with compute capability `>= 7.5` (Volta).

return_token_type_ids (`bool`، *اختياري*): ما إذا كان يجب إرجاع معرّفات أنواع الرموز. إذا تُركت القيمة الافتراضية، فسيتم إرجاع معرّفات أنواع الرموز وفقًا للقيمة الافتراضية الخاصة بمجزّئ الرموز المحدد، كما تحددها خاصية `return_outputs`.

[ما هي معرّفات أنواع الرموز؟](../glossary#token-type-ids) return_attention_mask (`bool`, *اختياري*): ما إذا كان يجب إرجاع قناع الانتباه. إذا تُركت القيمة الافتراضية، فسيتم إرجاع قناع الانتباه وفقًا للقيمة الافتراضية الخاصة بمجزّئ الرموز المحدد، كما تحددها خاصية `return_outputs`.

[ما هي أقنعة الانتباه؟](../glossary#attention-mask) return_overflowing_tokens (`bool`، *اختياري*، القيمة الافتراضية `False`): ما إذا كان سيتم إرجاع تسلسلات الرموز المتجاوزة أم لا. إذا تم تقديم زوج من تسلسلات معرّفات الإدخال (أو دفعة من الأزواج) مع `truncation_strategy = longest_first` أو `True`، فسيتم رفع خطأ بدلاً من إرجاع الرموز المتجاوزة. return_special_tokens_mask (`bool`، *اختياري*، القيمة الافتراضية `False`): ما إذا كان سيتم إرجاع معلومات قناع الرموز الخاصة أم لا. return_offsets_mapping (`bool`، *اختياري*، القيمة الافتراضية `False`): ما إذا كان سيتم إرجاع `(char_start, char_end)` لكل رمز.

يتوفر هذا فقط على مُرمّزيات سريعة ترث من [PreTrainedTokenizerFast](/docs/transformers/main/ar/main_classes/tokenizer#transformers.TokenizersBackend)، فإذا كنت تستخدم مُرمّزي Python، فسيُطلق هذا الدالة `NotImplementedError`. return_length (`bool`، *اختياري*، الافتراضي `False`): ما إذا كان يجب إرجاع أطوال المدخلات المُرمّزة أم لا. verbose (`bool`، *اختياري*، الافتراضي `True`): ما إذا كان يجب طباعة مزيد من المعلومات والتحذيرات أم لا. **kwargs: تُمرَّر إلى الدالة `self.tokenize()`

#### build_inputs_with_special_tokens[[transformers.LayoutLMv3Tokenizer.build_inputs_with_special_tokens]]

```python
build_inputs_with_special_tokens(token_ids_0, token_ids_1 = None)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/layoutlmv3/tokenization_layoutlmv3.py#L835)

**المعاملات:**

token_ids_0 (`List[int]`) : قائمة من المعرّفات التي ستُضاف إليها الرموز الخاصة.

token_ids_1 (`List[int]`, *اختياري*) : قائمة ثانية اختيارية من المعرّفات لأزواج التسلسلات.

**يعيد:** `List[int]`

قائمة [معرفات الإدخال](../glossary#input-ids) مع الرموز الخاصة المناسبة.

build_model_inputs يبني مدخلات النموذج من تسلسل أو زوج من التسلسلات لمهام تصنيف التسلسل عن طريق دمجها وإضافة الرموز الخاصة. يتبع تسلسل RoBERTa التنسيق التالي:

- تسلسل واحد: `<s> X </s>`
- زوج من التسلسلات: `<s> A </s></s> B </s>`

#### encode_plus[[transformers.LayoutLMv3Tokenizer.encode_plus]]

```python
encode_plus(text: str | list[str], text_pair: list[str] | None = None, boxes: list[list[int]] | None = None, word_labels: list[int] | None = None, add_special_tokens: bool = True, padding: bool | str | transformers.utils.generic.PaddingStrategy = False, truncation: bool | str | transformers.tokenization_utils_base.TruncationStrategy | None = None, max_length: int | None = None, stride: int = 0, pad_to_multiple_of: int | None = None, padding_side: str | None = None, return_tensors: str | transformers.utils.generic.TensorType | None = None, return_token_type_ids: bool | None = None, return_attention_mask: bool | None = None, return_overflowing_tokens: bool = False, return_special_tokens_mask: bool = False, return_offsets_mapping: bool = False, return_length: bool = False, verbose: bool = True, **kwargs)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/layoutlmv3/tokenization_layoutlmv3.py#L457)

**المعاملات:**

text (`str`، `List[str]`، `List[List[str]]`) : التسلسل الأول الذي سيتم ترميزه. يمكن أن يكون نصًا، أو قائمة من النصوص، أو قائمة من قوائم النصوص.

text_pair (`List[str]` أو `List[int]`، *اختياري*) : تسلسل ثانٍ اختياري ليتم ترميزه. يمكن أن يكون هذا قائمة من النصوص (كلمات مثال واحد) أو قائمة من قوائم النصوص (كلمات دفعة من الأمثلة).

add_special_tokens (`bool`، *اختياري*، الافتراضي `True`) : ما إذا كان سيتم ترميز التسلسلات باستخدام الرموز الخاصة الخاصة بنموذجها أم لا.

padding (`bool` أو `str` أو [PaddingStrategy](/docs/transformers/main/ar/internal/file_utils#transformers.utils.PaddingStrategy)، *اختياري*، القيمة الافتراضية `False`) : يُفعّل التحكم في الحشو. يقبل القيم التالية:  - `True` أو `'longest'`: الحشو حتى أطول تسلسل في الدفعة (أو بدون حشو إذا تم تقديم تسلسل واحد فقط). - `'max_length'`: الحشو حتى الحد الأقصى للطول المحدد بواسطة الحجة `max_length` أو حتى الحد الأقصى المقبول لطول الإدخال للنموذج إذا لم تُقدَّم تلك الحجة. - `False` أو `'do_not_pad'` (الافتراضي): بدون حشو (أي، يمكنه إخراج دفعة تحتوي على تسلسلات بطول مختلف).

truncation (`bool` أو `str` أو [TruncationStrategy](/docs/transformers/main/ar/internal/tokenization_utils#transformers.tokenization_utils_base.TruncationStrategy)، *اختياري*، القيمة الافتراضية `False`) : يُفعّل التحكم في القص. يقبل القيم التالية:  - `True` أو `'longest_first'`: يُقصّ إلى الحد الأقصى للطول المحدد عبر الحجة `max_length` أو إلى الحد الأقصى لطول الإدخال المقبول للنموذج إذا لم تُقدَّم تلك الحجة. سيؤدي هذا إلى القص رمزًا تلو الآخر، مع إزالة رمز من أطول تسلسل في الزوج إذا قُدِّم زوج من التسلسلات (أو دفعة من الأزواج). - `'only_first'`: يُقصّ إلى الحد الأقصى للطول المحدد عبر الحجة `max_length` أو إلى الحد الأقصى لطول الإدخال المقبول للنموذج إذا لم تُقدَّم تلك الحجة. سيؤدي هذا إلى قصّ التسلسل الأول من الزوج فقط إذا قُدِّم زوج من التسلسلات (أو دفعة من الأزواج). - `'only_second'`: يُقصّ إلى الحد الأقصى للطول المحدد عبر الحجة `max_length` أو إلى الحد الأقصى لطول الإدخال المقبول للنموذج إذا لم تُقدَّم تلك الحجة. سيؤدي هذا إلى قصّ التسلسل الثاني من الزوج فقط إذا قُدِّم زوج من التسلسلات (أو دفعة من الأزواج). - `False` أو `'do_not_truncate'` (الافتراضي): لا يوجد قص (أي، يمكن إخراج دفعة بأطوال تسلسلات أكبر من الحد الأقصى المقبول لحجم الإدخال للنموذج).

max_length (`int`, *اختياري*) : يتحكم في الحد الأقصى للطول الذي سيستخدمه أحد معاملات القص/الحشو. إذا تُرك غير مضبوط أو ضُبط على `None`، فسيتم استخدام الحد الأقصى للطول المحدد مسبقًا للنموذج إذا كان أحد معاملات القص/الحشو يتطلب حدًا أقصى للطول. إذا لم يكن للنموذج حد أقصى محدد لطول الإدخال (مثل XLNet)، فسيتم تعطيل القص/الحشو إلى حد أقصى للطول.

stride (`int`، *اختياري*، القيمة الافتراضية 0) : إذا تم تعيينه إلى رقم مع `max_length`، فإن الرموز الزائدة المُعاد عند `return_overflowing_tokens=True` ستحتوي على بعض الرموز من نهاية التسلسل المُقتطع المُعاد، لتوفير بعض التداخل بين التسلسلات المُقتطعة والتسلسلات الزائدة. تحدد قيمة هذا الحجة عدد الرموز المتداخلة.

pad_to_multiple_of (`int`, *اختياري*) : إذا تم تعيينه، سيتم توسيط التسلسل إلى مضاعف للقيمة المُقدَّمة. وهذا مفيد بشكل خاص لتمكين استخدام نوى التينسور (Tensor Cores) على أجهزة NVIDIA التي تتمتع بقابلية معالجة `>= 7.5` (Volta).

return_token_type_ids (`bool`، *اختياري*) : ما إذا كان يجب إرجاع معرّفات أنواع الرموز. إذا تُركت القيمة الافتراضية، فسيتم إرجاع معرّفات أنواع الرموز وفقًا للقيمة الافتراضية الخاصة بمجزّئ الرموز المحدد، كما تحددها خاصية `return_outputs`.  [ما هي معرّفات أنواع الرموز؟](../glossary#token-type-ids)

return_attention_mask (`bool`، *اختياري*) : ما إذا كان يجب إرجاع قناع الانتباه. إذا تُركت القيمة الافتراضية، فسيتم إرجاع قناع الانتباه وفقاً للقيمة الافتراضية الخاصة بمجزّئ الرموز المعني، كما هو معرّف بواسطة الخاصية `return_outputs`.  [ما هي أقنعة الانتباه؟](../glossary#attention-mask)

return_overflowing_tokens (`bool`، *اختياري*، القيمة الافتراضية `False`) : ما إذا كان سيتم إرجاع تسلسلات الرموز المتجاوزة أم لا. إذا تم تقديم زوج من تسلسلات معرّفات الإدخال (أو دفعة من الأزواج) مع `truncation_strategy = longest_first` أو `True`، فسيتم رفع خطأ بدلاً من إرجاع الرموز المتجاوزة.

return_special_tokens_mask (`bool`، *اختياري*، القيمة الافتراضية `False`) : ما إذا كان سيتم إرجاع معلومات قناع الرموز الخاصة أم لا.

return_offsets_mapping (`bool`، *اختياري*، القيمة الافتراضية `False`) : ما إذا كان يجب إرجاع `(char_start, char_end)` لكل رمز. هذه الخاصية متاحة فقط في مُرمّزيات fast التي ترث من [PreTrainedTokenizerFast](/docs/transformers/main/ar/main_classes/tokenizer#transformers.TokenizersBackend)، وإذا كنت تستخدم مُرمّزي Python، فسيُطلق هذا الدالة `NotImplementedError`.

return_length (`bool`، *اختياري*، الافتراضي `False`) : ما إذا كان يجب إرجاع أطوال المدخلات المُرمّزة أم لا.

verbose (`bool`، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان يجب طباعة مزيد من المعلومات والتنبيهات أم لا.

- ****kwargs** : تُمرَّر إلى طريقة `self.tokenize()`

تجزئة تسلسل أو زوج من التسلسلات وتجهيزها للنموذج. .. warning:: هذه الطريقة لم تعد مستخدمة، يجب استخدام `__call__` بدلاً منها.

## LayoutLMv3Processor[[transformers.LayoutLMv3Processor]]

#### transformers.LayoutLMv3Processor[[transformers.LayoutLMv3Processor]]

```python
transformers.LayoutLMv3Processor(image_processor = None, tokenizer = None, **kwargs)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/layoutlmv3/processing_layoutlmv3.py#L24)

**المعاملات:**

image_processor (`LayoutLMv3ImageProcessor`) : مُعالج الصور هو مدخل مطلوب.

tokenizer (`LayoutLMv3Tokenizer`) : المُجزِّئ (tokenizer) هو مدخل مطلوب.

ينشئ LayoutLMv3Processor الذي يجمع معالج الصور ومعالج الرموز في معالج واحد.

يوفر [LayoutLMv3Processor](/docs/transformers/main/ar/model_doc/layoutlmv3#transformers.LayoutLMv3Processor) جميع وظائف [LayoutLMv3ImageProcessor](/docs/transformers/main/ar/model_doc/layoutlmv3#transformers.LayoutLMv3ImageProcessor) و[LayoutLMv3Tokenizer](/docs/transformers/main/ar/model_doc/layoutlmv3#transformers.LayoutLMv3Tokenizer). راجع [~LayoutLMv3ImageProcessor](/docs/transformers/main/ar/model_doc/layoutlmv3#transformers.LayoutLMv3ImageProcessor) و[~LayoutLMv3Tokenizer](/docs/transformers/main/ar/model_doc/layoutlmv3#transformers.LayoutLMv3Tokenizer) لمزيد من المعلومات.

#### __call__[[transformers.LayoutLMv3Processor.__call__]]

```python
__call__(images, text: str | list[str] | list[list[str]] = None, text_pair: list[str] | list[list[str]] | None = None, boxes: list[list[int]] | list[list[list[int]]] | None = None, word_labels: list[int] | list[list[int]] | None = None, add_special_tokens: bool = True, padding: bool | str | transformers.utils.generic.PaddingStrategy = False, truncation: bool | str | transformers.tokenization_utils_base.TruncationStrategy = None, max_length: int | None = None, stride: int = 0, pad_to_multiple_of: int | None = None, return_token_type_ids: bool | None = None, return_attention_mask: bool | None = None, return_overflowing_tokens: bool = False, return_special_tokens_mask: bool = False, return_offsets_mapping: bool = False, return_length: bool = False, verbose: bool = True, return_tensors: str | transformers.utils.generic.TensorType | None = None, **kwargs)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/layoutlmv3/processing_layoutlmv3.py#L28)

**المعاملات:**

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]]]`، *اختياري*) : التسلسل أو الدفعة من التسلسلات المراد ترميزها. يمكن أن يكون كل تسلسل نصًا أو قائمة من النصوص (نص مُجزَّأ مسبقًا). إذا مررت مدخلات مُجزَّأة مسبقًا، فاضبط `is_split_into_words=True` لتجنب الغموض مع المدخلات المُجمَّعة في دفعات.

text_pair (`str, list[str] or list[int]`, *اختياري*) : تسلسل ثانٍ اختياري ليتم ترميزه. يمكن أن يكون هذا نصًا، أو قائمة من النصوص (نص مُرمَّز باستخدام طريقة `tokenize`)، أو قائمة من الأعداد الصحيحة (معرّفات رموز مُرمَّزة باستخدام طريقة `convert_tokens_to_ids`).

boxes (`list[list[int]] or list[list[list[int]]]`، *اختياري*) : صناديق حدود على مستوى الكلمات. يجب أن تكون كل صناديق الحدود مُعايرة على مقياس من 0 إلى 1000.

word_labels (`list[int] or list[list[int]]`، *اختياري*) : تسميات عددية صحيحة على مستوى الكلمة (لمهام تصنيف الرموز مثل FUNSD وCORD).

add_special_tokens (`bool`، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان يجب إضافة الرموز الخاصة عند ترميز التسلسلات أم لا. سيستخدم هذا الدالة الأساسية `PretrainedTokenizerBase.build_inputs_with_special_tokens`، التي تحدد الرموز التي تُضاف تلقائيًا إلى معرّفات الإدخال. وهذا مفيد إذا كنت ترغب في إضافة رموز `bos` أو `eos` تلقائيًا.

padding (bool أو str أو [PaddingStrategy](/docs/transformers/main/ar/internal/file_utils#transformers.utils.PaddingStrategy)، *اختياري*، القيمة الافتراضية `False`) : يُفعّل التحكم في الحشو. يقبل القيم التالية: - `True` أو `'longest'`: حشو حتى أطول تسلسل في الدفعة (أو بدون حشو إذا تم تقديم تسلسل واحد فقط). - `'max_length'`: حشو حتى الحد الأقصى للطول المحدد بالحجة `max_length` أو حتى الحد الأقصى المقبول لطول الإدخال للنموذج إذا لم تُقدَّم تلك الحجة. - `False` أو `'do_not_pad'` (الافتراضي): بدون حشو (أي، يمكن إخراج دفعة تحتوي على تسلسلات بطول مختلف).

truncation (bool, str or [TruncationStrategy](/docs/transformers/main/ar/internal/tokenization_utils#transformers.tokenization_utils_base.TruncationStrategy), *optional*) : يُفعّل التحكم في القص. يقبل القيم التالية: - `True` أو `'longest_first'`: يُقصّ إلى الحد الأقصى للطول المحدد بالحجة `max_length` أو إلى الحد الأقصى لطول الإدخال المقبول للنموذج إذا لم تُقدَّم تلك الحجة. سيؤدي هذا إلى القص رمزًا تلو الآخر، مع إزالة رمز من أطول تسلسل في الزوج إذا قُدِّم زوج من التسلسلات (أو دفعة من الأزواج). - `'only_first'`: يُقصّ إلى الحد الأقصى للطول المحدد بالحجة `max_length` أو إلى الحد الأقصى لطول الإدخال المقبول للنموذج إذا لم تُقدَّم تلك الحجة. سيؤدي هذا إلى قصّ التسلسل الأول من الزوج فقط إذا قُدِّم زوج من التسلسلات (أو دفعة من الأزواج). - `'only_second'`: يُقصّ إلى الحد الأقصى للطول المحدد بالحجة `max_length` أو إلى الحد الأقصى لطول الإدخال المقبول للنموذج إذا لم تُقدَّم تلك الحجة. سيؤدي هذا إلى قصّ التسلسل الثاني من الزوج فقط إذا قُدِّم زوج من التسلسلات (أو دفعة من الأزواج). - `False` أو `'do_not_truncate'` (الافتراضي): لا يوجد قص (أي، يمكن إخراج دفعة بأطوال تسلسلات أكبر من الحد الأقصى المقبول لحجم الإدخال للنموذج).

max_length (`int`, *اختياري*) : يتحكم في الحد الأقصى للطول الذي سيستخدمه أحد معاملات القص/الحشو. إذا تُرك غير مضبوط أو ضُبط على `None`، فسيتم استخدام الحد الأقصى للطول المحدد مسبقًا للنموذج إذا كان أحد معاملات القص/الحشو يتطلب حدًا أقصى للطول. إذا لم يكن للنموذج حد أقصى محدد لطول الإدخال (مثل XLNet)، فسيتم تعطيل القص/الحشو إلى حد أقصى للطول.

stride (`int`، *اختياري*، القيمة الافتراضية `0`) : إذا تم تعيينه إلى رقم مع `max_length`، فإن الرموز الزائدة المُعاد عند `return_overflowing_tokens=True` ستحتوي على بعض الرموز من نهاية التسلسل المُقتطع المُعاد، لتوفير بعض التداخل بين التسلسلات المُقتطعة والتسلسلات الزائدة. تحدد قيمة هذا الحجة عدد الرموز المتداخلة.

pad_to_multiple_of (`int`, *اختياري*) : إذا تم ضبطه، سيتم ملء التسلسل حتى يصبح مضاعفًا للقيمة المُقدَّمة. يتطلب تفعيل `padding`. وهذا مفيد بشكل خاص لتمكين استخدام Tensor Cores على أجهزة NVIDIA التي تتمتع بقابلية معالجة `>= 7.5` (Volta).

return_token_type_ids (`bool`، *اختياري*) : ما إذا كان يجب إرجاع معرّفات أنواع الرموز. إذا تُركت القيمة الافتراضية، فسيتم إرجاع معرّفات أنواع الرموز وفقًا للقيمة الافتراضية الخاصة بمجزّئ الرموز المحدد، كما تحددها خاصية `return_outputs`.  [ما هي معرّفات أنواع الرموز؟](../glossary#token-type-ids)

return_attention_mask (`bool`، *اختياري*) : ما إذا كان يجب إرجاع قناع الانتباه. إذا تُركت القيمة الافتراضية، فسيتم إرجاع قناع الانتباه وفقاً للقيمة الافتراضية الخاصة بمجزّئ الرموز المعني، كما هو معرّف بواسطة الخاصية `return_outputs`.  [ما هي أقنعة الانتباه؟](../glossary#attention-mask)

return_overflowing_tokens (`bool`، *اختياري*، القيمة الافتراضية `False`) : ما إذا كان سيتم إرجاع تسلسلات الرموز المتجاوزة أم لا. إذا تم تقديم زوج من تسلسلات معرّفات الإدخال (أو دفعة من الأزواج) مع `truncation_strategy = longest_first` أو `True`، فسيتم رفع خطأ بدلاً من إرجاع الرموز المتجاوزة.

return_special_tokens_mask (`bool`، *اختياري*، القيمة الافتراضية `False`) : ما إذا كان سيتم إرجاع معلومات قناع الرموز الخاصة أم لا.

return_offsets_mapping (`bool`، *اختياري*، القيمة الافتراضية `False`) : ما إذا كان يجب إرجاع `(char_start, char_end)` لكل رمز. هذه الخاصية متاحة فقط في مُرمّزيات fast التي ترث من [PreTrainedTokenizerFast](/docs/transformers/main/ar/main_classes/tokenizer#transformers.TokenizersBackend)، وإذا كنت تستخدم مُرمّزي Python، فسيُطلق هذا الدالة `NotImplementedError`.

return_length (`bool`، *اختياري*، الافتراضي `False`) : ما إذا كان يجب إرجاع أطوال المدخلات المُرمّزة أم لا.

verbose (`bool`، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان يجب طباعة مزيد من المعلومات والتنبيهات أم لا.

return_tensors (`Union[str, ~utils.generic.TensorType]`، *اختياري*) : إذا تم تعيينه، فسيُرجع تينسورات (Tensors) لإطار عمل معين. القيم المقبولة هي: - `'pt'`: يُرجع كائنات `torch.Tensor` من PyTorch. - `'np'`: يُرجع كائنات `np.ndarray` من NumPy.

**يعيد:** `~tokenization_utils_base.BatchEncoding`

- **data** (`dict`، *اختياري*) -- قاموس من القوائم/المصفوفات/الموترات الذي يُعاد عن طريق طرق `__call__`/`encode_plus`/`batch_encode_plus` ('input_ids'، 'attention_mask'، إلخ).
- **encoding** (`tokenizers.Encoding` أو `Sequence[tokenizers.Encoding]`، *اختياري*) -- إذا كان مُجزِّئ الرموز مُجزِّئًا سريعًا يُخرج معلومات إضافية مثل التحويل من فضاء الكلمات/الأحرف إلى فضاء الرموز، فإنّ كائن `tokenizers.Encoding` أو قائمة من الكائنات (للدفّات) تحتفظ بهذه المعلومات.
- **tensor_type** (`Union[None, str, TensorType]`، *اختياري*) -- يمكنك تحديد tensor_type هنا لتحويل قوائم الأعداد الصحيحة إلى تينسورات PyTorch/Numpy عند التهيئة.
- **prepend_batch_axis** (`bool`, *اختياري*، القيمة الافتراضية `False`) -- ما إذا كان يجب إضافة محور الدفعة عند التحويل إلى المصفوفات (انظر `tensor_type` أعلاه). يُرجى ملاحظة أن لهذا المعامل تأثير إذا تم تعيين المعامل `tensor_type`، *وإلا فلا يكون له أي تأثير*.
- **n_sequences** (`int`, *اختياري*) -- عدد تسلسلات الإدخال التي يمثلها كل ترميز (`None` للمجهول، و`1` لتسلسل واحد، و`2` لزوج من التسلسلات).

## LayoutLMv3Model[[transformers.LayoutLMv3Model]]

#### transformers.LayoutLMv3Model[[transformers.LayoutLMv3Model]]

```python
transformers.LayoutLMv3Model(config: LayoutLMv3Config)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/layoutlmv3/modeling_layoutlmv3.py#L537)

**المعاملات:**

config ([LayoutLMv3Config](/docs/transformers/main/ar/model_doc/layoutlmv3#transformers.LayoutLMv3Config)) : فئة إعدادات النموذج التي تحتوي على جميع معاملات النموذج. عند التهيئة باستخدام ملف إعدادات، لا يتم تحميل الأوزان المرتبطة بالنموذج، بل الإعدادات فقط. راجع طريقة [from_pretrained()](/docs/transformers/main/ar/main_classes/model#transformers.PreTrainedModel.from_pretrained) لتحميل أوزان النموذج.

نموذج Layoutlmv3 الأساسي الذي يُخرج حالات مخفية خام دون أي رأس محدد في الأعلى.

يرث هذا النموذج من [PreTrainedModel](/docs/transformers/main/ar/main_classes/model#transformers.PreTrainedModel). راجع توثيق الفئة الأصلية لمعرفة الطرق العامة التي تنفذها المكتبة لجميع نماذجها (مثل التنزيل أو الحفظ، وتغيير حجم تضمينات الإدخال، وقص الرؤوس، وما إلى ذلك).

هذا النموذج هو أيضاً فئة فرعية من [torch.nn.Module](https://pytorch.org/docs/stable/nn.html#torch.nn.Module) في PyTorch. استخدمه كوحدة PyTorch عادية، وارجع إلى توثيق PyTorch لكل ما يتعلق بالاستخدام العام والسلوك.

#### forward[[transformers.LayoutLMv3Model.forward]]

```python
forward(input_ids: typing.Optional[torch.LongTensor] = None, bbox: typing.Optional[torch.LongTensor] = None, attention_mask: typing.Optional[torch.Tensor] = None, token_type_ids: typing.Optional[torch.LongTensor] = None, position_ids: typing.Optional[torch.LongTensor] = None, inputs_embeds: typing.Optional[torch.Tensor] = None, pixel_values: typing.Optional[torch.Tensor] = None, **kwargs: *<class 'transformers.utils.generic.TransformersKwargs'>)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/layoutlmv3/modeling_layoutlmv3.py#L620)

**المعاملات:**

input_ids (`torch.LongTensor` من الشكل `(batch_size, token_sequence_length)`) : فهارس رموز تسلسل الإدخال في قاموس الكلمات. لاحظ أن `sequence_length = token_sequence_length + patch_sequence_length + 1` حيث يمثل `1` رمز [CLS]. راجع `pixel_values` بخصوص `patch_sequence_length`. يمكن الحصول على الفهارس باستخدام [AutoTokenizer](/docs/transformers/main/ar/model_doc/auto#transformers.AutoTokenizer). راجع [PreTrainedTokenizer.encode()](/docs/transformers/main/ar/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.encode) و [PreTrainedTokenizer.__call__()](/docs/transformers/main/ar/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.__call__) للتفاصيل. [ما هي معرّفات الإدخال؟](../glossary#input-ids)

bbox (`torch.LongTensor` من الشكل `(batch_size, token_sequence_length, 4)`، *اختياري*) : صناديق الحدود (Bounding boxes) لكل رموز تسلسل الإدخال. يتم اختيارها ضمن النطاق `[0, config.max_2d_position_embeddings-1]`. يجب أن يكون كل صندوق حدود نسخة مُعايرة (normalized) بصيغة (x0, y0, x1, y1)، حيث يمثل (x0, y0) موضع الزاوية العلوية اليسرى في صندوق الحدود، ويمثل (x1, y1) موضع الزاوية السفلية اليمنى. لاحظ أن `sequence_length = token_sequence_length + patch_sequence_length + 1` حيث `1` مخصص لرمز [CLS]. راجع `pixel_values` للحصول على `patch_sequence_length`.

attention_mask (`torch.Tensor` من الشكل `(batch_size, sequence_length)`، *اختياري*) : قناع لتجنب تنفيذ الانتباه على فهارس رموز الحشو. قيم القناع المختارة من `[0, 1]`: - 1 للرموز التي **ليست مقنّعة**، - 0 للرموز التي **مقنّعة**.  [ما هي أقنعة الانتباه؟](../glossary#attention-mask)

token_type_ids (`torch.LongTensor` من الشكل `(batch_size, token_sequence_length)`، *اختياري*) : فهارس رموز المقاطع للإشارة إلى الجزء الأول والثاني من المدخلات. يتم اختيار الفهارس من `[0, 1]`: - 0 يقابل رمز *الجملة أ*، - 1 يقابل رمز *الجملة ب*. لاحظ أن `sequence_length = token_sequence_length + patch_sequence_length + 1` حيث `1` مخصص لرمز [CLS]. راجع `pixel_values` بخصوص `patch_sequence_length`. [ما هي معرّفات أنواع الرموز؟](../glossary#token-type-ids)

position_ids (`torch.LongTensor` من الشكل `(batch_size, token_sequence_length)`، *اختياري*) : فهارس مواضع رموز كل تسلسل إدخال في تضمينات الموضع. يتم اختيارها من النطاق `[0, config.max_position_embeddings - 1]`. لاحظ أن `sequence_length = token_sequence_length + patch_sequence_length + 1` حيث `1` مخصص لرمز [CLS]. راجع `pixel_values` بخصوص `patch_sequence_length`. [ما هي معرّفات الموضع؟](../glossary#position-ids)

inputs_embeds (`torch.Tensor` من الشكل `(batch_size, token_sequence_length, hidden_size)`، *اختياري*) : بدلاً من تمرير `input_ids`، يمكنك اختيار تمرير تمثيل مضمّن مباشرةً. هذا مفيد إذا كنت ترغب في الحصول على مزيد من التحكم في كيفية تحويل فهارس *input_ids* إلى المتجهات المرتبطة بها، مقارنةً بمصفوفة البحث التضمينية الداخلية للنموذج.

pixel_values (`torch.Tensor` من الشكل `(batch_size, num_channels, image_size, image_size)`، *اختياري*) : المصفوفات المقابلة للصور المدخلة. يمكن الحصول على قيم البكسل باستخدام [LayoutLMv3ImageProcessor](/docs/transformers/main/ar/model_doc/layoutlmv3#transformers.LayoutLMv3ImageProcessor). راجع [LayoutLMv3ImageProcessor.__call__()](/docs/transformers/main/ar/model_doc/molmo2#transformers.Molmo2ImageProcessor.__call__) للتفاصيل ([LayoutLMv3Processor](/docs/transformers/main/ar/model_doc/layoutlmv3#transformers.LayoutLMv3Processor) يستخدم [LayoutLMv3ImageProcessor](/docs/transformers/main/ar/model_doc/layoutlmv3#transformers.LayoutLMv3ImageProcessor) لمعالجة الصور).

**يعيد:** [BaseModelOutput](/docs/transformers/main/ar/main_classes/output#transformers.modeling_outputs.BaseModelOutput) أو `tuple(torch.Tensor)`

[BaseModelOutput](/docs/transformers/main/ar/main_classes/output#transformers.modeling_outputs.BaseModelOutput) أو مجموعة من `torch.Tensor` (إذا تم تمرير `return_dict=False` أو عندما يكون `config.return_dict=False`) تتكون من عناصر مختلفة اعتماداً على الإعداد ([LayoutLMv3Config](/docs/transformers/main/ar/model_doc/layoutlmv3#transformers.LayoutLMv3Config)) والمدخلات.

تتجاوز طريقة [LayoutLMv3Model](/docs/transformers/main/ar/model_doc/layoutlmv3#transformers.LayoutLMv3Model) الخاصة بالتقديم (forward) الطريقة الخاصة `__call__`.

على الرغم من أنه يجب تعريف وصفة المرور الأمامي داخل هذه الدالة، إلا أنه ينبغي استدعاء كائن `Module` بدلاً من هذه الدالة، لأن الكائن يتولى تنفيذ خطوات المعالجة المسبقة والمعالجة اللاحقة، بينما تتجاهل الدالة هذه الخطوات بصمت.

- **last_hidden_state** (`torch.Tensor` من الشكل `(batch_size, sequence_length, hidden_size)`) -- تسلسل من حالات الإخفاء (hidden-states) عند مخرج الطبقة الأخيرة من النموذج.
- **hidden_states** (`tuple(torch.Tensor)`، *اختياري*، يُعاد عند تمرير `output_hidden_states=True` أو عند تعيين `config.output_hidden_states=True`) -- مجموعة من `torch.Tensor` (واحدة لمخرجات التضمينات، إذا كان النموذج يحتوي على طبقة تضمين، + واحدة لمخرجات كل طبقة) بأبعاد `(batch_size, sequence_length, hidden_size)`.

  حالات النموذج المخفية عند مخرج كل طبقة بالإضافة إلى مخرجات التضمين الأولي الاختيارية.
- **attentions** (`tuple(torch.Tensor)`، *اختياري*، يُعاد عند تمرير `output_attentions=True` أو عند تعيين `config.output_attentions=True`) -- مجموعة من `torch.Tensor` (واحدة لكل طبقة) بأبعاد `(batch_size, num_heads, sequence_length, sequence_length)`.

  أوزان الانتباه بعد تطبيق دالة softmax على الانتباه، وتُستخدم لحساب المتوسط الموزون في رؤوس الانتباه الذاتي.

أمثلة:

```python
>>> from transformers import AutoProcessor, AutoModel
>>> from datasets import load_dataset

>>> processor = AutoProcessor.from_pretrained("microsoft/layoutlmv3-base", apply_ocr=False)
>>> model = AutoModel.from_pretrained("microsoft/layoutlmv3-base")

>>> dataset = load_dataset("nielsr/funsd-layoutlmv3", split="train")
>>> example = dataset[0]
>>> image = example["image"]
>>> words = example["tokens"]
>>> boxes = example["bboxes"]

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

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

## LayoutLMv3ForSequenceClassification[[transformers.LayoutLMv3ForSequenceClassification]]

#### transformers.LayoutLMv3ForSequenceClassification[[transformers.LayoutLMv3ForSequenceClassification]]

```python
transformers.LayoutLMv3ForSequenceClassification(config: LayoutLMv3Config)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/layoutlmv3/modeling_layoutlmv3.py#L1047)

**المعاملات:**

config ([LayoutLMv3Config](/docs/transformers/main/ar/model_doc/layoutlmv3#transformers.LayoutLMv3Config)) : فئة إعدادات النموذج التي تحتوي على جميع معاملات النموذج. عند التهيئة باستخدام ملف إعدادات، لا يتم تحميل الأوزان المرتبطة بالنموذج، بل الإعدادات فقط. راجع طريقة [from_pretrained()](/docs/transformers/main/ar/main_classes/model#transformers.PreTrainedModel.from_pretrained) لتحميل أوزان النموذج.

نموذج LayoutLMv3 مع رأس تصنيف تسلسل في الأعلى (طبقة خطية فوق الحالة المخفية النهائية لرمز [CLS])، على سبيل المثال لمهام تصنيف صور المستندات مثل مجموعة بيانات [RVL-CDIP](https://www.cs.cmu.edu/~aharley/rvl-cdip/).

يرث هذا النموذج من [PreTrainedModel](/docs/transformers/main/ar/main_classes/model#transformers.PreTrainedModel). راجع توثيق الفئة الأصلية لمعرفة الطرق العامة التي تنفذها المكتبة لجميع نماذجها (مثل التنزيل أو الحفظ، وتغيير حجم تضمينات الإدخال، وقص الرؤوس، وما إلى ذلك).

هذا النموذج هو أيضاً فئة فرعية من [torch.nn.Module](https://pytorch.org/docs/stable/nn.html#torch.nn.Module) في PyTorch. استخدمه كوحدة PyTorch عادية، وارجع إلى توثيق PyTorch لكل ما يتعلق بالاستخدام العام والسلوك.

#### forward[[transformers.LayoutLMv3ForSequenceClassification.forward]]

```python
forward(input_ids: typing.Optional[torch.LongTensor] = None, attention_mask: typing.Optional[torch.Tensor] = None, token_type_ids: typing.Optional[torch.LongTensor] = None, position_ids: typing.Optional[torch.LongTensor] = None, inputs_embeds: typing.Optional[torch.Tensor] = None, labels: typing.Optional[torch.LongTensor] = None, bbox: typing.Optional[torch.LongTensor] = None, pixel_values: typing.Optional[torch.LongTensor] = None, **kwargs: *<class 'transformers.utils.generic.TransformersKwargs'>)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/layoutlmv3/modeling_layoutlmv3.py#L1063)

**المعاملات:**

input_ids (`torch.LongTensor` من الشكل `(batch_size, sequence_length)`، *اختياري*) : فهارس رموز تسلسل الإدخال في قاموس الكلمات. سيتم تجاهل الحشو افتراضيًا. يمكن الحصول على الفهارس باستخدام [AutoTokenizer](/docs/transformers/main/ar/model_doc/auto#transformers.AutoTokenizer). راجع [PreTrainedTokenizer.encode()](/docs/transformers/main/ar/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.encode) و [PreTrainedTokenizer.__call__()](/docs/transformers/main/ar/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.__call__) للتفاصيل. [ما هي معرّفات الإدخال؟](../glossary#input-ids)

attention_mask (`torch.Tensor` من الشكل `(batch_size, sequence_length)`، *اختياري*) : قناع لتجنب تنفيذ الانتباه على فهارس رموز الحشو. قيم القناع المختارة من `[0, 1]`: - 1 للرموز التي **ليست مقنّعة**، - 0 للرموز التي **مقنّعة**.  [ما هي أقنعة الانتباه؟](../glossary#attention-mask)

token_type_ids (`torch.LongTensor` من الشكل `(batch_size, sequence_length)`، *اختياري*) : فهارس رموز المقاطع لتحديد الجزء الأول والثاني من المدخلات. يتم اختيار الفهارس من `[0, 1]`: - 0 يقابل رمز *الجملة أ*، - 1 يقابل رمز *الجملة ب*. [ما هي معرّفات أنواع الرموز؟](../glossary#token-type-ids)

position_ids (`torch.LongTensor` من الشكل `(batch_size, sequence_length)`، *اختياري*) : فهارس مواضع رموز كل تسلسل إدخال في تضمينات المواضع. يتم اختيارها من النطاق `[0, config.n_positions - 1]`.  [ما هي معرّفات المواضع؟](../glossary#position-ids)

inputs_embeds (`torch.Tensor` من الشكل `(batch_size, sequence_length, hidden_size)`، *اختياري*) : بدلاً من تمرير `input_ids`، يمكنك اختيار تمرير تمثيل مضمّن مباشرةً. هذا مفيد إذا كنت ترغب في الحصول على مزيد من التحكم في كيفية تحويل فهارس `input_ids` إلى المتجهات المرتبطة بها، مقارنةً بمصفوفة البحث المضمّنة الداخلية للنموذج.

labels (`torch.LongTensor` من الشكل `(batch_size,)`، *اختياري*) : تسميات لحساب خسارة تصنيف/انحدار التسلسل. يجب أن تكون الفهارس ضمن `[0, ..., config.num_labels - 1]`. إذا كان `config.num_labels == 1` يتم حساب خسارة الانحدار (خسارة متوسط المربع)، وإذا كان `config.num_labels > 1` يتم حساب خسارة التصنيف (الإنتروبيا المتقاطعة).

bbox (`torch.LongTensor` من الشكل `(batch_size, sequence_length, 4)`، *اختياري*) : صناديق الحدود (Bounding boxes) لكل رموز تسلسل الإدخال. يتم اختيارها ضمن النطاق `[0, config.max_2d_position_embeddings-1]`. يجب أن يكون كل صندوق حدود نسخة مُعايرة (normalized) بصيغة (x0, y0, x1, y1)، حيث يمثل (x0, y0) موضع الزاوية العلوية اليسرى في صندوق الحدود، ويمثل (x1, y1) موضع الزاوية السفلية اليمنى.

pixel_values (`torch.LongTensor` من الشكل `(batch_size, num_channels, image_size, image_size)`، *اختياري*) : المصفوفات المقابلة للصور المدخلة. يمكن الحصول على قيم البكسل باستخدام [LayoutLMv3ImageProcessor](/docs/transformers/main/ar/model_doc/layoutlmv3#transformers.LayoutLMv3ImageProcessor). راجع [LayoutLMv3ImageProcessor.__call__()](/docs/transformers/main/ar/model_doc/molmo2#transformers.Molmo2ImageProcessor.__call__) للتفاصيل ([LayoutLMv3Processor](/docs/transformers/main/ar/model_doc/layoutlmv3#transformers.LayoutLMv3Processor) يستخدم [LayoutLMv3ImageProcessor](/docs/transformers/main/ar/model_doc/layoutlmv3#transformers.LayoutLMv3ImageProcessor) لمعالجة الصور).

**يعيد:** [SequenceClassifierOutput](/docs/transformers/main/ar/main_classes/output#transformers.modeling_outputs.SequenceClassifierOutput) أو `tuple(torch.Tensor)`

[SequenceClassifierOutput](/docs/transformers/main/ar/main_classes/output#transformers.modeling_outputs.SequenceClassifierOutput) أو مجموعة مرتبة من `torch.Tensor` (إذا تم تمرير `return_dict=False` أو عندما يكون `config.return_dict=False`) وتتضمن عناصر مختلفة اعتماداً على الإعداد ([LayoutLMv3Config](/docs/transformers/main/ar/model_doc/layoutlmv3#transformers.LayoutLMv3Config)) والمدخلات.

تتجاوز طريقة [LayoutLMv3ForSequenceClassification](/docs/transformers/main/ar/model_doc/layoutlmv3#transformers.LayoutLMv3ForSequenceClassification) الخاصة بالتقديم (forward) الطريقة الخاصة `__call__`.

على الرغم من أنه يجب تعريف وصفة المرور الأمامي داخل هذه الدالة، إلا أنه ينبغي استدعاء كائن `Module` بدلاً من هذه الدالة، لأن الكائن يتولى تنفيذ خطوات المعالجة المسبقة والمعالجة اللاحقة، بينما تتجاهل الدالة هذه الخطوات بصمت.

- **loss** (`torch.Tensor` من الشكل `(1,)`, *اختياري*، يُعاد عند تقديم `labels`) -- خسارة التصنيف (أو الانحدار إذا كان config.num_labels==1).
- **logits** (`torch.Tensor` من الشكل `(batch_size, config.num_labels)`) -- درجات التصنيف (أو الانحدار إذا كان config.num_labels==1) (قبل SoftMax).
- **hidden_states** (`tuple(torch.Tensor)`، *اختياري*، يُعاد عند تمرير `output_hidden_states=True` أو عند تعيين `config.output_hidden_states=True`) -- مجموعة من `torch.Tensor` (واحدة لمخرجات التضمينات، إذا كان النموذج يحتوي على طبقة تضمين، + واحدة لمخرجات كل طبقة) بأبعاد `(batch_size, sequence_length, hidden_size)`.

  حالات النموذج المخفية عند مخرج كل طبقة بالإضافة إلى مخرجات التضمين الأولي الاختيارية.
- **attentions** (`tuple(torch.Tensor)`، *اختياري*، يُعاد عند تمرير `output_attentions=True` أو عند تعيين `config.output_attentions=True`) -- مجموعة من `torch.Tensor` (واحدة لكل طبقة) بأبعاد `(batch_size, num_heads, sequence_length, sequence_length)`.

  أوزان الانتباه بعد تطبيق دالة softmax على الانتباه، وتُستخدم لحساب المتوسط الموزون في رؤوس الانتباه الذاتي.

أمثلة:

```python
>>> from transformers import AutoProcessor, AutoModelForSequenceClassification
>>> from datasets import load_dataset
>>> import torch

>>> processor = AutoProcessor.from_pretrained("microsoft/layoutlmv3-base", apply_ocr=False)
>>> model = AutoModelForSequenceClassification.from_pretrained("microsoft/layoutlmv3-base")

>>> dataset = load_dataset("nielsr/funsd-layoutlmv3", split="train")
>>> example = dataset[0]
>>> image = example["image"]
>>> words = example["tokens"]
>>> boxes = example["bboxes"]

>>> encoding = processor(image, words, boxes=boxes, return_tensors="pt")
>>> sequence_label = torch.tensor([1])

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

## LayoutLMv3ForTokenClassification[[transformers.LayoutLMv3ForTokenClassification]]

#### transformers.LayoutLMv3ForTokenClassification[[transformers.LayoutLMv3ForTokenClassification]]

```python
transformers.LayoutLMv3ForTokenClassification(config: LayoutLMv3Config)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/layoutlmv3/modeling_layoutlmv3.py#L834)

**المعاملات:**

config ([LayoutLMv3Config](/docs/transformers/main/ar/model_doc/layoutlmv3#transformers.LayoutLMv3Config)) : فئة إعدادات النموذج التي تحتوي على جميع معاملات النموذج. عند التهيئة باستخدام ملف إعدادات، لا يتم تحميل الأوزان المرتبطة بالنموذج، بل الإعدادات فقط. راجع طريقة [from_pretrained()](/docs/transformers/main/ar/main_classes/model#transformers.PreTrainedModel.from_pretrained) لتحميل أوزان النموذج.

نموذج LayoutLMv3 مع رأس تصنيف الرموز في الأعلى (طبقة خطية فوق الحالات المخفية النهائية) على سبيل المثال لمهام تسمية التسلسل (استخراج المعلومات) مثل [FUNSD](https://guillaumejaume.github.io/FUNSD/) و[SROIE](https://rrc.cvc.uab.es/?ch=13) و[CORD](https://github.com/clovaai/cord) و[Kleister-NDA](https://github.com/applicaai/kleister-nda).

يرث هذا النموذج من [PreTrainedModel](/docs/transformers/main/ar/main_classes/model#transformers.PreTrainedModel). راجع توثيق الفئة الأصلية لمعرفة الطرق العامة التي تنفذها المكتبة لجميع نماذجها (مثل التنزيل أو الحفظ، وتغيير حجم تضمينات الإدخال، وقص الرؤوس، وما إلى ذلك).

هذا النموذج هو أيضاً فئة فرعية من [torch.nn.Module](https://pytorch.org/docs/stable/nn.html#torch.nn.Module) في PyTorch. استخدمه كوحدة PyTorch عادية، وارجع إلى توثيق PyTorch لكل ما يتعلق بالاستخدام العام والسلوك.

#### forward[[transformers.LayoutLMv3ForTokenClassification.forward]]

```python
forward(input_ids: typing.Optional[torch.LongTensor] = None, bbox: typing.Optional[torch.LongTensor] = None, attention_mask: typing.Optional[torch.Tensor] = None, token_type_ids: typing.Optional[torch.LongTensor] = None, position_ids: typing.Optional[torch.LongTensor] = None, inputs_embeds: typing.Optional[torch.Tensor] = None, labels: typing.Optional[torch.LongTensor] = None, pixel_values: typing.Optional[torch.LongTensor] = None, **kwargs: *<class 'transformers.utils.generic.TransformersKwargs'>)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/layoutlmv3/modeling_layoutlmv3.py#L854)

**المعاملات:**

input_ids (`torch.LongTensor` من الشكل `(batch_size, sequence_length)`، *اختياري*) : فهارس رموز تسلسل الإدخال في قاموس الكلمات. سيتم تجاهل الحشو افتراضيًا. يمكن الحصول على الفهارس باستخدام [AutoTokenizer](/docs/transformers/main/ar/model_doc/auto#transformers.AutoTokenizer). راجع [PreTrainedTokenizer.encode()](/docs/transformers/main/ar/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.encode) و [PreTrainedTokenizer.__call__()](/docs/transformers/main/ar/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.__call__) للتفاصيل. [ما هي معرّفات الإدخال؟](../glossary#input-ids)

bbox (`torch.LongTensor` من الشكل `(batch_size, sequence_length, 4)`، *اختياري*) : صناديق الحدود (Bounding boxes) لكل رموز تسلسل الإدخال. يتم اختيارها ضمن النطاق `[0, config.max_2d_position_embeddings-1]`. يجب أن يكون كل صندوق حدود نسخة مُعايرة (normalized) بصيغة (x0, y0, x1, y1)، حيث يمثل (x0, y0) موضع الزاوية العلوية اليسرى في صندوق الحدود، ويمثل (x1, y1) موضع الزاوية السفلية اليمنى.

attention_mask (`torch.Tensor` من الشكل `(batch_size, sequence_length)`، *اختياري*) : قناع لتجنب تنفيذ الانتباه على فهارس رموز الحشو. قيم القناع المختارة من `[0, 1]`: - 1 للرموز التي **ليست مقنّعة**، - 0 للرموز التي **مقنّعة**.  [ما هي أقنعة الانتباه؟](../glossary#attention-mask)

token_type_ids (`torch.LongTensor` من الشكل `(batch_size, sequence_length)`، *اختياري*) : فهارس رموز المقاطع لتحديد الجزء الأول والثاني من المدخلات. يتم اختيار الفهارس من `[0, 1]`: - 0 يقابل رمز *الجملة أ*، - 1 يقابل رمز *الجملة ب*. [ما هي معرّفات أنواع الرموز؟](../glossary#token-type-ids)

position_ids (`torch.LongTensor` من الشكل `(batch_size, sequence_length)`، *اختياري*) : فهارس مواضع رموز كل تسلسل إدخال في تضمينات المواضع. يتم اختيارها من النطاق `[0, config.n_positions - 1]`.  [ما هي معرّفات المواضع؟](../glossary#position-ids)

inputs_embeds (`torch.Tensor` من الشكل `(batch_size, sequence_length, hidden_size)`، *اختياري*) : بدلاً من تمرير `input_ids`، يمكنك اختيار تمرير تمثيل مضمّن مباشرةً. هذا مفيد إذا كنت ترغب في الحصول على مزيد من التحكم في كيفية تحويل فهارس `input_ids` إلى المتجهات المرتبطة بها، مقارنةً بمصفوفة البحث المضمّنة الداخلية للنموذج.

labels (`torch.LongTensor` من الشكل `(batch_size, sequence_length)`، *اختياري*) : تسميات لحساب خسارة تصنيف الرموز. يجب أن تكون الفهارس ضمن `[0, ..., config.num_labels - 1]`.

pixel_values (`torch.LongTensor` من الشكل `(batch_size, num_channels, image_size, image_size)`، *اختياري*) : المصفوفات المقابلة للصور المدخلة. يمكن الحصول على قيم البكسل باستخدام [LayoutLMv3ImageProcessor](/docs/transformers/main/ar/model_doc/layoutlmv3#transformers.LayoutLMv3ImageProcessor). راجع [LayoutLMv3ImageProcessor.__call__()](/docs/transformers/main/ar/model_doc/molmo2#transformers.Molmo2ImageProcessor.__call__) للتفاصيل ([LayoutLMv3Processor](/docs/transformers/main/ar/model_doc/layoutlmv3#transformers.LayoutLMv3Processor) يستخدم [LayoutLMv3ImageProcessor](/docs/transformers/main/ar/model_doc/layoutlmv3#transformers.LayoutLMv3ImageProcessor) لمعالجة الصور).

**يعيد:** [TokenClassifierOutput](/docs/transformers/main/ar/main_classes/output#transformers.modeling_outputs.TokenClassifierOutput) أو `tuple(torch.Tensor)`

[TokenClassifierOutput](/docs/transformers/main/ar/main_classes/output#transformers.modeling_outputs.TokenClassifierOutput) أو مجموعة مرتبة من `torch.Tensor` (إذا تم تمرير `return_dict=False` أو عندما يكون `config.return_dict=False`) تتكون من عناصر مختلفة اعتماداً على الإعداد ([LayoutLMv3Config](/docs/transformers/main/ar/model_doc/layoutlmv3#transformers.LayoutLMv3Config)) والمدخلات.

تتجاوز طريقة [LayoutLMv3ForTokenClassification](/docs/transformers/main/ar/model_doc/layoutlmv3#transformers.LayoutLMv3ForTokenClassification) الخاصة بالتقديم (forward) الطريقة الخاصة `__call__`.

على الرغم من أنه يجب تعريف وصفة المرور الأمامي داخل هذه الدالة، إلا أنه ينبغي استدعاء كائن `Module` بدلاً من هذه الدالة، لأن الكائن يتولى تنفيذ خطوات المعالجة المسبقة والمعالجة اللاحقة، بينما تتجاهل الدالة هذه الخطوات بصمت.

- **loss** (`torch.Tensor` of shape `(1,)`, *اختياري*, يُعاد عند توفير `labels`) -- خسارة التصنيف.
- **logits** (`torch.Tensor` من الشكل `(batch_size, sequence_length, config.num_labels)`) -- درجات التصنيف (قبل SoftMax).
- **hidden_states** (`tuple(torch.Tensor)`، *اختياري*، يُعاد عند تمرير `output_hidden_states=True` أو عند تعيين `config.output_hidden_states=True`) -- مجموعة من `torch.Tensor` (واحدة لمخرجات التضمينات، إذا كان النموذج يحتوي على طبقة تضمين، + واحدة لمخرجات كل طبقة) بأبعاد `(batch_size, sequence_length, hidden_size)`.

  حالات النموذج المخفية عند مخرج كل طبقة بالإضافة إلى مخرجات التضمين الأولي الاختيارية.
- **attentions** (`tuple(torch.Tensor)`، *اختياري*، يُعاد عند تمرير `output_attentions=True` أو عند تعيين `config.output_attentions=True`) -- مجموعة من `torch.Tensor` (واحدة لكل طبقة) بأبعاد `(batch_size, num_heads, sequence_length, sequence_length)`.

  أوزان الانتباه بعد تطبيق دالة softmax على الانتباه، وتُستخدم لحساب المتوسط الموزون في رؤوس الانتباه الذاتي.

أمثلة:

```python
>>> from transformers import AutoProcessor, AutoModelForTokenClassification
>>> from datasets import load_dataset

>>> processor = AutoProcessor.from_pretrained("microsoft/layoutlmv3-base", apply_ocr=False)
>>> model = AutoModelForTokenClassification.from_pretrained("microsoft/layoutlmv3-base", num_labels=7)

>>> dataset = load_dataset("nielsr/funsd-layoutlmv3", split="train")
>>> example = dataset[0]
>>> image = example["image"]
>>> words = example["tokens"]
>>> boxes = example["bboxes"]
>>> word_labels = example["ner_tags"]

>>> encoding = processor(image, words, boxes=boxes, word_labels=word_labels, return_tensors="pt")

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

## LayoutLMv3ForQuestionAnswering[[transformers.LayoutLMv3ForQuestionAnswering]]

#### transformers.LayoutLMv3ForQuestionAnswering[[transformers.LayoutLMv3ForQuestionAnswering]]

```python
transformers.LayoutLMv3ForQuestionAnswering(config: LayoutLMv3Config)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/layoutlmv3/modeling_layoutlmv3.py#L932)

**المعاملات:**

config ([LayoutLMv3Config](/docs/transformers/main/ar/model_doc/layoutlmv3#transformers.LayoutLMv3Config)) : فئة إعدادات النموذج التي تحتوي على جميع معاملات النموذج. عند التهيئة باستخدام ملف إعدادات، لا يتم تحميل الأوزان المرتبطة بالنموذج، بل الإعدادات فقط. راجع طريقة [from_pretrained()](/docs/transformers/main/ar/main_classes/model#transformers.PreTrainedModel.from_pretrained) لتحميل أوزان النموذج.

محوّل Layoutlmv3 مع رأس تصنيف مقاطع (span classification head) في الأعلى لمهام الإجابة الاستخراجية على الأسئلة مثل SQuAD (طبقة خطية فوق مخرجات الحالات المخفية لحساب `span start logits` و`span end logits`).

يرث هذا النموذج من [PreTrainedModel](/docs/transformers/main/ar/main_classes/model#transformers.PreTrainedModel). راجع توثيق الفئة الأصلية لمعرفة الطرق العامة التي تنفذها المكتبة لجميع نماذجها (مثل التنزيل أو الحفظ، وتغيير حجم تضمينات الإدخال، وقص الرؤوس، وما إلى ذلك).

هذا النموذج هو أيضاً فئة فرعية من [torch.nn.Module](https://pytorch.org/docs/stable/nn.html#torch.nn.Module) في PyTorch. استخدمه كوحدة PyTorch عادية، وارجع إلى توثيق PyTorch لكل ما يتعلق بالاستخدام العام والسلوك.

#### forward[[transformers.LayoutLMv3ForQuestionAnswering.forward]]

```python
forward(input_ids: typing.Optional[torch.LongTensor] = None, attention_mask: typing.Optional[torch.Tensor] = None, token_type_ids: typing.Optional[torch.LongTensor] = None, position_ids: typing.Optional[torch.LongTensor] = None, inputs_embeds: typing.Optional[torch.Tensor] = None, start_positions: typing.Optional[torch.LongTensor] = None, end_positions: typing.Optional[torch.LongTensor] = None, bbox: typing.Optional[torch.LongTensor] = None, pixel_values: typing.Optional[torch.LongTensor] = None, **kwargs: *<class 'transformers.utils.generic.TransformersKwargs'>)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/layoutlmv3/modeling_layoutlmv3.py#L948)

**المعاملات:**

input_ids (`torch.LongTensor` من الشكل `(batch_size, sequence_length)`، *اختياري*) : فهارس رموز تسلسل الإدخال في قاموس الكلمات. سيتم تجاهل الحشو افتراضيًا. يمكن الحصول على الفهارس باستخدام [AutoTokenizer](/docs/transformers/main/ar/model_doc/auto#transformers.AutoTokenizer). راجع [PreTrainedTokenizer.encode()](/docs/transformers/main/ar/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.encode) و [PreTrainedTokenizer.__call__()](/docs/transformers/main/ar/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.__call__) للتفاصيل. [ما هي معرّفات الإدخال؟](../glossary#input-ids)

attention_mask (`torch.Tensor` من الشكل `(batch_size, sequence_length)`، *اختياري*) : قناع لتجنب تنفيذ الانتباه على فهارس رموز الحشو. قيم القناع المختارة من `[0, 1]`: - 1 للرموز التي **ليست مقنّعة**، - 0 للرموز التي **مقنّعة**.  [ما هي أقنعة الانتباه؟](../glossary#attention-mask)

token_type_ids (`torch.LongTensor` من الشكل `(batch_size, sequence_length)`، *اختياري*) : فهارس رموز المقاطع لتحديد الجزء الأول والثاني من المدخلات. يتم اختيار الفهارس من `[0, 1]`: - 0 يقابل رمز *الجملة أ*، - 1 يقابل رمز *الجملة ب*. [ما هي معرّفات أنواع الرموز؟](../glossary#token-type-ids)

position_ids (`torch.LongTensor` من الشكل `(batch_size, sequence_length)`، *اختياري*) : فهارس مواضع رموز كل تسلسل إدخال في تضمينات المواضع. يتم اختيارها من النطاق `[0, config.n_positions - 1]`.  [ما هي معرّفات المواضع؟](../glossary#position-ids)

inputs_embeds (`torch.Tensor` من الشكل `(batch_size, sequence_length, hidden_size)`، *اختياري*) : بدلاً من تمرير `input_ids`، يمكنك اختيار تمرير تمثيل مضمّن مباشرةً. هذا مفيد إذا كنت ترغب في الحصول على مزيد من التحكم في كيفية تحويل فهارس `input_ids` إلى المتجهات المرتبطة بها، مقارنةً بمصفوفة البحث المضمّنة الداخلية للنموذج.

start_positions (`torch.LongTensor` من الشكل `(batch_size,)`، *اختياري*) : تسميات لموضع (فهرس) بداية النطاق المُسمّى لحساب خسارة تصنيف الرموز. يتم تثبيت المواضع على طول التسلسل (`sequence_length`). لا تُؤخذ المواضع خارج التسلسل في الاعتبار عند حساب الخسارة.

end_positions (`torch.LongTensor` من الشكل `(batch_size,)`، *اختياري*) : تسميات لموضع (فهرس) نهاية النطاق المُسمّى لحساب خسارة تصنيف الرموز. يتم تثبيت المواضع على طول التسلسل (`sequence_length`). لا تُؤخذ المواضع خارج التسلسل في الاعتبار عند حساب الخسارة.

bbox (`torch.LongTensor` من الشكل `(batch_size, sequence_length, 4)`، *اختياري*) : صناديق الحدود (Bounding boxes) لكل رموز تسلسل الإدخال. يتم اختيارها ضمن النطاق `[0, config.max_2d_position_embeddings-1]`. يجب أن يكون كل صندوق حدود نسخة مُعايرة (normalized) بصيغة (x0, y0, x1, y1)، حيث يمثل (x0, y0) موضع الزاوية العلوية اليسرى في صندوق الحدود، ويمثل (x1, y1) موضع الزاوية السفلية اليمنى.

pixel_values (`torch.LongTensor` من الشكل `(batch_size, num_channels, image_size, image_size)`، *اختياري*) : المصفوفات المقابلة للصور المدخلة. يمكن الحصول على قيم البكسل باستخدام [LayoutLMv3ImageProcessor](/docs/transformers/main/ar/model_doc/layoutlmv3#transformers.LayoutLMv3ImageProcessor). راجع [LayoutLMv3ImageProcessor.__call__()](/docs/transformers/main/ar/model_doc/molmo2#transformers.Molmo2ImageProcessor.__call__) للتفاصيل ([LayoutLMv3Processor](/docs/transformers/main/ar/model_doc/layoutlmv3#transformers.LayoutLMv3Processor) يستخدم [LayoutLMv3ImageProcessor](/docs/transformers/main/ar/model_doc/layoutlmv3#transformers.LayoutLMv3ImageProcessor) لمعالجة الصور).

**يعيد:** [QuestionAnsweringModelOutput](/docs/transformers/main/ar/main_classes/output#transformers.modeling_outputs.QuestionAnsweringModelOutput) أو `tuple(torch.Tensor)`

[QuestionAnsweringModelOutput](/docs/transformers/main/ar/main_classes/output#transformers.modeling_outputs.QuestionAnsweringModelOutput) أو مجموعة مرتبة من `torch.Tensor` (إذا تم تمرير `return_dict=False` أو عندما يكون `config.return_dict=False`) وتتضمن عناصر مختلفة اعتماداً على الإعداد ([LayoutLMv3Config](/docs/transformers/main/ar/model_doc/layoutlmv3#transformers.LayoutLMv3Config)) والمدخلات.

تتجاوز طريقة [LayoutLMv3ForQuestionAnswering](/docs/transformers/main/ar/model_doc/layoutlmv3#transformers.LayoutLMv3ForQuestionAnswering) الخاصة بالتقديم (forward) الطريقة الخاصة `__call__`.

على الرغم من أنه يجب تعريف وصفة المرور الأمامي داخل هذه الدالة، إلا أنه ينبغي استدعاء كائن `Module` بدلاً من هذه الدالة، لأن الكائن يتولى تنفيذ خطوات المعالجة المسبقة والمعالجة اللاحقة، بينما تتجاهل الدالة هذه الخطوات بصمت.

- **loss** (`torch.Tensor` بشكل `(1,)`، *اختياري*، يُعاد عند توفير `labels`) -- خسارة استخراج النطاق الكلي هي مجموع دالة Cross-Entropy لموقعي البداية والنهاية.
- **start_logits** (`torch.Tensor` من الشكل `(batch_size, sequence_length)`) -- درجات بداية المقطع (قبل SoftMax).
- **end_logits** (`torch.Tensor` بأبعاد `(batch_size, sequence_length)`) -- درجات نهاية المقطع (قبل SoftMax).
- **hidden_states** (`tuple(torch.Tensor)`، *اختياري*، يُعاد عند تمرير `output_hidden_states=True` أو عند تعيين `config.output_hidden_states=True`) -- مجموعة من `torch.Tensor` (واحدة لمخرجات التضمينات، إذا كان النموذج يحتوي على طبقة تضمين، + واحدة لمخرجات كل طبقة) بأبعاد `(batch_size, sequence_length, hidden_size)`.

  حالات النموذج المخفية عند مخرج كل طبقة بالإضافة إلى مخرجات التضمين الأولي الاختيارية.
- **attentions** (`tuple(torch.Tensor)`، *اختياري*، يُعاد عند تمرير `output_attentions=True` أو عند تعيين `config.output_attentions=True`) -- مجموعة من `torch.Tensor` (واحدة لكل طبقة) بأبعاد `(batch_size, num_heads, sequence_length, sequence_length)`.

  أوزان الانتباه بعد تطبيق دالة softmax على الانتباه، وتُستخدم لحساب المتوسط الموزون في رؤوس الانتباه الذاتي.

أمثلة:

```python
>>> from transformers import AutoProcessor, AutoModelForQuestionAnswering
>>> from datasets import load_dataset
>>> import torch

>>> processor = AutoProcessor.from_pretrained("microsoft/layoutlmv3-base", apply_ocr=False)
>>> model = AutoModelForQuestionAnswering.from_pretrained("microsoft/layoutlmv3-base")

>>> dataset = load_dataset("nielsr/funsd-layoutlmv3", split="train")
>>> example = dataset[0]
>>> image = example["image"]
>>> question = "what's his name?"
>>> words = example["tokens"]
>>> boxes = example["bboxes"]

>>> encoding = processor(image, question, words, boxes=boxes, return_tensors="pt")
>>> start_positions = torch.tensor([1])
>>> end_positions = torch.tensor([3])

>>> outputs = model(**encoding, start_positions=start_positions, end_positions=end_positions)
>>> loss = outputs.loss
>>> start_scores = outputs.start_logits
>>> end_scores = outputs.end_logits
```

