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

Este modelo foi contribuído para o Hugging Face Transformers em 2026-05-19.

PP-OCRv6_medium_det

PyTorch

Visão geral

PP-OCRv6_medium_det é o maior modelo da série de detecção PP-OCRv6, desenvolvido pela equipe PaddleOCR. Ele utiliza LCNetV4 como backbone e RepLKFPN como o pescoço da pirâmide de características, oferecendo localização precisa de texto em diversos cenários, incluindo texto manuscrito, impresso, rotacionado, curvo e artístico em múltiplos idiomas. O modelo contém 15,5M de parâmetros.

Arquitetura do Modelo

Uso

Inferência com entrada única

O exemplo abaixo demonstra como detectar texto com PP-OCRv6_medium_det usando o 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)

Inferência em lote

Aqui está como você pode fazer isso com PP-OCRv6_medium_det usando o 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

classe transformers.PPOCRV6MediumDetForObjectDetection

< >

( config: PPOCRV6MediumDetConfig )

Parâmetros

  • config (PPOCRV6MediumDetConfig) — Classe de configuração do modelo com todos os parâmetros do modelo. A inicialização com um arquivo de configuração não carrega os pesos associados ao modelo, apenas a configuração. Consulte o método from_pretrained() para carregar os pesos do modelo.

Modelo PPOCRV6MediumDet para tarefas de detecção de texto.

Este modelo herda de PreTrainedModel. Consulte a documentação da classe pai para os métodos genéricos que a biblioteca implementa para todos os seus modelos (como download ou salvamento, redimensionamento dos embeddings de entrada, poda de cabeças, etc.)

Este modelo também é uma subclasse de torch.nn.Module do PyTorch. Use-o como um Módulo PyTorch regular e consulte a documentação do PyTorch para todos os assuntos relacionados ao uso geral e ao comportamento.

PPOCRV6MediumDetConfig

classe 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 )

Parâmetros

  • id2label (Union[dict[int, str], dict[str, str]], opcional) — Um mapa de índice (por exemplo, índice de previsão ou índice de alvo) para rótulo.
  • interpolate_mode (str, opcional, padrão "nearest") — O modo de interpolação usado para aumentar ou reduzir a resolução dos mapas de características na rede neck.
  • backbone_config (Union[dict, ~configuration_utils.PreTrainedConfig], opcional) — A configuração do modelo backbone.
  • neck_out_channels (int, opcional, padrão 256) — O número de canais de saída da rede neck, responsável pela fusão e refinamento de recursos.
  • reduce_factor (int, opcional, padrão 2) — Fator de redução de canais usado nos blocos do pescoço para equilibrar desempenho e complexidade.
  • intraclass_block_number (int, opcional, padrão 4) — O número de módulos Intra-Class Block usados para aprimorar a representação de recursos.
  • intraclass_block_config (dict, opcional, padrão None) — Configuração para os módulos Intra-Class Block, se houver, usados para aprimorar a representação de recursos.
  • scale_factor (int, opcional, padrão 2) — Fator de escala usado para ajustes de resolução espacial nos mapas de características.
  • scale_factor_list (list[int], opcional, padrão None) — Uma lista de fatores de escala usados para ajustes de resolução espacial nos mapas de características.
  • kernel_list (list[int], opcional, padrão [3, 2, 2]) — A lista de tamanhos de kernel para as camadas convolucionais na rede de cabeçalho para extração de recursos em múltiplas escalas.

Esta é a classe de configuração para armazenar a configuração de um PPOCRV6MediumDetModel. Ela é usada para instanciar um modelo Pp Ocrv6 Medium Det de acordo com os argumentos especificados, definindo a arquitetura do modelo. Instanciar uma configuração com os padrões resultará em uma configuração semelhante à do PaddlePaddle/PP-OCRv6_medium_det_safetensors

Os objetos de configuração herdam de PreTrainedConfig e podem ser usados para controlar as saídas do modelo. Consulte a documentação de PreTrainedConfig para mais informações.

PPOCRV6MediumDetModel

classe transformers.PPOCRV6MediumDetModel

< >

( config: PPOCRV6MediumDetConfig )

Parâmetros

  • config (PPOCRV6MediumDetConfig) — Classe de configuração do modelo com todos os parâmetros do modelo. A inicialização com um arquivo de configuração não carrega os pesos associados ao modelo, apenas a configuração. Consulte o método from_pretrained() para carregar os pesos do modelo.

O modelo Pp Ocrv6 Medium Det puro, que produz estados ocultos brutos sem nenhum cabeçalho específico no topo.

Este modelo herda de PreTrainedModel. Consulte a documentação da classe pai para os métodos genéricos que a biblioteca implementa para todos os seus modelos (como download ou salvamento, redimensionamento dos embeddings de entrada, poda de cabeças, etc.)

Este modelo também é uma subclasse de torch.nn.Module do PyTorch. Use-o como um Módulo PyTorch regular e consulte a documentação do PyTorch para todos os assuntos relacionados ao uso geral e ao comportamento.

forward

< >

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

Parâmetros

Retorna

BaseModelOutputWithNoAttention ou tuple(torch.FloatTensor)

Um BaseModelOutputWithNoAttention ou uma tupla de torch.FloatTensor (se return_dict=False for passado ou quando config.return_dict=False) contendo vários elementos, dependendo da configuração (PPOCRV6MediumDetConfig) e das entradas.

O método forward do PPOCRV6MediumDetModel substitui o método especial __call__.

Embora a receita para a passagem direta precise ser definida dentro desta função, deve-se chamar a instância de Module em seguida, em vez desta, pois a primeira cuida da execução das etapas de pré e pós-processamento, enquanto a segunda as ignora silenciosamente.

  • last_hidden_state (torch.FloatTensor de forma (batch_size, num_channels, height, width)) — Sequência de estados ocultos na saída da última camada do modelo.

  • hidden_states (tuple(torch.FloatTensor), opcional, retornado quando output_hidden_states=True é passado ou quando config.output_hidden_states=True) — Tupla de torch.FloatTensor (um para a saída dos embeddings, se o modelo tiver uma camada de embedding, + um para a saída de cada camada) de forma (batch_size, num_channels, height, width).

    Estados ocultos do modelo na saída de cada camada, além das saídas opcionais do embedding inicial.

Update on GitHub