Transformers documentation
PP-OCRv6_small_rec
Bu model, 2026-05-19 tarihinde Hugging Face Transformers'a katkıda bulunulmuştur.
PP-OCRv6_small_rec
Genel Bakış
PP-OCRv6_small_rec, PP-OCRv6 serisindeki orta segment tanıma modelidir. Omurga olarak LCNetV4'ü, tanıma boyun kısmı olarak EncoderWithLightSVTR'ı ve CTC+NRTR çok başlı çözücü kullanır. Model 50 dili destekler ve 5,2M parametre içerir.
Model Mimarisi
Kullanım
Tek girişli çıkarım
Aşağıdaki örnek, AutoModel kullanarak PP-OCRv6_small_rec 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, AutoModelForTextRecognition
from transformers.image_utils import load_image
model_path = "PaddlePaddle/PP-OCRv6_small_rec_safetensors"
model = AutoModelForTextRecognition.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_rec_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_text_recognition(outputs)
for result in results:
print(result)Toplu çıkarım
PP-OCRv6_small_rec ile bunu AutoModel kullanarak 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, AutoModelForTextRecognition
from transformers.image_utils import load_image
model_path = "PaddlePaddle/PP-OCRv6_small_rec_safetensors"
model = AutoModelForTextRecognition.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_rec_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_text_recognition(outputs)
for result in results:
print(result)PPOCRV6SmallRecForTextRecognition
sınıf transformers.PPOCRV6SmallRecForTextRecognition
< source >( config: PPOCRV6SmallRecConfig )
Parametreler
- config (PPOCRV6SmallRecConfig) — 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.
forward
< source >( pixel_values: Tensor**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutputWithNoAttention or tuple(torch.Tensor)
Parametreler
- pixel_values (
torch.Tensor, şekli(batch_size, num_channels, image_size, image_size)) — Girdi görüntülerine karşılık gelen tensörler. Piksel değerleri PPOCRV6SmallRecImageProcessor kullanılarak elde edilebilir. Ayrıntılar için PPOCRV6SmallRecImageProcessor.call() bölümüne bakın (processor_class, görüntüleri işlemek için PPOCRV6SmallRecImageProcessor kullanır).
Dönüş değeri
BaseModelOutputWithNoAttention veya tuple(torch.Tensor)
BaseModelOutputWithNoAttention veya bir torch.Tensor demeti (eğer return_dict=False geçirildiyse veya config.return_dict=False ise), yapılandırmaya (PPOCRV6SmallRecConfig) ve girdilere bağlı olarak çeşitli öğelerden oluşur.
PPOCRV6SmallRecForTextRecognition ileri yöntemi, __call__ özel yöntemini 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.Tensor, şekli(batch_size, num_channels, height, width)) — Modelin son katmanının çıktısındaki gizli durumlar dizisi.hidden_states (
tuple(torch.Tensor), isteğe bağlı,output_hidden_states=Truegeçirildiğinde veyaconfig.output_hidden_states=Trueolduğunda döndürülür) —torch.Tensor(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ı.
PPOCRV6SmallRecConfig
sınıf transformers.PPOCRV6SmallRecConfig
< 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 = 18714conv_kernel_size: list | None = Noneqkv_bias: bool = Truenum_attention_heads: int = 8attention_dropout: float | int = 0.0layer_norm_eps: float = 1e-06 )
Parametreler
- hidden_act (
str, isteğe bağlı, varsayılansilu) — Çözücüdeki doğrusal olmayan aktivasyon fonksiyonu (fonksiyon veya dize). Örneğin,"gelu","relu","silu"vb. - backbone_config (
Union[dict, ~configuration_utils.PreTrainedConfig], isteğe bağlı) — Backbone modelinin yapılandırması. - hidden_size (
int, isteğe bağlı, varsayılan120) — Gizli temsillerin boyutu. - mlp_ratio (
float, isteğe bağlı, varsayılan2.0) — MLP gizli boyutunun gömme boyutuna oranı. - depth (
int, isteğe bağlı, varsayılan2) — Görüntü kodlayıcıdaki Transformer katmanlarının sayısı. - head_out_channels (
int, isteğe bağlı, varsayılan 18714) — PPOCRV6SmallRecHead'dan gelen çıktı kanal sayısı; nihai sınıflandırmadan sorumludur. - conv_kernel_size (
list, isteğe bağlı) — Konvolüsyon çekirdeğinin boyutu. - qkv_bias (
bool, isteğe bağlı, varsayılanTrue) — Sorgulara, anahtarlara ve değerlere bir sapma eklenip eklenmeyeceği. - num_attention_heads (
int, isteğe bağlı, varsayılan8) — Transformer decoder'ındaki her dikkat katmanı için dikkat başı sayısı. - attention_dropout (
Union[float, int], isteğe bağlı, varsayılan0.0) — Dikkat olasılıkları için dropout oranı. - layer_norm_eps (
float, isteğe bağlı, varsayılan1e-06) — Katman normalizasyon katmanları tarafından kullanılan epsilon.
Bu, bir PPOCRV6SmallRecModel 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 Rec modelinin örneklenmesinde, model mimarisini tanımlamak için kullanılır. Varsayılan değerlerle bir yapılandırma örneklendiğinde, PaddlePaddle/PP-OCRv6_small_rec_safetensors modelinin yapılandırmasına benzer bir yapılandırma elde edilir.
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.
PPOCRV6SmallRecModel
sınıf transformers.PPOCRV6SmallRecModel
< source >( config: PPOCRV6SmallRecConfig )
Parametreler
- config (PPOCRV6SmallRecConfig) — 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.
PPOCRV6SmallRec modeli, Backbone ve Head ağlarından oluşur.
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: Tensor**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutputWithNoAttention or tuple(torch.Tensor)
Parametreler
- pixel_values (
torch.Tensor, şekli(batch_size, num_channels, image_size, image_size)) — Girdi görüntülerine karşılık gelen tensörler. Piksel değerleri PPOCRV6SmallRecImageProcessor kullanılarak elde edilebilir. Ayrıntılar için PPOCRV6SmallRecImageProcessor.call() bölümüne bakın (processor_class, görüntüleri işlemek için PPOCRV6SmallRecImageProcessor kullanır).
Dönüş değeri
BaseModelOutputWithNoAttention veya tuple(torch.Tensor)
BaseModelOutputWithNoAttention veya bir torch.Tensor demeti (eğer return_dict=False geçirildiyse veya config.return_dict=False ise), yapılandırmaya (PPOCRV6SmallRecConfig) ve girdilere bağlı olarak çeşitli öğelerden oluşur.
PPOCRV6SmallRecModel 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.Tensor, şekli(batch_size, num_channels, height, width)) — Modelin son katmanının çıktısındaki gizli durumlar dizisi.hidden_states (
tuple(torch.Tensor), isteğe bağlı,output_hidden_states=Truegeçirildiğinde veyaconfig.output_hidden_states=Trueolduğunda döndürülür) —torch.Tensor(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ı.
PPOCRV6SmallRecEncoderWithSVTR
SVTR: Tek Görsel Model ile Sahne Metni Tanıma https://www.paddleocr.ai/v2.10.0/en/algorithm/text_recognition/algorithm_rec_svtr.html
PPOCRV6SmallRecImageProcessor
sınıf transformers.PPOCRV6SmallRecImageProcessor
< source >( **kwargs: *<class 'transformers.processing_utils.ImagesKwargs'> )
Parametreler
- do_convert_rgb (
bool, kwargs, opsiyonel, varsayılanTrue) — Görselin RGB'ye dönüştürülüp dönüştürülmemesi. - do_resize (
bool, kwargs, isteğe bağlı, varsayılanTrue) — Görselin yeniden boyutlandırılıp boyutlandırılmayacağı. - size (
Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs, varsayılan{'height' -- 48, 'width': 320}): Modelin kabul ettiği maksimum giriş boyutlarını açıklar. - default_to_square (
bool, kwargs, isteğe bağlı, varsayılanTrue) — size bir int ise, yeniden boyutlandırma sırasında varsayılan olarak kare bir görüntü kullanılıp kullanılmayacağı. - crop_size (
Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) —center_cropuygulandıktan sonra çıktı görüntüsünün boyutu. - resample (
Annotated[Union[int, PILImageResampling, NoneType], None], kwargs, varsayılan2) — Görsel yeniden boyutlandırılıyorsa kullanılacak yeniden örnekleme filtresi. Bu,PILImageResamplingenum değerlerinden biri olabilir. Yalnızcado_resizeTrueolarak ayarlanırsa etkilidir. - do_rescale (
bool, kwargs, isteğe bağlı, varsayılanTrue) — Görselin yeniden ölçeklendirilip ölçeklendirilmeyeceği. - rescale_factor (
float, kwargs, opsiyonel, varsayılan0.00392156862745098) —do_rescaleTrueolarak ayarlandığında görüntüyü yeniden ölçeklemek için kullanılan yeniden ölçekleme faktörü. - do_normalize (
bool, kwargs, opsiyonel, varsayılanTrue) — Görselin normalize edilip edilmeyeceği. - image_mean (
Union[float, list[float], tuple[float, ...]], kwargs, opsiyonel, varsayılan[0.5, 0.5, 0.5]) — Normalizasyon için kullanılacak görüntü ortalaması. Yalnızcado_normalizeTrueolarak ayarlanırsa etkilidir. - image_std (
Union[float, list[float], tuple[float, ...]], kwargs, opsiyonel, varsayılan[0.5, 0.5, 0.5]) — Normalizasyon için kullanılacak görüntü standart sapması. Yalnızcado_normalizeTrueolarak ayarlanırsa etkilidir. - do_pad (
bool, kwargs, opsiyonel, varsayılanTrue) — Görselin dolgu (padding) uygulanıp uygulanmayacağı. Dolgu, ya batch içindeki en büyük boyuta ya da görsel başına sabit bir kare boyuta yapılır. Kesin dolgu stratejisi modele bağlıdır. - pad_size (
Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs, varsayılan{'height' -- 48, 'width': 320}): Görsellerin doldurulacağı boyut,{"height": int, "width" int}biçiminde. Ön işleme için sağlanan herhangi bir görsel boyutundan büyük olmalıdır.pad_sizesağlanmazsa, görseller partideki en büyük yüksekliğe ve genişliğe doldurulur. Yalnızcado_pad=True.olduğunda uygulanır. - do_center_crop (
bool, kwargs, opsiyonel) — Görselin ortadan kırpılıp kırpılmayacağı. - data_format (
Union[str, ~image_utils.ChannelDimension], kwargs, isteğe bağlı) — YalnızcaChannelDimension.FIRSTdesteklenir. Yavaş işleyicilerle uyumluluk için eklendi. - input_data_format (
Union[str, ~image_utils.ChannelDimension], kwargs, isteğe bağlı) — Girdi görüntüsü için kanal boyutu biçimi. Ayarlanmazsa, kanal boyutu biçimi girdi görüntüsünden çıkarılır. Aşağıdakilerden biri olabilir:"channels_first"veyaChannelDimension.FIRST: (num_channels, height, width) biçiminde görüntü."channels_last"veyaChannelDimension.LAST: (yükseklik, genişlik, kanal sayısı) biçiminde görüntü."none"veyaChannelDimension.NONE: (height, width) biçiminde görüntü.
- device (
Annotated[Union[str, torch.device, NoneType], None], kwargs) — Videoların işleneceği cihaz. Ayarlanmamışsa, cihaz girdi videolarından çıkarılır. - return_tensors (
Annotated[str | ~utils.generic.TensorType | None, None], kwargs) —'pt'olarak ayarlanırsa yığılmış tensörler döndürür, aksi takdirde tensör listesi döndürür. - disable_grouping (
bool, kwargs, opsiyonel) — Görsellerin boyuta göre gruplandırılmasını devre dışı bırakıp onları toplu olarak değil, bireysel olarak işlenmesini belirtir. None ise, görseller CPU üzerindeyse True, aksi halde False olarak ayarlanır. Bu seçim, burada ayrıntılandırıldığı üzere ampirik gözlemlere dayanmaktadır: https://github.com/huggingface/transformers/pull/38157 - image_seq_length (
int, kwargs, isteğe bağlı) — Girdideki her görüntü için kullanılacak görüntü jetonu sayısı. Geriye dönük uyumluluk için eklendi ancak gelecekteki modellerde bu, bir işlemci özniteliği olarak ayarlanmalıdır.'pt'olarak ayarlanırsa yığılmış tensörler döndürür, aksi takdirde tensör listesi döndürür. - disable_grouping (
bool, kwargs, opsiyonel) — Görsellerin boyuta göre gruplandırılmasını devre dışı bırakıp onları toplu olarak değil, bireysel olarak işlenmesini belirtir. None ise, görseller CPU üzerindeyse True, aksi halde False olarak ayarlanır. Bu seçim, burada ayrıntılandırıldığı üzere ampirik gözlemlere dayanmaktadır: https://github.com/huggingface/transformers/pull/38157 - image_seq_length (
int, kwargs, isteğe bağlı) — Girdideki her görüntü için kullanılacak görüntü jetonu sayısı. Geriye dönük uyumluluk için eklendi ancak gelecekteki modellerde bu, bir işlemci özniteliği olarak ayarlanmalıdır.'pt'olarak ayarlanırsa yığılmış tensörler döndürür, aksi takdirde tensör listesi döndürür. - disable_grouping (
bool, kwargs, opsiyonel) — Görsellerin boyuta göre gruplandırılmasını devre dışı bırakıp onları toplu olarak değil, bireysel olarak işlenmesini belirtir. None ise, görseller CPU üzerindeyse True, aksi halde False olarak ayarlanır. Bu seçim, burada ayrıntılandırıldığı üzere ampirik gözlemlere dayanmaktadır: https://github.com/huggingface/transformers/pull/38157 - image_seq_length (
int, kwargs, isteğe bağlı) — Girdideki her görüntü için kullanılacak görüntü jetonu sayısı. Geriye dönük uyumluluk için eklendi ancak gelecekteki modellerde bu, bir işlemci özniteliği olarak ayarlanmalıdır.'pt'olarak ayarlanırsa yığılmış tensörler döndürür, aksi takdirde tensör listesi döndürür. - disable_grouping (
bool, kwargs, opsiyonel) — Görsellerin boyuta göre gruplandırılmasını devre dışı bırakıp onları toplu olarak değil, bireysel olarak işlenmesini belirtir. None ise, görseller CPU üzerindeyse True, aksi halde False olarak ayarlanır. Bu seçim, burada ayrıntılandırıldığı üzere ampirik gözlemlere dayanmaktadır: https://github.com/huggingface/transformers/pull/38157 - image_seq_length (
int, kwargs, isteğe bağlı) — Girdideki her görüntü için kullanılacak görüntü jetonu sayısı. Geriye dönük uyumluluk için eklendi ancak gelecekteki modellerde bu, bir işlemci özniteliği olarak ayarlanmalıdır.'pt'olarak ayarlanırsa yığılmış tensörler döndürür, aksi takdirde tensör listesi döndürür. - disable_grouping (
bool, kwargs, opsiyonel) — Görsellerin boyuta göre gruplandırılmasını devre dışı bırakıp onları toplu olarak değil, bireysel olarak işlenmesini belirtir. None ise, görseller CPU üzerindeyse True, aksi halde False olarak ayarlanır. Bu seçim, burada ayrıntılandırıldığı üzere ampirik gözlemlere dayanmaktadır: https://github.com/huggingface/transformers/pull/38157 - image_seq_length (
int, kwargs, isteğe bağlı) — Girdideki her görüntü için kullanılacak görüntü jetonu sayısı. Geriye dönük uyumluluk için eklendi ancak gelecekteki modellerde bu, bir işlemci özniteliği olarak ayarlanmalıdır.'pt'olarak ayarlanırsa yığılmış tensörler döndürür, aksi takdirde tensör listesi döndürür. - disable_grouping (
bool, kwargs, opsiyonel) — Görsellerin boyuta göre gruplandırılmasını devre dışı bırakıp onları toplu olarak değil, bireysel olarak işlenmesini belirtir. None ise, görseller CPU üzerindeyse True, aksi halde False olarak ayarlanır. Bu seçim, burada ayrıntılandırıldığı üzere ampirik gözlemlere dayanmaktadır: https://github.com/huggingface/transformers/pull/38157 - image_seq_length (
int, kwargs, isteğe bağlı) — Girdideki her görüntü için kullanılacak görüntü jetonu sayısı. Geriye dönük uyumluluk için eklendi ancak gelecekteki modellerde bu, bir işlemci özniteliği olarak ayarlanmalıdır.'pt'olarak ayarlanırsa yığılmış tensörler döndürür, aksi takdirde tensör listesi döndürür. - disable_grouping (
bool, kwargs, opsiyonel) — Görsellerin boyuta göre gruplandırılmasını devre dışı bırakıp onları toplu olarak değil, bireysel olarak işlenmesini belirtir. None ise, görseller CPU üzerindeyse True, aksi halde False olarak ayarlanır. Bu seçim, burada ayrıntılandırıldığı üzere ampirik gözlemlere dayanmaktadır: https://github.com/huggingface/transformers/pull/38157 - image_seq_length (
int, kwargs, isteğe bağlı) — Girdideki her görüntü için kullanılacak görüntü jetonlarının sayısı. Geriye dönük uyumluluk için eklendi ancak gelecekteki modellerde bu, bir işlemci özniteliği olarak ayarlanmalıdır. - Returns
'pt'olarak ayarlanırsa yığılmış tensörleri, aksi takdirde tensör listesini döndürür. —
PPOCRV6SmallRecImageProcessor görüntü işleyicisi oluşturur.
disable_grouping (bool, kwargs, opsiyonel):
Görsellerin boyuta göre gruplandırılmasını devre dışı bırakıp onları toplu olarak değil, bireysel olarak işlenmesini belirtir.
None ise, görseller CPU üzerindeyse True, aksi halde False olarak ayarlanır. Bu seçim, burada ayrıntılı olarak belirtildiği gibi ampirik gözlemlere dayanmaktadır: https://github.com/huggingface/transformers/pull/38157 image_seq_length (int, kwargs, opsiyonel):
Girdideki her görsel için kullanılacak görsel jeton sayısı.
Geriye dönük uyumluluk için eklendi ancak gelecekteki modellerde bu, bir işlemci özniteliği olarak ayarlanmalıdır.
Partideki en geniş görüntüden genişlik ve yüksekliği hesaplayın.
post_process_text_recognition
< source >( predictions )
Ham model logitlerini işleyerek tanınan metni ve güven puanını çözer.