# GraniteDocling

[GraniteDocling](https://huggingface.co/papers/2408.09869), belge dönüştürme için bir görme-dil modelidir. Bir sayfa görüntüsü verildiğinde, [DocLang](https://doclang.ai/) (`<doclang>`) üretir: okuma sırasındaki yerleşim öğeleri ve sınırlayıcı kutuları, bu öğelerin içerdiği metin, tablolar, formüller ve kod. DocLang işaretleme dilidir; [Docling](https://github.com/docling-project/docling) (`docling-core`) bir tahmini, Markdown, HTML, JSON ve diğer formatlara dışa aktarabileceğiniz bir belgeye ayrıştırır.

Sayfa, en-boy oranına en iyi uyan ızgaraya yerleştirilen 512x512 piksellik karolar halinde bölünür; birden fazla karo varsa tüm sayfanın küçük bir önizlemesi de eklenir. Bir görme kodlayıcı her karoyu gömme (embedding) olarak işler ve bir piksel karıştırma (pixel-shuffle) bağlantı elemanı, görme yamalarını (patches) görüntü jetonlarına (tokens) eşler. Ara görme kodlayıcı durumları da projekte edilir ve ilk decoder katmanlarından sonra görüntü jetonlarına eklenir. Ardından yoğun bir Granite tarzı metin decoder'ı DocLang'i üretir.

GraniteDocling iki model olarak yayınlanır. 500M model, karot başına 64 görüntü belirteci kullanır ve yoğun bir sayfayı 256'ya geçirebilir; bir yönlendirici bunu sayfa başına seçer. 2B model, 2 olan bir piksel karıştırma oranı kullanır; bu, karot başına 256 görüntü belirtecine karşılık gelir ve 500M ince yolun yoğunluğuyla aynıdır.

[Docling projesi](https://huggingface.co/docling-project) GraniteDocling'i oluşturdu. Her iki model de [IBM Granite](https://huggingface.co/ibm-granite) kuruluşunda yayımlanmıştır.

GraniteDocling, [Idefics3](./idefics3) üzerinden yüklenmeye devam eden [granite-docling-258M](https://huggingface.co/ibm-granite/granite-docling-258M)'den farklı bir mimariye sahiptir.

> [!TIP]
> Bu model, [Docling ekibi](https://huggingface.co/docling-project) tarafından katkıda bulunmuştur.
>
> Farklı belge dönüştürme görevlerine GraniteDocling'i nasıl uygulayacağınızı gösteren daha fazla örnek için sağ kenar çubuğundaki GraniteDocling modellerine tıklayın.

## Kullanım ipuçları

- Modeli sohbet şablonu üzerinden yönlendirin. `<doclang>` tüm sayfayı dönüştürür. Öğelerin bir alt kümesini istemek için köşeli parantezli bir liste ekleyin, örneğin `<doclang> [<ocr>]` veya `<doclang> [<ocr>, <layout>, <picture>]`.
- Diziyi DocLang olarak ayrıştıracaksanız, `skip_special_tokens=False` ile çözümlendirin. Aksi takdirde özel işaretleme token'ları kaldırılır.
- 500M modelde, yoğun sayfalar (küçük puntolar, uzun tablolar, çok sütunlu metinler) için `fine_route=True` parametresini iletin. Bu yol, dört kat daha fazla görüntü jetonu kullandığından istem daha uzun olur ve çıkarım yavaşlar. 2B model zaten bu jeton yoğunluğunu kullandığından ve ikinci bir yolu olmadığından, `fine_route=True` bu model için bir hata üretir.
- 500M model, sizin yerinize bu kararı veren bir yoğunluk yönlendirici içerir: [predict_fine_route()](/docs/transformers/v5.23.0/tr/model_doc/granite_docling#transformers.GraniteDoclingModel.predict_fine_route), bir partideki hangi sayfaların ince yolu gerektirdiğini döndürür.

Aşağıdaki örnekler, [Docling Technical Report](https://huggingface.co/papers/2408.09869)'un (`arXiv:2408.09869`) 1. sayfasını dönüştürür. Görevi değiştirmek için yalnızca metin komutunu değiştirin; model, istenen öğelere göre filtrelenmiş DocLang döndürür.

| Görev | İstem |
|---|---|
| Tam sayfa | `<doclang>` |
| OCR | `<doclang> [<ocr>]` |
| Düzen | `<doclang> [<layout>]` |
| Tablolar | `<doclang> [<table>]` |
| Formüller | `<doclang> [<formula>]` |
| Kod | `<doclang> [<code>]` |
| Grafikler | `<doclang> [<chart>]` |
| Görseller | `<doclang> [<picture>]` |
| Birleştirilmiş | `<doclang> [<ocr>, <layout>, <picture>]` |

### Tam sayfa

`<doclang>` sayfanın tamamını dönüştürür: yerleşim, metin, tablolar, formüller, kod, grafikler ve resimler.

```python
from transformers import pipeline

pipe = pipeline(
    task="image-text-to-text",
    model="ibm-granite/granite-for-docling-500m",
)
messages = [
    {
        "role": "user",
        "content": [
            {"type": "image", "url": "https://huggingface.co/ibm-granite/granite-for-docling-500m/resolve/main/docling_technical_report_p1.png"},
            {"type": "text", "text": "<doclang>"},
        ],
    }
]
pipe(text=messages, max_new_tokens=4096, return_full_text=False, skip_special_tokens=False)
```

```python
from transformers import AutoProcessor, AutoModelForImageTextToText

model_id = "ibm-granite/granite-for-docling-500m"

processor = AutoProcessor.from_pretrained(model_id)
model = AutoModelForImageTextToText.from_pretrained(model_id, device_map="auto")

conversation = [
    {
        "role": "user",
        "content": [
            {"type": "image", "url": "https://huggingface.co/ibm-granite/granite-for-docling-500m/resolve/main/docling_technical_report_p1.png"},
            {"type": "text", "text": "<doclang>"},
        ],
    },
]
inputs = processor.apply_chat_template(
    conversation,
    add_generation_prompt=True,
    tokenize=True,
    return_dict=True,
    return_tensors="pt",
).to(model.device)

output = model.generate(**inputs, max_new_tokens=4096)
# Keep the special tokens: they are the DocLang markup. Drop the end-of-text token that closes the generation.
doclang = processor.decode(output[0, inputs["input_ids"].shape[1] :], skip_special_tokens=False)
doclang = doclang.removesuffix(processor.tokenizer.eos_token).strip()
print(doclang)
```

Sadece bazı öğeleri dönüştürmek için metin istemini yukarıdaki tablodaki seçeneklerden birine değiştirin, örneğin `<doclang> [<ocr>, <layout>, <picture>]`. Diğer her şey aynı kalır.

### Yoğun sayfalar: ince yol

İnce bağlantı yolu, karot başına dört kat daha fazla görüntü jetonu harcar; bu da küçük yazı, uzun tablolar ve çok sütunlu metinlerde işe yarar. Her çağrıda `fine_route=True` ile seçin:

```python
inputs = processor.apply_chat_template(
    conversation,
    add_generation_prompt=True,
    tokenize=True,
    return_dict=True,
    return_tensors="pt",
    processor_kwargs={"fine_route": True},
).to(model.device)
output = model.generate(**inputs, max_new_tokens=4096)
```

500M modeli (`config.density_router_hidden_size` ayarlanmıştır) varsayılan görüntü jetonlerinden hangi sayfaların ince yolu gerektirdiğini tahmin eder:

```python
needs_fine = model.model.predict_fine_route(inputs["pixel_values"], inputs["pixel_attention_mask"])  # (batch_size,) bool
if needs_fine[0]:
    inputs = processor.apply_chat_template(
        conversation,
        add_generation_prompt=True,
        tokenize=True,
        return_dict=True,
        return_tensors="pt",
        processor_kwargs={"fine_route": True},
    ).to(model.device)
output = model.generate(**inputs, max_new_tokens=4096)
```

### Toplu çıkarım

Sayfalar farklı karo ızgaralarına sahip olduğundan, `pixel_values` partideki en büyük karoya sayısına göre dolgu yapılır. `pixel_attention_mask` gerçek karoları işaretler ve model dolguyu atar.

```python
pages = [
    "https://huggingface.co/ibm-granite/granite-for-docling-500m/resolve/main/docling_technical_report_p1.png",
    "https://huggingface.co/ibm-granite/granite-for-docling-500m/resolve/main/docling_technical_report_p1.png",
]
conversations = [
    [{"role": "user", "content": [{"type": "image", "url": url}, {"type": "text", "text": "<doclang>"}]}]
    for url in pages
]
inputs = processor.apply_chat_template(
    conversations,
    add_generation_prompt=True,
    tokenize=True,
    return_dict=True,
    return_tensors="pt",
    processor_kwargs={"padding": True},
).to(model.device)

output = model.generate(**inputs, max_new_tokens=4096)
for row in output:
    doclang = processor.decode(row[inputs["input_ids"].shape[1] :], skip_special_tokens=False)
    print(doclang.removesuffix(processor.tokenizer.eos_token).strip())
```

`processor_kwargs` içine `"fine_route": True` ekleyerek tüm batch'i ince yoldan yönlendirin; işlemci (processor) ardından `tile_fine_mask` döndürür. Bir batch tek bir yol izlediğinden, yönlendiricinin (router) ince yola gönderdiği sayfaları kendi başlarına bir batch olarak çalıştırın.

### DocLang'i Docling ile dışa aktarın

`docling-core`, AutoModel örneğindeki `doclang` dizgesini `DoclingDocument` nesnesine ayrıştırır; bu nesneyi ihtiyacınıza göre herhangi bir biçimde seri hale getirebilirsiniz.

```python
from pathlib import Path
from docling_core.transforms.deserializer.doclang import DocLangDocDeserializer

document = DocLangDocDeserializer().deserialize_str(doclang)

print(document.export_to_markdown())
print(document.export_to_html())
print(document.export_to_dict())

document.save_as_markdown(Path("page.md"))
document.save_as_html(Path("page.html"))
document.save_as_json(Path("page.json"))
```

[DocLang](https://doclang.ai/) spesifikasyonu ve `doclang` araç seti (validate / pack) [doclang-project/doclang](https://github.com/doclang-project/doclang) adresinde yer alır. Deserializer ve `DoclingDocument` dışa aktarıcılar [`docling-core`](https://github.com/docling-project/docling-core) içinde bulunur.

## Notlar

- Tam bir sayfa uzundur: `max_new_tokens` bütçesini binlerle sınırlayın, aksi takdirde DocLang sessizce kesilir.
- Tiles 512x512 boyutundadır ve sayfanın en-boy oranına en iyi uyan ızgara üzerinde yerleştirilir; üst sınır `max_patches` (varsayılan 32) ve kenar başına 16 tile'dır. Tek bir tile'a sığan bir sayfa için küçük resim oluşturulmaz.
- Bir checkpoint, görüntü işleyici yapılandırmasında bir yayılma kuralı taşıyabilir: geniş bir manzara sayfası için `dense_max_patches` karoları, `max_patches` yerine kullanılır (`dense_min_aspect` < genişlik/yükseklik <= `dense_max_aspect`); bu durumda `max_patches` ızgarası, görüntüyü `dense_max_scale` değerinin altına küçültür. Gazete yayları tipik bir örnektir. Kural varsayılan olarak kapalıdır (`dense_max_patches=0`) ve checkpoint'in eğitildiği ayarlarla eşleşmelidir.
- 500M modelde ince yol, karot başına görüntü jetonlarını 64'ten 256'ya çıkararak dört katına çıkarır. Bunu yalnızca yoğun sayfalar için kullanın veya [predict_fine_route()](/docs/transformers/v5.23.0/tr/model_doc/granite_docling#transformers.GraniteDoclingModel.predict_fine_route) ile yönlendiricinin karar vermesine izin verin. 2B model, tüm süreç boyunca karot başına 256 görüntü jetonu kullanır (piksel karıştırma oranı 2).

## GraniteDoclingConfig[[transformers.GraniteDoclingConfig]]

#### transformers.GraniteDoclingConfig[[transformers.GraniteDoclingConfig]]

```python
transformers.GraniteDoclingConfig(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, text_config: dict | transformers.configuration_utils.PreTrainedConfig | None = None, vision_config: dict | transformers.configuration_utils.PreTrainedConfig | None = None, image_token_id: int = 100337, tie_word_embeddings: bool = True, use_cache: bool = True, pad_token_id: int | None = 100256, density_router_hidden_size: int | None = None, density_router_threshold: float = 0.4, density_router_loss_weight: float = 0.1)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/granite_docling/configuration_granite_docling.py#L160)

**Parametreler:**

text_config (`Union[dict, ~configuration_utils.PreTrainedConfig]`, *isteğe bağlı*) : Metin omurgasının yapılandırma nesnesi veya sözlüğü.

vision_config (`Union[dict, ~configuration_utils.PreTrainedConfig]`, *isteğe bağlı*) : Görüntü iskeletinin yapılandırma nesnesi veya sözlüğü.

image_token_id (`int`, *isteğe bağlı*, varsayılan `100337`) : Girdi görselleri için yer tutucu olarak kullanılan görsel jeton indeksi.

tie_word_embeddings (`bool`, *isteğe bağlı*, varsayılan `True`) : Ağırlık gömme bağlamalarının, modelin `tied_weights_keys` eşlemesine göre yapılıp yapılmayacağını belirtir.

use_cache (`bool`, *isteğe bağlı*, varsayılan `True`) : Modelin son anahtar/değer dikkatlerini döndürüp döndürmeyeceğini belirtir (tüm modellerde kullanılmaz). Yalnızca `config.is_decoder=True` olduğunda veya model yalnızca çözücü tabanlı üretken bir model olduğunda geçerlidir.

pad_token_id (`int`, *isteğe bağlı*, varsayılan `100256`) : Sözlükte dolgu için kullanılan token kimliği.

density_router_hidden_size (`int`, *opsiyonel*) : Yoğunluk yönlendiricisinin gizli boyutu, bu yönlendirici görsel kodlayıcı özelliklerinden bir sayfanın ince bağlantı yoluna ihtiyaç duyup duymadığını tahmin eder. `None` olduğunda yönlendirici oluşturulmaz.

density_router_threshold (`float`, *opsiyonel*, varsayılan 0.4) : Yoğunluk yönlendiricisinin ince konnektör yolunu seçtiği olasılık eşiği.

density_router_loss_weight (`float`, *opsiyonel*, varsayılan 0.1) : `router_labels` verildiğinde yoğunluk yönlendirici kaybının ağırlığı.

Bu, bir GraniteDoclingModel yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Granite Docling modelinin örneklenmesi ve model mimarisinin tanımlanması için kullanılır. Varsayılanlarla bir yapılandırma örneği oluşturmak, [ibm-granite/granite-for-docling-500m](https://huggingface.co/ibm-granite/granite-for-docling-500m) modelinin yapılandırmasına benzer bir yapılandırma elde edilmesini sağlar.

Yapılandırma nesneleri [PreTrainedConfig](/docs/transformers/v5.23.0/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/v5.23.0/tr/main_classes/configuration#transformers.PreTrainedConfig) belgesini okuyun.

## GraniteDoclingTextConfig[[transformers.GraniteDoclingTextConfig]]

#### transformers.GraniteDoclingTextConfig[[transformers.GraniteDoclingTextConfig]]

```python
transformers.GraniteDoclingTextConfig(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, vocab_size: int = 133800, hidden_size: int = 1024, intermediate_size: int = 2048, num_hidden_layers: int = 28, num_attention_heads: int = 16, num_key_value_heads: int | None = 4, hidden_act: str = 'silu', max_position_embeddings: int = 32768, initializer_range: float = 0.02, rms_norm_eps: float = 1e-05, use_cache: bool = True, pad_token_id: int | None = 100256, bos_token_id: int | None = 100257, eos_token_id: int | list[int] | None = 100257, tie_word_embeddings: bool = True, rope_parameters: transformers.modeling_rope_utils.RopeParameters | dict | None = None, attention_bias: bool = False, attention_dropout: float | int = 0.0, mlp_bias: bool = False, embedding_multiplier: float | int = 12.0, logits_scaling: float | int = 4.0, residual_multiplier: float | int = 0.263, attention_multiplier: float | int = 0.015625)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/granite_docling/configuration_granite_docling.py#L92)

**Parametreler:**

vocab_size (`int`, *isteğe bağlı*, varsayılan `133800`) : Modelin sözlük boyutu. `input_ids` tarafından temsil edilebilecek farklı token sayısını tanımlar.

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

intermediate_size (`int`, *isteğe bağlı*, varsayılan `2048`) : MLP temsillerinin boyutu.

num_hidden_layers (`int`, *isteğe bağlı*, varsayılan `28`) : Transformer decoder'ındaki gizli katman sayısı.

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

num_key_value_heads (`int`, *opsiyonel*, varsayılan `4`) : Grouped Query Attention'ı uygulamak için kullanılması gereken key_value başlarının sayısıdır. `num_key_value_heads=num_attention_heads` ise model Multi Head Attention (MHA) kullanır, `num_key_value_heads=1` ise model Multi Query Attention (MQA) kullanır, aksi halde GQA kullanılır. Çok başlı bir checkpoint'i GQA checkpoint'ine dönüştürürken, her grup key ve value başı, o gruptaki tüm orijinal başların ortalama havuzlanması (meanpooling) ile oluşturulmalıdır. Daha fazla ayrıntı için [bu makaleye](https://huggingface.co/papers/2305.13245) göz atın. Belirtilmezse, varsayılan olarak `num_attention_heads` kullanılır.

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.

max_position_embeddings (`int`, *isteğe bağlı*, varsayılan `32768`) : Bu modelin kullanılabileceği maksimum dizi uzunluğu.

initializer_range (`float`, *opsiyonel*, varsayılan `0.02`) : Tüm ağırlık matrislerini başlatmak için kullanılan truncated_normal_initializer'ın standart sapması.

rms_norm_eps (`float`, *opsiyonel*, varsayılan `1e-05`) : rms normalizasyon katmanları tarafından kullanılan epsilon.

use_cache (`bool`, *isteğe bağlı*, varsayılan `True`) : Modelin son anahtar/değer dikkatlerini döndürüp döndürmeyeceğini belirtir (tüm modellerde kullanılmaz). Yalnızca `config.is_decoder=True` olduğunda veya model yalnızca çözücü tabanlı üretken bir model olduğunda geçerlidir.

pad_token_id (`int`, *isteğe bağlı*, varsayılan `100256`) : Sözlükte dolgu için kullanılan token kimliği.

bos_token_id (`int`, *isteğe bağlı*, varsayılan `100257`) : Sözlükte akış başlangıcı için kullanılan token kimliği.

eos_token_id (`Union[int, list[int]]`, *isteğe bağlı*, varsayılan `100257`) : Sözlükte akış sonu için kullanılan token kimliği.

tie_word_embeddings (`bool`, *isteğe bağlı*, varsayılan `True`) : Ağırlık gömme bağlamalarının, modelin `tied_weights_keys` eşlemesine göre yapılıp yapılmayacağını belirtir.

rope_parameters (`Union[~modeling_rope_utils.RopeParameters, dict]`, *isteğe bağlı*) : RoPE gömme yapılandırma parametrelerini içeren sözlük. Sözlük, `rope_theta` için bir değer içermeli ve daha uzun `max_position_embeddings` ile RoPE kullanmak istiyorsanız ölçekleme için kullanılan parametreleri isteğe bağlı olarak içermelidir.

attention_bias (`bool`, *isteğe bağlı*, varsayılan `False`) : Kendi kendine dikkat (self-attention) sırasında sorgu, anahtar, değer ve çıktı projeksiyon katmanlarında sapma (bias) kullanılıp kullanılmayacağı.

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

mlp_bias (`bool`, *isteğe bağlı*, varsayılan `False`) : MLP katmanlarındaki up_proj, down_proj ve gate_proj katmanlarında bias kullanılıp kullanılmayacağı.

embedding_multiplier (`Union[float, int]`, *isteğe bağlı*, varsayılan `12.0`) : Kelime gömlemelerine uygulanan ölçekleme çarpanı. Gömlemelerin gizli boyuta göre ölçeklenmesinde kullanılır.

logits_scaling (`Union[float, int]`, *isteğe bağlı*, varsayılan `4.0`) : Olasılık dağılımı hesaplanmadan önce çıktı logitlerine uygulanan ölçekleme faktörü.

residual_multiplier (`Union[float, int]`, *isteğe bağlı*, varsayılan `0.263`) : Kalıntı bağlantılarına uygulanan ölçekleme faktörü.

attention_multiplier (`Union[float, int]`, *isteğe bağlı*, varsayılan `0.015625`) : Dikkat ağırlıklarına uygulanan ölçekleme faktörü.

Bu, bir GraniteDoclingModel yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Granite Docling modelinin örneklenmesi ve model mimarisinin tanımlanması için kullanılır. Varsayılanlarla bir yapılandırma örneği oluşturmak, [ibm-granite/granite-for-docling-500m](https://huggingface.co/ibm-granite/granite-for-docling-500m) modelinin yapılandırmasına benzer bir yapılandırma elde edilmesini sağlar.

Yapılandırma nesneleri [PreTrainedConfig](/docs/transformers/v5.23.0/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/v5.23.0/tr/main_classes/configuration#transformers.PreTrainedConfig) belgesini okuyun.

```python
>>> from transformers import GraniteDoclingTextModel, GraniteDoclingTextConfig

>>> # Initializing a GraniteDoclingText granite_docling_text-3b style configuration
>>> configuration = GraniteDoclingTextConfig()

>>> # Initializing a model from the granite_docling_text-7b style configuration
>>> model = GraniteDoclingTextModel(configuration)

>>> # Accessing the model configuration
>>> configuration = model.config
```

## GraniteDoclingVisionConfig[[transformers.GraniteDoclingVisionConfig]]

#### transformers.GraniteDoclingVisionConfig[[transformers.GraniteDoclingVisionConfig]]

```python
transformers.GraniteDoclingVisionConfig(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_size: int = 768, intermediate_size: int = 3072, num_hidden_layers: int = 12, num_attention_heads: int = 12, num_channels: int = 3, image_size: int | list[int] | tuple[int, int] = 512, patch_size: int | list[int] | tuple[int, int] = 16, hidden_act: str = 'gelu_pytorch_tanh', layer_norm_eps: float = 1e-06, attention_dropout: float | int = 0.0, initializer_range: float = 0.02, out_hidden_size: int = 1024, scale_factor: int = 4, deepstack_visual_indexes: list[int] | None = None, use_fine_route: bool = True)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/granite_docling/configuration_granite_docling.py#L36)

**Parametreler:**

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

intermediate_size (`int`, *isteğe bağlı*, varsayılan `3072`) : MLP temsil boyutu.

num_hidden_layers (`int`, *isteğe bağlı*, varsayılan `12`) : Transformer decoder'ındaki gizli katman sayısı.

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

num_channels (`int`, *opsiyonel*, varsayılan `3`) : Girdi kanal sayısı.

image_size (`Union[int, list[int], tuple[int, int]]`, *isteğe bağlı*, varsayılan `512`) : Her bir görüntünün boyutu (çözünürlüğü).

patch_size (`Union[int, list[int], tuple[int, int]]`, *isteğe bağlı*, varsayılan `16`) : Her yamanın boyutu (çözünürlüğü).

hidden_act (`str`, *isteğe bağlı*, varsayılan `gelu_pytorch_tanh`) : Dekoderdeki doğrusal olmayan aktivasyon fonksiyonu (fonksiyon veya dize). Örneğin, `"gelu"`, `"relu"`, `"silu"` vb.

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

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

initializer_range (`float`, *opsiyonel*, varsayılan `0.02`) : Tüm ağırlık matrislerini başlatmak için kullanılan truncated_normal_initializer'ın standart sapması.

out_hidden_size (`int`, *opsiyonel*, varsayılan 1024) : Bağlayıcının (connector) projeksiyonunu yaptığı metin çözücüde (text decoder) gizli katman boyutu.

scale_factor (`int`, *isteğe bağlı*, varsayılan 4) : Bağlayıcının piksel karıştırma çarpanı. `(image_size // patch_size) ** 2` görme jetonundan oluşan her karoyu `scale_factor ** 2` ile azaltır.

deepstack_visual_indexes (`list[int]`, *isteğe bağlı*, varsayılan `[3, 7, 10]`) : Çıktısı DeepStack birleştiricileri tarafından projekte edilen görme kodlayıcı katmanlarının dizinleri. Dizin 0, ilk katmanın çıktısıdır.

use_fine_route (`bool`, *isteğe bağlı*, varsayılan `True`) : `scale_factor`'ün yarısı kadar piksel karıştırarak her karodan dört kat daha fazla görüntü jetonu üreten ince bağlantı yolunun oluşturulup oluşturulmayacağını belirtir. 500M kontrol noktasında bu özellik mevcutken, 2B kontrol noktasında mevcut değildir.

Sayfanın her 512x512 karoselini gömleyen SigLIP tarzı görme kodlayıcısının ve çıktıları görüntü jetonlarına dönüştüren bağlantıcının yapılandırması.

Örnek:

```python
>>> from transformers import GraniteDoclingVisionConfig, GraniteDoclingVisionModel

>>> # Initializing a GraniteDoclingVisionConfig with ibm-granite/granite-for-docling-500m style configuration
>>> configuration = GraniteDoclingVisionConfig()

>>> # Initializing a GraniteDoclingVisionModel (with random weights) from the ibm-granite/granite-for-docling-500m style configuration
>>> model = GraniteDoclingVisionModel(configuration)

>>> # Accessing the model configuration
>>> configuration = model.config
```

## GraniteDoclingImageProcessor[[transformers.GraniteDoclingImageProcessor]]

#### transformers.GraniteDoclingImageProcessor[[transformers.GraniteDoclingImageProcessor]]

```python
transformers.GraniteDoclingImageProcessor(**kwargs: *<class 'transformers.models.granite_docling.image_processing_granite_docling.GraniteDoclingImageProcessorKwargs'>)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/granite_docling/image_processing_granite_docling.py#L241)

**Parametreler:**

do_convert_rgb (`bool`, *kwargs*, *opsiyonel*, varsayılan `True`) : Görselin RGB'ye dönüştürülüp dönüştürülmeyeceği.

do_resize (`bool`, *kwargs*, *opsiyonel*, varsayılan `True`) : 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' : 512, 'width': 512}`): Modelin kabul ettiği maksimum giriş boyutlarını açıklar.

default_to_square (`bool`, *kwargs*, *opsiyonel*, varsayılan `True`) : Boyut bir int ise, yeniden boyutlandırma sırasında varsayılan olarak kare bir görüntü kullanılıp kullanılmayacağını belirtir.

crop_size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`, *kwargs*) : `center_crop` uygulandıktan sonra çıktı görüntüsünün boyutu.

resample (`Annotated[Union[int, PILImageResampling, NoneType], None]`, *kwargs*, varsayılan `3`) : Görsel yeniden boyutlandırılıyorsa kullanılacak yeniden örnekleme filtresi. Bu, `PILImageResampling` enum değerlerinden biri olabilir. Yalnızca `do_resize` `True` olarak ayarlanırsa etkilidir.

do_rescale (`bool`, *kwargs*, *opsiyonel*, varsayılan `True`) : Görselin yeniden ölçeklendirilip ölçeklendirilmeyeceğini belirtir.

rescale_factor (`float`, *kwargs*, *opsiyonel*, varsayılan `0.00392156862745098`) : `do_rescale` `True` olarak ayarlandığında görüntüyü yeniden ölçeklemek için kullanılan yeniden ölçekleme faktörü.

do_normalize (`bool`, *kwargs*, *opsiyonel*, varsayılan `True`) : Görselin normalize edilip edilmeyeceğini belirtir.

image_mean (`Union[float, list[float], tuple[float, ...]]`, *kwargs*, *opsiyonel*, varsayılan `[0.48145466, 0.4578275, 0.40821073]`) : Normalizasyon için kullanılacak görüntü ortalaması. Yalnızca `do_normalize` `True` olarak ayarlanırsa etkilidir.

image_std (`Union[float, list[float], tuple[float, ...]]`, *kwargs*, *opsiyonel*, varsayılan `[0.26862954, 0.26130258, 0.27577711]`) : Normalizasyon için kullanılacak görüntü standart sapması. Yalnızca `do_normalize` `True` olarak ayarlanırsa etkilidir.

do_pad (`bool`, *kwargs*, *isteğe bağlı*) : Görselin dolgu (padding) uygulanıp uygulanmayacağını belirtir. 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*) : 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_size` sağlanmazsa, görseller partideki en büyük yüksekliğe ve genişliğe doldurulur. Yalnızca `do_pad=True.` olduğunda uygulanır.

do_center_crop (`bool`, *kwargs*, *opsiyonel*) : Görselin merkezden kırpılıp kırpılmayacağını belirtir.

data_format (`Union[str, ~image_utils.ChannelDimension]`, *kwargs*, *isteğe bağlı*) : Yalnızca `ChannelDimension.FIRST` desteklenir. 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ünün 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"` veya `ChannelDimension.FIRST`: (num_channels, height, width) biçiminde görüntü. - `"channels_last"` veya `ChannelDimension.LAST`: (height, width, num_channels) biçiminde görüntü. - `"none"` veya `ChannelDimension.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örleri, aksi halde tensör listesi döndürür.

disable_grouping (`bool`, *kwargs*, *opsiyonel*) : Görsellerin boyuta göre gruplandırılmasını devre dışı bırakarak bunların toplu olarak değil, tek tek işlenmesini sağlar. None ise, görseller CPU üzerindeyse True, aksi halde False olarak ayarlanır. Bu seçim, buradaki ayrıntılı açıklamalara dayalı 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 bu, gelecekteki modellerde bir işlemci özniteliği olarak ayarlanmalıdır.

crop_to_patches (`bool`, *kwargs*, *opsiyonel*, varsayılan `True`) : Sayfanın, en-boy oranına en iyi uyan ızgaraya yerleştirilen 512x512 boyutlu karolara (her kenar için en fazla 16 karol) bölünip bölünmeyeceğini belirtir. `preprocess` metodundaki `crop_to_patches` parametresi ile geçersiz kılınabilir.

min_patches (`int`, *kwargs*, *opsiyonel*, varsayılan 1) : Sayfa başına en az karo sayısı. Yalnızca `crop_to_patches` `True` olarak ayarlanırsa etkilidir. `preprocess` yöntemindeki `min_patches` parametresi ile geçersiz kılınabilir.

max_patches (`int`, *kwargs*, *opsiyonel*, varsayılan 32) : Sayfa başına en fazla karot sayısı. Yalnızca `crop_to_patches` `True` olarak ayarlanırsa etkilidir. `preprocess` yöntemindeki `max_patches` parametresi ile geçersiz kılınabilir.

fine_route (`bool`, *kwargs*, *opsiyonel*, varsayılan `False`) : Sayfaların, her karoya dört kat daha fazla görüntü belirteci üreten ince bağlantı yolunu kullanıp kullanmadığı.

dense_max_patches (`int`, *kwargs*, *opsiyonel*, varsayılan 0) : Yayılma kuralının seçtiği sayfalar için maksimum karot sayısı (0 kuralı devre dışı bırakır). `max_patches` ızgarası, bir sayfanın boyutunu `dense_max_scale` değerinin altına düşürdüğünde ve sayfanın genişlik/yükseklik oranı `dense_min_aspect` değerinin üzerindeyse (ve bu değer ayarlanmışsa en fazla `dense_max_aspect` olacak şekilde), sayfa `max_patches` yerine en fazla `dense_max_patches` karotla döşenir. Kontrol noktası, aynı kural kullanılarak eğitilmiş olmalıdır.

dense_max_scale (`float`, *kwargs*, *opsiyonel*, varsayılan 0.0) : `max_patches` altında, bir sayfanın düşük çözünürlüklü sayılmasını sağlayan karolarlı tuval genişliğinin sayfa genişliğine oranı. 0 bu testi atlar.

dense_min_aspect (`float`, *kwargs*, *opsiyonel*, varsayılan 0.0) : Bir sayfanın `dense_max_patches` alabilmesi için aşması gereken genişlik/yükseklik oranı. 0 bu testi atlar.

dense_max_aspect (`float`, *kwargs*, *opsiyonel*, varsayılan 0.0) : `dense_max_patches` değerini almak için bir sayfanın aşamayacağı en/boy oranı; bu, tek formül satırları gibi şeritleri `max_patches` üzerinde tutar. 0, üst sınırın olmadığını belirtir.

Sayfayı, en-boy oranına en iyi uyan ızgaraya göre 512x512 boyutunda karolara böler (`crop_to_patches`, en fazla `max_patches` karo ve kenar başına 16), birden fazla karo varsa tüm sayfanın küçük bir önizlemesini ekler ve bir partinin örneklerini aynı karo sayısına göre doldurur. `pixel_attention_mask` gerçek karoları işaretler. `fine_route=True`, örnekleri ince bağlantı noktası yolu için işaretler (`tile_fine_mask`, örnek başına bir değer).

#### preprocess[[transformers.GraniteDoclingImageProcessor.preprocess]]

```python
preprocess(images: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor']], *args, image_like_kwargs: dict[str, typing.Any] | None = None, **kwargs: *<class 'transformers.processing_utils.ImagesKwargs'>)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/image_processing_utils.py#L382)

**Parametreler:**

images (`Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]]`) : Ön işlenecek görüntü. Piksel değerleri 0 ile 255 arasında değişen tek bir görüntü veya görüntü grubu beklenir. Piksel değerleri 0 ile 1 arasında olan görüntüler geçiriliyorsa `do_rescale=False` olarak ayarlayın.

image_like_kwargs (`dict[str, Any]`, *isteğe bağlı*) : Ek görüntü benzeri girdiler için geliştirici bayrağı; bu girdiler de ön işleme tabi tutulacaktır. Girdileri kwarg olarak geçirmenin çalışmadığı durumlarda kullanın. Örneğin, `preprocess(images, masks=masks)` tercih edilen seçenektir ancak bazı modellerde argüman öncelik sorunlarına yol açar. Bu durumlarda bunun yerine `preprocess(images, image_like_inputs={"masks": masks})` kullanılabilir.

do_convert_rgb (`bool`, *kwargs*, *isteğe bağlı*) : Görselin RGB'ye dönüştürülüp dönüştürülmeyeceği.

do_resize (`bool`, *kwargs*, *isteğe bağlı*) : Görselin yeniden boyutlandırılıp boyutlandırılmayacağı.

size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`, *kwargs*) : Modelin kabul ettiği maksimum giriş boyutlarını açıklar.

default_to_square (`bool`, *kwargs*, *opsiyonel*) : Boyut bir int ise, yeniden boyutlandırma sırasında varsayılan olarak kare bir görsel kullanılıp kullanılmayacağı.

crop_size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`, *kwargs*) : `center_crop` uygulandıktan sonra çıktı görüntüsünün boyutu.

resample (`Annotated[Union[int, PILImageResampling, NoneType], None]`, *kwargs*) : Görsel yeniden boyutlandırılıyorsa kullanılacak yeniden örnekleme filtresi. Bu, `PILImageResampling` enum değerlerinden biri olabilir. Yalnızca `do_resize` `True` olarak ayarlanırsa etkilidir.

do_rescale (`bool`, *kwargs*, *opsiyonel*) : Görselin yeniden ölçeklendirilip ölçeklendirilmeyeceğini belirtir.

rescale_factor (`float`, *kwargs*, *opsiyonel*) : `do_rescale` `True` olarak ayarlanırsa görüntüyü yeniden ölçeklemek için yeniden ölçekleme çarpanı.

do_normalize (`bool`, *kwargs*, *isteğe bağlı*) : Görüntünün normalize edilip edilmeyeceğini belirtir.

image_mean (`Union[float, list[float], tuple[float, ...]]`, *kwargs*, *opsiyonel*) : Normalizasyon için kullanılacak görüntü ortalaması. Yalnızca `do_normalize` `True` olarak ayarlanırsa etkilidir.

image_std (`Union[float, list[float], tuple[float, ...]]`, *kwargs*, *opsiyonel*) : Normalizasyon için kullanılacak görüntü standart sapması. Yalnızca `do_normalize` `True` olarak ayarlanırsa etkilidir.

do_pad (`bool`, *kwargs*, *isteğe bağlı*) : Görselin dolgu (padding) uygulanıp uygulanmayacağını belirtir. 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*) : 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_size` sağlanmazsa, görseller partideki en büyük yüksekliğe ve genişliğe doldurulur. Yalnızca `do_pad=True.` olduğunda uygulanır.

do_center_crop (`bool`, *kwargs*, *opsiyonel*) : Görselin merkezden kırpılıp kırpılmayacağını belirtir.

data_format (`Union[str, ~image_utils.ChannelDimension]`, *kwargs*, *isteğe bağlı*) : Yalnızca `ChannelDimension.FIRST` desteklenir. 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ünün 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"` veya `ChannelDimension.FIRST`: (num_channels, height, width) biçiminde görüntü. - `"channels_last"` veya `ChannelDimension.LAST`: (height, width, num_channels) biçiminde görüntü. - `"none"` veya `ChannelDimension.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örleri, aksi halde tensör listesi döndürür.

disable_grouping (`bool`, *kwargs*, *opsiyonel*) : Görsellerin boyuta göre gruplandırılmasını devre dışı bırakarak bunların toplu olarak değil, tek tek işlenmesini sağlar. None ise, görseller CPU üzerindeyse True, aksi halde False olarak ayarlanır. Bu seçim, buradaki ayrıntılı açıklamalara dayalı 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 bu, gelecekteki modellerde bir işlemci özniteliği olarak ayarlanmalıdır.

**Dönüş:** `~image_processing_base.BatchFeature`

- **data** (`dict`) -- __call__ yönteminin döndürdüğü listeler/diziler/tensörler sözlüğü ('pixel_values' vb.).
- **tensor_type** (`Union[None, str, TensorType]`, *isteğe bağlı*) -- Başlatma sırasında PyTorch/Numpy Tensörlerindeki tamsayı listelerini dönüştürmek için burada bir tensor_type verebilirsiniz.

Bir görüntüyü veya bir görüntü grubunu ön işleme tabi tutun.

## GraniteDoclingImageProcessorPil[[transformers.GraniteDoclingImageProcessorPil]]

#### transformers.GraniteDoclingImageProcessorPil[[transformers.GraniteDoclingImageProcessorPil]]

```python
transformers.GraniteDoclingImageProcessorPil(**kwargs: *<class 'transformers.models.granite_docling.image_processing_pil_granite_docling.GraniteDoclingImageProcessorKwargs'>)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/granite_docling/image_processing_pil_granite_docling.py#L239)

**Parametreler:**

do_convert_rgb (`bool`, *kwargs*, *opsiyonel*, varsayılan `True`) : Görselin RGB'ye dönüştürülüp dönüştürülmeyeceği.

do_resize (`bool`, *kwargs*, *opsiyonel*, varsayılan `True`) : 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' : 512, 'width': 512}`): Modelin kabul ettiği maksimum giriş boyutlarını açıklar.

default_to_square (`bool`, *kwargs*, *opsiyonel*, varsayılan `True`) : Boyut bir int ise, yeniden boyutlandırma sırasında varsayılan olarak kare bir görüntü kullanılıp kullanılmayacağını belirtir.

crop_size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`, *kwargs*) : `center_crop` uygulandıktan sonra çıktı görüntüsünün boyutu.

resample (`Annotated[Union[int, PILImageResampling, NoneType], None]`, *kwargs*, varsayılan `3`) : Görsel yeniden boyutlandırılıyorsa kullanılacak yeniden örnekleme filtresi. Bu, `PILImageResampling` enum değerlerinden biri olabilir. Yalnızca `do_resize` `True` olarak ayarlanırsa etkilidir.

do_rescale (`bool`, *kwargs*, *opsiyonel*, varsayılan `True`) : Görselin yeniden ölçeklendirilip ölçeklendirilmeyeceğini belirtir.

rescale_factor (`float`, *kwargs*, *opsiyonel*, varsayılan `0.00392156862745098`) : `do_rescale` `True` olarak ayarlandığında görüntüyü yeniden ölçeklemek için kullanılan yeniden ölçekleme faktörü.

do_normalize (`bool`, *kwargs*, *opsiyonel*, varsayılan `True`) : Görselin normalize edilip edilmeyeceğini belirtir.

image_mean (`Union[float, list[float], tuple[float, ...]]`, *kwargs*, *opsiyonel*, varsayılan `[0.48145466, 0.4578275, 0.40821073]`) : Normalizasyon için kullanılacak görüntü ortalaması. Yalnızca `do_normalize` `True` olarak ayarlanırsa etkilidir.

image_std (`Union[float, list[float], tuple[float, ...]]`, *kwargs*, *opsiyonel*, varsayılan `[0.26862954, 0.26130258, 0.27577711]`) : Normalizasyon için kullanılacak görüntü standart sapması. Yalnızca `do_normalize` `True` olarak ayarlanırsa etkilidir.

do_pad (`bool`, *kwargs*, *isteğe bağlı*) : Görselin dolgu (padding) uygulanıp uygulanmayacağını belirtir. 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*) : 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_size` sağlanmazsa, görseller partideki en büyük yüksekliğe ve genişliğe doldurulur. Yalnızca `do_pad=True.` olduğunda uygulanır.

do_center_crop (`bool`, *kwargs*, *opsiyonel*) : Görselin merkezden kırpılıp kırpılmayacağını belirtir.

data_format (`Union[str, ~image_utils.ChannelDimension]`, *kwargs*, *isteğe bağlı*) : Yalnızca `ChannelDimension.FIRST` desteklenir. 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ünün 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"` veya `ChannelDimension.FIRST`: (num_channels, height, width) biçiminde görüntü. - `"channels_last"` veya `ChannelDimension.LAST`: (height, width, num_channels) biçiminde görüntü. - `"none"` veya `ChannelDimension.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örleri, aksi halde tensör listesi döndürür.

disable_grouping (`bool`, *kwargs*, *opsiyonel*) : Görsellerin boyuta göre gruplandırılmasını devre dışı bırakarak bunların toplu olarak değil, tek tek işlenmesini sağlar. None ise, görseller CPU üzerindeyse True, aksi halde False olarak ayarlanır. Bu seçim, buradaki ayrıntılı açıklamalara dayalı 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 bu, gelecekteki modellerde bir işlemci özniteliği olarak ayarlanmalıdır.

crop_to_patches (`bool`, *kwargs*, *opsiyonel*, varsayılan `True`) : Sayfanın, en-boy oranına en iyi uyan ızgaraya yerleştirilen 512x512 boyutlu karolara (her kenar için en fazla 16 karol) bölünip bölünmeyeceğini belirtir. `preprocess` metodundaki `crop_to_patches` parametresi ile geçersiz kılınabilir.

min_patches (`int`, *kwargs*, *opsiyonel*, varsayılan 1) : Sayfa başına en az karo sayısı. Yalnızca `crop_to_patches` `True` olarak ayarlanırsa etkilidir. `preprocess` yöntemindeki `min_patches` parametresi ile geçersiz kılınabilir.

max_patches (`int`, *kwargs*, *opsiyonel*, varsayılan 32) : Sayfa başına en fazla karot sayısı. Yalnızca `crop_to_patches` `True` olarak ayarlanırsa etkilidir. `preprocess` yöntemindeki `max_patches` parametresi ile geçersiz kılınabilir.

fine_route (`bool`, *kwargs*, *opsiyonel*, varsayılan `False`) : Sayfaların, her karoya dört kat daha fazla görüntü belirteci üreten ince bağlantı yolunu kullanıp kullanmadığı.

dense_max_patches (`int`, *kwargs*, *opsiyonel*, varsayılan 0) : Yayılma kuralının seçtiği sayfalar için maksimum karot sayısı (0 kuralı devre dışı bırakır). `max_patches` ızgarası, bir sayfanın boyutunu `dense_max_scale` değerinin altına düşürdüğünde ve sayfanın genişlik/yükseklik oranı `dense_min_aspect` değerinin üzerindeyse (ve bu değer ayarlanmışsa en fazla `dense_max_aspect` olacak şekilde), sayfa `max_patches` yerine en fazla `dense_max_patches` karotla döşenir. Kontrol noktası, aynı kural kullanılarak eğitilmiş olmalıdır.

dense_max_scale (`float`, *kwargs*, *opsiyonel*, varsayılan 0.0) : `max_patches` altında, bir sayfanın düşük çözünürlüklü sayılmasını sağlayan karolarlı tuval genişliğinin sayfa genişliğine oranı. 0 bu testi atlar.

dense_min_aspect (`float`, *kwargs*, *opsiyonel*, varsayılan 0.0) : Bir sayfanın `dense_max_patches` alabilmesi için aşması gereken genişlik/yükseklik oranı. 0 bu testi atlar.

dense_max_aspect (`float`, *kwargs*, *opsiyonel*, varsayılan 0.0) : `dense_max_patches` değerini almak için bir sayfanın aşamayacağı en/boy oranı; bu, tek formül satırları gibi şeritleri `max_patches` üzerinde tutar. 0, üst sınırın olmadığını belirtir.

[GraniteDoclingImageProcessor](/docs/transformers/v5.23.0/tr/model_doc/granite_docling#transformers.GraniteDoclingImageProcessor) PIL arka ucu: aynı 512x512 karolar, küçük resim ve karo dolgusu.

#### preprocess[[transformers.GraniteDoclingImageProcessorPil.preprocess]]

```python
preprocess(images: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor']], *args, image_like_kwargs: dict[str, typing.Any] | None = None, **kwargs: *<class 'transformers.processing_utils.ImagesKwargs'>)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/image_processing_utils.py#L382)

**Parametreler:**

images (`Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]]`) : Ön işlenecek görüntü. Piksel değerleri 0 ile 255 arasında değişen tek bir görüntü veya görüntü grubu beklenir. Piksel değerleri 0 ile 1 arasında olan görüntüler geçiriliyorsa `do_rescale=False` olarak ayarlayın.

image_like_kwargs (`dict[str, Any]`, *isteğe bağlı*) : Ek görüntü benzeri girdiler için geliştirici bayrağı; bu girdiler de ön işleme tabi tutulacaktır. Girdileri kwarg olarak geçirmenin çalışmadığı durumlarda kullanın. Örneğin, `preprocess(images, masks=masks)` tercih edilen seçenektir ancak bazı modellerde argüman öncelik sorunlarına yol açar. Bu durumlarda bunun yerine `preprocess(images, image_like_inputs={"masks": masks})` kullanılabilir.

do_convert_rgb (`bool`, *kwargs*, *isteğe bağlı*) : Görselin RGB'ye dönüştürülüp dönüştürülmeyeceği.

do_resize (`bool`, *kwargs*, *isteğe bağlı*) : Görselin yeniden boyutlandırılıp boyutlandırılmayacağı.

size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`, *kwargs*) : Modelin kabul ettiği maksimum giriş boyutlarını açıklar.

default_to_square (`bool`, *kwargs*, *opsiyonel*) : Boyut bir int ise, yeniden boyutlandırma sırasında varsayılan olarak kare bir görsel kullanılıp kullanılmayacağı.

crop_size (`Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None]`, *kwargs*) : `center_crop` uygulandıktan sonra çıktı görüntüsünün boyutu.

resample (`Annotated[Union[int, PILImageResampling, NoneType], None]`, *kwargs*) : Görsel yeniden boyutlandırılıyorsa kullanılacak yeniden örnekleme filtresi. Bu, `PILImageResampling` enum değerlerinden biri olabilir. Yalnızca `do_resize` `True` olarak ayarlanırsa etkilidir.

do_rescale (`bool`, *kwargs*, *opsiyonel*) : Görselin yeniden ölçeklendirilip ölçeklendirilmeyeceğini belirtir.

rescale_factor (`float`, *kwargs*, *opsiyonel*) : `do_rescale` `True` olarak ayarlanırsa görüntüyü yeniden ölçeklemek için yeniden ölçekleme çarpanı.

do_normalize (`bool`, *kwargs*, *isteğe bağlı*) : Görüntünün normalize edilip edilmeyeceğini belirtir.

image_mean (`Union[float, list[float], tuple[float, ...]]`, *kwargs*, *opsiyonel*) : Normalizasyon için kullanılacak görüntü ortalaması. Yalnızca `do_normalize` `True` olarak ayarlanırsa etkilidir.

image_std (`Union[float, list[float], tuple[float, ...]]`, *kwargs*, *opsiyonel*) : Normalizasyon için kullanılacak görüntü standart sapması. Yalnızca `do_normalize` `True` olarak ayarlanırsa etkilidir.

do_pad (`bool`, *kwargs*, *isteğe bağlı*) : Görselin dolgu (padding) uygulanıp uygulanmayacağını belirtir. 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*) : 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_size` sağlanmazsa, görseller partideki en büyük yüksekliğe ve genişliğe doldurulur. Yalnızca `do_pad=True.` olduğunda uygulanır.

do_center_crop (`bool`, *kwargs*, *opsiyonel*) : Görselin merkezden kırpılıp kırpılmayacağını belirtir.

data_format (`Union[str, ~image_utils.ChannelDimension]`, *kwargs*, *isteğe bağlı*) : Yalnızca `ChannelDimension.FIRST` desteklenir. 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ünün 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"` veya `ChannelDimension.FIRST`: (num_channels, height, width) biçiminde görüntü. - `"channels_last"` veya `ChannelDimension.LAST`: (height, width, num_channels) biçiminde görüntü. - `"none"` veya `ChannelDimension.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örleri, aksi halde tensör listesi döndürür.

disable_grouping (`bool`, *kwargs*, *opsiyonel*) : Görsellerin boyuta göre gruplandırılmasını devre dışı bırakarak bunların toplu olarak değil, tek tek işlenmesini sağlar. None ise, görseller CPU üzerindeyse True, aksi halde False olarak ayarlanır. Bu seçim, buradaki ayrıntılı açıklamalara dayalı 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 bu, gelecekteki modellerde bir işlemci özniteliği olarak ayarlanmalıdır.

**Dönüş:** `~image_processing_base.BatchFeature`

- **data** (`dict`) -- __call__ yönteminin döndürdüğü listeler/diziler/tensörler sözlüğü ('pixel_values' vb.).
- **tensor_type** (`Union[None, str, TensorType]`, *isteğe bağlı*) -- Başlatma sırasında PyTorch/Numpy Tensörlerindeki tamsayı listelerini dönüştürmek için burada bir tensor_type verebilirsiniz.

Bir görüntüyü veya bir görüntü grubunu ön işleme tabi tutun.

## GraniteDoclingProcessor[[transformers.GraniteDoclingProcessor]]

#### transformers.GraniteDoclingProcessor[[transformers.GraniteDoclingProcessor]]

```python
transformers.GraniteDoclingProcessor(image_processor, tokenizer = None, image_seq_len: int = 64, chat_template: str | None = None, **kwargs)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/granite_docling/processing_granite_docling.py#L34)

**Parametreler:**

image_processor (`GraniteDoclingImageProcessor`) : Görüntü işleyici zorunlu bir girdidir.

tokenizer (`tokenizer_class`) : Tokenizer zorunlu bir girdidir.

image_seq_len (`int`, *isteğe bağlı*, varsayılan 64) : Kaba yolda karot başına `<image>` jeton sayısı. `image_seq_len = int(((image_size // patch_size) ** 2) / (scale_factor**2))` olarak hesaplanır.

chat_template (`str`, *isteğe bağlı*) : Bir sohbet içindeki mesaj listelerini tokenize edilebilir bir metne dönüştürmek için kullanılan bir Jinja şablonu.

Bir görüntü işleyiciyi ve bir belirteçleyiciyi (tokenizer) tek bir işleyicide birleştiren bir GraniteDoclingProcessor oluşturur.

[GraniteDoclingProcessor](/docs/transformers/v5.23.0/tr/model_doc/granite_docling#transformers.GraniteDoclingProcessor), [GraniteDoclingImageProcessor](/docs/transformers/v5.23.0/tr/model_doc/granite_docling#transformers.GraniteDoclingImageProcessor) ve `tokenizer_class` bileşenlerinin tüm işlevlerini sunar. Daha fazla bilgi için [~GraniteDoclingImageProcessor](/docs/transformers/v5.23.0/tr/model_doc/granite_docling#transformers.GraniteDoclingImageProcessor) ve `~tokenizer_class` belgelerine bakın.

#### __call__[[transformers.GraniteDoclingProcessor.__call__]]

```python
__call__(images = None, text = None, **kwargs)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/granite_docling/processing_granite_docling.py#L55)

**Parametreler:**

images (``) : Image to preprocess. Expects a single or batch of images with pixel values ranging from 0 to 255. If passing in images with pixel values between 0 and 1, set `do_rescale=False

text (``) : The sequence or batch of sequences to be encoded. Each sequence can be a string or a list of strings (pretokenized string). If you pass a pretokenized input, set `is_split_into_words=True` to avoid ambiguity with batched inputs.

return_tensors (`str` veya [TensorType](/docs/transformers/v5.23.0/tr/internal/file_utils#transformers.TensorType), *opsiyonel*) : Ayarlanırsa, belirli bir çerçeveye ait tensörleri döndürür. Kabul edilen değerler:  - `'pt'`: PyTorch `torch.Tensor` nesnelerini döndürür. - `'np'`: NumPy `np.ndarray` nesnelerini döndürür.

**Dönüş:** [BatchEncoding](/docs/transformers/v5.23.0/tr/main_classes/tokenizer#transformers.BatchEncoding)

`pixel_values` ve `pixel_attention_mask` ile tokenize edilmiş istemler, `fine_route=True` olduğunda `tile_fine_mask`. Izgara kutuları yalnızca istemi oluşturur ve geri döndürülmez.

## GraniteDoclingVisionModel[[transformers.GraniteDoclingVisionModel]]

#### transformers.GraniteDoclingVisionModel[[transformers.GraniteDoclingVisionModel]]

```python
transformers.GraniteDoclingVisionModel(config: GraniteDoclingVisionConfig)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/granite_docling/modeling_granite_docling.py#L955)

**Parametreler:**

config ([GraniteDoclingVisionConfig](/docs/transformers/v5.23.0/tr/model_doc/granite_docling#transformers.GraniteDoclingVisionConfig)) : 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/v5.23.0/tr/main_classes/model#transformers.PreTrainedModel.from_pretrained) yöntemine göz atın.

GraniteDocling'in görme kodlayıcısı ve üzerindeki bağlantı elemanı: bir sayfanın karolarını gömmeleştirir ve her karenin görüntü jetonlarını, projekte edilmiş DeepStack özellikleriyle birlikte döndürür.

Bu model [PreTrainedModel](/docs/transformers/v5.23.0/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.GraniteDoclingVisionModel.forward]]

```python
forward(pixel_values: FloatTensor, fine: bool = False, **kwargs: *<class 'transformers.utils.generic.TransformersKwargs'>)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/granite_docling/modeling_granite_docling.py#L981)

**Parametreler:**

pixel_values (`torch.FloatTensor`, şekli `(num_tiles, num_channels, image_size, image_size)`) : Dolgu karoları olmadan, batch boyunca düzleştirilmiş karolar.

fine (`bool`, *isteğe bağlı*, varsayılan `False`) : Karoların, her karol başına dört kat daha fazla görüntü belirteci üreten ince bağlantı yolunu kullanıp kullanmadığı.

**Dönüş:**

Karo sırasındaki her karonun görüntü jetonları (`pooler_output`) ve dokunulan her görüntü katmanı için bir projekte edilmiş DeepStack özelliği (`deepstack_features`), aynı karo sırasıyla.

[GraniteDoclingVisionModel](/docs/transformers/v5.23.0/tr/model_doc/granite_docling#transformers.GraniteDoclingVisionModel) 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.

## GraniteDoclingModel[[transformers.GraniteDoclingModel]]

#### transformers.GraniteDoclingModel[[transformers.GraniteDoclingModel]]

```python
transformers.GraniteDoclingModel(config: GraniteDoclingConfig)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/granite_docling/modeling_granite_docling.py#L1025)

**Parametreler:**

config ([GraniteDoclingConfig](/docs/transformers/v5.23.0/tr/model_doc/granite_docling#transformers.GraniteDoclingConfig)) : 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/v5.23.0/tr/main_classes/model#transformers.PreTrainedModel.from_pretrained) yöntemine göz atın.

Bir görüntü kodlayıcı, bir konnektör ve bir metin çözücüden oluşan, üstünde herhangi bir özel başlık olmadan ham gizli durumlar üreten GraniteDocling modeli.

Bu model [PreTrainedModel](/docs/transformers/v5.23.0/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.GraniteDoclingModel.forward]]

```python
forward(input_ids: typing.Optional[torch.LongTensor] = None, attention_mask: typing.Optional[torch.Tensor] = None, position_ids: typing.Optional[torch.LongTensor] = None, past_key_values: transformers.cache_utils.Cache | None = None, inputs_embeds: typing.Optional[torch.FloatTensor] = None, pixel_values: typing.Optional[torch.FloatTensor] = None, tile_fine_mask: typing.Optional[torch.BoolTensor] = None, pixel_attention_mask: typing.Optional[torch.BoolTensor] = None, mm_encoder_outputs: dict | None = None, **kwargs: *<class 'transformers.utils.generic.TransformersKwargs'>)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/granite_docling/modeling_granite_docling.py#L1091)

**Parametreler:**

input_ids (`torch.LongTensor`, şekli `(batch_size, sequence_length)`, *isteğe bağlı*) : Sözlükteki girdi dizisi belirteçlerinin (token) indeksleri. Varsayılan olarak dolgu (padding) yoksayılır. İndeksler [AutoTokenizer](/docs/transformers/v5.23.0/tr/model_doc/auto#transformers.AutoTokenizer) kullanılarak elde edilebilir. Ayrıntılar için [PreTrainedTokenizer.encode()](/docs/transformers/v5.23.0/tr/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.encode) ve [PreTrainedTokenizer.__call__()](/docs/transformers/v5.23.0/tr/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.__call__) yöntemlerine bakın. [Girdi kimlikları (input IDs) nedir?](../glossary#input-ids)

attention_mask (`torch.Tensor`, şekli `(batch_size, sequence_length)`, *isteğe bağlı*) : Dolgu (padding) token indekslerinde dikkat (attention) işleminin uygulanmamasını sağlayan maske. `[0, 1]` aralığında seçilen maske değerleri:  - **maske uygulanmayan** tokenlar için 1, - **maske uygulanan** tokenlar için 0.  [Dikkat maskeleri nelerdir?](../glossary#attention-mask)

position_ids (`torch.LongTensor`, şekli `(batch_size, sequence_length)`, *isteğe bağlı*) : Girdi dizisi token'larının konum gömme (position embeddings) içindeki konum indeksleri. `[0, config.n_positions - 1]` aralığında seçilir.  [Konum kimlikleri (position IDs) nedir?](../glossary#position-ids)

past_key_values (`~cache_utils.Cache`, *isteğe bağlı*) : Sıralı çözümlemeyi hızlandırmak için kullanılabilen, önceden hesaplanmış gizli durumlar (self-attention bloklarındaki ve cross-attention bloklarındaki anahtar ve değerler). Bu genellikle, `use_cache=True` veya `config.use_cache=True` olduğunda, çözümlemenin önceki bir aşamasında modelin döndürdüğü `past_key_values` değerlerinden oluşur. Girdi olarak yalnızca [Cache](/docs/transformers/v5.23.0/tr/internal/generation_utils#transformers.Cache) örneği kabul edilir, bkz. [kv cache kılavuzu](https://huggingface.co/docs/transformers/en/kv_cache). `past_key_values` geçirilmezse, varsayılan olarak [DynamicCache](/docs/transformers/v5.23.0/tr/internal/generation_utils#transformers.DynamicCache) başlatılır. Model, girdi olarak verilen aynı önbellek biçimini çıktı olarak verecektir. `past_key_values` kullanılıyorsa, kullanıcının, bu modele geçmiş anahtar-değer durumları verilmemiş olan, yalnızca işlenmemiş `input_ids` değerlerini (şekli `(batch_size, unprocessed_length)` olan) girmesi beklenir; bunun yerine, şekli `(batch_size, sequence_length)` olan tüm `input_ids` değerleri girilmez.

inputs_embeds (`torch.FloatTensor`, şekli `(batch_size, sequence_length, hidden_size)`, *isteğe bağlı*) : `input_ids` parametresini iletmek yerine, gömülü bir temsil doğrudan iletmeyi seçebilirsiniz. Bu, `input_ids` dizinlerini ilgili vektörlere dönüştürme biçimi üzerinde modelin dahili gömme arama matrisine kıyasla daha fazla kontrol sahibi olmak istiyorsanız faydalıdır.

pixel_values (`torch.FloatTensor`, şekli `(batch_size, num_channels, image_size, image_size)`, *isteğe bağlı*) : Girdi görüntülerine karşılık gelen tensörler. Piksel değerleri [GraniteDoclingImageProcessor](/docs/transformers/v5.23.0/tr/model_doc/granite_docling#transformers.GraniteDoclingImageProcessor) kullanılarak elde edilebilir. Ayrıntılar için [GraniteDoclingImageProcessor.__call__()](/docs/transformers/v5.23.0/tr/model_doc/molmo2#transformers.Molmo2ImageProcessor.__call__) bölümüne bakın ([GraniteDoclingProcessor](/docs/transformers/v5.23.0/tr/model_doc/granite_docling#transformers.GraniteDoclingProcessor), görüntü işleme için [GraniteDoclingImageProcessor](/docs/transformers/v5.23.0/tr/model_doc/granite_docling#transformers.GraniteDoclingImageProcessor) kullanır).

tile_fine_mask (`torch.BoolTensor`, şekli `(batch_size,)`, *isteğe bağlı*) : İşleyici `fine_route=True` ile çağrıldığında tümü True olur: parti, ince bağlantı yolunu izler ve bu yol, karot başına dört kat daha fazla görüntü belirteci üretir.

pixel_attention_mask (`torch.BoolTensor`, şekli `(batch_size, num_tiles)`, *isteğe bağlı*) : İşleyicinin döndürdüğü gerçek karolar. Dolgu karoları false değerine sahiptir. `pixel_values` ile birlikte gereklidir.

mm_encoder_outputs (`dict`, *isteğe bağlı*) : Anahtarları desteklenen modaliteler, değerleri ise o modalite için kodlanmış çıktılar olan bir sözlük. Her kodlanmış çıktı, (`pooler_output`, *isteğe bağlı*: `last_hidden_states`, *isteğe bağlı*: `hidden_states`, *isteğe bağlı*: `attentions`) biçiminde bir demettir. `pooler_output`, `(batch_size, sequence_length, hidden_size)` boyutunda, *isteğe bağlı*) ve kodlayıcının çok modlu özelliklerinin metin gömme değerleriyle birleştirildiği bir dizidir.

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

`GraniteDoclingBaseModelOutputWithPast` veya bir `torch.Tensor` demeti (eğer `return_dict=False` geçirildiyse veya `config.return_dict=False` ise), yapılandırma ([GraniteDoclingConfig](/docs/transformers/v5.23.0/tr/model_doc/granite_docling#transformers.GraniteDoclingConfig)) ve girdilere bağlı olarak çeşitli öğelerden oluşur.

Modele verilen girdiler keyfi sayıda görsel içerebilir. Bunu hesaba katmak için modele verilen pixel_values, görsel dolgu içerir: (batch_size, max_num_tiles, 3, image_size, image_size). Burada max_num_tiles, batch içindeki batch_size örnekler arasındaki maksimum karocak sayısını ifade eder. Dolgu karocakları `pixel_attention_mask` içinde false değerine sahiptir ve görme kodlayıcıdan önce atılır.

- **last_hidden_state** (`torch.Tensor`, şekli `(batch_size, sequence_length, hidden_size)`, *isteğe bağlı*) -- Modelin son katmanının çıktısındaki gizli durumlar dizisi.
- **past_key_values** (`~cache_utils.Cache`, *isteğe bağlı*, `use_cache=True` geçirildiğinde veya `config.use_cache=True` olduğunda döndürülür) -- Bir [Cache](/docs/transformers/v5.23.0/tr/internal/generation_utils#transformers.Cache) örneğidir. Daha fazla ayrıntı için [kv cache kılavuzumuza](https://huggingface.co/docs/transformers/en/kv_cache) bakın.

  Sıralı çözümlemeyi hızlandırmak için (bkz. `past_key_values` girdisi) kullanılabilen, önceden hesaplanmış gizli durumları (self-attention bloklarındaki anahtar ve değerler ve isteğe bağlı olarak `config.is_encoder_decoder=True` ise cross-attention bloklarındaki anahtar ve değerler) içerir.
- **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, sequence_length, hidden_size)` biçiminde bir demet.

  Her katmanın çıktısında modelin gizli durumları ve isteğe bağlı başlangıç gömme çıktıları.
- **attentions** (`tuple[torch.Tensor]`, *isteğe bağlı*, `output_attentions=True` geçirildiğinde veya `config.output_attentions=True` olduğunda döndürülür) -- `(batch_size, num_heads, sequence_length, sequence_length)` biçiminde, her katman için bir adet içeren `torch.Tensor` demeti.

  Dikkat softmax'ı sonrası dikkat ağırlıkları, öz-dikkat kafalarında ağırlıklı ortalamanın hesaplanmasında kullanılır.
- **image_hidden_states** (`tuple[torch.Tensor]`, şekli `(batch_size, num_images, sequence_length, hidden_size)`, *isteğe bağlı*) -- Görüntü kodlayıcısı tarafından üretilen ve son gizli durumun projeksiyonundan sonra modelin görüntü gizli durumları.
- **router_logits** (`torch.FloatTensor`, şekli `(batch_size,)`, *isteğe bağlı*) -- Yoğunluk yönlendiricisinin (density router) logitleri, örnek başına bir tane. Modelde yönlendirici (router) varsa ve `pixel_values` verilirse döndürülür.

#### get_image_features[[transformers.GraniteDoclingModel.get_image_features]]

```python
get_image_features(pixel_values: FloatTensor, pixel_attention_mask: BoolTensor, tile_fine_mask: typing.Optional[torch.BoolTensor] = None, **kwargs: *<class 'transformers.utils.generic.TransformersKwargs'>)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/granite_docling/modeling_granite_docling.py#L1052)

**Parametreler:**

pixel_values (`torch.FloatTensor`, şekli `(batch_size, num_tiles, num_channels, image_size, image_size)`) : Girdi görüntü karolarına karşılık gelen tensörler.

pixel_attention_mask (`torch.BoolTensor`, şekli `(batch_size, num_tiles)`) : İşleyicinin döndürdüğü gerçek karolar. Dolgu karoları false değerine sahiptir.

tile_fine_mask (`torch.BoolTensor`, şekli `(batch_size,)`, *isteğe bağlı*) : `fine_route=True` ile çağrılan bir işleyici gerektirir: parti, ince bağlantı yolunu kullanır ve bu da karot başına dört kat daha fazla görüntü belirteci üretir.

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

`GraniteDoclingImageFeaturesOutput` veya bir `torch.Tensor` demeti (eğer `return_dict=False` geçirildiyse veya `config.return_dict=False` ise), yapılandırmaya ([GraniteDoclingConfig](/docs/transformers/v5.23.0/tr/model_doc/granite_docling#transformers.GraniteDoclingConfig)) ve girdilere bağlı olarak çeşitli öğelerden oluşur.

- **last_hidden_state** (`torch.Tensor`, şekli `(batch_size, sequence_length, hidden_size)`) -- Modelin son katmanının çıktısındaki gizli durumlar dizisi.
- **pooler_output** (`tuple[torch.FloatTensor]`, uzunluğu `batch_size`) -- Her örnek için, karoların sırasına göre dizilmiş ve metin gizli boyutuna yansıtılmış görüntü jetonları. Her tensörün şekli `(num_image_tokens, hidden_size)`'tür. Bir karo, kaba bağlayıcı yolunda `image_seq_len` jeton üretirken ince yolda bunun dört katını üretir. Üretim, bu örnek başına tensörleri demetler boyunca tekrarlar.
- **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, `(batch_size, sequence_length, hidden_size)` biçiminde bir demet.

  Her katmanın çıktısında modelin gizli durumları ve isteğe bağlı başlangıç gömme çıktıları.
- **attentions** (`tuple(torch.Tensor)`, *isteğe bağlı*, `output_attentions=True` geçirildiğinde veya `config.output_attentions=True` olduğunda döndürülür) -- `torch.Tensor` (her katman için bir tane) içeren bir tuple, şekli `(batch_size, num_heads, sequence_length, sequence_length)`.

  Dikkat softmax'ı sonrası dikkat ağırlıkları, öz-dikkat kafalarında ağırlıklı ortalamanın hesaplanmasında kullanılır.
- **deepstack_features** (`list[tuple[torch.FloatTensor]]`, *isteğe bağlı*) -- `config.deepstack_visual_indexes` öğesinin her bir girişine karşılık gelen, projeksiyon uygulanmış ara görme kodlayıcı gizli durumu. Her giriş, `pooler_output` ile aynı yerleşime sahip olacak şekilde örnek başına bölünür.
- **router_logits** (`torch.FloatTensor`, şekli `(batch_size,)`, *isteğe bağlı*) -- Yoğunluk yönlendiricisinin (density router) logitleri, örnek başına bir tane. Modelde yönlendirici varsa döndürülür.

#### predict_fine_route[[transformers.GraniteDoclingModel.predict_fine_route]]

```python
predict_fine_route(pixel_values: FloatTensor, pixel_attention_mask: BoolTensor)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/granite_docling/modeling_granite_docling.py#L1198)

**Parametreler:**

pixel_values (`torch.FloatTensor`, şekli `(batch_size, num_tiles, num_channels, image_size, image_size)`) : Girdi görüntü karolarına karşılık gelen tensörler.

pixel_attention_mask (`torch.BoolTensor`, şekli `(batch_size, num_tiles)`) : İşleyicinin döndürdüğü gerçek karolar.

**Dönüş:** `torch.BoolTensor`, şekli `(batch_size,)`

İnce bağlayıcı yoluna ihtiyaç duyan örnekler için `True`.

Hangi örneklerin ince bağlantı yolunu gerektirdiğini yoğunluk yönlendiricisiyle tahmin eder. `fine_route=True` parametresiyle işlemciyi yeniden çağırarak bunları yönlendirin.

## GraniteDoclingTextModel[[transformers.GraniteDoclingTextModel]]

#### transformers.GraniteDoclingTextModel[[transformers.GraniteDoclingTextModel]]

```python
transformers.GraniteDoclingTextModel(config: GraniteDoclingTextConfig)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/granite_docling/modeling_granite_docling.py#L423)

**Parametreler:**

config ([GraniteDoclingTextConfig](/docs/transformers/v5.23.0/tr/model_doc/granite_docling#transformers.GraniteDoclingTextConfig)) : 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/v5.23.0/tr/main_classes/model#transformers.PreTrainedModel.from_pretrained) yöntemine göz atın.

Üzerinde herhangi bir özel head olmadan ham hidden-states çıkaran çıplak Granite Docling Text Model.

Bu model [PreTrainedModel](/docs/transformers/v5.23.0/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.GraniteDoclingTextModel.forward]]

```python
forward(input_ids: typing.Optional[torch.LongTensor] = None, attention_mask: typing.Optional[torch.Tensor] = None, position_ids: typing.Optional[torch.LongTensor] = None, past_key_values: transformers.cache_utils.Cache | None = None, inputs_embeds: typing.Optional[torch.FloatTensor] = None, use_cache: bool | None = None, visual_pos_masks: typing.Optional[torch.BoolTensor] = None, deepstack_visual_embeds: list[torch.Tensor] | None = None, **kwargs: *<class 'transformers.utils.generic.TransformersKwargs'>)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/granite_docling/modeling_granite_docling.py#L441)

**Parametreler:**

input_ids (`torch.LongTensor`, şekli `(batch_size, sequence_length)`, *isteğe bağlı*) : Sözlükteki girdi dizisi belirteçlerinin (token) indeksleri. Varsayılan olarak dolgu (padding) yoksayılır. İndeksler [AutoTokenizer](/docs/transformers/v5.23.0/tr/model_doc/auto#transformers.AutoTokenizer) kullanılarak elde edilebilir. Ayrıntılar için [PreTrainedTokenizer.encode()](/docs/transformers/v5.23.0/tr/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.encode) ve [PreTrainedTokenizer.__call__()](/docs/transformers/v5.23.0/tr/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.__call__) yöntemlerine bakın. [Girdi kimlikları (input IDs) nedir?](../glossary#input-ids)

attention_mask (`torch.Tensor`, şekli `(batch_size, sequence_length)`, *isteğe bağlı*) : Dolgu (padding) token indekslerinde dikkat (attention) işleminin uygulanmamasını sağlayan maske. `[0, 1]` aralığında seçilen maske değerleri:  - **maske uygulanmayan** tokenlar için 1, - **maske uygulanan** tokenlar için 0.  [Dikkat maskeleri nelerdir?](../glossary#attention-mask)

position_ids (`torch.LongTensor`, şekli `(batch_size, sequence_length)`, *isteğe bağlı*) : Girdi dizisi token'larının konum gömme (position embeddings) içindeki konum indeksleri. `[0, config.n_positions - 1]` aralığında seçilir.  [Konum kimlikleri (position IDs) nedir?](../glossary#position-ids)

past_key_values (`~cache_utils.Cache`, *isteğe bağlı*) : Sıralı çözümlemeyi hızlandırmak için kullanılabilen, önceden hesaplanmış gizli durumlar (self-attention bloklarındaki ve cross-attention bloklarındaki anahtar ve değerler). Bu genellikle, `use_cache=True` veya `config.use_cache=True` olduğunda, çözümlemenin önceki bir aşamasında modelin döndürdüğü `past_key_values` değerlerinden oluşur. Girdi olarak yalnızca [Cache](/docs/transformers/v5.23.0/tr/internal/generation_utils#transformers.Cache) örneği kabul edilir, bkz. [kv cache kılavuzu](https://huggingface.co/docs/transformers/en/kv_cache). `past_key_values` geçirilmezse, varsayılan olarak [DynamicCache](/docs/transformers/v5.23.0/tr/internal/generation_utils#transformers.DynamicCache) başlatılır. Model, girdi olarak verilen aynı önbellek biçimini çıktı olarak verecektir. `past_key_values` kullanılıyorsa, kullanıcının, bu modele geçmiş anahtar-değer durumları verilmemiş olan, yalnızca işlenmemiş `input_ids` değerlerini (şekli `(batch_size, unprocessed_length)` olan) girmesi beklenir; bunun yerine, şekli `(batch_size, sequence_length)` olan tüm `input_ids` değerleri girilmez.

inputs_embeds (`torch.FloatTensor`, şekli `(batch_size, sequence_length, hidden_size)`, *isteğe bağlı*) : `input_ids` parametresini iletmek yerine, gömülü bir temsil doğrudan iletmeyi seçebilirsiniz. Bu, `input_ids` dizinlerini ilgili vektörlere dönüştürme biçimi üzerinde modelin dahili gömme arama matrisine kıyasla daha fazla kontrol sahibi olmak istiyorsanız faydalıdır.

use_cache (`bool`, *isteğe bağlı*) : `True` olarak ayarlanırsa, `past_key_values` anahtar değer durumları döndürülür ve çözümlemeyi hızlandırmak için kullanılabilir (bkz. `past_key_values`).

visual_pos_masks (`torch.BoolTensor`, şekli `(batch_size, sequence_length)`, *isteğe bağlı*) : DeepStack özelliklerini alan görüntü jetonlarının konumları.

deepstack_visual_embeds (`list[torch.Tensor]`, *isteğe bağlı*) : DeepStack özellikleri, her biri `(num_image_tokens, hidden_size)` biçiminde. `i` girdisi, `i`. decoder katmanından sonra `visual_pos_masks` konumundaki gizli durumlara eklenir.

**Dönüş:** [BaseModelOutputWithPast](/docs/transformers/v5.23.0/tr/main_classes/output#transformers.modeling_outputs.BaseModelOutputWithPast) veya `tuple(torch.Tensor)`

[BaseModelOutputWithPast](/docs/transformers/v5.23.0/tr/main_classes/output#transformers.modeling_outputs.BaseModelOutputWithPast) veya bir `torch.Tensor` demeti (eğer `return_dict=False` geçirildiyse veya `config.return_dict=False` ise), yapılandırma ([GraniteDoclingConfig](/docs/transformers/v5.23.0/tr/model_doc/granite_docling#transformers.GraniteDoclingConfig)) ve girdilere bağlı olarak çeşitli öğelerden oluşur.

[GraniteDoclingTextModel](/docs/transformers/v5.23.0/tr/model_doc/granite_docling#transformers.GraniteDoclingTextModel) 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, sequence_length, hidden_size)`) -- Modelin son katmanının çıktısındaki gizli durumlar dizisi.

  `past_key_values` kullanılırsa, yalnızca `(batch_size, 1, hidden_size)` biçimindeki dizilerin son gizli durumu (hidden-state) çıktı olarak verilir.
- **past_key_values** (`Cache`, *isteğe bağlı*, `use_cache=True` geçirildiğinde veya `config.use_cache=True` olduğunda döndürülür) -- Bir [Cache](/docs/transformers/v5.23.0/tr/internal/generation_utils#transformers.Cache) örneğidir. Daha fazla ayrıntı için [kv cache kılavuzumuza](https://huggingface.co/docs/transformers/en/kv_cache) bakın.

  Sıralı çözümlemeyi hızlandırmak için (bkz. `past_key_values` girdisi) kullanılabilen, önceden hesaplanmış gizli durumları (self-attention bloklarındaki anahtar ve değerler ve isteğe bağlı olarak `config.is_encoder_decoder=True` ise cross-attention bloklarındaki anahtar ve değerler) içerir.
- **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, `(batch_size, sequence_length, hidden_size)` biçiminde bir demet.

  Her katmanın çıktısında modelin gizli durumları ve isteğe bağlı başlangıç gömme çıktıları.
- **attentions** (`tuple(torch.Tensor)`, *isteğe bağlı*, `output_attentions=True` geçirildiğinde veya `config.output_attentions=True` olduğunda döndürülür) -- `torch.Tensor` (her katman için bir tane) içeren bir tuple, şekli `(batch_size, num_heads, sequence_length, sequence_length)`.

  Dikkat softmax'ı sonrası dikkat ağırlıkları, öz-dikkat kafalarında ağırlıklı ortalamanın hesaplanmasında kullanılır.

## GraniteDoclingForConditionalGeneration[[transformers.GraniteDoclingForConditionalGeneration]]

#### transformers.GraniteDoclingForConditionalGeneration[[transformers.GraniteDoclingForConditionalGeneration]]

```python
transformers.GraniteDoclingForConditionalGeneration(config: GraniteDoclingConfig)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/granite_docling/modeling_granite_docling.py#L1231)

**Parametreler:**

config ([GraniteDoclingConfig](/docs/transformers/v5.23.0/tr/model_doc/granite_docling#transformers.GraniteDoclingConfig)) : 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/v5.23.0/tr/main_classes/model#transformers.PreTrainedModel.from_pretrained) yöntemine göz atın.

Dil modelleme kafasına sahip GraniteDocling Modeli. Bir görme kodlayıcıdan, bir bağlayıcıdan ve bir metin çözücüden oluşur; en üstte bir dil modelleme kafası bulunur.

Bu model [PreTrainedModel](/docs/transformers/v5.23.0/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.GraniteDoclingForConditionalGeneration.forward]]

```python
forward(input_ids: typing.Optional[torch.LongTensor] = None, attention_mask: typing.Optional[torch.Tensor] = None, position_ids: typing.Optional[torch.LongTensor] = None, past_key_values: transformers.cache_utils.Cache | None = None, inputs_embeds: typing.Optional[torch.FloatTensor] = None, pixel_values: typing.Optional[torch.FloatTensor] = None, tile_fine_mask: typing.Optional[torch.BoolTensor] = None, pixel_attention_mask: typing.Optional[torch.BoolTensor] = None, mm_encoder_outputs: dict | None = None, labels: typing.Optional[torch.LongTensor] = None, router_labels: typing.Optional[torch.Tensor] = None, use_cache: bool | None = None, logits_to_keep: typing.Union[int, torch.Tensor] = 0, **kwargs: *<class 'transformers.utils.generic.TransformersKwargs'>)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/granite_docling/modeling_granite_docling.py#L1269)

**Parametreler:**

input_ids (`torch.LongTensor`, şekli `(batch_size, sequence_length)`, *isteğe bağlı*) : Sözlükteki girdi dizisi belirteçlerinin (token) indeksleri. Varsayılan olarak dolgu (padding) yoksayılır. İndeksler [AutoTokenizer](/docs/transformers/v5.23.0/tr/model_doc/auto#transformers.AutoTokenizer) kullanılarak elde edilebilir. Ayrıntılar için [PreTrainedTokenizer.encode()](/docs/transformers/v5.23.0/tr/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.encode) ve [PreTrainedTokenizer.__call__()](/docs/transformers/v5.23.0/tr/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.__call__) yöntemlerine bakın. [Girdi kimlikları (input IDs) nedir?](../glossary#input-ids)

attention_mask (`torch.Tensor`, şekli `(batch_size, sequence_length)`, *isteğe bağlı*) : Dolgu (padding) token indekslerinde dikkat (attention) işleminin uygulanmamasını sağlayan maske. `[0, 1]` aralığında seçilen maske değerleri:  - **maske uygulanmayan** tokenlar için 1, - **maske uygulanan** tokenlar için 0.  [Dikkat maskeleri nelerdir?](../glossary#attention-mask)

position_ids (`torch.LongTensor`, şekli `(batch_size, sequence_length)`, *isteğe bağlı*) : Girdi dizisi token'larının konum gömme (position embeddings) içindeki konum indeksleri. `[0, config.n_positions - 1]` aralığında seçilir.  [Konum kimlikleri (position IDs) nedir?](../glossary#position-ids)

past_key_values (`~cache_utils.Cache`, *isteğe bağlı*) : Sıralı çözümlemeyi hızlandırmak için kullanılabilen, önceden hesaplanmış gizli durumlar (self-attention bloklarındaki ve cross-attention bloklarındaki anahtar ve değerler). Bu genellikle, `use_cache=True` veya `config.use_cache=True` olduğunda, çözümlemenin önceki bir aşamasında modelin döndürdüğü `past_key_values` değerlerinden oluşur. Girdi olarak yalnızca [Cache](/docs/transformers/v5.23.0/tr/internal/generation_utils#transformers.Cache) örneği kabul edilir, bkz. [kv cache kılavuzu](https://huggingface.co/docs/transformers/en/kv_cache). `past_key_values` geçirilmezse, varsayılan olarak [DynamicCache](/docs/transformers/v5.23.0/tr/internal/generation_utils#transformers.DynamicCache) başlatılır. Model, girdi olarak verilen aynı önbellek biçimini çıktı olarak verecektir. `past_key_values` kullanılıyorsa, kullanıcının, bu modele geçmiş anahtar-değer durumları verilmemiş olan, yalnızca işlenmemiş `input_ids` değerlerini (şekli `(batch_size, unprocessed_length)` olan) girmesi beklenir; bunun yerine, şekli `(batch_size, sequence_length)` olan tüm `input_ids` değerleri girilmez.

inputs_embeds (`torch.FloatTensor`, şekli `(batch_size, sequence_length, hidden_size)`, *isteğe bağlı*) : `input_ids` parametresini iletmek yerine, gömülü bir temsil doğrudan iletmeyi seçebilirsiniz. Bu, `input_ids` dizinlerini ilgili vektörlere dönüştürme biçimi üzerinde modelin dahili gömme arama matrisine kıyasla daha fazla kontrol sahibi olmak istiyorsanız faydalıdır.

pixel_values (`torch.FloatTensor`, şekli `(batch_size, num_channels, image_size, image_size)`, *isteğe bağlı*) : Girdi görüntülerine karşılık gelen tensörler. Piksel değerleri [GraniteDoclingImageProcessor](/docs/transformers/v5.23.0/tr/model_doc/granite_docling#transformers.GraniteDoclingImageProcessor) kullanılarak elde edilebilir. Ayrıntılar için [GraniteDoclingImageProcessor.__call__()](/docs/transformers/v5.23.0/tr/model_doc/molmo2#transformers.Molmo2ImageProcessor.__call__) bölümüne bakın ([GraniteDoclingProcessor](/docs/transformers/v5.23.0/tr/model_doc/granite_docling#transformers.GraniteDoclingProcessor), görüntü işleme için [GraniteDoclingImageProcessor](/docs/transformers/v5.23.0/tr/model_doc/granite_docling#transformers.GraniteDoclingImageProcessor) kullanır).

tile_fine_mask (`torch.BoolTensor`, şekli `(batch_size,)`, *isteğe bağlı*) : İşleyici `fine_route=True` ile çağrıldığında tümü True olur: parti, ince bağlantı yolunu izler ve bu yol, karot başına dört kat daha fazla görüntü belirteci üretir.

pixel_attention_mask (`torch.BoolTensor`, şekli `(batch_size, num_tiles)`, *isteğe bağlı*) : İşleyicinin döndürdüğü gerçek karolar. Dolgu karoları false değerine sahiptir. `pixel_values` ile birlikte gereklidir.

mm_encoder_outputs (`dict`, *isteğe bağlı*) : Anahtarları desteklenen modaliteler, değerleri ise o modalite için kodlanmış çıktılar olan bir sözlük. Her kodlanmış çıktı, (`pooler_output`, *isteğe bağlı*: `last_hidden_states`, *isteğe bağlı*: `hidden_states`, *isteğe bağlı*: `attentions`) biçiminde bir demettir. `pooler_output`, `(batch_size, sequence_length, hidden_size)` boyutunda, *isteğe bağlı*) ve kodlayıcının çok modlu özelliklerinin metin gömme değerleriyle birleştirildiği bir dizidir.

labels (`torch.LongTensor`, şekli `(batch_size, sequence_length)`, *isteğe bağlı*) : Maskeli dil modelleme kaybını hesaplamak için etiketler. Endeksler ya `[0, ..., config.vocab_size]` aralığında ya da `model.image_token_id` (burada `model`, `GraniteDoclingForConditionalGeneration` sınıfınızın bir örneğidir) olmalıdır. Endeksleri `model.image_token_id` olarak ayarlanan jetonlar yok sayılır (maskelenir); kayıp yalnızca etiketleri `[0, ..., config.vocab_size]` aralığında olan jetonlar için hesaplanır.

router_labels (`torch.Tensor`, şekli `(batch_size,)`, *isteğe bağlı*) : Yoğunluk yönlendiricisinin hedefleri, ince konnektör yoluna ihtiyaç duyan örnekler için `1` (veya `True`), aksi halde `0`. float, bool veya int olarak verilir; yönlendirici kaybı, logitler üzerinde bir ikili çapraz entropidir.

use_cache (`bool`, *isteğe bağlı*) : `True` olarak ayarlanırsa, `past_key_values` anahtar değer durumları döndürülür ve çözümlemeyi hızlandırmak için kullanılabilir (bkz. `past_key_values`).

logits_to_keep (`Union[int, torch.Tensor]`, *isteğe bağlı*, varsayılan `0`) : `int` ise, son `logits_to_keep` token için logits hesaplanır. `0` ise, tüm `input_ids` için logits hesaplanır (özel durum). Üretim için yalnızca son token'ın logits'ine ihtiyaç duyulur ve bunların yalnızca o token için hesaplanması bellek tasarrufu sağlar; bu, uzun diziler veya büyük sözlük boyutu için oldukça önemli hale gelir. `torch.Tensor` ise, dizi uzunluğu boyutunda tutulacak indekslere karşılık gelen 1B olmalıdır. Bu, paketlenmiş tensor biçimini (batch ve dizi uzunluğu için tek boyut) kullanırken faydalıdır.

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

`GraniteDoclingCausalLMOutputWithPast` veya bir `torch.Tensor` demeti (eğer `return_dict=False` geçirildiyse veya `config.return_dict=False` ise), yapılandırma ([GraniteDoclingConfig](/docs/transformers/v5.23.0/tr/model_doc/granite_docling#transformers.GraniteDoclingConfig)) ve girdilere bağlı olarak çeşitli öğelerden oluşur.

[GraniteDoclingForConditionalGeneration](/docs/transformers/v5.23.0/tr/model_doc/granite_docling#transformers.GraniteDoclingForConditionalGeneration) 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.

- **loss** (`torch.FloatTensor`, şekli `(1,)`, *opsiyonel*, `labels` sağlandığında döndürülür) -- Dil modelleme kaybı (sonraki token tahmini için).
- **logits** (`torch.FloatTensor`, şekli `(batch_size, sequence_length, config.vocab_size)`) -- Dil modelleme başlığının tahmin puanları (SoftMax öncesi her sözlük jetonu için puanlar).
- **past_key_values** (`~cache_utils.Cache`, *isteğe bağlı*, `use_cache=True` geçirildiğinde veya `config.use_cache=True` olduğunda döndürülür) -- Bir [Cache](/docs/transformers/v5.23.0/tr/internal/generation_utils#transformers.Cache) örneğidir. Daha fazla ayrıntı için [kv cache kılavuzumuza](https://huggingface.co/docs/transformers/en/kv_cache) bakın.

  Sıralı çözümlemeyi hızlandırmak için (bkz. `past_key_values` girdisi) kullanılabilen, önceden hesaplanmış gizli durumları (self-attention bloklarındaki anahtar ve değerler ve isteğe bağlı olarak `config.is_encoder_decoder=True` ise cross-attention bloklarındaki anahtar ve değerler) içerir.
- **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, sequence_length, hidden_size)` biçiminde bir demet.

  Her katmanın çıktısında modelin gizli durumları ve isteğe bağlı başlangıç gömme çıktıları.
- **attentions** (`tuple[torch.Tensor]`, *isteğe bağlı*, `output_attentions=True` geçirildiğinde veya `config.output_attentions=True` olduğunda döndürülür) -- `(batch_size, num_heads, sequence_length, sequence_length)` biçiminde, her katman için bir adet içeren `torch.Tensor` demeti.

  Dikkat softmax'ı sonrası dikkat ağırlıkları, öz-dikkat kafalarında ağırlıklı ortalamanın hesaplanmasında kullanılır.
- **image_hidden_states** (`tuple[torch.Tensor]`, şekli `(batch_size, num_images, sequence_length, hidden_size)`, *isteğe bağlı*) -- Görüntü kodlayıcısı tarafından üretilen ve son gizli durumun projeksiyonundan sonra modelin görüntü gizli durumları.
- **router_logits** (`torch.FloatTensor`, şekli `(batch_size,)`, *isteğe bağlı*) -- Yoğunluk yönlendiricisinin (density router) logitleri, örnek başına bir tane. Modelde yönlendirici (router) varsa ve `pixel_values` verilirse döndürülür.

Örnek:

```python
>>> from transformers import AutoProcessor, AutoModelForImageTextToText
>>> from transformers.image_utils import load_image

>>> image = load_image("https://huggingface.co/ibm-granite/granite-for-docling-500m/resolve/main/docling_technical_report_p1.png")

>>> processor = AutoProcessor.from_pretrained("ibm-granite/granite-for-docling-500m")
>>> model = AutoModelForImageTextToText.from_pretrained("ibm-granite/granite-for-docling-500m", device_map="auto")

>>> messages = [
...     {
...         "role": "user",
...         "content": [
...             {"type": "image"},
...             {"type": "text", "text": "<doclang>"},
...         ],
...     }
... ]
>>> prompt = processor.apply_chat_template(messages, add_generation_prompt=True)
>>> inputs = processor(text=prompt, images=image, return_tensors="pt").to(model.device)

>>> generated_ids = model.generate(**inputs, max_new_tokens=4096)
>>> print(processor.decode(generated_ids[0, inputs["input_ids"].shape[1] :], skip_special_tokens=False))
```

#### get_image_features[[transformers.GraniteDoclingForConditionalGeneration.get_image_features]]

```python
get_image_features(pixel_values: Tensor, pixel_attention_mask: typing.Optional[torch.LongTensor] = None, **kwargs: *<class 'transformers.utils.generic.TransformersKwargs'>)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/granite_docling/modeling_granite_docling.py#L1252)

**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.

pixel_attention_mask (`torch.LongTensor`, *isteğe bağlı*) : Görseldeki dolgulu bölgeleri gösteren dikkat maskesi.

**Dönüş:** [BaseModelOutputWithPooling](/docs/transformers/v5.23.0/tr/main_classes/output#transformers.modeling_outputs.BaseModelOutputWithPooling) veya `tuple(torch.Tensor)`

[BaseModelOutputWithPooling](/docs/transformers/v5.23.0/tr/main_classes/output#transformers.modeling_outputs.BaseModelOutputWithPooling) veya bir `torch.Tensor` demeti (`return_dict=False` geçirildiğinde veya `config.return_dict=False` olduğunda), yapılandırmaya ([GraniteDoclingConfig](/docs/transformers/v5.23.0/tr/model_doc/granite_docling#transformers.GraniteDoclingConfig)) ve girdilere bağlı olarak çeşitli öğelerden oluşur.

- **last_hidden_state** (`torch.Tensor`, şekli `(batch_size, sequence_length, hidden_size)`) -- Modelin son katmanının çıktısındaki gizli durumlar dizisi.
- **pooler_output** (`torch.Tensor`, şekli `(batch_size, hidden_size)`) -- Sıralamanın ilk token'ının (sınıflandırma token'ı) son katman gizli durumu, yardımcı ön eğitim görevi için kullanılan katmanlardan geçirildikten sonraki hali. Örneğin BERT ailesi modelleri için, bu, sınıflandırma token'ının doğrusal bir katman ve tanh aktivasyon fonksiyonundan geçirildikten sonraki halini döndürür. Doğrusal katman ağırlıkları, ön eğitim sırasında bir sonraki cümle tahmini (sınıflandırma) hedefinden eğitilir.
- **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, `(batch_size, sequence_length, hidden_size)` biçiminde bir demet.

  Her katmanın çıktısında modelin gizli durumları ve isteğe bağlı başlangıç gömme çıktıları.
- **attentions** (`tuple(torch.Tensor)`, *isteğe bağlı*, `output_attentions=True` geçirildiğinde veya `config.output_attentions=True` olduğunda döndürülür) -- `torch.Tensor` (her katman için bir tane) içeren bir tuple, şekli `(batch_size, num_heads, sequence_length, sequence_length)`.

  Dikkat softmax'ı sonrası dikkat ağırlıkları, öz-dikkat kafalarında ağırlıklı ortalamanın hesaplanmasında kullanılır.

Örnek:

```python
>>> from PIL import Image
>>> from transformers import AutoProcessor, GraniteDoclingForConditionalGeneration

>>> model = GraniteDoclingForConditionalGeneration.from_pretrained("ibm-granite/granite-for-docling-500m")
>>> processor = AutoProcessor.from_pretrained("ibm-granite/granite-for-docling-500m")

>>> messages = [
...     {
...         "role": "user", "content": [
...             {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/pipeline-cat-chonk.jpeg"},
...             {"type": "text", "text": "Where is the cat standing?"},
...         ]
...     },
... ]

>>> inputs = processor.apply_chat_template(
...     messages,
...     tokenize=True,
...     return_dict=True,
...     return_tensors="pt",
...     add_generation_prompt=True
... )
>>> # Generate
>>> generate_ids = model.generate(**inputs)
>>> processor.batch_decode(generate_ids, skip_special_tokens=True)[0]
```

