# PP-DocLayoutV2

## نظرة عامة

**PP-DocLayoutV2** هو نموذج خفيف مخصص لتحليل التخطيط، يركّز تحديدًا على اكتشاف العناصر وتصنيفها والتنبؤ بترتيب القراءة.

## بنية النموذج

يتكوّن PP-DocLayoutV2 من شبكتين متسلسلتين. الأولى هي نموذج كشف مبني على RT-DETR يقوم بكشف عناصر التخطيط وتصنيفها. ثم تُمرَّر صناديق الحدود المكتشفة ووسوم الفئات إلى شبكة مؤشرات لاحقة، وهي المسؤولة عن ترتيب هذه العناصر.

## الاستخدام

### الاستدلال على مدخل واحد

يُظهر المثال أدناه كيفية توليد النص باستخدام PP-DocLayoutV2 من خلال [Pipeline](/docs/transformers/main/ar/main_classes/pipelines#transformers.Pipeline) أو [AutoModel](/docs/transformers/main/ar/model_doc/auto#transformers.AutoModel).

```python
import requests
from PIL import Image

from transformers import pipeline

image = Image.open(requests.get("https://huggingface.co/datasets/hf-internal-testing/transformers-synthetic-assets/resolve/main/images/paddle_layout_demo.jpg", stream=True).raw)
layout_detector = pipeline("object-detection", model="PaddlePaddle/PP-DocLayoutV2_safetensors")
result = layout_detector(image)
print(result)
```

```python
import requests
from PIL import Image

from transformers import AutoImageProcessor, AutoModelForObjectDetection

model_path = "PaddlePaddle/PP-DocLayoutV2_safetensors"
model = AutoModelForObjectDetection.from_pretrained(model_path, device_map="auto")
image_processor = AutoImageProcessor.from_pretrained(model_path)
image = Image.open(requests.get("https://huggingface.co/datasets/hf-internal-testing/transformers-synthetic-assets/resolve/main/images/paddle_layout_demo.jpg", stream=True).raw)
inputs = image_processor(images=image, return_tensors="pt").to(model.device)

outputs = model(**inputs)
results = image_processor.post_process_object_detection(outputs, target_sizes=[image.size[::-1]])
for result in results:
    print(result["scores"])
    print(result["labels"])
    print(result["boxes"])
    for idx, (score, label_id, box) in enumerate(zip(result["scores"], result["labels"], result["boxes"])):
        score, label = score.item(), label_id.item()
        box = [round(i, 2) for i in box.tolist()]
        print(f"Order {idx + 1}: {model.config.id2label[label]}: {score:.2f} {box}")
```

### الاستدلال المجمّع

إليك كيفية القيام بذلك باستخدام PP-DocLayoutV2 مع [Pipeline](/docs/transformers/main/ar/main_classes/pipelines#transformers.Pipeline) أو [AutoModel](/docs/transformers/main/ar/model_doc/auto#transformers.AutoModel):

```python
import requests
from PIL import Image

from transformers import pipeline

image = Image.open(requests.get("https://huggingface.co/datasets/hf-internal-testing/transformers-synthetic-assets/resolve/main/images/paddle_layout_demo.jpg", stream=True).raw)
layout_detector = pipeline("object-detection", model="PaddlePaddle/PP-DocLayoutV2_safetensors")
result = layout_detector([image, image])
print(result[0])
print(result[1])
```

```python
import requests
from PIL import Image

from transformers import AutoImageProcessor, AutoModelForObjectDetection

model_path = "PaddlePaddle/PP-DocLayoutV2_safetensors"
model = AutoModelForObjectDetection.from_pretrained(model_path, device_map="auto")
image_processor = AutoImageProcessor.from_pretrained(model_path)

image = Image.open(requests.get("https://huggingface.co/datasets/hf-internal-testing/transformers-synthetic-assets/resolve/main/images/paddle_layout_demo.jpg", stream=True).raw)
inputs = image_processor(images=[image, image], return_tensors="pt").to(model.device)
target_sizes = [image.size[::-1], image.size[::-1]]

outputs = model(**inputs)
results = image_processor.post_process_object_detection(outputs, target_sizes=target_sizes)
for result in results:
    print("result:")
    for idx, (score, label_id, box) in enumerate(zip(result["scores"], result["labels"], result["boxes"])):
        score, label = score.item(), label_id.item()
        box = [round(i, 2) for i in box.tolist()]
        print(f"Order {idx + 1}: {model.config.id2label[label]}: {score:.2f} {box}")
```

## PPDocLayoutV2Config[[transformers.PPDocLayoutV2Config]]

#### transformers.PPDocLayoutV2Config[[transformers.PPDocLayoutV2Config]]

```python
transformers.PPDocLayoutV2Config(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, 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, is_encoder_decoder: bool = True, initializer_range: float = 0.01, initializer_bias_prior_prob: float | None = None, layer_norm_eps: float = 1e-05, batch_norm_eps: float = 1e-05, backbone_config: transformers.configuration_utils.PreTrainedConfig | dict | None = None, freeze_backbone_batch_norms: bool = True, encoder_hidden_dim: int = 256, encoder_in_channels: list[int] | tuple[int, ...] | None = (512, 1024, 2048), feat_strides: list[int] | tuple[int, ...] | None = (8, 16, 32), encoder_layers: int = 1, encoder_ffn_dim: int = 1024, encoder_attention_heads: int = 8, dropout: float | int = 0.0, activation_dropout: float | int = 0.0, encode_proj_layers: list[int] | tuple[int, ...] | None = (2,), positional_encoding_temperature: int = 10000, encoder_activation_function: str = 'gelu', activation_function: str = 'silu', eval_size: list[int] | None = None, normalize_before: bool = False, hidden_expansion: float = 1.0, d_model: int = 256, num_queries: int = 300, decoder_in_channels: list[int] | tuple[int, ...] | None = (256, 256, 256), decoder_ffn_dim: int = 1024, num_feature_levels: int = 3, decoder_n_points: int = 4, decoder_layers: int = 6, decoder_attention_heads: int = 8, decoder_activation_function: str = 'relu', attention_dropout: float | int = 0.0, num_denoising: int = 100, label_noise_ratio: float = 0.5, box_noise_scale: float = 1.0, learn_initial_query: bool = False, anchor_image_size: list[int] | None = None, disable_custom_kernels: bool = True, class_thresholds: list[float] | None = None, class_order: list[int] | None = None, reading_order_config: transformers.configuration_utils.PreTrainedConfig | dict | None = None)
```

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

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

is_encoder_decoder (`bool`، *اختياري*، الافتراضي هو `True`) : ما إذا كان النموذج يُستخدم كمُشفِّر/مُفكِّك أم لا.

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

initializer_bias_prior_prob (`float`, *اختياري*) : الاحتمال المسبق الذي يستخدمه مُهيّئ الانحيازات (bias initializer) لتهيئة الانحيازات الخاصة بـ`enc_score_head` و`class_embed`. إذا كانت القيمة `None`، يتم حساب `prior_prob` على النحو `prior_prob = 1 / (num_labels + 1)` أثناء تهيئة أوزان النموذج.

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

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

backbone_config (`Union[~configuration_utils.PreTrainedConfig, dict]`، *اختياري*) : إعدادات نموذج الهيكل الأساسي.

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

encoder_hidden_dim (`int`، *اختياري*، القيمة الافتراضية 256) : بُعد الطبقات في المُشفِّر الهجين.

encoder_in_channels (`list`، *اختياري*، القيمة الافتراضية `[512, 1024, 2048]`) : مدخلات ميزات متعددة المستويات للمُشفِّر.

feat_strides (`list[int]`، *اختياري*، القيمة الافتراضية `[8, 16, 32]`) : الخطوات المستخدمة في كل خريطة ميزات.

encoder_layers (`int`، *اختياري*، القيمة الافتراضية 1) : إجمالي عدد الطبقات التي سيستخدمها المُشفِّر.

encoder_ffn_dim (`int`، *اختياري*، القيمة الافتراضية `1024`) : بُعد طبقة "الوسيطة" (التي تُسمّى غالبًا بالطبقة الأمامية) في المُشفِّر.

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

dropout (`Union[float, int]`، *اختياري*، القيمة الافتراضية `0.0`) : نسبة جميع طبقات dropout.

activation_dropout (`Union[float, int]`، *اختياري*، القيمة الافتراضية `0.0`) : نسبة الإسقاط (dropout) للتفعيلات داخل الطبقة المتصلة بالكامل.

encode_proj_layers (`list[int]`، *اختياري*، القيمة الافتراضية `[2]`) : فهارس الطبقات المُسقطَة التي سيتم استخدامها في المُشفِّر.

positional_encoding_temperature (`int`، *اختياري*، القيمة الافتراضية 10000) : معامل الحرارة المستخدم لإنشاء الترميزات الموضعية.

encoder_activation_function (`str`، *اختياري*، القيمة الافتراضية `"gelu"`) : دالة التنشيط غير الخطية (دالة أو نص) في المُشفِّر والمجمِّع. إذا كان نصًا، فالدوال المدعومة هي `"gelu"`، `"relu"`، `"silu"` و`"gelu_new"`.

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

eval_size (`tuple[int, int]`، *اختياري*) : الارتفاع والعرض المستخدمان لحساب الارتفاع والعرض الفعليين لتضمينات المواقع بعد مراعاة الخطوة (stride).

normalize_before (`bool`، *اختياري*، القيمة الافتراضية `False`) : تحديد ما إذا كان سيتم تطبيق تطبيع الطبقة في طبقة مُشفِّر الترانسفورمر قبل وحدات الانتباه الذاتي والتغذية الأمامية.

hidden_expansion (`float`، *اختياري*، القيمة الافتراضية 1.0) : نسبة التوسيع لتكبير حجم الأبعاد في RepVGGBlock و CSPRepLayer.

d_model (`int`، *اختياري*، القيمة الافتراضية `256`) : حجم طبقات المُشفِّر وطبقة المُجمِّع.

num_queries (`int`، *اختياري*، القيمة الافتراضية 300) : عدد استعلامات الكائنات.

decoder_in_channels (`list`، *اختياري*، القيمة الافتراضية `[256, 256, 256]`) : أبعاد الميزات متعددة المستويات لفك الترميز

decoder_ffn_dim (`int`، *اختياري*، القيمة الافتراضية 1024) : بُعد طبقة "الوسيطة" (التي تُسمّى غالبًا طبقة التغذية الأمامية) في المُفكِّك.

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

decoder_n_points (`int`، *اختياري*، القيمة الافتراضية 4) : عدد المفاتيح المُستخرجة في كل مستوى من مستويات الميزات لكل رأس من رؤوس الانتباه في المُفكِّك.

decoder_layers (`int`، *اختياري*، القيمة الافتراضية `6`) : عدد الطبقات المخفية في مُفكِّك Transformer. سيستخدم القيمة نفسها لـ`num_layers` إذا لم يتم ضبطه.

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

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

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

num_denoising (`int`، *اختياري*، القيمة الافتراضية 100) : العدد الإجمالي لمهام إزالة الضوضاء أو الاستعلامات التي سيتم استخدامها لإزالة الضوضاء التباينية.

label_noise_ratio (`float`، *اختياري*، القيمة الافتراضية 0.5) : نسبة تسميات إزالة الضوضاء التي يجب إضافة ضوضاء عشوائية إليها.

box_noise_scale (`float`، *اختياري*، القيمة الافتراضية 1.0) : مقدار الضوضاء أو حجمها الذي سيُضاف إلى صناديق الحدود.

learn_initial_query (`bool`، *اختياري*، القيمة الافتراضية `False`) : يحدد ما إذا كان يجب تعلّم تمثيلات الاستعلام الأولية لمفكّك الترميز أثناء التدريب

anchor_image_size (`tuple[int, int]`، *اختياري*) : ارتفاع وعرض صورة الإدخال المستخدمة أثناء التقييم لتوليد أطر الحدود. إذا كانت القيمة None، يتم تطبيق توليد تلقائي للأطر.

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

class_thresholds (`list[float]`، *اختياري*) : العتبات لكل تسمية.

class_order (`list[int]`، *اختياري*) : الأولوية لكل تسمية.

reading_order_config (`dict`، *اختياري*) : إعدادات `PPDocLayoutV2ReadingOrder`.

هذه فئة الإعدادات المخزنة لإعدادات نموذج Pp Doclayout V2Model. تُستخدم لاستحداث نموذج Pp Doclayout V2 وفقًا للحجج المحددة، مع تعريف بنية النموذج. إن استحداث إعدادات باستخدام القيم الافتراضية سيؤدي إلى إعدادات مشابهة لتلك الخاصة بـ [PaddlePaddle/PP-DocLayoutV2_safetensors](https://huggingface.co/PaddlePaddle/PP-DocLayoutV2_safetensors)

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

أمثلة:

```python
>>> from transformers import PPDocLayoutV2Config, PPDocLayoutV2ForObjectDetection

>>> # Initializing a PP-DocLayoutV2 configuration
>>> configuration = PPDocLayoutV2Config()

>>> # Initializing a model (with random weights) from the configuration
>>> model = PPDocLayoutV2ForObjectDetection(configuration)

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

## PPDocLayoutV2ForObjectDetection[[transformers.PPDocLayoutV2ForObjectDetection]]

#### transformers.PPDocLayoutV2ForObjectDetection[[transformers.PPDocLayoutV2ForObjectDetection]]

```python
transformers.PPDocLayoutV2ForObjectDetection(config: PPDocLayoutV2Config)
```

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

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

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

نموذج PP-DocLayoutV2 (المكوّن من هيكل أساسي ومشفّر-فكّاش) والذي يُخرج صناديق تحديد الحدود وقيم اللوجيت وorder_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.PPDocLayoutV2ForObjectDetection.forward]]

```python
forward(pixel_values: Tensor, pixel_mask: typing.Optional[torch.LongTensor] = None, encoder_outputs: typing.Optional[torch.Tensor] = None, inputs_embeds: typing.Optional[torch.Tensor] = None, decoder_inputs_embeds: typing.Optional[torch.Tensor] = None, labels: list[dict] | None = None, **kwargs: *<class 'transformers.utils.generic.TransformersKwargs'>)
```

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

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

pixel_values (`torch.Tensor` من الشكل `(batch_size, num_channels, image_size, image_size)`) : المصفوفات المتناظرة مع الصور المدخلة. يمكن الحصول على قيم البكسل باستخدام `image_processor_class`. راجع `image_processor_class.__call__` للتفاصيل (`processor_class` يستخدم `image_processor_class` لمعالجة الصور).

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

encoder_outputs (`torch.Tensor`، *اختياري*) : Tuple يتكون من (`last_hidden_state`، *اختياري*: `hidden_states`، *اختياري*: `attentions`) `last_hidden_state` من الشكل `(batch_size, sequence_length, hidden_size)`، *اختياري*) هو تسلسل من حالات الخفاء عند مخرج الطبقة الأخيرة من المُشفِّر. يُستخدم في الانتباه المتقاطع (cross-attention) في المُفكِّك.

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

decoder_inputs_embeds (`torch.Tensor` من الشكل `(batch_size, num_queries, hidden_size)`، *اختياري*) : بدلاً من تهيئة الاستعلامات بمصفوفة من الأصفار، يمكنك اختيار تمرير تمثيل مضمّن مباشرةً.

labels (`list[Dict]` بطول `(batch_size,)`، *اختياري*) : تسميات لحساب خسارة المطابقة الثنائية. قائمة من القواميس، يحتوي كل قاموس على الأقل على المفتاحين التاليين: 'class_labels' و 'boxes' (تسميات الفئات وصناديق الحدود لصورة في الدفعة على التوالي). يجب أن تكون تسميات الفئات نفسها `torch.LongTensor` بطول `(number of bounding boxes in the image,)` وأن تكون الصناديق `torch.Tensor` بشكل `(number of bounding boxes in the image, 4)`.

**يعيد:** `PPDocLayoutV2ForObjectDetectionOutput` أو `tuple(torch.Tensor)`

`PPDocLayoutV2ForObjectDetectionOutput` أو مجموعة مرتبة من `torch.Tensor` (إذا تم تمرير `return_dict=False` أو عندما يكون `config.return_dict=False`) وتتضمن عناصر مختلفة اعتمادًا على الإعداد (`None`) والمدخلات.

تُعيد طريقة [PPDocLayoutV2ForObjectDetection](/docs/transformers/main/ar/model_doc/pp_doclayout_v2#transformers.PPDocLayoutV2ForObjectDetection) الخاصة بالتقديم (forward) تعريف الطريقة الخاصة `__call__`.

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

- **logits** (`torch.Tensor` من الشكل `(batch_size, num_queries, num_classes + 1)`) -- قيم التصنيف (تشمل فئة "لا يوجد كائن") لجميع الاستعلامات.
- **pred_boxes** (`torch.Tensor` من الشكل `(batch_size, num_queries, 4)`) -- إحداثيات صناديق مُطبَّعة لجميع الاستعلامات، ممثّلة على شكل (center_x, center_y, width, height). هذه القيم مُطبَّعة ضمن النطاق [0, 1]، نسبةً إلى حجم كل صورة فردية في الدفعة (مع تجاهل أي حشو محتمل). يمكنك استخدام [post_process_object_detection()](/docs/transformers/main/ar/model_doc/rt_detr#transformers.RTDetrImageProcessor.post_process_object_detection) لاسترجاع صناديق الحدود غير المُطبَّعة (المطلقة).
- **order_logits** (`tuple` من `torch.Tensor` من الشكل `(batch_size, num_queries, num_queries)`) -- قيم الترتيب (logits) لجميع الاستعلامات. البُعد الأول لكل متجه هو حجم الدفعة (batch size). البُعد الثاني هو عدد الاستعلامات.
- **last_hidden_state** (`torch.Tensor` من الشكل `(batch_size, num_queries, hidden_size)`) -- تسلسل من حالات الإخفاء عند مخرج الطبقة الأخيرة من فاحص النموذج.
- **intermediate_hidden_states** (`torch.Tensor` من الشكل `(batch_size, config.decoder_layers, num_queries, hidden_size)`) -- حالات مخفية وسيطة مكدسة (مخرجات كل طبقة من فاحم الشيفر).
- **intermediate_logits** (`torch.Tensor` من الشكل `(batch_size, config.decoder_layers, num_queries, config.num_labels)`) -- القيم اللوجستية الوسيطة المتراكمة (القيم اللوجستية لكل طبقة من طبقات المُفكِّك).
- **intermediate_reference_points** (`torch.Tensor` من الشكل `(batch_size, config.decoder_layers, num_queries, 4)`) -- نقاط مرجعية وسيطة مكدسة (نقاط مرجعية لكل طبقة من طبقات المُفكِّك).
- **intermediate_predicted_corners** (`torch.Tensor` من الشكل `(batch_size, config.decoder_layers, num_queries, 4)`) -- زوايا متوسطة متوقعة مكدّسة (الزوايا المتوقعة لكل طبقة من طبقات المُفكِّك).
- **initial_reference_points** (`torch.Tensor` من الشكل `(batch_size, config.decoder_layers, num_queries, 4)`) -- نقاط مرجعية أولية مكدسة (النقاط المرجعية الأولية لكل طبقة من طبقات المُفكِّك).
- **decoder_hidden_states** (`tuple[torch.Tensor]`, *اختياري*, يُعاد عند تمرير `output_hidden_states=True` أو عند `config.output_hidden_states=True`) -- مجموعة مرتبة من `torch.Tensor` (واحدة لمخرجات التضمينات، إذا كان النموذج يحتوي على طبقة تضمين، + واحدة لمخرجات كل طبقة) من الشكل `(batch_size, sequence_length, hidden_size)`.

  حالات المخفية (Hidden states) لمفكّك الترميز (decoder) عند مخرج كل طبقة بالإضافة إلى مخرجات التضمين الأولي (initial embedding).
- **decoder_attentions** (`tuple[torch.Tensor]`, *اختياري*, يُعاد عند تمرير `output_attentions=True` أو عند `config.output_attentions=True`) -- مجموعة مرتبة من `torch.Tensor` (واحدة لكل طبقة) بأبعاد `(batch_size, num_heads, sequence_length, sequence_length)`.

  أوزان الانتباه في المفكّك، بعد softmax الانتباه، المستخدمة لحساب المتوسط المرجّح في رؤوس الانتباه الذاتي.
- **cross_attentions** (`tuple[torch.Tensor]`, *اختياري*, يُعاد عند تمرير `output_attentions=True` أو عند `config.output_attentions=True`) -- مجموعة مرتبة من `torch.Tensor` (واحدة لكل طبقة) بأبعاد `(batch_size, num_heads, sequence_length, sequence_length)`.

  أوزان الانتباه في طبقة الانتباه المتقاطع للمفكّك، بعد softmax للانتباه، وتُستخدم لحساب المتوسط المرجّح في رؤوس الانتباه المتقاطع.
- **encoder_last_hidden_state** (`torch.Tensor` بشكل `(batch_size, sequence_length, hidden_size)`، *اختياري*) -- سلسلة من حالات الإخفاء عند مخرجات الطبقة الأخيرة من المُشفِّر في النموذج.
- **encoder_hidden_states** (`tuple[torch.Tensor]`, *اختياري*, يُعاد عند تمرير `output_hidden_states=True` أو عند `config.output_hidden_states=True`) -- مجموعة مرتبة من `torch.Tensor` (واحدة لمخرجات التضمينات، إذا كان النموذج يحتوي على طبقة تضمين، + واحدة لمخرجات كل طبقة) من الشكل `(batch_size, sequence_length, hidden_size)`.

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

  أوزان الانتباه للمُشفِّر، بعد softmax للانتباه، المُستخدَمة لحساب المتوسط الموزون في رؤوس الانتباه الذاتي.
- **init_reference_points** (`torch.Tensor` من الشكل `(batch_size, num_queries, 4)`) -- نقاط المرجع الأولية المُرسلة عبر مُفكِّك Transformer.
- **enc_topk_logits** (`torch.Tensor` من الشكل `(batch_size, sequence_length, config.num_labels)`، *اختياري*، يُعاد عند `config.with_box_refine=True` و`config.two_stage=True`) -- قيم اللوجيتات الخاصة بإحداثيات صناديق الحدود المتوقعة في المُشفِّر.
- **enc_topk_bboxes** (`torch.Tensor` من الشكل `(batch_size, sequence_length, 4)`، *اختياري*، يُعاد عند `config.with_box_refine=True` و`config.two_stage=True`) -- قيم اللوجيتات الخاصة بإحداثيات صناديق الحدود المتوقعة في المُشفِّر.
- **enc_outputs_class** (`torch.Tensor` من الشكل `(batch_size, sequence_length, config.num_labels)`، *اختياري*، يُعاد عند `config.with_box_refine=True` و`config.two_stage=True`) -- درجات الصناديق المحيطة المتوقعة حيث يتم اختيار أعلى `config.two_stage_num_proposals` صناديق محيطة من حيث الدرجات كإقتراحات مناطق في المرحلة الأولى. مخرجات التصنيف الثنائي للصناديق المحيطة (أي المقدمة والخلفية).
- **enc_outputs_coord_logits** (`torch.Tensor` من الشكل `(batch_size, sequence_length, 4)`، *اختياري*، يُعاد عند `config.with_box_refine=True` و`config.two_stage=True`) -- قيم اللوجيتات الخاصة بإحداثيات صناديق الحدود المتوقعة في المرحلة الأولى.
- **denoising_meta_values** (`dict`، *اختياري*) -- قاموس إضافي للقيم المتعلقة بإزالة الضوضاء

أمثلة:

```python
>>> from transformers import AutoModelForObjectDetection, AutoImageProcessor
>>> from PIL import Image
>>> from huggingface_hub.utils import httpx
>>> from io import BytesIO
>>> import torch

>>> url = "https://huggingface.co/datasets/hf-internal-testing/transformers-synthetic-assets/resolve/main/images/paddle_layout_demo.jpg"
>>> with httpx.stream("GET", url) as response:
...     image = Image.open(BytesIO(response.read()))

>>> model_path = "PaddlePaddle/PP-DocLayoutV2_safetensors"
>>> image_processor = AutoImageProcessor.from_pretrained(model_path)
>>> model = AutoModelForObjectDetection.from_pretrained(model_path)

>>> # prepare image for the model
>>> inputs = image_processor(images=[image], return_tensors="pt")

>>> # forward pass
>>> outputs = model(**inputs)

>>> # convert outputs (bounding boxes and class logits) to Pascal VOC format (xmin, ymin, xmax, ymax)
>>> results = image_processor.post_process_object_detection(outputs, target_sizes=torch.tensor([image.size[::-1]]))

>>> # print outputs
>>> for result in results:
...     for idx, (score, label_id, box) in enumerate(zip(result["scores"], result["labels"], result["boxes"])):
...         score, label = score.item(), label_id.item()
...         box = [round(i, 2) for i in box.tolist()]
...         print(f"Order {idx + 1}: {model.config.id2label[label]}: {score:.2f} {box}")
Order 1: text: 0.99 [335.39, 184.26, 896.49, 654.48]
Order 2: paragraph_title: 0.97 [337.14, 683.49, 869.42, 798.27]
Order 3: text: 0.99 [335.71, 843.04, 891.17, 1454.15]
Order 4: text: 0.99 [920.42, 185.53, 1476.39, 464.25]
Order 5: text: 0.98 [920.62, 483.75, 1480.52, 765.34]
Order 6: text: 0.98 [920.58, 846.75, 1481.94, 1220.53]
Order 7: text: 0.97 [921.12, 1239.27, 1468.87, 1377.33]
Order 8: footnote: 0.82 [334.58, 1614.67, 1483.84, 1731.61]
Order 9: text: 0.51 [334.58, 1614.67, 1483.84, 1731.61]
Order 10: footnote: 0.83 [334.7, 1757.26, 1471.07, 1845.33]
Order 11: text: 0.87 [336.65, 1910.28, 661.33, 1939.92]
Order 12: footnote: 0.95 [336.16, 2114.52, 1450.28, 2171.74]
Order 13: number: 0.87 [106.04, 2257.37, 136.05, 2281.98]
Order 14: footer: 0.93 [338.6, 2255.94, 985.67, 2283.57]
```

## PPDocLayoutV2Model[[transformers.PPDocLayoutV2Model]]

#### transformers.PPDocLayoutV2Model[[transformers.PPDocLayoutV2Model]]

```python
transformers.PPDocLayoutV2Model(config: PPDocLayoutV2Config)
```

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

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

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

نموذج PP-DocLayoutV2 (المكوّن من هيكل أساسي ومشفّر-مفكّك) الذي يُخرج حالات مخفية خام دون أي رأس في الأعلى.

يرث هذا النموذج من [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.PPDocLayoutV2Model.forward]]

```python
forward(pixel_values: Tensor, pixel_mask: typing.Optional[torch.LongTensor] = None, encoder_outputs: typing.Optional[torch.Tensor] = None, inputs_embeds: typing.Optional[torch.Tensor] = None, labels: list[dict] | None = None, **kwargs: *<class 'transformers.utils.generic.TransformersKwargs'>)
```

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

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

pixel_values (`torch.Tensor` من الشكل `(batch_size, num_channels, image_size, image_size)`) : المصفوفات المتناظرة مع الصور المدخلة. يمكن الحصول على قيم البكسل باستخدام `image_processor_class`. راجع `image_processor_class.__call__` للتفاصيل (`processor_class` يستخدم `image_processor_class` لمعالجة الصور).

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

encoder_outputs (`torch.Tensor`، *اختياري*) : Tuple يتكون من (`last_hidden_state`، *اختياري*: `hidden_states`، *اختياري*: `attentions`) `last_hidden_state` من الشكل `(batch_size, sequence_length, hidden_size)`، *اختياري*) هو تسلسل من حالات الخفاء عند مخرج الطبقة الأخيرة من المُشفِّر. يُستخدم في الانتباه المتقاطع (cross-attention) في المُفكِّك.

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

labels (`list[Dict]` بطول `(batch_size,)`، *اختياري*) : تسميات لحساب خسارة المطابقة الثنائية. قائمة من القواميس، يحتوي كل قاموس على الأقل على المفتاحين التاليين: 'class_labels' و 'boxes' (تسميات الفئات وصناديق الحدود لصورة في الدفعة على التوالي). يجب أن تكون تسميات الفئات نفسها `torch.LongTensor` بطول `(number of bounding boxes in the image,)` وأن تكون الصناديق `torch.Tensor` بشكل `(number of bounding boxes in the image, 4)`.

**يعيد:** `PPDocLayoutV2ModelOutput` أو `tuple(torch.Tensor)`

A `PPDocLayoutV2ModelOutput` or a tuple of `torch.Tensor` (if `return_dict=False` is passed or when `config.return_dict=False`) comprising various elements depending on the configuration (`None`) and inputs.

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

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

- **last_hidden_state** (`torch.Tensor` من الشكل `(batch_size, num_queries, hidden_size)`) -- تسلسل من حالات الإخفاء عند مخرج الطبقة الأخيرة من فاحص النموذج.
- **intermediate_hidden_states** (`torch.Tensor` من الشكل `(batch_size, config.decoder_layers, num_queries, hidden_size)`) -- حالات مخفية وسيطة مكدسة (مخرجات كل طبقة من فاحم الشيفر).
- **intermediate_logits** (`torch.Tensor` من الشكل `(batch_size, config.decoder_layers, sequence_length, config.num_labels)`) -- القيم اللوجستية الوسيطة المتراكمة (القيم اللوجستية لكل طبقة من طبقات المُفكِّك).
- **intermediate_reference_points** (`torch.Tensor` من الشكل `(batch_size, config.decoder_layers, num_queries, 4)`) -- نقاط مرجعية وسيطة مكدسة (نقاط مرجعية لكل طبقة من طبقات المُفكِّك).
- **intermediate_predicted_corners** (`torch.Tensor` من الشكل `(batch_size, config.decoder_layers, num_queries, 4)`) -- زوايا متوسطة متوقعة مكدّسة (الزوايا المتوقعة لكل طبقة من طبقات المُفكِّك).
- **initial_reference_points** (`torch.Tensor` من الشكل `(batch_size, num_queries, 4)`) -- نقاط المرجع الأولية المستخدمة لطبقة فك الترميز الأولى.
- **decoder_hidden_states** (`tuple[torch.Tensor]`, *اختياري*, يُعاد عند تمرير `output_hidden_states=True` أو عند `config.output_hidden_states=True`) -- مجموعة مرتبة من `torch.Tensor` (واحدة لمخرجات التضمينات، إذا كان النموذج يحتوي على طبقة تضمين، + واحدة لمخرجات كل طبقة) من الشكل `(batch_size, sequence_length, hidden_size)`.

  حالات المخفية (Hidden states) لمفكّك الترميز (decoder) عند مخرج كل طبقة بالإضافة إلى مخرجات التضمين الأولي (initial embedding).
- **decoder_attentions** (`tuple[torch.Tensor]`, *اختياري*, يُعاد عند تمرير `output_attentions=True` أو عند `config.output_attentions=True`) -- مجموعة مرتبة من `torch.Tensor` (واحدة لكل طبقة) بأبعاد `(batch_size, num_heads, sequence_length, sequence_length)`.

  أوزان الانتباه في المفكّك، بعد softmax الانتباه، المستخدمة لحساب المتوسط المرجّح في رؤوس الانتباه الذاتي.
- **cross_attentions** (`tuple[torch.Tensor]`, *اختياري*, يُعاد عند تمرير `output_attentions=True` أو عند `config.output_attentions=True`) -- مجموعة مرتبة من `torch.Tensor` (واحدة لكل طبقة) بأبعاد `(batch_size, num_heads, sequence_length, sequence_length)`.

  أوزان الانتباه في طبقة الانتباه المتقاطع للمفكّك، بعد softmax للانتباه، وتُستخدم لحساب المتوسط المرجّح في رؤوس الانتباه المتقاطع.
- **encoder_last_hidden_state** (`torch.Tensor` بشكل `(batch_size, sequence_length, hidden_size)`، *اختياري*) -- سلسلة من حالات الإخفاء عند مخرجات الطبقة الأخيرة من المُشفِّر في النموذج.
- **encoder_hidden_states** (`tuple[torch.Tensor]`, *اختياري*, يُعاد عند تمرير `output_hidden_states=True` أو عند `config.output_hidden_states=True`) -- مجموعة مرتبة من `torch.Tensor` (واحدة لمخرجات التضمينات، إذا كان النموذج يحتوي على طبقة تضمين، + واحدة لمخرجات كل طبقة) من الشكل `(batch_size, sequence_length, hidden_size)`.

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

  أوزان الانتباه للمُشفِّر، بعد softmax للانتباه، المُستخدَمة لحساب المتوسط الموزون في رؤوس الانتباه الذاتي.
- **init_reference_points** (`torch.Tensor` من الشكل `(batch_size, num_queries, 4)`) -- نقاط المرجع الأولية المُرسلة عبر مُفكِّك Transformer.
- **enc_topk_logits** (`torch.Tensor` من الشكل `(batch_size, sequence_length, config.num_labels)`) -- درجات الصناديق المحيطة المتوقعة، حيث يتم اختيار الصناديق المحيطة الأعلى تقييماً وعددها `config.two_stage_num_proposals` كإقتراحات مناطق في مرحلة المُشفِّر. مخرجات التصنيف الثنائي للصناديق المحيطة (أي المقدمة والخلفية).
- **enc_topk_bboxes** (`torch.Tensor` من الشكل `(batch_size, sequence_length, 4)`) -- قيم اللوجيتات لإحداثيات صناديق الحدود المتوقعة في مرحلة المُشفِّر.
- **enc_outputs_class** (`torch.Tensor` من الشكل `(batch_size, sequence_length, config.num_labels)`، *اختياري*، يُعاد عند `config.with_box_refine=True` و`config.two_stage=True`) -- درجات الصناديق المحيطة المتوقعة حيث يتم اختيار أعلى `config.two_stage_num_proposals` صناديق محيطة من حيث الدرجات كإقتراحات مناطق في المرحلة الأولى. مخرجات التصنيف الثنائي للصناديق المحيطة (أي المقدمة والخلفية).
- **enc_outputs_coord_logits** (`torch.Tensor` من الشكل `(batch_size, sequence_length, 4)`، *اختياري*، يُعاد عند `config.with_box_refine=True` و`config.two_stage=True`) -- قيم اللوجيتات الخاصة بإحداثيات صناديق الحدود المتوقعة في المرحلة الأولى.
- **denoising_meta_values** (`dict`، *اختياري*) -- قاموس إضافي للقيم المتعلقة بإزالة الضوضاء.

أمثلة:

```python
>>> from transformers import AutoImageProcessor, PPDocLayoutV2Model
>>> from PIL import Image
>>> from huggingface_hub.utils import httpx
>>> from io import BytesIO

>>> url = "http://images.cocodataset.org/val2017/000000039769.jpg"
>>> with httpx.stream("GET", url) as response:
...     image = Image.open(BytesIO(response.read()))

>>> image_processor = AutoImageProcessor.from_pretrained("PekingU/PPDocLayoutV2_r50vd")
>>> model = PPDocLayoutV2Model.from_pretrained("PekingU/PPDocLayoutV2_r50vd")

>>> inputs = image_processor(images=image, return_tensors="pt")

>>> outputs = model(**inputs)

>>> last_hidden_states = outputs.last_hidden_state
>>> list(last_hidden_states.shape)
[1, 300, 256]
```

## PPDocLayoutV2ReadingOrder[[transformers.PPDocLayoutV2ReadingOrder]]

#### transformers.PPDocLayoutV2ReadingOrder[[transformers.PPDocLayoutV2ReadingOrder]]

```python
transformers.PPDocLayoutV2ReadingOrder(config: PPDocLayoutV2Config)
```

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

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

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

نموذج PP-DocLayoutV2 ReadingOrder. يتكون هذا النموذج من مُشفِّر ورأس GlobalPointer. يستقبل ميزات التخطيط كمدخلات ويخرج قيم 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.PPDocLayoutV2ReadingOrder.forward]]

```python
forward(boxes, labels = None, mask = None, **kwargs: *<class 'transformers.utils.generic.TransformersKwargs'>)
```

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

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

boxes (`torch.Tensor` من الشكل `(batch_size, sequence_length, 4)`) : إحداثيات صناديق الحدود للعناصر التخطيطية المكتشفة **على مقياس [0, 1000]**. التنسيق هو `[x_min, y_min, x_max, y_max]`. يحتوي الموتر عادةً على صناديق صالحة مرتبة تليها تعبئة صفراً.

labels (`torch.Tensor` من الشكل `(batch_size, sequence_length)`، *اختياري*) : فئات **المُعاد تعيينها** لكل عنصر في التخطيط. هذه ليست بالضرورة معرفات فئات الكشف الخام، بل هي فهارس مُعاد تعيينها عبر `config.class_order` (على سبيل المثال، تعيين النص/العنوان/الشكل إلى معرفات فئات ترتيب القراءة المحدد).

mask (`torch.Tensor` من الشكل `(batch_size, sequence_length)`، *اختياري*) : قناع منطقي أو ثنائي يحدد العناصر الصالحة التي تم اكتشافها بعد التصفية حسب العتبة. - True: عنصر تخطيط صالح. - False: عنصر حشو/فارغ. يُستخدم لتحديد طول التسلسل (`num_pred`) لآلية المؤشر.

تُعيد طريقة [PPDocLayoutV2ReadingOrder](/docs/transformers/main/ar/model_doc/pp_doclayout_v2#transformers.PPDocLayoutV2ReadingOrder) الخاصة بالتقديم (forward) تعريف الطريقة الخاصة `__call__`.

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

## PPDocLayoutV2ImageProcessor[[transformers.PPDocLayoutV2ImageProcessor]]

#### transformers.PPDocLayoutV2ImageProcessor[[transformers.PPDocLayoutV2ImageProcessor]]

```python
transformers.PPDocLayoutV2ImageProcessor(**kwargs: *<class 'transformers.processing_utils.ImagesKwargs'>)
```

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

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

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' : 800, 'width': 800}`): يصف الأبعاد القصوى للإدخال إلى النموذج.

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*، القيمة الافتراضية `3`) : مرشح إعادة العينة المستخدم عند تغيير حجم الصورة. يمكن أن يكون أحد قيم enum `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, 0, 0]`) : متوسط الصورة المستخدم للتطبيع. لا يكون له تأثير إلا إذا تم تعيين `do_normalize` إلى `True`.

image_std (`Union[float, list[float], tuple[float, ...]]`، *kwargs*، *اختياري*، القيمة الافتراضية `[1, 1, 1]`) : الانحراف المعياري للصورة المستخدم للتطبيع. لا يكون له أي تأثير إلا إذا تم تعيين `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*، *optional*) : عدد رموز الصور المستخدمة لكل صورة في المدخلات. أُضيف للتوافق الرجعي، لكن ينبغي ضبطه كخاصية للمعالج في النماذج المستقبلية. يعيد تينسورات مكدسة إذا ضُبط على `'pt'`، وإلا يعيد قائمة من التينسورات.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

يعيد تينسورات مكدسة إذا تم ضبطه على `'pt'`، وإلا يعيد قائمة من التينسورات. --

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

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

#### preprocess[[transformers.PPDocLayoutV2ImageProcessor.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']], *args, image_like_kwargs: dict[str, typing.Any] | None = None, **kwargs: *<class 'transformers.processing_utils.ImagesKwargs'>)
```

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

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

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`.

image_like_kwargs (`dict[str, Any]`، *اختياري*) : علم مخصص للمطورين لإدخال مدخلات إضافية تشبه الصور والتي سيتم معالجتها مسبقًا أيضًا. استخدم هذا الخيار فقط إذا لم يعمل تمرير المدخلات كحجة اسمية (kwarg). على سبيل المثال، يُعد `preprocess(images, masks=masks)` الخيار المفضل، لكنه يؤدي إلى مشاكل في أولوية الحجة لبعض النماذج. في تلك الحالات، يمكن استخدام `preprocess(images, image_like_inputs={"masks": masks})` بدلاً منه.

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

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

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

معالجة صورة أو دفعة من الصور مسبقًا.

