Transformers documentation
PP-OCRv6_small_det
Эта модель была добавлена в Hugging Face Transformers 19.05.2026.
PP-OCRv6_small_det
Обзор
PP-OCRv6_small_det — это компактная модель из серии PP-OCRv6 для обнаружения текста, разработанная командой PaddleOCR. В качестве базовой сети (backbone) используется LCNetV4, а в качестве шейка пирамиды признаков (feature pyramid neck) — RepLKFPN. Модель обеспечивает точное локализацию текста в разнообразных сценариях, включая рукописный, печатный, повёрнутый, изогнутый и художественный текст на нескольких языках. Количество параметров модели составляет 2,48 млн.
Архитектура модели
Использование
Вывод для одного входа
Пример ниже показывает, как обнаруживать текст с помощью PP-OCRv6_small_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_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:
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
< source >( config: PPOCRV6SmallDetConfig )
Параметры
- config (PPOCRV6SmallDetConfig) — Класс конфигурации модели, содержащий все параметры модели. Инициализация с помощью файла конфигурации не загружает веса, связанные с моделью, а только конфигурацию. Чтобы загрузить веса модели, используйте метод from_pretrained().
Модель PPOCR6SmallRec для задач распознавания текста.
Эта модель наследуется от PreTrainedModel. См. документацию родительского класса для общих методов, которые библиотека реализует для всех своих моделей (например, загрузка или сохранение, изменение размера входных эмбеддингов, обрезка голов и т. д.)
Эта модель также является подклассом torch.nn.Module в PyTorch. Используйте её как обычный модуль PyTorch и обращайтесь к документации PyTorch по всем вопросам, связанным с общим использованием и поведением.
PPOCRV6SmallDetConfig
класс transformers.PPOCRV6SmallDetConfig
< 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 = 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
< source >( config: PPOCRV6SmallDetConfig )
Параметры
- config (PPOCRV6SmallDetConfig) — Класс конфигурации модели, содержащий все параметры модели. Инициализация с помощью файла конфигурации не загружает веса, связанные с моделью, а только конфигурацию. Чтобы загрузить веса модели, используйте метод from_pretrained().
Модель Pp Ocrv6 Small Det без дополнительных компонентов, выводящая необработанные скрытые состояния (raw hidden-states) без какого-либо специализированного слоя (head) сверху.
Эта модель наследуется от 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 или кортеж из
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).Скрытые состояния модели на выходе каждого слоя, а также необязательные выходные значения начального слоя встраивания.