Transformers documentation

PP-OCRv6_small_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_small_det

PyTorch

Visão geral

PP-OCRv6_small_det é o modelo pequeno 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, fornecendo 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 2,48M de parâmetros.

Arquitetura do Modelo

Uso

Inferência com entrada única

O exemplo abaixo demonstra como detectar texto com PP-OCRv6_small_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_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)

Inferência em lote

Aqui está como você pode fazer isso com PP-OCRv6_small_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_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

classe transformers.PPOCRV6SmallDetForObjectDetection

< >

( config: PPOCRV6SmallDetConfig )

Parâmetros

  • config (PPOCRV6SmallDetConfig) — 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 PPOCR6SmallRec para tarefas de reconhecimento 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.

PPOCRV6SmallDetConfig

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

Parâmetros

  • backbone_config (Union[dict, ~configuration_utils.PreTrainedConfig], opcional) — A configuração do modelo backbone.
  • reduction (int, opcional, padrão 4) — Fator de redução para as dimensões dos canais de características, usado para reduzir o número de parâmetros do modelo e a complexidade computacional, mantendo a capacidade de representação das características.
  • neck_out_channels (int, opcional, padrão 96) — O número de canais de saída da rede neck, que é responsável pela fusão e refinamento dos recursos antes de passá-los para a rede head.
  • interpolate_mode (str, opcional, padrão "nearest") — O modo de interpolação usado para aumentar ou reduzir o tamanho dos mapas de características na rede neck. Os modos suportados incluem "nearest" (interpolação do vizinho mais próximo) e "bilinear".
  • 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, usada para extração de recursos em múltiplas escalas a fim de detectar regiões de texto de diferentes tamanhos.
  • layer_list_out_channels (List[int], opcional, padrão [12, 18, 42, 360]) — A lista de canais de saída para cada estágio do backbone, usada para configurar os canais de entrada das camadas RSE na rede neck para fusão de recursos em múltiplas escalas.
  • dilated_kernel_size (int, opcional, padrão 7) — O tamanho do kernel da camada de convolução dilata no caminho de convolução de entrada, usado para capturar dependências de longo alcance nos mapas de características.

Esta é a classe de configuração para armazenar a configuração de um PPOCRV6SmallDetModel. Ela é usada para instanciar um modelo Pp Ocrv6 Small 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_small_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.

PPOCRV6SmallDetModel

classe transformers.PPOCRV6SmallDetModel

< >

( config: PPOCRV6SmallDetConfig )

Parâmetros

  • config (PPOCRV6SmallDetConfig) — 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 Small Det básico, 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 (PPOCRV6SmallDetConfig) e das entradas.

O método forward do PPOCRV6SmallDetModel sobrescreve 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