Transformers documentation
PP-OCRv5_mobile_rec
Este modelo foi contribuído para o Hugging Face Transformers em 19/03/2026.
PP-OCRv5_mobile_rec
Visão geral
PP-OCRv5_mobile_rec é um modelo leve dedicado ao reconhecimento de texto, com foco específico no reconhecimento e na compreensão eficientes de elementos de texto em documentos multilíngues e cenas naturais.
Arquitetura do Modelo
PP-OCRv5_mobile_rec é um dos modelos da série PP-OCRv5_rec, a geração mais recente de modelos de reconhecimento de texto desenvolvidos pela equipe PaddleOCR. Ele foi projetado para suportar de forma eficiente e precisa o reconhecimento de chinês simplificado, chinês tradicional, inglês, japonês, bem como cenários de texto complexos, como manuscrito, texto vertical, pinyin e caracteres raros, com um único modelo. Ao manter o desempenho de reconhecimento, ele também equilibra a velocidade de inferência e a robustez do modelo, oferecendo suporte técnico eficiente e preciso para a compreensão de documentos em diversos cenários.
Uso
Inferência com entrada única
O exemplo abaixo demonstra como detectar texto com PP-OCRv5_mobile_rec usando o AutoModel.
import requests
from PIL import Image
from transformers import AutoImageProcessor, AutoModelForTextRecognition
model_path="PaddlePaddle/PP-OCRv5_mobile_rec_safetensors"
model = AutoModelForTextRecognition.from_pretrained(model_path, device_map="auto")
image_processor = AutoImageProcessor.from_pretrained(model_path)
image = Image.open(requests.get("https://huggingface.co/datasets/hf-internal-testing/transformers-synthetic-assets/resolve/main/images/paddle_general_ocr_rec_001.png", stream=True).raw).convert("RGB")
inputs = image_processor(images=image, return_tensors="pt").to(model.device)
outputs = model(**inputs)
results = image_processor.post_process_text_recognition(outputs)
for result in results:
print(result)Inferência em lote
Aqui está como você pode fazer isso com PP-OCRv5_mobile_rec usando o AutoModel:
import requests
from PIL import Image
from transformers import AutoImageProcessor, AutoModelForTextRecognition
model_path = "PaddlePaddle/PP-OCRv5_mobile_rec_safetensors"
model = AutoModelForTextRecognition.from_pretrained(model_path, device_map="auto")
image_processor = AutoImageProcessor.from_pretrained(model_path)
image = Image.open(requests.get("https://huggingface.co/datasets/hf-internal-testing/transformers-synthetic-assets/resolve/main/images/paddle_general_ocr_rec_001.png", stream=True).raw).convert("RGB")
inputs = image_processor(images=[image, image], return_tensors="pt").to(model.device)
outputs = model(**inputs)
results = image_processor.post_process_text_recognition(outputs)
for result in results:
print(result)PPOCRV5MobileRecForTextRecognition
classe transformers.PPOCRV5MobileRecForTextRecognition
< source >( config: PPOCRV5MobileRecConfig )
Parâmetros
- config (PPOCRV5MobileRecConfig) — 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 PPOCRV5MobileRec 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.
forward
< source >( pixel_values: FloatTensor**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutputWithNoAttention or tuple(torch.FloatTensor)
Parâmetros
- pixel_values (
torch.FloatTensorde forma(batch_size, num_channels, image_size, image_size)) — Os tensores correspondentes às imagens de entrada. Os valores de pixels podem ser obtidos usando PPOCRV5ServerRecImageProcessor. Consulte PPOCRV5ServerRecImageProcessor.call() para mais detalhes (processor_classusa PPOCRV5ServerRecImageProcessor para processar imagens).
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 (PPOCRV5MobileRecConfig) e das entradas.
O método forward de PPOCRV5MobileRecForTextRecognition 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
Moduleem 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.FloatTensorde 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 quandooutput_hidden_states=Trueé passado ou quandoconfig.output_hidden_states=True) — Tupla detorch.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.
PPOCRV5MobileRecConfig
classe transformers.PPOCRV5MobileRecConfig
< 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 = Nonehidden_act: str = 'silu'backbone_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonehidden_size: int = 120mlp_ratio: float = 2.0depth: int = 2head_out_channels: int = 18385conv_kernel_size: list | None = Noneqkv_bias: bool = Truenum_attention_heads: int = 8attention_dropout: float | int = 0.0layer_norm_eps: float = 1e-06 )
Parâmetros
- hidden_act (
str, opcional, padrãosilu) — A função de ativação não linear (função ou string) no decodificador. Por exemplo,"gelu","relu","silu", etc. - backbone_config (
Union[dict, ~configuration_utils.PreTrainedConfig], opcional) — A configuração do modelo backbone. - hidden_size (
int, opcional, padrão120) — Dimensão das representações ocultas. - mlp_ratio (
float, opcional, padrão2.0) — Proporção entre a dimensão oculta do MLP e a dimensão de incorporação. - depth (
int, opcional, padrão2) — Número de camadas do Transformer no codificador de visão. - head_out_channels (
int, opcional, padrão 18385) — O número de canais de saída do PPOCRV5MobileRecHead, responsável pela classificação final. - conv_kernel_size (
list, opcional) — O tamanho do kernel de convolução. - qkv_bias (
bool, opcional, padrãoTrue) — Se deve adicionar um viés às queries, keys e values. - num_attention_heads (
int, opcional, padrão8) — Número de cabeças de atenção para cada camada de atenção no decodificador do Transformer. - attention_dropout (
Union[float, int], opcional, padrão0.0) — A taxa de dropout para as probabilidades de atenção. - layer_norm_eps (
float, opcional, padrão1e-06) — O epsilon usado pelas camadas de normalização de camada.
Esta é a classe de configuração para armazenar a configuração de um PPOCRV5MobileRecModel. Ela é usada para instanciar um modelo Pp Ocrv5 Mobile Rec 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-OCRv5_mobile_rec_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.
PPOCRV5MobileRecModel
classe transformers.PPOCRV5MobileRecModel
< source >( config: PPOCRV5MobileRecConfig )
Parâmetros
- config (PPOCRV5MobileRecConfig) — 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 PPOCRV5MobileRec, composto pelas redes Backbone e Head.
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
< source >( pixel_values: FloatTensor**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutputWithNoAttention or tuple(torch.FloatTensor)
Parâmetros
- pixel_values (
torch.FloatTensorde forma(batch_size, num_channels, image_size, image_size)) — Os tensores correspondentes às imagens de entrada. Os valores de pixels podem ser obtidos usando PPOCRV5ServerRecImageProcessor. Consulte PPOCRV5ServerRecImageProcessor.call() para mais detalhes (processor_classusa PPOCRV5ServerRecImageProcessor para processar as imagens).
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 (PPOCRV5MobileRecConfig) e das entradas.
O método forward do PPOCRV5MobileRecModel 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
Moduleem 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.FloatTensorde 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 quandooutput_hidden_states=Trueé passado ou quandoconfig.output_hidden_states=True) — Tupla detorch.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.
PPOCRV5MobileRecModel
classe transformers.PPOCRV5MobileRecModel
< source >( config: PPOCRV5MobileRecConfig )
Parâmetros
- config (PPOCRV5MobileRecConfig) — 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 PPOCRV5MobileRec, composto pelas redes Backbone e Head.
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
< source >( pixel_values: FloatTensor**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutputWithNoAttention or tuple(torch.FloatTensor)
Parâmetros
- pixel_values (
torch.FloatTensorde forma(batch_size, num_channels, image_size, image_size)) — Os tensores correspondentes às imagens de entrada. Os valores de pixels podem ser obtidos usando PPOCRV5ServerRecImageProcessor. Consulte PPOCRV5ServerRecImageProcessor.call() para mais detalhes (processor_classusa PPOCRV5ServerRecImageProcessor para processar imagens).
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 (PPOCRV5MobileRecConfig) e das entradas.
O método forward do PPOCRV5MobileRecModel 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
Moduleem 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.FloatTensorde 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 quandooutput_hidden_states=Trueé passado ou quandoconfig.output_hidden_states=True) — Tupla detorch.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.