Transformers documentation
PP-OCRv6_medium_det
تمت مساهمة هذا النموذج في Hugging Face Transformers في 2026-05-19.
PP-OCRv6_medium_det
نظرة عامة
PP-OCRv6_medium_det هو أكبر نموذج في سلسلة PP-OCRv6 للكشف التي طوّرها فريق PaddleOCR. يستخدم LCNetV4 كهيكل أساسي وRepLKFPN كعنق هرم الميزات، مما يوفر تحديدًا دقيقًا للنص عبر سيناريوهات متنوعة تشمل النص المكتوب بخط اليد، والمطبوع، والمائل، والمنحني، والفني، بلغات متعددة. يحتوي النموذج على 15.5 مليون معامل.
بنية النموذج
الاستخدام
الاستدلال على مدخل واحد
يُظهر المثال أدناه كيفية اكتشاف النص باستخدام PP-OCRv6_medium_det مع AutoModel.
from io import BytesIO
from huggingface_hub.utils import httpx
from PIL import Image
from transformers import AutoImageProcessor, AutoModelForObjectDetection
from transformers.image_utils import load_image
model_path = "PaddlePaddle/PP-OCRv6_medium_det_safetensors"
model = AutoModelForObjectDetection.from_pretrained(model_path, device_map="auto")
image_processor = AutoImageProcessor.from_pretrained(model_path)
image_url = "https://huggingface.co/datasets/hf-internal-testing/transformers-synthetic-assets/resolve/main/images/paddle_general_ocr_001.png"
image = load_image(image_url)
inputs = image_processor(images=image, return_tensors="pt").to(model.device)
outputs = model(**inputs)
results = image_processor.post_process_object_detection(
outputs,
target_sizes=inputs["target_sizes"],
threshold=0.2,
box_threshold=0.45,
max_candidates=3000,
unclip_ratio=1.4,
)
for result in results:
print(result)الاستدلال المجمّع
إليك الطريقة التي يمكنك من خلالها القيام بذلك باستخدام PP-OCRv6_medium_det مع AutoModel:
from io import BytesIO
from huggingface_hub.utils import httpx
from PIL import Image
from transformers import AutoImageProcessor, AutoModelForObjectDetection
from transformers.image_utils import load_image
model_path = "PaddlePaddle/PP-OCRv6_medium_det_safetensors"
model = AutoModelForObjectDetection.from_pretrained(model_path, device_map="auto")
image_processor = AutoImageProcessor.from_pretrained(model_path)
image_url = "https://huggingface.co/datasets/hf-internal-testing/transformers-synthetic-assets/resolve/main/images/paddle_general_ocr_001.png"
image = load_image(image_url)
inputs = image_processor(images=[image, image], return_tensors="pt").to(model.device)
outputs = model(**inputs)
results = image_processor.post_process_object_detection(
outputs,
target_sizes=inputs["target_sizes"],
threshold=0.2,
box_threshold=0.45,
max_candidates=3000,
unclip_ratio=1.4,
)
for result in results:
print(result)PPOCRV6MediumDetForObjectDetection
فئة transformers.PPOCRV6MediumDetForObjectDetection
< source >( config: PPOCRV6MediumDetConfig )
المعاملات
- config (PPOCRV6MediumDetConfig) — فئة إعدادات النموذج التي تحتوي على جميع معاملات النموذج. لا يؤدي التهيئة باستخدام ملف الإعداد إلى تحميل الأوزان المرتبطة بالنموذج، بل الإعدادات فقط. راجع طريقة from_pretrained() لتحميل أوزان النموذج.
نموذج PPOCRV6MediumDet لمهام كشف النص.
يرث هذا النموذج من PreTrainedModel. راجع توثيق الفئة الأصلية لمعرفة الطرق العامة التي تنفذها المكتبة لجميع نماذجها (مثل التحميل أو الحفظ، وتغيير حجم تضمينات الإدخال، وقص الرؤوس، وما إلى ذلك).
هذا النموذج هو أيضًا فئة فرعية من torch.nn.Module في PyTorch. استخدمه كوحدة PyTorch عادية، وارجع إلى توثيق PyTorch لكل ما يتعلق بالاستخدام العام والسلوك.
PPOCRV6MediumDetConfig
فئة transformers.PPOCRV6MediumDetConfig
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falselabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Noneid2label: dict[int, str] | dict[str, str] | None = Noneinterpolate_mode: str = 'nearest'backbone_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Noneneck_out_channels: int = 256reduce_factor: int = 2intraclass_block_number: int = 4intraclass_block_config: dict | None = Nonescale_factor: int = 2scale_factor_list: list | None = Nonekernel_list: list | None = None )
المعاملات
- id2label (
Union[dict[int, str], dict[str, str]], اختياري) — خريطة من الفهرس (مثل فهرس التنبؤ، أو فهرس الهدف) إلى التسمية. - interpolate_mode (
str، اختياري، القيمة الافتراضية"nearest") — وضع الاستيفاء المستخدم لرفع أو خفض دقة خرائط الميزات في شبكة العنق. - backbone_config (
Union[dict, ~configuration_utils.PreTrainedConfig], اختياري) — إعدادات نموذج الهيكل العظمي. - neck_out_channels (
int، اختياري، القيمة الافتراضية 256) — عدد قنوات الإخراج من شبكة العنق، المسؤولة عن دمج الميزات وتحسينها. - reduce_factor (
int، اختياري، القيمة الافتراضية 2) — معامل تقليل القنوات المستخدم في كتل العنق لموازنة الأداء والتعقيد. - intraclass_block_number (
int، اختياري، القيمة الافتراضية 4) — عدد وحدات Intra-Class Block المستخدمة لتعزيز تمثيل الميزات. - intraclass_block_config (
dict، اختياري، القيمة الافتراضيةNone) — إعدادات وحدات Intra-Class Block، إن وُجدت، المستخدمة لتعزيز تمثيل الميزات. - scale_factor (
int، اختياري، القيمة الافتراضية 2) — عامل التوسيع المستخدم لضبط الدقة المكانية في خرائط الميزات. - scale_factor_list (
list[int]، اختياري، القيمة الافتراضيةNone) — قائمة من عوامل التوسع المستخدمة لضبط الدقة المكانية في خرائط الميزات. - kernel_list (
list[int]، اختياري، القيمة الافتراضية[3, 2, 2]) — قائمة أحجام النوى للطبقات التلافيفية في شبكة الرأس لاستخراج الميزات متعددة المقاييس.
هذه فئة الإعدادات المخزنة لإعدادات نموذج PPOCRV6MediumDetModel. تُستخدم لتوليد نموذج Pp Ocrv6 Medium Det وفقاً للحجج المحددة، مع تعريف بنية النموذج. إن إنشاء إعدادات باستخدام القيم الافتراضية سيؤدي إلى الحصول على إعدادات مشابهة لتلك الخاصة بـ PaddlePaddle/PP-OCRv6_medium_det_safetensors
ترث كائنات التهيئة من PreTrainedConfig ويمكن استخدامها للتحكم في مخرجات النموذج. اقرأ التوثيق الخاص بـ PreTrainedConfig لمزيد من المعلومات.
PPOCRV6MediumDetModel
فئة transformers.PPOCRV6MediumDetModel
< source >( config: PPOCRV6MediumDetConfig )
المعاملات
- config (PPOCRV6MediumDetConfig) — فئة إعدادات النموذج التي تحتوي على جميع معاملات النموذج. لا يؤدي التهيئة باستخدام ملف الإعدادات إلى تحميل الأوزان المرتبطة بالنموذج، بل الإعدادات فقط. راجع طريقة from_pretrained() لتحميل أوزان النموذج.
نموذج Pp Ocrv6 Medium Det الأساسي الذي يُخرج حالات مخفية خام دون أي رأس محدد في الأعلى.
يرث هذا النموذج من PreTrainedModel. راجع توثيق الفئة الأصلية لمعرفة الطرق العامة التي تنفذها المكتبة لجميع نماذجها (مثل التحميل أو الحفظ، وتغيير حجم تضمينات الإدخال، وقص الرؤوس، وما إلى ذلك).
هذا النموذج هو أيضًا فئة فرعية من torch.nn.Module في PyTorch. استخدمه كوحدة PyTorch عادية، وارجع إلى توثيق PyTorch لكل ما يتعلق بالاستخدام العام والسلوك.
forward
< source >( pixel_values: Tensor**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutputWithNoAttention or tuple(torch.Tensor)
المعاملات
- pixel_values (
torch.Tensorمن الشكل(batch_size, num_channels, image_size, image_size)) — المصفوفات المقابلة للصور المدخلة. يمكن الحصول على قيم البكسل باستخدام PPOCRV5ServerDetImageProcessor. راجع PPOCRV5ServerDetImageProcessor.call() للتفاصيل (processor_classيستخدم PPOCRV5ServerDetImageProcessor لمعالجة الصور).
يعيد
BaseModelOutputWithNoAttention أو tuple(torch.Tensor)
BaseModelOutputWithNoAttention أو مجموعة (tuple) من
torch.Tensor (في حال تمرير return_dict=False أو عندما يكون config.return_dict=False) وتتضمن عناصر مختلفة
حسب الإعداد (PPOCRV6MediumDetConfig) والمدخلات.
تُعيد طريقة PPOCRV6MediumDetModel الخاصة بالتقديم (forward) تعريف الطريقة الخاصة __call__.
على الرغم من أنه يجب تعريف وصفة المرور الأمامي داخل هذه الدالة، إلا أنه ينبغي استدعاء كائن
Moduleبدلاً من هذه الدالة، لأن الكائن يتولى تنفيذ خطوات المعالجة المسبقة والمعالجة اللاحقة، بينما تتجاهل الدالة هذه الخطوات بصمت.
last_hidden_state (
torch.Tensorمن الشكل(batch_size, num_channels, height, width)) — تسلسل من حالات الإخفاء عند مخرجات الطبقة الأخيرة من النموذج.hidden_states (
tuple(torch.Tensor)، اختياري، يُعاد عند تمريرoutput_hidden_states=Trueأو عند تعيينconfig.output_hidden_states=True) — مجموعة منtorch.Tensor(واحدة لإخراج الطبقات المضمنة، إذا كان النموذج يحتوي على طبقة تضمين، + واحدة لإخراج كل طبقة) بأبعاد(batch_size, num_channels, height, width).حالات النموذج المخفية عند مخرج كل طبقة بالإضافة إلى مخرجات التضمين الأولي الاختيارية.