Transformers documentation

PP-OCRv6_medium_det

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

PP-OCRv6_medium_det

PyTorch

Обзор

PP-OCRv6_medium_det — самая крупная модель в серии PP-OCRv6 для детекции, разработанная командой PaddleOCR. В качестве backbone используется LCNetV4, а в качестве feature pyramid neck — RepLKFPN, что обеспечивает точную локализацию текста в разнообразных сценариях, включая рукописный, печатный, повёрнутый, изогнутый и художественный текст на нескольких языках. Модель содержит 15,5 млн параметров.

Архитектура модели

Использование

Вывод для одного входа

Приведённый ниже пример показывает, как обнаруживать текст с помощью PP-OCRv6_medium_det, используя AutoModel.

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:

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

< >

( config: PPOCRV6MediumDetConfig )

Параметры

  • config (PPOCRV6MediumDetConfig) — Класс конфигурации модели, содержащий все параметры модели. Инициализация с помощью файла конфигурации не загружает веса, связанные с моделью, а только конфигурацию. Используйте метод from_pretrained() для загрузки весов модели.

Модель PPOCRV6MediumDet для задач обнаружения текста.

Эта модель наследуется от PreTrainedModel. См. документацию родительского класса для общих методов, которые библиотека реализует для всех своих моделей (например, загрузка или сохранение, изменение размера входных эмбеддингов, обрезка голов и т. д.)

Эта модель также является подклассом torch.nn.Module в PyTorch. Используйте её как обычный модуль PyTorch и обращайтесь к документации PyTorch по всем вопросам, связанным с общим использованием и поведением.

PPOCRV6MediumDetConfig

класс transformers.PPOCRV6MediumDetConfig

< >

( 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") — Режим интерполяции, используемый для увеличения или уменьшения размерности карт признаков в neck-сети.
  • backbone_config (Union[dict, ~configuration_utils.PreTrainedConfig], необязательный) — Конфигурация модели-бэкбона.
  • neck_out_channels (int, необязательный, по умолчанию 256) — Количество выходных каналов нейросети neck, отвечающей за слияние и уточнение признаков.
  • reduce_factor (int, необязательный, по умолчанию 2) — Коэффициент сокращения каналов, используемый в neck-блоках для баланса между производительностью и сложностью.
  • 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

< >

( config: PPOCRV6MediumDetConfig )

Параметры

  • config (PPOCRV6MediumDetConfig) — Класс конфигурации модели, содержащий все параметры модели. Инициализация с помощью файла конфигурации не загружает веса, связанные с моделью, а только конфигурацию. Используйте метод from_pretrained() для загрузки весов модели.

Модель Pp Ocrv6 Medium Det, выводящая необработанные скрытые состояния без какого-либо специализированного слоя на выходе.

Эта модель наследуется от PreTrainedModel. См. документацию родительского класса для общих методов, которые библиотека реализует для всех своих моделей (например, загрузка или сохранение, изменение размера входных эмбеддингов, обрезка голов и т. д.)

Эта модель также является подклассом torch.nn.Module в PyTorch. Используйте её как обычный модуль PyTorch и обращайтесь к документации PyTorch по всем вопросам, связанным с общим использованием и поведением.

forward

< >

( pixel_values: Tensor**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutputWithNoAttention or tuple(torch.Tensor)

Параметры

Возвращает

BaseModelOutputWithNoAttention или tuple(torch.Tensor)

BaseModelOutputWithNoAttention или кортеж из torch.Tensor (если передано return_dict=False или если config.return_dict=False), содержащий различные элементы в зависимости от конфигурации (PPOCRV6MediumDetConfig) и входных данных.

Метод forward модели PPOCRV6MediumDetModel переопределяет специальный метод __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).

    Скрытые состояния модели на выходе каждого слоя, а также необязательные выходные значения начального слоя встраивания.

Update on GitHub