Transformers documentation
PP-OCRv6_medium_det
Este modelo fue aportado a Hugging Face Transformers el 2026-05-19.
PP-OCRv6_medium_det
Resumen
PP-OCRv6_medium_det es el modelo más grande de la serie de detección PP-OCRv6 desarrollada por el equipo de PaddleOCR. Utiliza LCNetV4 como backbone y RepLKFPN como cuello de pirámide de características, proporcionando una localización precisa de texto en diversos escenarios, incluido texto manuscrito, impreso, rotado, curvo y artístico en múltiples idiomas. El modelo contiene 15,5M de parámetros.
Arquitectura del modelo
Uso
Inferencia con una sola entrada
El siguiente ejemplo demuestra cómo detectar texto con PP-OCRv6_medium_det usando 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)Inferencia por lotes
Así es como puedes hacerlo con PP-OCRv6_medium_det usando 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
clase transformers.PPOCRV6MediumDetForObjectDetection
< source >( config: PPOCRV6MediumDetConfig )
Parámetros
- config (PPOCRV6MediumDetConfig) — Clase de configuración del modelo con todos los parámetros del modelo. Inicializar con un archivo de configuración no carga los pesos asociados con el modelo, solo la configuración. Consulte el método from_pretrained() para cargar los pesos del modelo.
Modelo PPOCRV6MediumDet para tareas de detección de texto.
Este modelo hereda de PreTrainedModel. Consulta la documentación de la clase superior para los métodos genéricos que la biblioteca implementa para todos sus modelos (como la descarga o el guardado, el redimensionamiento de las incrustaciones de entrada, la poda de cabezas, etc.).
Este modelo también es una subclase de torch.nn.Module de PyTorch. Úsalo como un módulo de PyTorch regular y consulta la documentación de PyTorch para todo lo relacionado con el uso y el comportamiento generales.
PPOCRV6MediumDetConfig
clase transformers.PPOCRV6MediumDetConfig
< 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 = 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) — Un mapa de índice (por ejemplo, índice de predicción o índice de destino) a etiqueta. - interpolate_mode (
str, opcional, valor predeterminado"nearest") — El modo de interpolación utilizado para aumentar o reducir el tamaño de los mapas de características en la red neck. - backbone_config (
Union[dict, ~configuration_utils.PreTrainedConfig], opcional) — La configuración del modelo backbone. - neck_out_channels (
int, opcional, valor predeterminado 256) — El número de canales de salida de la red neck, responsable de la fusión y el refinamiento de características. - reduce_factor (
int, opcional, valor predeterminado 2) — Factor de reducción de canales utilizado en los bloques del cuello para equilibrar el rendimiento y la complejidad. - intraclass_block_number (
int, opcional, valor predeterminado 4) — El número de módulos Intra-Class Block utilizados para mejorar la representación de características. - intraclass_block_config (
dict, opcional, valor predeterminadoNone) — Configuración de los módulos Intra-Class Block, si los hay, utilizados para mejorar la representación de características. - scale_factor (
int, opcional, valor predeterminado 2) — El factor de escala utilizado para los ajustes de resolución espacial en los mapas de características. - scale_factor_list (
list[int], opcional, valor predeterminadoNone) — Una lista de factores de escala utilizados para ajustar la resolución espacial en los mapas de características. - kernel_list (
list[int], opcional, valor predeterminado[3, 2, 2]) — La lista de tamaños de kernel para las capas convolucionales de la red de cabecera para la extracción de características a múltiples escalas.
Esta es la clase de configuración para almacenar la configuración de un PPOCRV6MediumDetModel. Se utiliza para instanciar un modelo Pp Ocrv6 Medium Det según los argumentos especificados, definiendo la arquitectura del modelo. Instanciar una configuración con los valores predeterminados producirá una configuración similar a la de PaddlePaddle/PP-OCRv6_medium_det_safetensors
Los objetos de configuración heredan de PreTrainedConfig y se pueden usar para controlar las salidas del modelo. Lea la documentación de PreTrainedConfig para obtener más información.
PPOCRV6MediumDetModel
clase transformers.PPOCRV6MediumDetModel
< source >( config: PPOCRV6MediumDetConfig )
Parámetros
- config (PPOCRV6MediumDetConfig) — Clase de configuración del modelo con todos los parámetros del modelo. Inicializar con un archivo de configuración no carga los pesos asociados con el modelo, solo la configuración. Consulte el método from_pretrained() para cargar los pesos del modelo.
El modelo Pp Ocrv6 Medium Det básico que genera estados ocultos sin ningún cabezal específico en la parte superior.
Este modelo hereda de PreTrainedModel. Consulta la documentación de la clase superior para los métodos genéricos que la biblioteca implementa para todos sus modelos (como la descarga o el guardado, el redimensionamiento de las incrustaciones de entrada, la poda de cabezas, etc.).
Este modelo también es una subclase de torch.nn.Module de PyTorch. Úsalo como un módulo de PyTorch regular y consulta la documentación de PyTorch para todo lo relacionado con el uso y el comportamiento generales.
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)) — Los tensores correspondientes a las imágenes de entrada. Los valores de píxeles se pueden obtener utilizando PPOCRV5ServerDetImageProcessor. Consulte PPOCRV5ServerDetImageProcessor.call() para más detalles (processor_classutiliza PPOCRV5ServerDetImageProcessor para procesar las imágenes).
Devuelve
BaseModelOutputWithNoAttention o tuple(torch.FloatTensor)
Un BaseModelOutputWithNoAttention o una tupla de
torch.FloatTensor (si se pasa return_dict=False o cuando config.return_dict=False) que comprende varios
elementos según la configuración (PPOCRV6MediumDetConfig) y las entradas.
El método forward de PPOCRV6MediumDetModel sobrescribe el método especial __call__.
Aunque la receta para la pasada hacia adelante debe definirse dentro de esta función, se debe llamar a la instancia de
Moduledespués en lugar de a esta, ya que la primera se encarga de ejecutar los pasos de pre y postprocesamiento, mientras que la segunda los ignora silenciosamente.
last_hidden_state (
torch.FloatTensorde forma(batch_size, num_channels, height, width)) — Secuencia de estados ocultos en la salida de la última capa del modelo.hidden_states (
tuple(torch.FloatTensor), opcional, se devuelve cuando se pasaoutput_hidden_states=Trueo cuandoconfig.output_hidden_states=True) — Tupla detorch.FloatTensor(una para la salida de las incrustaciones, si el modelo tiene una capa de incrustaciones, + una para la salida de cada capa) de forma(batch_size, num_channels, height, width).Estados ocultos del modelo en la salida de cada capa más las salidas opcionales de la incrustación inicial.