Transformers documentation

PP-OCRv6_small_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.2).
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_small_det

PyTorch

Обзор

PP-OCRv6_small_det — это компактная модель из серии PP-OCRv6 для обнаружения текста, разработанная командой PaddleOCR. В качестве базовой сети (backbone) используется LCNetV4, а в качестве шейка пирамиды признаков (feature pyramid neck) — RepLKFPN. Модель обеспечивает точное локализацию текста в разнообразных сценариях, включая рукописный, печатный, повёрнутый, изогнутый и художественный текст на нескольких языках. Количество параметров модели составляет 2,48 млн.

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

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

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

Пример ниже показывает, как обнаруживать текст с помощью PP-OCRv6_small_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_small_det_safetensors" # or "PaddlePaddle/PP-OCRv6_tiny_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_small_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_small_det_safetensors" # or "PaddlePaddle/PP-OCRv6_tiny_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)

PPOCRV6SmallDetForObjectDetection

класс transformers.PPOCRV6SmallDetForObjectDetection

< >

( config: PPOCRV6SmallDetConfig )

Параметры

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

Модель PPOCR6SmallRec для задач распознавания текста.

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

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

PPOCRV6SmallDetConfig

класс transformers.PPOCRV6SmallDetConfig

< >

( 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 = Falseid2label: 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 = Nonebackbone_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonereduction: int = 4neck_out_channels: int = 96interpolate_mode: str = 'nearest'kernel_list: list[int] | tuple[int, ...] = (3, 2, 2)layer_list_out_channels: list[int] | tuple[int, ...] = (12, 18, 42, 360)dilated_kernel_size: int = 7 )

Параметры

  • backbone_config (Union[dict, ~configuration_utils.PreTrainedConfig], необязательный) — Конфигурация модели-бэкбона.
  • reduction (int, необязательный, по умолчанию 4) — Коэффициент редукции для размерности каналов признаков. Используется для уменьшения числа параметров модели и вычислительной сложности при сохранении выразительности признаков.
  • neck_out_channels (int, необязательный, по умолчанию 96) — Количество выходных каналов нейросети neck, которая отвечает за слияние и уточнение признаков перед их передачей в нейросеть head.
  • interpolate_mode (str, необязательный, по умолчанию "nearest") — Режим интерполяции, используемый для увеличения или уменьшения размерности карт признаков в neck-сети. Поддерживаемые режимы включают "nearest" (интерполяция ближайшего соседа) и "bilinear".
  • kernel_list (List[int], необязательный, по умолчанию [3, 2, 2]) — Список размеров ядер для свёрточных слоев в головной сети, используемый для извлечения признаков в нескольких масштабах с целью обнаружения текстовых областей разного размера.
  • layer_list_out_channels (List[int], необязательный, по умолчанию [12, 18, 42, 360]) — Список количества выходных каналов для каждого этапа backbone, используемый для настройки входных каналов слоев RSE в neck-сети для многомасштабного слияния признаков.
  • dilated_kernel_size (int, необязательный, по умолчанию 7) — Размер ядра разряженного свёрточного слоя во входном свёрточном пути, используемый для захвата зависимостей на длинных дистанциях в картах признаков.

Это класс конфигурации для хранения конфигурации модели PPOCRV6SmallDetModel. Он используется для создания модели Pp Ocrv6 Small Det в соответствии с указанными аргументами, определяя архитектуру модели. Создание конфигурации с параметрами по умолчанию даст конфигурацию, аналогичную конфигурации PaddlePaddle/PP-OCRv6_small_det_safetensors

Объекты конфигурации наследуются от PreTrainedConfig и могут использоваться для управления выводами модели. Подробнее читайте в документации PreTrainedConfig.

PPOCRV6SmallDetModel

класс transformers.PPOCRV6SmallDetModel

< >

( config: PPOCRV6SmallDetConfig )

Параметры

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

Модель Pp Ocrv6 Small Det без дополнительных компонентов, выводящая необработанные скрытые состояния (raw hidden-states) без какого-либо специализированного слоя (head) сверху.

Эта модель наследуется от 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), содержащий различные элементы в зависимости от конфигурации (PPOCRV6SmallDetConfig) и входных данных.

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