Transformers documentation

PP-OCRv6_medium_det

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: Tensor**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutputWithNoAttention or tuple(torch.Tensor)

Parâmetros

Retorna

BaseModelOutputWithNoAttention ou tuple(torch.Tensor)

Um BaseModelOutputWithNoAttention ou uma tupla de torch.Tensor (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.Tensor 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.Tensor), opcional, retornado quando output_hidden_states=True é passado ou quando config.output_hidden_states=True) — Tupla de torch.Tensor (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