# PP-OCRv5_mobile_rec

## Genel Bakış

**PP-OCRv5_mobile_rec**, metin tanıma için özel olarak geliştirilmiş hafif bir modeldir; çok dilli belgelerdeki ve doğal sahnelerdeki metin öğelerinin verimli bir şekilde tanınması ve anlaşılmasına odaklanır.

## Model Mimarisi

PP-OCRv5_mobile_rec, PaddleOCR ekibi tarafından geliştirilen en yeni nesil metin tanıma modelleri olan PP-OCRv5_rec serisinin bir üyesidir. Tek bir modelle Basitleştirilmiş Çince, Geleneksel Çince, İngilizce ve Japonca dillerinin yanı sıra el yazısı, dikey metin, pinyin ve nadir karakterler gibi karmaşık metin senaryolarının tanınmasını verimli ve doğru bir şekilde desteklemek üzere tasarlanmıştır. Tanıma performansını korurken, çıkarım hızı ve model sağlamlığı arasında denge kurarak, çeşitli senaryolarda belge anlama için verimli ve doğru teknik destek sağlar.

## Kullanım

### Tek girişli çıkarım

Aşağıdaki örnek, [AutoModel](/docs/transformers/main/tr/model_doc/auto#transformers.AutoModel) kullanarak PP-OCRv5_mobile_rec ile metin algılamanın nasıl yapılacağını göstermektedir.

```python
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)
```

### Toplu çıkarım

PP-OCRv5_mobile_rec kullanarak bunu [AutoModel](/docs/transformers/main/tr/model_doc/auto#transformers.AutoModel) ile nasıl yapabileceğiniz aşağıda gösterilmektedir:

```python
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[[transformers.PPOCRV5MobileRecForTextRecognition]]

#### transformers.PPOCRV5MobileRecForTextRecognition[[transformers.PPOCRV5MobileRecForTextRecognition]]

```python
transformers.PPOCRV5MobileRecForTextRecognition(config: PPOCRV5MobileRecConfig)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/pp_ocrv5_mobile_rec/modeling_pp_ocrv5_mobile_rec.py#L374)

**Parametreler:**

config ([PPOCRV5MobileRecConfig](/docs/transformers/main/tr/model_doc/pp_ocrv5_mobile_rec#transformers.PPOCRV5MobileRecConfig)) : 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()](/docs/transformers/main/tr/main_classes/model#transformers.PreTrainedModel.from_pretrained) yöntemine bakın.

Metin tanıma görevleri için PPOCRV5MobileRec modeli.

Bu model [PreTrainedModel](/docs/transformers/main/tr/main_classes/model#transformers.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 ayarlama, başları budama vb.) için üst sınıf belgelendirmesine bakın.

Bu model aynı zamanda bir PyTorch [torch.nn.Module](https://pytorch.org/docs/stable/nn.html#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[[transformers.PPOCRV5MobileRecForTextRecognition.forward]]

```python
forward(pixel_values: Tensor, **kwargs: *<class 'transformers.utils.generic.TransformersKwargs'>)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/pp_ocrv5_mobile_rec/modeling_pp_ocrv5_mobile_rec.py#L384)

**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 [PPOCRV5ServerRecImageProcessor](/docs/transformers/main/tr/model_doc/pp_ocrv5_server_rec#transformers.PPOCRV5ServerRecImageProcessor) kullanılarak elde edilebilir. Ayrıntılar için [PPOCRV5ServerRecImageProcessor.__call__()](/docs/transformers/main/tr/model_doc/molmo2#transformers.Molmo2ImageProcessor.__call__) bölümüne bakın (`processor_class`, görüntüleri işlemek için [PPOCRV5ServerRecImageProcessor](/docs/transformers/main/tr/model_doc/pp_ocrv5_server_rec#transformers.PPOCRV5ServerRecImageProcessor) kullanır).

**Dönüş:** `BaseModelOutputWithNoAttention` veya `tuple(torch.Tensor)`

A `BaseModelOutputWithNoAttention` veya bir `torch.Tensor` tuple'ı (`return_dict=False` geçirildiğinde veya `config.return_dict=False` olduğunda), yapılandırmaya ([PPOCRV5MobileRecConfig](/docs/transformers/main/tr/model_doc/pp_ocrv5_mobile_rec#transformers.PPOCRV5MobileRecConfig)) ve girdilere bağlı olarak çeşitli öğelerden oluşur.

[PPOCRV5MobileRecForTextRecognition](/docs/transformers/main/tr/model_doc/pp_ocrv5_mobile_rec#transformers.PPOCRV5MobileRecForTextRecognition) sınıfının 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ü ilki ö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=True` geçirildiğinde veya `config.output_hidden_states=True` olduğunda döndürülür) -- `torch.Tensor` (gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için bir tane) içeren ve `(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ı.

## PPOCRV5MobileRecConfig[[transformers.PPOCRV5MobileRecConfig]]

#### transformers.PPOCRV5MobileRecConfig[[transformers.PPOCRV5MobileRecConfig]]

```python
transformers.PPOCRV5MobileRecConfig(transformers_version: str | None = None, architectures: list[str] | None = None, output_hidden_states: bool | None = False, return_dict: bool | None = True, dtype: str | torch.dtype | None = None, chunk_size_feed_forward: int = 0, is_encoder_decoder: bool = False, id2label: dict[int, str] | dict[str, str] | None = None, label2id: dict[str, int] | dict[str, str] | None = None, problem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = None, hidden_act: str = 'silu', backbone_config: dict | transformers.configuration_utils.PreTrainedConfig | None = None, hidden_size: int = 120, mlp_ratio: float = 2.0, depth: int = 2, head_out_channels: int = 18385, conv_kernel_size: list | None = None, qkv_bias: bool = True, num_attention_heads: int = 8, attention_dropout: float | int = 0.0, layer_norm_eps: float = 1e-06)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/pp_ocrv5_mobile_rec/configuration_pp_ocrv5_mobile_rec.py#L31)

**Parametreler:**

hidden_act (`str`, *isteğe bağlı*, varsayılan `silu`) : Dekoderdeki 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ı*) : Omurga modelinin yapılandırması.

hidden_size (`int`, *isteğe bağlı*, varsayılan `120`) : Gizli temsillerin boyutu.

mlp_ratio (`float`, *isteğe bağlı*, varsayılan `2.0`) : MLP gizli boyutunun gömme boyutuna oranı.

depth (`int`, *isteğe bağlı*, varsayılan `2`) : Görüntü kodlayıcıdaki Transformer katman sayısı.

head_out_channels (`int`, *isteğe bağlı*, varsayılan 18385) : PPOCRV5MobileRecHead'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ılan `True`) : Sorgulara, anahtarlara ve değerlere bir sapma (bias) eklenip eklenmeyeceğini belirtir.

num_attention_heads (`int`, *isteğe bağlı*, varsayılan `8`) : Transformer decoder'ındaki her dikkat katmanı için dikkat başı sayısı.

attention_dropout (`Union[float, int]`, *isteğe bağlı*, varsayılan `0.0`) : Dikkat olasılıkları için dropout oranı.

layer_norm_eps (`float`, *opsiyonel*, varsayılan `1e-06`) : Katman normalizasyonu katmanlarında kullanılan epsilon.

Bu, bir PPOCRV5MobileRecModel yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Pp Ocrv5 Mobile Rec modelinin örneklenmesi için kullanılır ve model mimarisini tanımlar. Varsayılanlarla bir yapılandırma örneği oluşturmak, [PaddlePaddle/PP-OCRv5_mobile_rec_safetensors](https://huggingface.co/PaddlePaddle/PP-OCRv5_mobile_rec_safetensors) modelinin yapılandırmasına benzer bir yapılandırma elde etmenizi sağlar.

Yapılandırma nesneleri [PreTrainedConfig](/docs/transformers/main/tr/main_classes/configuration#transformers.PreTrainedConfig) sınıfından türetilir ve model çıktılarını kontrol etmek için kullanılabilir. Daha fazla bilgi için [PreTrainedConfig](/docs/transformers/main/tr/main_classes/configuration#transformers.PreTrainedConfig) belgesini okuyun.

## PPOCRV5MobileRecModel[[transformers.PPOCRV5MobileRecModel]]

#### transformers.PPOCRV5MobileRecModel[[transformers.PPOCRV5MobileRecModel]]

```python
transformers.PPOCRV5MobileRecModel(config: PPOCRV5MobileRecConfig)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/pp_ocrv5_mobile_rec/modeling_pp_ocrv5_mobile_rec.py#L322)

**Parametreler:**

config ([PPOCRV5MobileRecConfig](/docs/transformers/main/tr/model_doc/pp_ocrv5_mobile_rec#transformers.PPOCRV5MobileRecConfig)) : 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()](/docs/transformers/main/tr/main_classes/model#transformers.PreTrainedModel.from_pretrained) yöntemine bakın.

PPOCRV5MobileRec modeli, Backbone ve Head ağlarından oluşur.

Bu model [PreTrainedModel](/docs/transformers/main/tr/main_classes/model#transformers.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 ayarlama, başları budama vb.) için üst sınıf belgelendirmesine bakın.

Bu model aynı zamanda bir PyTorch [torch.nn.Module](https://pytorch.org/docs/stable/nn.html#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[[transformers.PPOCRV5MobileRecModel.forward]]

```python
forward(pixel_values: Tensor, **kwargs: *<class 'transformers.utils.generic.TransformersKwargs'>)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/pp_ocrv5_mobile_rec/modeling_pp_ocrv5_mobile_rec.py#L330)

**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 [PPOCRV5ServerRecImageProcessor](/docs/transformers/main/tr/model_doc/pp_ocrv5_server_rec#transformers.PPOCRV5ServerRecImageProcessor) kullanılarak elde edilebilir. Ayrıntılar için [PPOCRV5ServerRecImageProcessor.__call__()](/docs/transformers/main/tr/model_doc/molmo2#transformers.Molmo2ImageProcessor.__call__) bölümüne bakın (`processor_class`, görüntüleri işlemek için [PPOCRV5ServerRecImageProcessor](/docs/transformers/main/tr/model_doc/pp_ocrv5_server_rec#transformers.PPOCRV5ServerRecImageProcessor) kullanır).

**Dönüş:** `BaseModelOutputWithNoAttention` veya `tuple(torch.Tensor)`

A `BaseModelOutputWithNoAttention` veya bir `torch.Tensor` tuple'ı (`return_dict=False` geçirildiğinde veya `config.return_dict=False` olduğunda), yapılandırmaya ([PPOCRV5MobileRecConfig](/docs/transformers/main/tr/model_doc/pp_ocrv5_mobile_rec#transformers.PPOCRV5MobileRecConfig)) ve girdilere bağlı olarak çeşitli öğelerden oluşur.

[PPOCRV5MobileRecModel](/docs/transformers/main/tr/model_doc/pp_ocrv5_mobile_rec#transformers.PPOCRV5MobileRecModel) 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ü ilki ö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=True` geçirildiğinde veya `config.output_hidden_states=True` olduğunda döndürülür) -- `torch.Tensor` (gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için bir tane) içeren ve `(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ı.

## PPOCRV5MobileRecModel[[transformers.PPOCRV5MobileRecModel]]

#### transformers.PPOCRV5MobileRecModel[[transformers.PPOCRV5MobileRecModel]]

```python
transformers.PPOCRV5MobileRecModel(config: PPOCRV5MobileRecConfig)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/pp_ocrv5_mobile_rec/modeling_pp_ocrv5_mobile_rec.py#L322)

**Parametreler:**

config ([PPOCRV5MobileRecConfig](/docs/transformers/main/tr/model_doc/pp_ocrv5_mobile_rec#transformers.PPOCRV5MobileRecConfig)) : 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()](/docs/transformers/main/tr/main_classes/model#transformers.PreTrainedModel.from_pretrained) yöntemine bakın.

PPOCRV5MobileRec modeli, Backbone ve Head ağlarından oluşur.

Bu model [PreTrainedModel](/docs/transformers/main/tr/main_classes/model#transformers.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 ayarlama, başları budama vb.) için üst sınıf belgelendirmesine bakın.

Bu model aynı zamanda bir PyTorch [torch.nn.Module](https://pytorch.org/docs/stable/nn.html#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[[transformers.PPOCRV5MobileRecModel.forward]]

```python
forward(pixel_values: Tensor, **kwargs: *<class 'transformers.utils.generic.TransformersKwargs'>)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/pp_ocrv5_mobile_rec/modeling_pp_ocrv5_mobile_rec.py#L330)

**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 [PPOCRV5ServerRecImageProcessor](/docs/transformers/main/tr/model_doc/pp_ocrv5_server_rec#transformers.PPOCRV5ServerRecImageProcessor) kullanılarak elde edilebilir. Ayrıntılar için [PPOCRV5ServerRecImageProcessor.__call__()](/docs/transformers/main/tr/model_doc/molmo2#transformers.Molmo2ImageProcessor.__call__) bölümüne bakın (`processor_class`, görüntüleri işlemek için [PPOCRV5ServerRecImageProcessor](/docs/transformers/main/tr/model_doc/pp_ocrv5_server_rec#transformers.PPOCRV5ServerRecImageProcessor) kullanır).

**Dönüş:** `BaseModelOutputWithNoAttention` veya `tuple(torch.Tensor)`

A `BaseModelOutputWithNoAttention` veya bir `torch.Tensor` tuple'ı (`return_dict=False` geçirildiğinde veya `config.return_dict=False` olduğunda), yapılandırmaya ([PPOCRV5MobileRecConfig](/docs/transformers/main/tr/model_doc/pp_ocrv5_mobile_rec#transformers.PPOCRV5MobileRecConfig)) ve girdilere bağlı olarak çeşitli öğelerden oluşur.

[PPOCRV5MobileRecModel](/docs/transformers/main/tr/model_doc/pp_ocrv5_mobile_rec#transformers.PPOCRV5MobileRecModel) 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ü ilki ö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=True` geçirildiğinde veya `config.output_hidden_states=True` olduğunda döndürülür) -- `torch.Tensor` (gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için bir tane) içeren ve `(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ı.

