Transformers documentation
PP-OCRv6_small_det
Bu model, 2026-05-19 tarihinde Hugging Face Transformers'a katkıda bulunulmuştur.
PP-OCRv6_small_det
Genel Bakış
PP-OCRv6_small_det, PaddleOCR ekibi tarafından geliştirilen PP-OCRv6 algılama serisindeki küçük modeldir. Omurga olarak LCNetV4, özellik piramidi boynu olarak RepLKFPN kullanır; el yazısı, basılı, döndürülmüş, eğri ve sanatsal metinler dahil olmak üzere çok dilli çeşitli senaryolarda doğru metin konumlandırması sağlar. Model 2,48M parametre içerir.
Model Mimarisi
Kullanım
Tek girişli çıkarım
Aşağıdaki örnek, AutoModel kullanarak PP-OCRv6_small_det ile metin algılamanın nasıl yapılacağını göstermektedir.
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)Toplu çıkarım
PP-OCRv6_small_det kullanarak bunu AutoModel ile nasıl yapabileceğiniz aşağıda gösterilmektedir:
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
sınıf transformers.PPOCRV6SmallDetForObjectDetection
< source >( config: PPOCRV6SmallDetConfig )
Parametreler
- config (PPOCRV6SmallDetConfig) — Modelin tüm parametrelerini içeren model yapılandırma sınıfı. Bir yapılandırma dosyasıyla başlatmak, modelle ilişkili ağırlıkları yüklemez, yalnızca yapılandırmayı yükler. Model ağırlıklarını yüklemek için from_pretrained() yöntemine bakın.
Metin tanıma görevleri için PPOCR6SmallRec modeli.
Bu model PreTrainedModel sınıfından devralır. Kütüphanenin tüm modelleri için uyguladığı genel yöntemler (indirme veya kaydetme, giriş gömme boyutlarını yeniden boyutlandırma, başları budama vb.) için üst sınıf belgelendirmesine bakın.
Bu model aynı zamanda bir PyTorch torch.nn.Module alt sınıfıdır. Bunu standart bir PyTorch Module olarak kullanın ve genel kullanım ve davranışla ilgili tüm konular için PyTorch dokümantasyonuna başvurun.
PPOCRV6SmallDetConfig
sınıf transformers.PPOCRV6SmallDetConfig
< 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 = 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 )
Parametreler
- backbone_config (
Union[dict, ~configuration_utils.PreTrainedConfig], isteğe bağlı) — Backbone modelinin yapılandırması. - reduction (
int, isteğe bağlı, varsayılan 4) — Özellik kanal boyutları için indirgeme çarpanı; özellik temsil edilebilirliğini korurken model parametre sayısını ve hesaplama karmaşıklığını azaltmak için kullanılır. - neck_out_channels (
int, isteğe bağlı, varsayılan 96) — Özellikleri baş ağına (head network) geçirmeden önce özellik birleştirme ve iyileştirme (refinement) sorumluluğunu üstlenen boyun ağından (neck network) gelen çıktı kanal sayısı. - interpolate_mode (
str, isteğe bağlı, varsayılan"nearest") — Neck ağındaki özellik haritalarının büyütülmesi veya küçültülmesinde kullanılan interpolasyon modu. Desteklenen modlar arasında"nearest"(en yakın komşu interpolasyonu) ve"bilinear"yer alır. - kernel_list (
List[int], opsiyonel, varsayılan[3, 2, 2]) — Baş ağındaki konvolüsyon katmanları için çekirdek boyutlarının listesi; farklı boyutlardaki metin bölgelerini algılamak için çok ölçekli özellik çıkarımında kullanılır. - layer_list_out_channels (
List[int], isteğe bağlı, varsayılan[12, 18, 42, 360]) — Boyun ağındaki RSE katmanlarının giriş kanallarını yapılandırmak için çok ölçekli özellik füzyonunda kullanılan, her omurga aşaması için çıktı kanallarının listesi. - dilated_kernel_size (
int, isteğe bağlı, varsayılan 7) — Giriş konvolüsyon yolundaki dilate konvolüsyon katmanının çekirdek boyutu, özellik haritalarındaki uzun menzilli bağımlılıkları yakalamak için kullanılır.
Bu, bir PPOCRV6SmallDetModel yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Pp Ocrv6 Small Det modelini örneklemek ve model mimarisini tanımlamak için kullanılır. Varsayılan değerlerle bir yapılandırma örneği oluşturmak, PaddlePaddle/PP-OCRv6_small_det_safetensors modelinin yapılandırmasına benzer bir yapılandırma üretir.
Yapılandırma nesneleri PreTrainedConfig sınıfından devralır ve model çıktılarını kontrol etmek için kullanılabilir. Daha fazla bilgi için PreTrainedConfig belgesini okuyun.
PPOCRV6SmallDetModel
sınıf transformers.PPOCRV6SmallDetModel
< source >( config: PPOCRV6SmallDetConfig )
Parametreler
- config (PPOCRV6SmallDetConfig) — Modelin tüm parametrelerini içeren model yapılandırma sınıfı. Bir yapılandırma dosyasıyla başlatmak, modelle ilişkili ağırlıkları yüklemez, yalnızca yapılandırmayı yükler. Model ağırlıklarını yüklemek için from_pretrained() yöntemine bakın.
Üzerinde herhangi bir özel head bulunmayan, ham hidden-states çıktısı üreten çıplak Pp Ocrv6 Small Det Model.
Bu model PreTrainedModel sınıfından devralır. Kütüphanenin tüm modelleri için uyguladığı genel yöntemler (indirme veya kaydetme, giriş gömme boyutlarını yeniden boyutlandırma, başları budama vb.) için üst sınıf belgelendirmesine bakın.
Bu model aynı zamanda bir PyTorch torch.nn.Module alt sınıfıdır. Bunu standart bir PyTorch Module olarak kullanın ve genel kullanım ve davranışla ilgili tüm konular için PyTorch dokümantasyonuna başvurun.
forward
< source >( pixel_values: FloatTensor**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutputWithNoAttention or tuple(torch.FloatTensor)
Parametreler
- pixel_values (
torch.FloatTensor, şekli(batch_size, num_channels, image_size, image_size)) — Girdi görüntülerine karşılık gelen tensörler. Piksel değerleri PPOCRV5ServerDetImageProcessor kullanılarak elde edilebilir. Ayrıntılar için PPOCRV5ServerDetImageProcessor.call() bölümüne bakın (processor_class, görüntüleri işlemek için PPOCRV5ServerDetImageProcessor kullanır).
Dönüş değeri
BaseModelOutputWithNoAttention veya tuple(torch.FloatTensor)
BaseModelOutputWithNoAttention veya bir torch.FloatTensor demeti (return_dict=False geçirildiğinde veya config.return_dict=False olduğunda), yapılandırmaya (PPOCRV6SmallDetConfig) ve girdilere bağlı olarak çeşitli öğelerden oluşur.
PPOCRV6SmallDetModel forward metodu, __call__ özel metodunu geçersiz kılar.
İleri geçiş tarifi bu fonksiyon içinde tanımlanmalı olsa da, sonrasında bunun yerine
Moduleörneğini çağırmak gerekir; çünkü önceki, ön ve son işleme adımlarını çalıştırmaktan sorumluyken ikincisi bunları sessizce yok sayar.
last_hidden_state (
torch.FloatTensor, şekli(batch_size, num_channels, height, width)) — Modelin son katmanının çıktısındaki gizli durumlar dizisi.hidden_states (
tuple(torch.FloatTensor), isteğe bağlı,output_hidden_states=Truegeçirildiğinde veyaconfig.output_hidden_states=Trueolduğunda döndürülür) —torch.FloatTensor(modelin bir gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için birer tane) içeren,(batch_size, num_channels, height, width)biçiminde bir demet.Her katmanın çıktısında modelin gizli durumları ve isteğe bağlı başlangıç gömme çıktıları.