Transformers documentation

PP-DocLayoutV4

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v5.22.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

تمت مساهمة هذا النموذج في Hugging Face Transformers في 2026-10-08.

PP-DocLayoutV4

نظرة عامة

PP-DocLayoutV4 هو نموذج لتحليل تخطيط المستندات من البداية إلى النهاية، يتنبأ في تمريرة أمامية واحدة بما هو عليه كل عنصر من عناصر التخطيط، والمربع الرباعي الذي يحيط به، والقيم الاحتمالية (logits) التي يُفكَّك منها ترتيب القراءة.

بنية النموذج

يحافظ PP-DocLayoutV4 على هيكل RT-DETR الخاص بسلفه — وهو عمود فقري HGNetV2، ومشفّر هجين AIFI، ومفكّك قابل للتشوه — ويغيّر ثلاثة أشياء:

  • أرباع بدل الأقنعة. PPDocLayoutV3ForObjectDetection كان يتنبأ بقناع تجزئة لكل استعلام ويلائم مضلّعًا عليه. تخلت PP-DocLayoutV4 عن فرع القناع بالكامل وتعيد الانحدار مباشرةً على رباعي من أربع نقاط، مشفَّرًا على شكل [center_x, center_y, dx1, dy1, ..., dx4, dy4] في فضاء sigmoid. يتعامل هذا مع المستندات المائلة والمُشوَّهة منظوريًا دون الحاجة إلى رأس قناع، ولم تعد هناك حاجة إلى ميزة العمود الفقري ذات الخطوة 4.
  • رؤوس غير مشتركة لكل طبقة. تمتلك كل طبقة من طبقات المُفكِّك (decoder) صندوقها ورأس تصنيفها الخاص بدلاً من مشاركة رأس واحد مع المُرمِّز (encoder).
  • رأسان لترتيب القراءة بالإضافة إلى خطوة دمج. إلى جانب رأس الترتيب النسبي من V3 (غير متماثل: «هل يُقرأ i قبل j؟») يوجد رأس المتتالي (ROOR: «هل يتبع j مباشرةً i؟»). يقوم PPDocLayoutV4S2RFusion بدمج الإغلاق الانتقالي المخفَّض لمصفوفة المتتالي في قيم الاحتمال (logits) الخاصة بالترتيب النسبي.

لا يتم فك ترميز ترتيب القراءة داخل النموذج. يعيد PPDocLayoutV4ForObjectDetection القيم الخام لـ relative_order_logits وsuccessor_order_logits، ثم تحوّلها post_process_object_detection() إلى رتب عن طريق تحديد عتبة لمصفوفة اللاحق لتحويلها إلى رسم بياني موجّه غير دائري (DAG)، وكسر الدورات، وفرز كل مكوّن متصل ترتيبياً، وترتيب المكوّنات وفقاً لأصوات ترتيبها النسبي.

الاستخدام

تكون النتائج التي تُرجعها post_process_object_detection() مرتبة مسبقاً حسب ترتيب القراءة. تحمل كل نتيجة polygon_points — وهو متجه (num_boxes, 4, 2) يحتوي على الزوايا المُعاد تقديرها بالترتيب: أعلى اليسار، أعلى اليمين، أسفل اليمين، أسفل اليسار — بالإضافة إلى boxes، وهو المستطيل المحاذي للمحاور الذي يحيط بكل شكل رباعي، وorder_seq، وهو الترتيب الصفر الأساس لكل صندوق. يطبع المثال أدناه باستخدام AutoModel قيمة order_seq مباشرة، بينما تطبع الأمثلة الأخرى الموضع ذي الأساس الواحد في القائمة المرتبة، وهو order_seq + 1 ما لم يُحتفظ باستعلام واحد تحت عدة تسميات.

خط أنابيب
AutoModel

يحافظ Pipeline على ترتيب القراءة في ترتيب القائمة المُعادَة، لكنه يسطّح كل كشف إلى درجة، وتسمية، وصندوق إحاطة صحيح. استخدم مسار AutoModel أدناه للحصول على الأشكال الرباعية وorder_seq.

from transformers import pipeline
from transformers.image_utils import load_image


image = load_image("https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/layout_demo.jpg")
layout_detector = pipeline("object-detection", model="PaddlePaddle/PP-DocLayoutV4_safetensors")
results = layout_detector(image)
for idx, res in enumerate(results):
    print(f"Order {idx + 1}: {res}")

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

مرر قائمة من الصور وحجمًا مستهدفًا واحدًا لكل صورة. يتم فك ترميز ترتيب القراءة لكل صورة على حدة.

from transformers import AutoImageProcessor, AutoModelForObjectDetection
from transformers.image_utils import load_image


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

image = load_image("https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/layout_demo.jpg")
inputs = image_processor(images=[image, image], return_tensors="pt").to(device=model.device, dtype=model.dtype)

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

PPDocLayoutV4ForObjectDetection

فئة transformers.PPDocLayoutV4ForObjectDetection

< >

( config: PPDocLayoutV4Config )

المعاملات

  • config (PPDocLayoutV4Config) — فئة إعدادات النموذج التي تحتوي على جميع معاملات النموذج. لا يؤدي التهيئة باستخدام ملف الإعدادات إلى تحميل الأوزان المرتبطة بالنموذج، بل الإعدادات فقط. راجع طريقة from_pretrained() لتحميل أوزان النموذج.

نموذج PP-DocLayoutV4 (المكوّن من هيكل أساسي ومشفّر-فكّاش) الذي يُخرج أرباع الأضلاع، وقيم الاحتمالات للفئات، وقيم الاحتمالات لترتيب القراءة، لمهام مثل تحليل تخطيط المستندات.

يرث هذا النموذج من PreTrainedModel. راجع توثيق الفئة الأصلية لمعرفة الطرق العامة التي تنفذها المكتبة لجميع نماذجها (مثل التحميل أو الحفظ، وتغيير حجم تضمينات الإدخال، وقص الرؤوس، وما إلى ذلك).

هذا النموذج هو أيضًا فئة فرعية من torch.nn.Module في PyTorch. استخدمه كوحدة PyTorch عادية، وارجع إلى توثيق PyTorch لكل ما يتعلق بالاستخدام العام والسلوك.

forward

< >

( pixel_values: Tensorpixel_mask: typing.Optional[torch.LongTensor] = Noneencoder_outputs: typing.Optional[torch.Tensor] = Nonelabels: list[dict] | None = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → PPDocLayoutV4ForObjectDetectionOutput or tuple(torch.Tensor)

المعاملات

  • 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 للبكسلات المعبأة (أي المقنعة). ما هي أقنعة الانتباه؟ [0, 1]:
    • 1 للبيكسلات الحقيقية (أي غير المقنّعة)،
    • 0 للبيكسلات التي تمثل حشواً (أي مقنّعة).

    ما هي أقنعة الانتباه؟

  • encoder_outputs (torch.Tensor، اختياري) — مجموعة مرتبة تتكون من (last_hidden_state، اختياري: hidden_states، اختياري: attentions) last_hidden_state من الشكل (batch_size, sequence_length, hidden_size)، اختياري) هو تسلسل من حالات المخفية عند مخرج الطبقة الأخيرة من المشفر. يُستخدم في الانتباه المتقاطع (cross-attention) في المُفكِّك.
  • labels (list[Dict] بطول (batch_size,)، اختياري) — غير مدعوم: PP-DocLayoutV4 للاستدلال فقط في Transformers.

يعيد

PPDocLayoutV4ForObjectDetectionOutput أو tuple(torch.Tensor)

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

تتجاوز طريقة PPDocLayoutV4ForObjectDetection الخاصة بالتقديم (forward) الطريقة الخاصة __call__.

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

  • logits (torch.Tensor من الشكل (batch_size, num_queries, config.num_labels)) — قيم التصنيف (logits) (بدون عنصر "لا يوجد كائن") لجميع الاستعلامات.

  • pred_boxes (torch.Tensor من الشكل (batch_size, num_queries, config.num_coords)) — أرباع مُعايرة لجميع الاستعلامات، مُرمّزة على شكل [center_x, center_y, dx1, dy1, ..., dx4, dy4] حيث تُزاح إزاحات الزوايا بمقدار +0.5. استخدم post_process_object_detection() لاسترجاع الزوايا غير المعايرة وصناديقها المحيطة.

  • 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_reference_points (torch.Tensor of shape (batch_size, config.decoder_layers, num_queries, config.num_coords)) — نقاط مرجعية وسيطة مكدّسة (أشكال رباعية محسّنة لكل طبقة من طبقات المُفكِّك).

  • 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, config.num_coords)) — نقاط مرجعية رباعية أولية تُرسل عبر مُفكِّك Transformer.

  • enc_topk_logits (torch.Tensor من الشكل (batch_size, num_queries, config.num_labels)) — قيم logits لفئات مقترحات المُشفِّر التي تم اختيارها كاستعلامات للمُفكِّك.

  • enc_topk_bboxes (torch.Tensor من الشكل (batch_size, num_queries, config.num_coords)) — رباعيات مقترحات المُشفِّر التي تم اختيارها كاستعلامات للمُفكِّك.

  • enc_outputs_class (torch.Tensor من الشكل (batch_size, sequence_length, config.num_labels)) — قيم التصنيف (logits) لكل اقتراح من مقترحات المُشفِّر.

  • enc_outputs_coord_logits (torch.Tensor من الشكل (batch_size, sequence_length, config.num_coords)) — قيم logits الرباعية لكل اقتراح من مقترحات المُشفِّر.

  • denoising_meta_values (dict، اختياري) — قاموس إضافي للقيم المتعلقة بإزالة الضوضاء.

  • relative_order_logits (torch.Tensor من الشكل (batch_size, config.num_queries, config.num_queries)) — قيم الاحتمال (Logits) لترتيب القراءة النسبي بين كل زوج، بعد دمج S2R الاختياري. القيمة الموجبة لـrelative_order_logits[i, j] تعني أن الاستعلام i يُقرأ قبل الاستعلام j.

  • successor_order_logits (torch.Tensor من الشكل (batch_size, config.num_queries, config.num_queries)) — قيم الاحتمال (logits) المباشرة للأزواج المتعاقبة (ROOR). القيمة الموجبة لـsuccessor_order_logits[i, j] تعني أن الاستعلام j يتبع مباشرةً الاستعلام i.

أمثلة:

>>> from transformers import AutoImageProcessor, AutoModelForObjectDetection
>>> from PIL import Image
>>> import httpx
>>> from io import BytesIO

>>> url = "https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/layout_demo.jpg"
>>> with httpx.stream("GET", url) as response:
...     image = Image.open(BytesIO(response.read()))

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

>>> inputs = image_processor(images=[image], return_tensors="pt")
>>> outputs = model(**inputs)

>>> # results are already sorted by reading order
>>> results = image_processor.post_process_object_detection(outputs, target_sizes=[image.size[::-1]])
>>> for result in results:
...     for idx, (score, label_id, box) in enumerate(zip(result["scores"], result["labels"], result["boxes"])):
...         box = [round(i, 2) for i in box.tolist()]
...         print(f"Order {idx + 1}: {model.config.id2label[label_id.item()]}: {score.item():.2f} {box}")
Order 1: text: 0.99 [336.07, 182.04, 894.17, 652.62]
Order 2: paragraph_title: 0.98 [336.45, 681.88, 868.78, 796.91]
Order 3: text: 0.99 [334.01, 840.84, 889.11, 1452.29]
Order 4: text: 0.99 [920.65, 183.62, 1476.75, 462.75]
Order 5: text: 0.99 [919.55, 482.55, 1479.85, 763.41]
Order 6: text: 0.98 [919.34, 844.48, 1481.28, 1219.44]
Order 7: text: 0.98 [920.84, 1238.61, 1467.66, 1374.54]
Order 8: text: 0.90 [334.24, 1612.85, 1478.79, 1730.92]
Order 9: text: 0.95 [334.25, 1755.98, 1467.34, 1845.6]
Order 10: text: 0.65 [337.14, 1909.47, 659.78, 1938.2]
Order 11: footnote: 0.78 [338.73, 2114.87, 1448.16, 2172.06]
Order 12: number: 0.98 [106.08, 2257.42, 134.76, 2281.3]
Order 13: footer: 0.93 [339.27, 2255.7, 984.16, 2282.81]

PPDocLayoutV4Model

فئة transformers.PPDocLayoutV4Model

< >

( config: PPDocLayoutV4Config )

المعاملات

  • config (PPDocLayoutV4Config) — فئة إعدادات النموذج التي تحتوي على جميع معاملات النموذج. لا يؤدي التهيئة باستخدام ملف الإعدادات إلى تحميل الأوزان المرتبطة بالنموذج، بل الإعدادات فقط. راجع طريقة from_pretrained() لتحميل أوزان النموذج.

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

يرث هذا النموذج من PreTrainedModel. راجع توثيق الفئة الأصلية لمعرفة الطرق العامة التي تنفذها المكتبة لجميع نماذجها (مثل التحميل أو الحفظ، وتغيير حجم تضمينات الإدخال، وقص الرؤوس، وما إلى ذلك).

هذا النموذج هو أيضًا فئة فرعية من torch.nn.Module في PyTorch. استخدمه كوحدة PyTorch عادية، وارجع إلى توثيق PyTorch لكل ما يتعلق بالاستخدام العام والسلوك.

forward

< >

( pixel_values: Tensorpixel_mask: typing.Optional[torch.LongTensor] = Noneencoder_outputs: typing.Optional[torch.Tensor] = Nonelabels: list[dict] | None = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → PPDocLayoutV4ModelOutput or tuple(torch.Tensor)

المعاملات

  • 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 للبكسلات المعبأة (أي المقنعة). ما هي أقنعة الانتباه؟ [0, 1]:
    • 1 للبيكسلات الحقيقية (أي غير المقنّعة)،
    • 0 للبيكسلات التي تمثل حشواً (أي مقنّعة).

    ما هي أقنعة الانتباه؟

  • encoder_outputs (torch.Tensor، اختياري) — مجموعة مرتبة تتكون من (last_hidden_state، اختياري: hidden_states، اختياري: attentions) last_hidden_state من الشكل (batch_size, sequence_length, hidden_size)، اختياري) هو تسلسل من حالات المخفية عند مخرج الطبقة الأخيرة من المشفر. يُستخدم في الانتباه المتقاطع (cross-attention) في المُفكِّك.
  • labels (list[Dict] بطول (batch_size,)، اختياري) — غير مدعوم: PP-DocLayoutV4 للاستدلال فقط في Transformers.

يعيد

PPDocLayoutV4ModelOutput أو tuple(torch.Tensor)

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

تتجاوز طريقة PPDocLayoutV4Model الخاصة بالتقديم (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_reference_points (torch.Tensor of shape (batch_size, config.decoder_layers, num_queries, config.num_coords)) — نقاط مرجعية وسيطة مكدّسة (أشكال رباعية محسّنة لكل طبقة من طبقات المُفكِّك).

  • 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, config.num_coords)) — نقاط مرجعية رباعية أولية تُرسل عبر مُفكِّك Transformer.

  • enc_topk_logits (torch.Tensor من الشكل (batch_size, num_queries, config.num_labels)) — قيم logits لفئات مقترحات المُشفِّر التي تم اختيارها كاستعلامات للمُفكِّك.

  • enc_topk_bboxes (torch.Tensor من الشكل (batch_size, num_queries, config.num_coords)) — رباعيات مقترحات المُشفِّر التي تم اختيارها كاستعلامات للمُفكِّك.

  • enc_outputs_class (torch.Tensor من الشكل (batch_size, sequence_length, config.num_labels)) — قيم التصنيف (logits) لكل اقتراح من مقترحات المُشفِّر.

  • enc_outputs_coord_logits (torch.Tensor من الشكل (batch_size, sequence_length, config.num_coords)) — قيم logits الرباعية لكل اقتراح من مقترحات المُشفِّر.

  • denoising_meta_values (dict، اختياري) — قاموس إضافي للقيم المتعلقة بإزالة الضوضاء.

  • logits (torch.Tensor من الشكل (batch_size, num_queries, config.num_labels)) — قيم التصنيف (logits) لطبقة المُفكِّك (decoder) الأخيرة.

  • relative_order_logits (torch.Tensor من الشكل (batch_size, config.num_queries, config.num_queries)) — قيم الاحتمال (Logits) لترتيب القراءة النسبي بين كل زوج، بعد دمج S2R الاختياري.

  • successor_order_logits (torch.Tensor من الشكل (batch_size, config.num_queries, config.num_queries)) — قيم الاحتمال (logits) المباشرة للأزواج للخلف (ROOR).

PPDocLayoutV4Config

فئة transformers.PPDocLayoutV4Config

< >

( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0id2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Noneis_encoder_decoder: bool = Trueinitializer_range: float = 0.01initializer_bias_prior_prob: float | None = Nonelayer_norm_eps: float = 1e-05batch_norm_eps: float = 1e-05tie_word_embeddings: bool = Truebackbone_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonefreeze_backbone_batch_norms: bool = Trueencoder_hidden_dim: int = 256encoder_in_channels: list[int] | tuple[int, ...] = (512, 1024, 2048)feat_strides: list[int] | tuple[int, ...] = (8, 16, 32)encoder_layers: int = 1encoder_ffn_dim: int = 1024encoder_attention_heads: int = 8dropout: float | int = 0.0activation_dropout: float | int = 0.0encode_proj_layers: list[int] | tuple[int, ...] = (2,)positional_encoding_temperature: int = 10000encoder_activation_function: str = 'gelu'activation_function: str = 'silu'eval_size: list[int] | tuple[int, int] | None = Nonenormalize_before: bool = Falsehidden_expansion: float = 1.0num_queries: int = 300decoder_in_channels: list[int] | tuple[int, ...] = (256, 256, 256)decoder_ffn_dim: int = 1024num_feature_levels: int = 3decoder_n_points: int = 4decoder_layers: int = 6decoder_attention_heads: int = 8decoder_activation_function: str = 'relu'attention_dropout: float | int = 0.0num_denoising: int = 100anchor_image_size: list[int] | tuple[int, int] | None = Nonedisable_custom_kernels: bool = Trueglobal_pointer_head_size: int = 64gp_dropout_value: float | int = 0.1hidden_size: int = 256num_coords: int = 10s2r_steps: int = 3s2r_damping: float = 0.5s2r_closure_weight_init: float = 0.0 )

المعاملات

  • 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، فإن القيمة الافتراضية هي 1 / (num_labels + 1).
  • layer_norm_eps (float, اختياري، القيمة الافتراضية 1e-05) — قيمة الإيبسلون المستخدمة في طبقات تطبيع الطبقة.
  • batch_norm_eps (float، اختياري، القيمة الافتراضية 1e-05) — قيمة إيبسلون المستخدمة في طبقات تطبيع الدفعة.
  • tie_word_embeddings (bool، اختياري، القيمة الافتراضية True) — ما إذا كان يجب ربط ترميزات الأوزان (weight embeddings) وفقاً لخريطة tied_weights_keys الخاصة بالنموذج.
  • backbone_config (Union[dict, ~configuration_utils.PreTrainedConfig], اختياري) — إعدادات نموذج الهيكل العظمي.
  • freeze_backbone_batch_norms (bool، اختياري، القيمة الافتراضية True) — ما إذا كان سيتم تجميد طبقات تطبيع الدفعة (batch normalization) في الهيكل الأساسي (backbone).
  • encoder_hidden_dim (int، اختياري، القيمة الافتراضية 256) — أبعاد التمثيلات المخفية.
  • encoder_in_channels (list، اختياري، القيمة الافتراضية [512, 1024, 2048]) — مدخلات ميزات متعددة المستويات للمُشفِّر.
  • feat_strides (list[int]، اختياري، القيمة الافتراضية [8, 16, 32]) — خطوات (Strides) المستخدمة في كل خريطة ميزات.
  • encoder_layers (int, اختياري، القيمة الافتراضية 1) — عدد الطبقات المخفية في مُشفِّر Transformer. سيستخدم نفس قيمة num_layers إذا لم يتم تعيينه.
  • 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") — دالة التنشيط غير الخطية (دالة أو نص) في المُشفِّر (encoder) والمُجمِّع (pooler). إذا كان نصًا، فالدوال المدعومة هي "gelu"، "relu"، "silu" و"gelu_new".
  • activation_function (str، اختياري، القيمة الافتراضية silu) — دالة التنشيط غير الخطية (دالة أو نص) في المُفكِّك. على سبيل المثال، "gelu"، "relu"، "silu"، وغيرها.
  • eval_size (tuple[int, int]، اختياري) — الارتفاع والعرض المستخدمان لحساب الارتفاع والعرض الفعليين لتضمينات المواقع بعد مراعاة الخطوة (stride). يجب تركه None لإعادة إنتاج التنفيذ المرجعي، الذي يحسب تضمينات المواقع ديناميكيًا.
  • normalize_before (bool, اختياري، القيمة الافتراضية False) — يحدد ما إذا كان سيتم تطبيق تطبيع الطبقة في طبقة مُشفِّر الترانسفورمر قبل وحدات الانتباه الذاتي والتغذية الأمامية.
  • hidden_expansion (float، اختياري، القيمة الافتراضية 1.0) — نسبة التوسيع لتكبير حجم الأبعاد في RepVGGBlock و CSPRepLayer.
  • 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) — إجمالي عدد مهام إزالة الضوضاء أو الاستعلامات التي سيتم استخدامها لإزالة الضوضاء التباينية.
  • anchor_image_size (tuple[int, int]، اختياري) — الارتفاع والعرض لصورة الإدخال المستخدمة أثناء التقييم لتوليد مرساة صناديق الحدود. إذا كانت القيمة None، يتم تطبيق توليد المرساة تلقائيًا.
  • disable_custom_kernels (bool، اختياري، القيمة الافتراضية True) — ما إذا كان سيتم تعطيل النوى المخصصة.
  • global_pointer_head_size (int، اختياري، القيمة الافتراضية 64) — حجم رأس المؤشر العام.
  • gp_dropout_value (float، اختياري، القيمة الافتراضية 0.1) — احتمالية الإسقاط (dropout) في رأس المؤشر العام.
  • hidden_size (int, اختياري، القيمة الافتراضية 256) — بعد طبقات المُفكِّك، باستثناء المُشفِّر الهجين. يمكن قراءته أيضاً باسم d_model، وهو الاسم المستخدم في سلالة RT-DETR التي ينحدر منها هذا النموذج.
  • num_coords (int، اختياري، القيمة الافتراضية 10) — حجم معلمات الصندوق التي تتنبأ بها رؤوس bbox. يعيد PP-DocLayoutV4 رباعي الأضلاع المكوّن من أربع نقاط مشفّرًا على شكل [center_x, center_y, dx1, dy1, dx2, dy2, dx3, dy3, dx4, dy4] في فضاء sigmoid، حيث تُزاح إزاحات الزوايا بمقدار +0.5. القيمة 10 هي الوحيدة المدعومة.
  • s2r_steps (int، اختياري، القيمة الافتراضية 3) — عدد خطوات الانتشار المستخدمة لتقريب الإغلاق الانتقالي لمصفوفة اللاحق.
  • s2r_damping (float, اختياري، القيمة الافتراضية 0.5) — معامل التخميد المطبَّق على كل خطوة انتشار إضافية في الإغلاق الانتقالي.
  • s2r_closure_weight_init (float، اختياري، القيمة الافتراضية 0.0) — القيمة الأولية للبوابة القابلة للتعلم التي تُضبط على حدّ المصطلح الإغلق. القيمة الافتراضية هي 0.0 بحيث تكون وحدة الدمج غير المدرّبة مطابقةً عددياً لاستخدام سجلات الترتيب النسبي وحدها.

هذه فئة الإعدادات المخزنة لإعدادات نموذج PPDocLayoutV4Model. تُستخدم لاستحداث نموذج Pp Doclayout V4 وفقاً للحجج المحددة، مع تعريف بنية النموذج. إن استحداث إعدادات باستخدام القيم الافتراضية سيؤدي إلى الحصول على إعدادات مشابهة لتلك الخاصة بـ PaddlePaddle/PP-DocLayoutV4_safetensors

ترث كائنات التهيئة من PreTrainedConfig ويمكن استخدامها للتحكم في مخرجات النموذج. اقرأ التوثيق الخاص بـ PreTrainedConfig لمزيد من المعلومات.

أمثلة:

>>> from transformers import PPDocLayoutV4Config, PPDocLayoutV4ForObjectDetection

>>> # Initializing a PP-DocLayoutV4 configuration
>>> configuration = PPDocLayoutV4Config()

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

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

PPDocLayoutV4ImageProcessor

فئة transformers.PPDocLayoutV4ImageProcessor

< >

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

المعاملات

  • 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) — ما إذا كان يجب افتراض صورة مربعة عند تغيير الحجم، إذا كانت قيمة size من نوع int.
  • 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: صورة بصيغة (الارتفاع، العرض، عدد القنوات).
    • "none" أو ChannelDimension.NONE: صورة بصيغة (الارتفاع، العرض).
  • 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، اختياري) — عدد رموز الصورة التي سيتم استخدامها لكل صورة في المدخلات. تمت إضافته من أجل التوافق مع الإصدارات السابقة، لكن ينبغي ضبطه كخاصية للمعالج في النماذج المستقبلية. يعيد توتورات مكدسة إذا تم ضبطه على 'pt'، وإلا فعاد قائمة من التوتورات.
  • disable_grouping (bool، kwargs، اختياري) — ما إذا كان سيتم تعطيل تجميع الصور حسب الحجم لمعالجتها بشكل فردي بدلاً من دفعات. إذا كانت القيمة None، فسيتم تعيينها إلى True إذا كانت الصور على وحدة المعالجة المركزية (CPU)، وإلا فستكون False. تستند هذه الخيارات إلى ملاحظات تجريبية، كما هو موضح هنا: https://github.com/huggingface/transformers/pull/38157
  • image_seq_length (int، kwargs، اختياري) — عدد رموز الصورة التي سيتم استخدامها لكل صورة في المدخلات. تمت إضافته من أجل التوافق مع الإصدارات السابقة، لكن ينبغي ضبطه كخاصية للمعالج في النماذج المستقبلية. يعيد توتورات مكدسة إذا تم ضبطه على 'pt'، وإلا فعاد قائمة من التوتورات.
  • disable_grouping (bool، kwargs، اختياري) — ما إذا كان سيتم تعطيل تجميع الصور حسب الحجم لمعالجتها بشكل فردي بدلاً من دفعات. إذا كانت القيمة None، فسيتم تعيينها إلى True إذا كانت الصور على وحدة المعالجة المركزية (CPU)، وإلا فستكون False. تستند هذه الخيارات إلى ملاحظات تجريبية، كما هو موضح هنا: https://github.com/huggingface/transformers/pull/38157
  • image_seq_length (int، kwargs، اختياري) — عدد رموز الصورة التي سيتم استخدامها لكل صورة في المدخلات. تمت إضافته من أجل التوافق مع الإصدارات السابقة، لكن ينبغي ضبطه كخاصية للمعالج في النماذج المستقبلية.
  • Returns تُعاد كمتجهات مكدّسة إذا كان الإعداد 'pt'، وإلا تُعاد قائمة من المتجهات. —

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

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

preprocess

< >

( images: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor']]*argsimage_like_kwargs: dict[str, typing.Any] | None = None**kwargs: *<class 'transformers.processing_utils.ImagesKwargs'> ) → ~image_processing_base.BatchFeature

المعاملات

  • 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], اختياري) — علامة مخصّصة للمطوّرين لإدخال مدخلات إضافية مشابهة للصور ستخضع أيضاً للمعالجة المسبقة. استخدم هذا الخيار فقط إذا لم يعمل تمرير المدخلات كحجج اسمية (kwargs). على سبيل المثال، 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) — مرشّح إعادة العينة (Resampling filter) المستخدم عند تغيير حجم الصورة. يمكن أن يكون أحد قيم التعداد 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: صورة بصيغة (الارتفاع، العرض، عدد القنوات).
    • "none" أو ChannelDimension.NONE: صورة بصيغة (الارتفاع، العرض).
  • 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 عند التهيئة.

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

post_process_object_detection

< >

( outputsthreshold: float = 0.5target_sizes = None ) → list[Dict]

المعاملات

  • outputs (PPDocLayoutV4ForObjectDetectionOutput) — المخرجات الخام للنموذج.
  • threshold (float، اختياري، القيمة الافتراضية 0.5) — حدّ الدرجة الذي يُحتفظ به للتنبؤات الخاصة بكشف الكائنات.
  • target_sizes (torch.Tensor أو list[tuple[int, int]]) — مصفوفة (Tensor) بأبعاد (batch_size, 2) أو قائمة من الأزواج ((height, width)) تحدد الحجم المستهدف لكل صورة في الدفعة.

يعيد

list[Dict]

قائمة من القواميس، واحدة لكل صورة، تحتوي كل منها على scores وlabels وboxes وpolygon_points وorder_seq التي يتنبأ بها النموذج. يتم فرز التنبؤات حسب ترتيب القراءة، لذا فإن order_seq غير متناقص (فالموجّه المحدد تحت عدة تسميات يحتفظ بترتيب واحد).

يحوّل المخرجات الخام لـ PPDocLayoutV4ForObjectDetection إلى مضلعات نهائية، وصناديق محيطة بصيغة (top_left_x, top_left_y, bottom_right_x, bottom_right_y)، وترتيبات ترتيب القراءة. يدعم PyTorch فقط.

Update on GitHub