Transformers documentation
PP-OCRv5_mobile_rec
Ce modèle a été contribué à Hugging Face Transformers le 2026-03-19.
PP-OCRv5_mobile_rec
Aperçu
PP-OCRv5_mobile_rec est un modèle léger dédié à la reconnaissance de texte, axé spécifiquement sur la reconnaissance et la compréhension efficaces des éléments textuels dans des documents multilingues et des scènes naturelles.
Architecture du modèle
PP-OCRv5_mobile_rec fait partie de la série PP-OCRv5_rec, la dernière génération de modèles de reconnaissance de texte développés par l'équipe PaddleOCR. Il est conçu pour prendre en charge efficacement et avec précision la reconnaissance du chinois simplifié, du chinois traditionnel, de l'anglais, du japonais, ainsi que des scénarios de texte complexes tels que l'écriture manuscrite, le texte vertical, le pinyin et les caractères rares, et ce, avec un seul modèle. Tout en maintenant les performances de reconnaissance, il équilibre également la vitesse d'inférence et la robustesse du modèle, offrant un support technique efficace et précis pour la compréhension des documents dans divers scénarios.
Utilisation
Inférence avec une seule entrée
L'exemple ci-dessous montre comment détecter du texte avec PP-OCRv5_mobile_rec à l'aide de 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)Inférence par lots
Voici comment faire avec PP-OCRv5_mobile_rec en utilisant 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 )
Paramètres
- config (PPOCRV5MobileRecConfig) — Classe de configuration du modèle contenant tous les paramètres du modèle. L’initialisation à partir d’un fichier de configuration ne charge pas les poids associés au modèle, uniquement la configuration. Consultez la méthode from_pretrained() pour charger les poids du modèle.
Modèle PPOCRV5MobileRec pour les tâches de reconnaissance de texte.
Ce modèle hérite de PreTrainedModel. Consultez la documentation de la classe parente pour les méthodes génériques que la bibliothèque implémente pour tous ses modèles (tels que le téléchargement ou l'enregistrement, le redimensionnement des embeddings d'entrée, la taille des têtes, etc.)
Ce modèle est également une sous-classe de torch.nn.Module de PyTorch. Utilisez-le comme un module PyTorch standard et consultez la documentation de PyTorch pour tout ce qui concerne l'utilisation et le comportement généraux.
forward
< source >( pixel_values: Tensor**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutputWithNoAttention or tuple(torch.Tensor)
Paramètres
- pixel_values (
torch.Tensorde forme(batch_size, num_channels, image_size, image_size)) — Les tenseurs correspondant aux images d’entrée. Les valeurs de pixels peuvent être obtenues à l’aide de PPOCRV5ServerRecImageProcessor. Voir PPOCRV5ServerRecImageProcessor.call() pour plus de détails (processor_classutilise PPOCRV5ServerRecImageProcessor pour le traitement des images).
Retourne
BaseModelOutputWithNoAttention ou tuple(torch.Tensor)
Un BaseModelOutputWithNoAttention ou un tuple de
torch.Tensor (si return_dict=False est passé ou lorsque config.return_dict=False) comprenant divers
éléments en fonction de la configuration (PPOCRV5MobileRecConfig) et des entrées.
La méthode forward de PPOCRV5MobileRecForTextRecognition redéfinit la méthode spéciale __call__.
Bien que la recette de la passe avant doive être définie dans cette fonction, il faut ensuite appeler l'instance
Moduleplutôt que celle-ci, car la première gère l'exécution des étapes de prétraitement et de post-traitement, tandis que la seconde les ignore silencieusement.
last_hidden_state (
torch.Tensorde forme(batch_size, num_channels, height, width)) — Séquence d'états cachés à la sortie de la dernière couche du modèle.hidden_states (
tuple(torch.Tensor), facultatif, renvoyé lorsqueoutput_hidden_states=Trueest passé ou lorsqueconfig.output_hidden_states=True) — Tuple detorch.Tensor(un pour la sortie des embeddings, si le modèle possède une couche d’embedding, + un pour la sortie de chaque couche) de forme(batch_size, num_channels, height, width).États cachés du modèle à la sortie de chaque couche, ainsi que les sorties d'incorporation initiales facultatives.
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 )
Paramètres
- hidden_act (
str, facultatif, par défautsilu) — La fonction d'activation non linéaire (fonction ou chaîne de caractères) du décodeur. Par exemple,"gelu","relu","silu", etc. - backbone_config (
Union[dict, ~configuration_utils.PreTrainedConfig], facultatif) — La configuration du modèle backbone. - hidden_size (
int, facultatif, par défaut120) — Dimension des représentations cachées. - mlp_ratio (
float, facultatif, par défaut2.0) — Ratio de la dimension cachée du MLP par rapport à la dimension d'embedding. - depth (
int, facultatif, par défaut2) — Nombre de couches Transformer dans l'encodeur visuel. - head_out_channels (
int, facultatif, valeur par défaut 18385) — Le nombre de canaux de sortie de PPOCRV5MobileRecHead, responsable de la classification finale. - conv_kernel_size (
list, facultatif) — La taille du noyau de convolution. - qkv_bias (
bool, facultatif, par défautTrue) — Indique s'il faut ajouter un biais aux requêtes, clés et valeurs. - num_attention_heads (
int, facultatif, valeur par défaut8) — Nombre de têtes d'attention pour chaque couche d'attention du décodeur Transformer. - attention_dropout (
Union[float, int], facultatif, valeur par défaut0.0) — Le taux de dropout appliqué aux probabilités d'attention. - layer_norm_eps (
float, facultatif, valeur par défaut1e-06) — L'épsilon utilisé par les couches de normalisation de couche.
Ceci est la classe de configuration destinée à stocker la configuration d'un PPOCRV5MobileRecModel. Elle est utilisée pour instancier un modèle Pp Ocrv5 Mobile Rec en fonction des arguments spécifiés, définissant ainsi l'architecture du modèle. L'instanciation d'une configuration avec les valeurs par défaut produira une configuration similaire à celle du PaddlePaddle/PP-OCRv5_mobile_rec_safetensors
Les objets de configuration héritent de PreTrainedConfig et peuvent être utilisés pour contrôler les sorties du modèle. Consultez la documentation de PreTrainedConfig pour plus d’informations.
PPOCRV5MobileRecModel
classe transformers.PPOCRV5MobileRecModel
< source >( config: PPOCRV5MobileRecConfig )
Paramètres
- config (PPOCRV5MobileRecConfig) — Classe de configuration du modèle contenant tous les paramètres du modèle. L’initialisation à partir d’un fichier de configuration ne charge pas les poids associés au modèle, uniquement la configuration. Consultez la méthode from_pretrained() pour charger les poids du modèle.
Modèle PPOCRV5MobileRec, composé des réseaux Backbone et Head.
Ce modèle hérite de PreTrainedModel. Consultez la documentation de la classe parente pour les méthodes génériques que la bibliothèque implémente pour tous ses modèles (tels que le téléchargement ou l'enregistrement, le redimensionnement des embeddings d'entrée, la taille des têtes, etc.)
Ce modèle est également une sous-classe de torch.nn.Module de PyTorch. Utilisez-le comme un module PyTorch standard et consultez la documentation de PyTorch pour tout ce qui concerne l'utilisation et le comportement généraux.
forward
< source >( pixel_values: Tensor**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutputWithNoAttention or tuple(torch.Tensor)
Paramètres
- pixel_values (
torch.Tensorde forme(batch_size, num_channels, image_size, image_size)) — Les tenseurs correspondant aux images d’entrée. Les valeurs de pixels peuvent être obtenues à l’aide de PPOCRV5ServerRecImageProcessor. Voir PPOCRV5ServerRecImageProcessor.call() pour plus de détails (processor_classutilise PPOCRV5ServerRecImageProcessor pour le traitement des images).
Retourne
BaseModelOutputWithNoAttention ou tuple(torch.Tensor)
Un BaseModelOutputWithNoAttention ou un tuple de
torch.Tensor (si return_dict=False est passé ou lorsque config.return_dict=False) comprenant divers
éléments en fonction de la configuration (PPOCRV5MobileRecConfig) et des entrées.
La méthode forward du modèle PPOCRV5MobileRecModel redéfinit la méthode spéciale __call__.
Bien que la recette de la passe avant doive être définie dans cette fonction, il faut ensuite appeler l'instance
Moduleplutôt que celle-ci, car la première gère l'exécution des étapes de prétraitement et de post-traitement, tandis que la seconde les ignore silencieusement.
last_hidden_state (
torch.Tensorde forme(batch_size, num_channels, height, width)) — Séquence d'états cachés à la sortie de la dernière couche du modèle.hidden_states (
tuple(torch.Tensor), facultatif, renvoyé lorsqueoutput_hidden_states=Trueest passé ou lorsqueconfig.output_hidden_states=True) — Tuple detorch.Tensor(un pour la sortie des embeddings, si le modèle possède une couche d’embedding, + un pour la sortie de chaque couche) de forme(batch_size, num_channels, height, width).États cachés du modèle à la sortie de chaque couche, ainsi que les sorties d'incorporation initiales facultatives.
PPOCRV5MobileRecModel
classe transformers.PPOCRV5MobileRecModel
< source >( config: PPOCRV5MobileRecConfig )
Paramètres
- config (PPOCRV5MobileRecConfig) — Classe de configuration du modèle contenant tous les paramètres du modèle. L’initialisation à partir d’un fichier de configuration ne charge pas les poids associés au modèle, uniquement la configuration. Consultez la méthode from_pretrained() pour charger les poids du modèle.
Modèle PPOCRV5MobileRec, composé des réseaux Backbone et Head.
Ce modèle hérite de PreTrainedModel. Consultez la documentation de la classe parente pour les méthodes génériques que la bibliothèque implémente pour tous ses modèles (tels que le téléchargement ou l'enregistrement, le redimensionnement des embeddings d'entrée, la taille des têtes, etc.)
Ce modèle est également une sous-classe de torch.nn.Module de PyTorch. Utilisez-le comme un module PyTorch standard et consultez la documentation de PyTorch pour tout ce qui concerne l'utilisation et le comportement généraux.
forward
< source >( pixel_values: Tensor**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutputWithNoAttention or tuple(torch.Tensor)
Paramètres
- pixel_values (
torch.Tensorde forme(batch_size, num_channels, image_size, image_size)) — Les tenseurs correspondant aux images d’entrée. Les valeurs de pixels peuvent être obtenues à l’aide de PPOCRV5ServerRecImageProcessor. Voir PPOCRV5ServerRecImageProcessor.call() pour plus de détails (processor_classutilise PPOCRV5ServerRecImageProcessor pour le traitement des images).
Retourne
BaseModelOutputWithNoAttention ou tuple(torch.Tensor)
Un BaseModelOutputWithNoAttention ou un tuple de
torch.Tensor (si return_dict=False est passé ou lorsque config.return_dict=False) comprenant divers
éléments en fonction de la configuration (PPOCRV5MobileRecConfig) et des entrées.
La méthode forward du modèle PPOCRV5MobileRecModel redéfinit la méthode spéciale __call__.
Bien que la recette de la passe avant doive être définie dans cette fonction, il faut ensuite appeler l'instance
Moduleplutôt que celle-ci, car la première gère l'exécution des étapes de prétraitement et de post-traitement, tandis que la seconde les ignore silencieusement.
last_hidden_state (
torch.Tensorde forme(batch_size, num_channels, height, width)) — Séquence d'états cachés à la sortie de la dernière couche du modèle.hidden_states (
tuple(torch.Tensor), facultatif, renvoyé lorsqueoutput_hidden_states=Trueest passé ou lorsqueconfig.output_hidden_states=True) — Tuple detorch.Tensor(un pour la sortie des embeddings, si le modèle possède une couche d’embedding, + un pour la sortie de chaque couche) de forme(batch_size, num_channels, height, width).États cachés du modèle à la sortie de chaque couche, ainsi que les sorties d'incorporation initiales facultatives.