# PP-Chart2Table

## نظرة عامة

**PP-Chart2Table** هو نموذج متعدد الوسائط من الطراز الأحدث (SOTA) طورته فريق PaddlePaddle، ويتخصص في تحليل الرسوم البيانية باللغتين الصينية والإنجليزية. يعتمد أداءه العالي على مهمة تدريب جديدة تُسمى "استرجاع بيانات الرسوم البيانية المُبعثرة" (Shuffled Chart Data Retrieval)، والتي، عند دمجها مع استراتيجية تحسين لإخفاء الرموز (token masking)، تحسّن بشكل كبير كفاءته في تحويل الرسوم البيانية إلى جداول بيانات. كما يُعزَّز النموذج عبر خط أنابيب متقدم لتوليد البيانات الاصطناعية، يستخدم بيانات بذرة عالية الجودة، وتقنية RAG، وتصميم شخصيات (persona) لنماذج اللغة الكبيرة (LLMs) لإنشاء مجموعة تدريب أغنى وأكثر تنوعًا. وللتعامل مع تحدي البيانات غير الموسومة واسعة النطاق والخارجة عن التوزيع (OOD)، نفّذ الفريق عملية تقطير (distillation) على مرحلتين، مما يضمن قابلية تكيّف قوية وتعميمًا أفضل على البيانات الواقعية.

## بنية النموذج 
يعتمد PP-Chart2Table على بنية دمج متعددة الوسائط تجمع بين برج الرؤية لاستخراج ميزات المخططات ونموذج اللغة لتوليد بنية الجدول، مما يتيح التحويل من المخطط إلى الجدول من البداية إلى النهاية.

## الاستخدام

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

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

```python
from transformers import pipeline

pipe = pipeline("image-text-to-text", model="PaddlePaddle/PP-Chart2Table_safetensors")

# PPChart2TableProcessor uses hardcoded "Chart to table" instruction internally via chat template
conversation = [
    {
        "role": "user",
        "content": [
            {
                "type": "image",
                "url": "https://huggingface.co/datasets/hf-internal-testing/transformers-synthetic-assets/resolve/main/images/paddle_chart_parsing_02.png",
            },
        ],
    },
]
result = pipe(text=conversation)
print(result[0]["generated_text"])
```

```python
from transformers import AutoModelForImageTextToText, AutoProcessor

model_path = "PaddlePaddle/PP-Chart2Table_safetensors"
model = AutoModelForImageTextToText.from_pretrained(
    model_path,
    device_map="auto",
)
processor = AutoProcessor.from_pretrained(model_path)

# PPChart2TableProcessor uses hardcoded "Chart to table" instruction internally via chat template
conversation = [
    {
        "role": "user",
        "content": [
            {
                "type": "image",
                "url": "https://huggingface.co/datasets/hf-internal-testing/transformers-synthetic-assets/resolve/main/images/paddle_chart_parsing_02.png",
            },
        ],
    },
]

inputs = processor.apply_chat_template(
    conversation,
    tokenize=True,
    add_generation_prompt=True,
    truncation=True,
    return_dict=True,
    return_tensors="pt",
).to(model.device)

generated_ids = model.generate(**inputs, do_sample=False, max_new_tokens=256)
generated_ids_trimmed = [out_ids[len(in_ids) :] for in_ids, out_ids in zip(inputs.input_ids, generated_ids)]
result = processor.batch_decode(generated_ids_trimmed, skip_special_tokens=True, clean_up_tokenization_spaces=False)
print(result)
```

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

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

```python
from transformers import pipeline

pipe = pipeline("image-text-to-text", model="PaddlePaddle/PP-Chart2Table_safetensors")

# PPChart2TableProcessor uses hardcoded "Chart to table" instruction internally via chat template
conversation = [
    {
        "role": "user",
        "content": [
            {
                "type": "image",
                "url": "https://huggingface.co/datasets/hf-internal-testing/transformers-synthetic-assets/resolve/main/images/paddle_chart_parsing_02.png",
            },
        ],
    },
]
result = pipe(text=[conversation, conversation])
print(result[0][0]["generated_text"])
```

```python
from transformers import AutoModelForImageTextToText, AutoProcessor

model_path = "PaddlePaddle/PP-Chart2Table_safetensors"
model = AutoModelForImageTextToText.from_pretrained(
    model_path,
    device_map="auto",
)
processor = AutoProcessor.from_pretrained(model_path)

# PPChart2TableProcessor uses hardcoded "Chart to table" instruction internally via chat template
conversation = [
    {
        "role": "user",
        "content": [
            {
                "type": "image",
                "url": "https://huggingface.co/datasets/hf-internal-testing/transformers-synthetic-assets/resolve/main/images/paddle_chart_parsing_02.png",
            },
        ],
    },
]

batch_conversation = [conversation, conversation]
inputs = processor.apply_chat_template(
    batch_conversation,
    tokenize=True,
    add_generation_prompt=True,
    truncation=True,
    return_dict=True,
    return_tensors="pt",
).to(model.device)

generated_ids = model.generate(**inputs, do_sample=False, max_new_tokens=256)
generated_ids_trimmed = [out_ids[len(in_ids) :] for in_ids, out_ids in zip(inputs.input_ids, generated_ids)]
result = processor.batch_decode(generated_ids_trimmed, skip_special_tokens=True, clean_up_tokenization_spaces=False)
print(result)
```

## PPChart2TableConfig[[transformers.PPChart2TableConfig]]

#### transformers.PPChart2TableConfig[[transformers.PPChart2TableConfig]]

```python
transformers.PPChart2TableConfig(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, vision_config: dict | transformers.configuration_utils.PreTrainedConfig | None = None, text_config: dict | transformers.configuration_utils.PreTrainedConfig | None = None, image_token_index: int = 151859, image_seq_length: int = 576, tie_word_embeddings: bool = True)
```

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

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

vision_config (`Union[dict, ~configuration_utils.PreTrainedConfig]`، *اختياري*) : كائن الإعداد أو قاموس العمود الفقري البصري.

text_config (`Union[dict, ~configuration_utils.PreTrainedConfig]`، *اختياري*) : كائن الإعداد أو قاموس العمود الفقري النصي.

image_token_index (`int`، *اختياري*، القيمة الافتراضية `151859`) : فهرس رمز الصورة المستخدم كعنصر نائب لصور الإدخال.

image_seq_length (`int`، *اختياري*، القيمة الافتراضية `576`) : طول تسلسل تضمين صورة واحدة.

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

هذه فئة الإعدادات (configuration class) لتخزين إعدادات نموذج Pp Chart2TableModel. تُستخدم لاستحداث نموذج Pp Chart2Table وفقاً للحجج المحددة، مع تعريف بنية النموذج. إن استحداث إعدادات باستخدام القيم الافتراضية سيؤدي إلى الحصول على إعدادات مشابهة لتلك الخاصة بـ [PaddlePaddle/PP-Chart2Table_safetensors](https://huggingface.co/PaddlePaddle/PP-Chart2Table_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 GotOcr2ForConditionalGeneration, PPChart2TableConfig

>>> # Initializing a PPChart2Table style configuration
>>> configuration = PPChart2TableConfig()

>>> # Initializing a model from the PaddlePaddle/PP-Chart2Table_safetensors style configuration
>>> model = GotOcr2ForConditionalGeneration(configuration)  # underlying architecture is Got Ocr 2

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

## PPChart2TableVisionConfig[[transformers.PPChart2TableVisionConfig]]

#### transformers.PPChart2TableVisionConfig[[transformers.PPChart2TableVisionConfig]]

```python
transformers.PPChart2TableVisionConfig(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, hidden_size: int = 768, output_channels: int = 256, num_hidden_layers: int = 12, num_attention_heads: int = 12, num_channels: int = 3, image_size: int | list[int] | tuple[int, int] = 1024, patch_size: int | list[int] | tuple[int, int] = 16, hidden_act: str = 'gelu', layer_norm_eps: float = 1e-06, attention_dropout: float | int = 0.0, initializer_range: float = 1e-10, qkv_bias: bool = True, use_abs_pos: bool = True, use_rel_pos: bool = True, window_size: int = 14, global_attn_indexes: list[int] | tuple[int, ...] = (2, 5, 8, 11), mlp_dim: int = 3072)
```

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

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

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

output_channels (`int`، *اختياري*، القيمة الافتراضية 256) : بُعد قنوات الإخراج في Patch Encoder.

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

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

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

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

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

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

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

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

initializer_range (`float`, *اختياري*, القيمة الافتراضية `1e-10`) : انحراف المعيار لـ truncated_normal_initializer لتهيئة جميع مصفوفات الأوزان.

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

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

use_rel_pos (`bool`، *اختياري*، الافتراضي `True`) : ما إذا كان سيتم استخدام تضمين الموضع النسبي.

window_size (`int`، *اختياري*، القيمة الافتراضية 14) : حجم النافذة للموضع النسبي.

global_attn_indexes (`list[int]`، *اختياري*، القيمة الافتراضية `[2, 5, 8, 11]`) : فهارس طبقات الانتباه الشامل.

mlp_dim (`int`، *اختياري*، القيمة الافتراضية 3072) : بُعد طبقة MLP في مُشفِّر Transformer.

هذه فئة الإعدادات (configuration class) لتخزين إعدادات نموذج Pp Chart2TableModel. تُستخدم لاستحداث نموذج Pp Chart2Table وفقاً للحجج المحددة، مع تعريف بنية النموذج. إن استحداث إعدادات باستخدام القيم الافتراضية سيؤدي إلى الحصول على إعدادات مشابهة لتلك الخاصة بـ [facebook/sam-vit-huge](https://huggingface.co/facebook/sam-vit-huge)

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

## PPChart2TableImageProcessor[[transformers.PPChart2TableImageProcessor]]

#### transformers.PPChart2TableImageProcessor[[transformers.PPChart2TableImageProcessor]]

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

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

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

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

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.48145466, 0.4578275, 0.40821073]`) : متوسط الصورة المستخدم للتطبيع. لا يكون له تأثير إلا إذا تم تعيين `do_normalize` إلى `True`.

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

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

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

## PPChart2TableImageProcessorPil[[transformers.PPChart2TableImageProcessorPil]]

#### transformers.PPChart2TableImageProcessorPil[[transformers.PPChart2TableImageProcessorPil]]

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

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

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

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

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.48145466, 0.4578275, 0.40821073]`) : متوسط الصورة المستخدم للتطبيع. لا يكون له تأثير إلا إذا تم تعيين `do_normalize` إلى `True`.

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

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

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

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

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

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

## PPChart2TableProcessor[[transformers.PPChart2TableProcessor]]

#### transformers.PPChart2TableProcessor[[transformers.PPChart2TableProcessor]]

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

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

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

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

tokenizer (`tokenizer_class`) : مُجزِّئ النص (tokenizer) هو مدخل إلزامي.

chat_template (`str`) : قالب Jinja لتحويل قوائم الرسائل في المحادثة إلى نص قابل للتحويم.

ينشئ PPChart2TableProcessor الذي يغلّف معالج صور ومُرمِّزًا في معالج واحد.

يوفر [PPChart2TableProcessor](/docs/transformers/main/ar/model_doc/pp_chart2table#transformers.PPChart2TableProcessor) جميع وظائف [PPChart2TableImageProcessor](/docs/transformers/main/ar/model_doc/pp_chart2table#transformers.PPChart2TableImageProcessor) و`tokenizer_class`. راجع [~PPChart2TableImageProcessor](/docs/transformers/main/ar/model_doc/pp_chart2table#transformers.PPChart2TableImageProcessor) و`~tokenizer_class` لمزيد من المعلومات.

