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

Ce modèle a été contribué à Hugging Face Transformers le 2026-05-19.

PP-OCRv6_medium_det

PyTorch

Aperçu

PP-OCRv6_medium_det est le plus grand modèle de la série de détection PP-OCRv6 développée par l'équipe PaddleOCR. Il utilise LCNetV4 comme colonne vertébrale et RepLKFPN comme cou de pyramide de caractéristiques, offrant une localisation précise du texte dans des scénarios variés, y compris le texte manuscrit, imprimé, rotatif, courbé et artistique dans plusieurs langues. Le modèle contient 15,5 millions de paramètres.

Architecture du modèle

Utilisation

Inférence avec une seule entrée

L'exemple ci-dessous montre comment détecter du texte avec PP-OCRv6_medium_det à l'aide de 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)

Inférence par lots

Voici comment faire avec PP-OCRv6_medium_det en utilisant 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 )

Paramètres

  • config (PPOCRV6MediumDetConfig) — 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 PPOCRV6MediumDet pour les tâches de détection 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.

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 )

Paramètres

  • id2label (Union[dict[int, str], dict[str, str]], facultatif) — Une correspondance entre un index (par exemple, l’index de prédiction ou l’index cible) et une étiquette.
  • interpolate_mode (str, facultatif, par défaut "nearest") — Le mode d’interpolation utilisé pour l’augmentation ou la réduction de l’échelle des cartes de caractéristiques dans le réseau neck.
  • backbone_config (Union[dict, ~configuration_utils.PreTrainedConfig], facultatif) — La configuration du modèle backbone.
  • neck_out_channels (int, facultatif, valeur par défaut 256) — Le nombre de canaux de sortie du réseau neck, responsable de la fusion et du raffinement des caractéristiques.
  • reduce_factor (int, facultatif, valeur par défaut 2) — Facteur de réduction des canaux utilisé dans les blocs du cou pour équilibrer les performances et la complexité.
  • intraclass_block_number (int, facultatif, valeur par défaut 4) — Le nombre de modules Intra-Class Block utilisés pour améliorer la représentation des caractéristiques.
  • intraclass_block_config (dict, facultatif, par défaut None) — Configuration des modules Intra-Class Block, le cas échéant, utilisés pour améliorer la représentation des caractéristiques.
  • scale_factor (int, facultatif, valeur par défaut 2) — Le facteur d'échelle utilisé pour les ajustements de la résolution spatiale dans les cartes de caractéristiques.
  • scale_factor_list (list[int], facultatif, par défaut None) — Une liste de facteurs d'échelle utilisés pour les ajustements de la résolution spatiale dans les cartes de caractéristiques.
  • kernel_list (list[int], facultatif, par défaut [3, 2, 2]) — La liste des tailles de noyaux pour les couches de convolution du réseau de tête, utilisée pour l'extraction de caractéristiques multi-échelles.

Ceci est la classe de configuration destinée à stocker la configuration d'un PPOCRV6MediumDetModel. Elle est utilisée pour instancier un modèle Pp Ocrv6 Medium Det 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-OCRv6_medium_det_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.

PPOCRV6MediumDetModel

classe transformers.PPOCRV6MediumDetModel

< >

( config: PPOCRV6MediumDetConfig )

Paramètres

  • config (PPOCRV6MediumDetConfig) — 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.

Le modèle Pp Ocrv6 Medium Det brut, qui produit des états cachés bruts sans aucune tête spécifique au sommet.

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

< >

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

Paramètres

Retourne

BaseModelOutputWithNoAttention ou tuple(torch.FloatTensor)

Un BaseModelOutputWithNoAttention ou un tuple de torch.FloatTensor (si return_dict=False est passé ou lorsque config.return_dict=False) comprenant divers éléments en fonction de la configuration (PPOCRV6MediumDetConfig) et des entrées.

La méthode forward du modèle PPOCRV6MediumDetModel 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 Module plutô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.FloatTensor de 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.FloatTensor), facultatif, renvoyé lorsque output_hidden_states=True est passé ou lorsque config.output_hidden_states=True) — Tuple de torch.FloatTensor (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.

Update on GitHub