# Gemma4

## Genel Bakış

Gemma 4, E2B, E4B, 31B ve 26B-A4B (MoE) parametre boyutlarında mevcut olan, önceden eğitilmiş ve talimatla ayarlanmış varyantlara sahip çok modlu bir modeldir. Gemma 4 modelleri aşağıdaki yetenekleri sunar:
- Mantıksal çıkarım: Ailedaki tüm modeller, yapılandırılabilir düşünme modlarına sahip, yüksek yetenekli çıkarım yapıcılar olarak tasarlanmıştır.
- Genişletilmiş Çok Modallılık: Değişken en-boy oranı ve çözünürlük desteğiyle Metin, Görsel (tüm modellerde), Video ve Ses işleme (E2B ve E4B modellerinde yerel olarak desteklenir).
- Artırılmış Bağlam Penceresi: Küçük modeller 128K'lık bir bağlam penceresine sahipken, diğer modeller 256K destekler.
- Geliştirilmiş Kodlama ve Ajan Yetenekleri: Yerleşik fonksiyon çağırma desteğinin yanı sıra kodlama ölçümlerinde belirgin iyileşmeler sağlayarak, son derece yetkin otonom ajanların altyapısını oluşturur.
- Yerel Sistem İpucu Desteği: Gemma 4, dahili sistem rolü desteği sunarak daha yapılandırılmış ve kontrol edilebilir sohbetlere olanak tanır.

Tüm orijinal Gemma 4 kontrol noktalarını [Gemma 4](https://huggingface.co/collections/google/gemma-4) sürümünde bulabilirsiniz.

### Gemma4 Görüntü Modeli

Görüntü için önceki Gemma sürümlerinden temel fark, **farklı boyutlardaki görüntüleri** **sabit bütçeli bir token sayısı** kullanarak işleyen yeni tasarımdır. Birçok modelin her görüntüyü sabit bir kareye (224×224 gibi) sıkıştırmasının aksine, Gemma 4, görüntünün doğal en-boy oranını korurken onu doğru boyuta getirir. Uygulanması gereken birkaç kısıtlama vardır:
- Toplam piksel sayısı, bir yama bütçesi içinde sığmalıdır
- Yükseklik ve genişlik her ikisi de **48**'e (= yama boyutu 16 × havuzlama çekirdeği 3) tam bölünmelidir

> [!IMPORTANT]
> Gemma 4, birçok diğer görme modelinin kullandığı standart ImageNet ortalama/standart sapma normalizasyonunu **uygulamaz**. Modelin kendi yama gömme katmanı, nihai ölçeklemeyi dahili olarak ele alır (değerleri [-1, 1] aralığına kaydırır).

Bir görüntü işleyicisinin üretebileceği "soft token" (başka bir adıyla görüntü tokenı) sayısı yapılandırılabilir. Desteklenen seçenekler aşağıda açıklanmıştır ve varsayılan değer görüntü başına **280 soft token**'dır.

| Yumuşak Jetonlar | Yamalar (havuzlamadan önce) | Yaklaşık Görüntü Alanı |
|:-----------:|:------------------------:|:-------------------:|
| 70          | 630                      | ~161K piksel        |
| 140         | 1,260                    | ~323K piksel        |
| **280**     | **2,520**                | **~645K piksel**    |
| 560         | 5,040                    | ~1,3M piksel        |
| 1,120       | 10,080                   | ~2,6 M piksel        |

Görseldeki her yama için konumsal bilgiyi kodlamak için Gemma 4, öğrenilmiş 2B konum gömme tablosu kullanır. Konum tablosu, eksen başına en fazla 10.240 konum saklar; bu da modelin çok büyük görselleri işleyebilmesini sağlar. Her konum, yama gömme ile aynı boyutlarda öğrenilmiş bir vektördür. Gemma 4'ün kullandığı 2B RoPE, dikkat başı boyutlarının yarısını x ekseni için, diğer yarısını ise y ekseni için bağımsız olarak döndürür. Bu, modelin "üstünde", "altında", "solunda" ve "sağında" gibi mekânsal ilişkileri anlamasını sağlar.

### Katman Başına Gömme (PLE)

Gemma 4, yalnızca girişteki tek bir ortak gömüme güvenmek yerine, her kodlayıcı katmanına yardımcı bir artımsal sinyal besleyen Katman Başına Gömme (PLE) sistemini tanıtır.

PLE, her kodlayıcı katmanına beslenmeden önce toplanan ve `1/√2` ile ölçeklenen iki bileşeni birleştirir:

1. Token-identity (`get_per_layer_inputs`): `input_ids` değerleri, `√(hidden_size_per_layer_input)` ile çarpan `Gemma4TextScaledWordEmbedding` olan `embed_tokens_per_layer` içinde aranır. Paketlenmiş çıktı, `[batch, seq, num_hidden_layers * hidden_size_per_layer_input]` biçiminden `[batch, seq, num_hidden_layers, hidden_size_per_layer_input]` biçimine yeniden şekillendirilir.
2. Bağlama duyarlı (`project_per_layer_inputs`): `inputs_embeds` değerlerini `per_layer_model_projection` (bir Linear katmanı) üzerinden geçirir, `1/√(hidden_size)` ile ölçekler, `[batch, seq, num_layers, ple_dim]` biçimine yeniden şekillendirir ve `per_layer_projection_norm` (RMSNorm) ile normalize eder.

Her iki bileşen de mevcut olduğunda, katman başına son girdi `(token_identity + context_aware) * (1/√2)` şeklindedir. `input_ids` kullanılamayan çok modlu girdilerde yalnızca bağlam duyarlı projeksiyon kullanılır.

## Kullanım örnekleri

Aşağıdaki örnek, [Pipeline](/docs/transformers/v5.23.0/tr/main_classes/pipelines#transformers.Pipeline) veya [AutoModel](/docs/transformers/v5.23.0/tr/model_doc/auto#transformers.AutoModel) sınıfı kullanılarak bir görüntüye dayalı metin üretmenin nasıl yapılacağını göstermektedir.

```python
from transformers import pipeline

pipeline = pipeline(
    task="image-text-to-text",
    model="google/gemma-4-E2B-it",
)
pipeline(
    images="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/pipeline-cat-chonk.jpeg",
    text="<|image|>\n\nWhat is shown in this image?"
)
```

```python
from transformers import AutoModelForImageTextToText, AutoProcessor

model = AutoModelForImageTextToText.from_pretrained(
    "google/gemma-4-E2B-it",
    device_map="auto",
    attn_implementation="sdpa"
)
processor = AutoProcessor.from_pretrained(
    "google/gemma-4-E2B-it",
    padding_side="left"
)

messages = [
    {
        "role": "user", "content": [
            {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/pipeline-cat-chonk.jpeg"},
            {"type": "text", "text": "What is shown in this image?"},
        ]
    },
]
inputs = processor.apply_chat_template(
    messages,
    tokenize=True,
    return_dict=True,
    return_tensors="pt",
    add_generation_prompt=True,
).to(model.device)
input_len = inputs["input_ids"].shape[-1]

output = model.generate(**inputs, max_new_tokens=50, cache_implementation="static")
print(processor.decode(output[0][input_len:], skip_special_tokens=True))
```

### Function calling

```python
from transformers import AutoModelForCausalLM, AutoProcessor

WEATHER_TOOL = {
    "type": "function",
    "function": {
        "name": "get_n_day_weather_forecast",
        "description": "Get an N-day weather forecast",
        "parameters": {
            "type": "object",
            "properties": {
                "location": {
                    "type": "string",
                    "description": "The city and state, e.g. San Francisco, CA",
                },
                "format": {
                    "type": "string",
                    "enum": ["celsius", "fahrenheit"],
                    "description": "The temperature unit to use",
                },
                "num_days": {
                    "type": "integer",
                    "description": "The number of days to forecast",
                },
            },
            "required": ["location", "format", "num_days"],
        },
    },
}

messages = [
    {
        "role": "user",
        "content": "What's the weather like the next 3 days in San Francisco, CA (using F)?",
    },
]

model = AutoModelForCausalLM.from_pretrained(
    "google/gemma-4-E2B-it",
    device_map="auto",
    attn_implementation="sdpa"
)
processor = AutoProcessor.from_pretrained(
    "google/gemma-4-E2B-it",
    padding_side="left"
)

text = processor.apply_chat_template(
    messages,
    tools=[WEATHER_TOOL],
    tokenize=False,
    add_generation_prompt=True,
)

inputs = processor(text=text, return_tensors="pt").to(model.device)
input_len = inputs["input_ids"].shape[-1]

outputs = model.generate(**inputs, max_new_tokens=200)
print(processor.decode(outputs[0][input_len:], skip_special_tokens=False))
```

### Audio (Sadece E2B ve E4B)

```python
from transformers import AutoModelForMultimodalLM, AutoProcessor

messages = [
    {
        "role": "user",
        "content": [
            {"type": "text", "text": "Please transcribe the following audio:"},
            {
                "type": "audio",
                "url": "https://huggingface.co/datasets/eustlb/audio-samples/resolve/main/dude_where_is_my_car.wav",
            },
        ],
    }
]

model = AutoModelForMultimodalLM.from_pretrained(
    "google/gemma-4-E2B-it",
    device_map="auto",
    attn_implementation="sdpa"
)
processor = AutoProcessor.from_pretrained(
    "google/gemma-4-E2B-it",
    padding_side="left"
)

inputs = processor.apply_chat_template(
    messages,
    tokenize=True,
    add_generation_prompt=True,
    return_dict=True,
    return_tensors="pt"
).to(model.device, dtype=model.dtype)

input_len = inputs["input_ids"].shape[-1]

outputs = model.generate(**inputs, max_new_tokens=200)
print(processor.decode(outputs[0][input_len:], skip_special_tokens=False))
```

## Gemma4AudioConfig[[transformers.Gemma4AudioConfig]]

#### transformers.Gemma4AudioConfig[[transformers.Gemma4AudioConfig]]

```python
transformers.Gemma4AudioConfig(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 = 1024, num_hidden_layers: int = 12, num_attention_heads: int = 8, hidden_act: str = 'silu', subsampling_conv_channels: list[int] | tuple[int, int] = (128, 32), conv_kernel_size: int = 5, residual_weight: float = 0.5, attention_chunk_size: int = 12, attention_context_left: int = 13, attention_context_right: int = 0, attention_logit_cap: float = 50.0, attention_invalid_logits_value: float = -1000000000.0, use_clipped_linears: bool = True, rms_norm_eps: float = 1e-06, gradient_clipping: float = 10000000000.0, output_proj_dims: int = 1536, initializer_range: float = 0.02)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/gemma4/configuration_gemma4.py#L29)

**Parametreler:**

hidden_size (`int`, *isteğe bağlı*, varsayılan `1024`) : Gizli temsillerin 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 `8`) : Transformer decoder'ındaki her dikkat katmanı için dikkat başı sayısı.

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.

subsampling_conv_channels (`list[int]`, varsayılan `[128, 32]`) : Sub-sample Convolution Projection içindeki konvolüsyon katmanları için kanal boyutları.

conv_kernel_size (`int`, *isteğe bağlı*, varsayılan `5`) : Konvolüsyon çekirdeğinin boyutu.

residual_weight (`float`, varsayılan `0.5`) : feedforward'da residual ile birleştirilmeden önce hidden_states'e uygulanan ölçekleme.

attention_chunk_size (`int`, varsayılan `12`) : Dikkat işleme için alt dizim boyutu.

attention_context_left (`int`, varsayılan `13`) : Dikkat parçası için sola doğru bağlam boyutu.

attention_context_right (`int`, varsayılan `0`) : Dikkat parçası için sağa doğru bağlam boyutu.

attention_logit_cap (`float`, varsayılan `50.0`) : Dikkat ağırlıklarına uygulanan üst sınır.

attention_invalid_logits_value (`float`, varsayılan `1e-9`) : Dikkat mekanizmasında geçersiz logitler için kullanılacak değer.

use_clipped_linears (`bool`, varsayılan `True`) : doğru ise, model checkpoint'inden sınırları alarak Linear katmanlarına kırpma uygulanır.

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

gradient_clipping (`float`, varsayılan `1e10`) : Aşırı büyük gradyan değerlerini stabilize etmek için kullanılan kırpma değeri.

output_proj_dims (`int`, varsayılan `1536`) : `hidden_size`'den modelin çıktısına sonlu doğrusal projeksiyonun boyutu.

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

Bu, bir Gemma4Model yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Gemma4 modelini örneklemek ve model mimarisini tanımlamak için kullanılır. Varsayılanlarla bir yapılandırma örneği oluşturmak, [google/gemma-4-e2b-it](https://huggingface.co/google/gemma-4-e2b-it) ile benzer bir yapılandırmaya yol açar.

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.

## Gemma4VisionConfig[[transformers.Gemma4VisionConfig]]

#### transformers.Gemma4VisionConfig[[transformers.Gemma4VisionConfig]]

```python
transformers.Gemma4VisionConfig(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 = 16, num_attention_heads: int = 12, num_key_value_heads: int = 12, head_dim: int = 64, hidden_activation: str = 'gelu_pytorch_tanh', rms_norm_eps: float = 1e-06, max_position_embeddings: int = 131072, attention_bias: bool | None = False, attention_dropout: float | None = 0.0, rope_parameters: dict | None = None, pooling_kernel_size: int = 3, patch_size: int = 16, position_embedding_size: int = 10240, use_clipped_linears: bool = False, standardize: bool = False, initializer_range: float = 0.02)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/gemma4/configuration_gemma4.py#L270)

**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 `16`) : 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_key_value_heads (`int`, *isteğe bağlı*, varsayılan `12`) : 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.

head_dim (`int`, *isteğe bağlı*, varsayılan `64`) : Dikkat başı boyutu. None ise, hidden_size // num_attention_heads varsayılan olarak kullanılır

hidden_activation (`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.

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

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

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 (`float`, *isteğe bağlı*, varsayılan `0.0`) : Dikkat olasılıkları için dropout oranı.

rope_parameters (`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.

pooling_kernel_size (`int`, *isteğe bağlı*) : Patchification sonrasında uygulanan uzamsal havuzlama çekirdeği boyutu.

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

position_embedding_size (`int`, varsayılan 10240) : Görüntü kodlayıcısı için konum gömme (position embedding) sayısının üst sınırı. Patch kodlayıcısının (patch embedder) kullandığı öğrenilen 2B konum gömme tablosunun boyutunu kontrol eder.

use_clipped_linears (`bool`, varsayılan `False`) : Ağırlık kırpılmış doğrusal katmanların kullanılıp kullanılmayacağı. Etkinleştirildiğinde, doğrusal katman ağırlıkları ileri geçiş sırasında sayısal kararlılığı artırmak için sabit bir aralığa sabitlenir.

standardize (`bool`, varsayılan `False`) : Doğruysa, pooler'dan döndürülen yumuşak token'lara bir önyargı ve ölçek uygular.

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

Bu, bir Gemma4Model yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Gemma4 modelini örneklemek ve model mimarisini tanımlamak için kullanılır. Varsayılanlarla bir yapılandırma örneği oluşturmak, [google/gemma-4-e2b-it](https://huggingface.co/google/gemma-4-e2b-it) ile benzer bir yapılandırmaya yol açar.

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.

## Gemma4TextConfig[[transformers.Gemma4TextConfig]]

#### transformers.Gemma4TextConfig[[transformers.Gemma4TextConfig]]

```python
transformers.Gemma4TextConfig(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 = 262144, hidden_size: int = 2304, intermediate_size: int = 9216, num_hidden_layers: int = 30, num_attention_heads: int = 8, num_key_value_heads: int = 4, head_dim: int = 256, hidden_activation: str = 'gelu_pytorch_tanh', max_position_embeddings: int = 131072, initializer_range: float = 0.02, rms_norm_eps: float = 1e-06, use_cache: bool = True, pad_token_id: int | None = 0, eos_token_id: int | list[int] | None = 1, bos_token_id: int | None = 2, tie_word_embeddings: bool = True, rope_parameters: dict | None = None, attention_bias: bool = False, attention_dropout: int | float | None = 0.0, sliding_window: int = 512, layer_types: list[str] | None = None, final_logit_softcapping: float | None = None, use_bidirectional_attention: typing.Optional[typing.Literal['all', 'vision']] = None, vocab_size_per_layer_input: int = 262144, hidden_size_per_layer_input: int = 256, attention_k_eq_v: bool = False, num_kv_shared_layers: int = 0, enable_moe_block: bool = False, use_double_wide_mlp: bool = False, num_experts: int | None = None, top_k_experts: int | None = None, moe_intermediate_size: int | None = None)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/gemma4/configuration_gemma4.py#L87)

**Parametreler:**

vocab_size (`int`, *isteğe bağlı*, varsayılan `262144`) : 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 `2304`) : Gizli temsillerin boyutu.

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

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

num_attention_heads (`int`, *isteğe bağlı*, varsayılan `8`) : 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.

head_dim (`int`, *isteğe bağlı*, varsayılan `256`) : Dikkat başı boyutu. None ise, hidden_size // num_attention_heads değerine ayarlanır.

hidden_activation (`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.

max_position_embeddings (`int`, *isteğe bağlı*, varsayılan `131072`) : 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-06`) : 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 `0`) : Sözlükte dolgu için kullanılan token kimliği.

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

bos_token_id (`int`, *isteğe bağlı*, varsayılan `2`) : Sözlükte akış başlangıcı 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 (`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[int, float]`, *isteğe bağlı*, varsayılan `0.0`) : Dikkat olasılıkları için dropout oranı.

sliding_window (`int`, *isteğe bağlı*, varsayılan `512`) : Kayan pencere dikkat penceresi boyutu. `None` ise kayan pencere uygulanmaz.

layer_types (`list[str]`, *isteğe bağlı*) : Her katman indeksini katman türüyle açıkça eşleyen bir liste. Sağlanmazsa, yapılandırma değerlerine göre otomatik olarak oluşturulur.

final_logit_softcapping (`float`, *isteğe bağlı*) : Olasılık dağılımı hesaplanmadan önce nihai logit'lere uygulanan yumuşak sınırlama değeri. Logit'ler `tanh(logit / cap) * cap` ile ölçeklenir.

use_bidirectional_attention (`str`, *isteğe bağlı*) : Çift yönlü dikkat davranışını kontrol eder. `"vision"` olarak ayarlandığında, görsel jetonlar çift yönlü dikkat kullanırken metin jetonları nedensel dikkat kullanır. `"all"` olarak ayarlandığında, tüm jetonlar çift yönlü dikkat kullanır.

vocab_size_per_layer_input (`int`, varsayılan 262144) : Katman başına giriş gömme (PLE) için sözlük boyutu. Daha küçük bir gömmenin her aygıç katmanında eklendiği, katman başına artımsal akışlara sahip modeller tarafından kullanılır.

hidden_size_per_layer_input (`int`, varsayılan 256) : PLE sistemi için katman başına gizli boyut. Tüm katmanlar tek bir tabloya paketlendiği için, gerçek gömme ağırlığının şekli `[vocab_size_per_layer_input, num_hidden_layers * hidden_size_per_layer_input]`'dir. Tam PLE hattının açıklaması için [Gemma4](https://huggingface.co/docs/transformers/main/en/model_doc/gemma4#per-layer-embeddings-ple) belgelerine bakın.

attention_k_eq_v (`bool`, varsayılan `False`) : Anahtarların ve değerlerin aynı projeksiyon ağırlıklarını paylaşması. `True` olduğunda, anahtar projeksiyonu çıktısı, değer projeksiyonu olarak yeniden kullanılır.

num_kv_shared_layers (`int`, varsayılan 0) : Aynı anahtar-değer projeksiyonlarını paylaşan ardışık decoder katmanlarının sayısı. 0 değeri, paylaşımın olmadığını (her katmanın bağımsız KV projeksiyonlarına sahip olduğunu) ifade eder.

enable_moe_block (`bool`, varsayılan `False`) : Dekoder katmanlarında Mixture-of-Experts (MoE) bloklarının etkinleştirilip etkinleştirilmeyeceğini belirtir. `True` olduğunda, uygun katmanlar seyrek bir MoE ileri besleme ağı kullanır.

use_double_wide_mlp (`bool`, varsayılan `False`) : Birleşik gate ve up projeksiyonlarına sahip çift genişlikte bir MLP kullanılıp kullanılmayacağı.

num_experts (`int`, *isteğe bağlı*) : MoE katmanlarındaki yönlendirilmiş uzman sayısı.

top_k_experts (`int`, *isteğe bağlı*) : MoE katmanlarında token başına etkinleştirilen uzman sayısı. Yalnızca `enable_moe_block=True` olduğunda kullanılır.

moe_intermediate_size (`int`, *isteğe bağlı*) : MoE katmanlarında her uzmanın ileri beslemeli ağının ara (gizli) boyutu. Yalnızca `enable_moe_block=True` olduğunda kullanılır.

Bu, bir Gemma4Model yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Gemma4 modelini örneklemek ve model mimarisini tanımlamak için kullanılır. Varsayılanlarla bir yapılandırma örneği oluşturmak, [google/gemma-4-e2b-it](https://huggingface.co/google/gemma-4-e2b-it) ile benzer bir yapılandırmaya yol açar.

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.

## Gemma4Config[[transformers.Gemma4Config]]

#### transformers.Gemma4Config[[transformers.Gemma4Config]]

```python
transformers.Gemma4Config(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: transformers.models.gemma4.configuration_gemma4.Gemma4TextConfig | dict[str, typing.Any] | None = None, vision_config: transformers.models.gemma4.configuration_gemma4.Gemma4VisionConfig | dict[str, typing.Any] | None = None, audio_config: transformers.models.gemma4.configuration_gemma4.Gemma4AudioConfig | dict[str, typing.Any] | None = None, boi_token_id: int | None = 255999, eoi_token_id: int | None = 258882, image_token_id: int | None = 258880, video_token_id: int | None = 258884, boa_token_id: int | None = 256000, eoa_token_index: int | None = 258883, audio_token_id: int | None = 258881, initializer_range: float | None = 0.02, tie_word_embeddings: bool = True)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/gemma4/configuration_gemma4.py#L322)

**Parametreler:**

text_config (`Union[~models.gemma4.configuration_gemma4.Gemma4TextConfig, dict[str, Any]]`, *isteğe bağlı*) : Metin omurgasının yapılandırma nesnesi veya sözlüğü.

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

audio_config (`Union[~models.gemma4.configuration_gemma4.Gemma4AudioConfig, dict[str, Any]]`, *isteğe bağlı*) : Ses omurgasının yapılandırma nesnesi veya sözlüğü.

boi_token_id (`int`, *opsiyonel*, varsayılan 255999) : Görsel istemi sarmak için kullanılan başlangıç görsel (begin-of-image) jeton indeksi.

eoi_token_id (`int`, *opsiyonel*, varsayılan 258882) : Görsel istemi sarmak için kullanılan görsel sonu (end-of-image) belirteç dizini.

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

video_token_id (`int`, *isteğe bağlı*, varsayılan `258884`) : Girdi videoları için yer tutucu olarak kullanılan video jeton indeksi.

boa_token_id (`int`, *opsiyonel*, varsayılan 256000) : Ses prompt'unu sarmak için kullanılan ses başlangıcı token indeksi.

eoa_token_index (`int`, *opsiyonel*, varsayılan 258883) : Ses prompt'unu sarmak için kullanılan ses sonu token indeksi.

audio_token_id (`int`, *isteğe bağlı*, varsayılan `258881`) : Girdi sesinin yer tutucusu olarak kullanılan ses jetonu indeksi.

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

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.

Bu, bir Gemma4Model yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Gemma4 modelini örneklemek ve model mimarisini tanımlamak için kullanılır. Varsayılanlarla bir yapılandırma örneği oluşturmak, [google/gemma-4-e2b-it](https://huggingface.co/google/gemma-4-e2b-it) ile benzer bir yapılandırmaya yol açar.

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.

Örnek:

```python
>>> from transformers import (
>>>     Gemma4AudioConfig,
>>>     Gemma4Config,
>>>     Gemma4ForConditionalGeneration,
>>>     Gemma4TextConfig,
>>>     Gemma4VisionConfig,
>>> )

>>> # Initializing a Gemma 4 Audio config.
>>> audio_config = Gemma4AudioConfig()

>>> # Initializing a Gemma 4 Text config.
>>> text_config = Gemma4TextConfig()

>>> # Initializing a Gemma 4 vision config.
>>> vision_config = Gemma4VisionConfig()

>>> # Initializing a Gemma 4 config similar to google/gemma-4-e2b-it
>>> configuration = Gemma4Config(text_config, vision_config, audio_config)

>>> # Initializing a model from the google/gemma-4-e2b-it configuration
>>> model = Gemma4ForConditionalGeneration(configuration)

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

## Gemma4AudioFeatureExtractor[[transformers.Gemma4AudioFeatureExtractor]]

#### transformers.Gemma4AudioFeatureExtractor[[transformers.Gemma4AudioFeatureExtractor]]

```python
transformers.Gemma4AudioFeatureExtractor(feature_size: int = 128, sampling_rate: int = 16000, padding_value: float = 0.0, return_attention_mask: bool = True, frame_length_ms: float = 20.0, hop_length_ms: float = 10.0, min_frequency: float = 0.0, max_frequency: float = 8000.0, preemphasis: float = 0.0, preemphasis_htk_flavor: bool = True, fft_overdrive: bool = False, dither: float = 0.0, input_scale_factor: float = 1.0, mel_floor: float = 0.001, per_bin_mean: collections.abc.Sequence[float] | None = None, per_bin_stddev: collections.abc.Sequence[float] | None = None, **kwargs)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/gemma4/feature_extraction_gemma4.py#L49)

**Parametreler:**

feature_size (`int`, *isteğe bağlı*, varsayılan 128) : Çıkarılan özelliklerin boyutu.

sampling_rate (`int`, *opsiyonel*, varsayılan 16000) : Ses dosyalarının dijitalleştirileceği örneklem hızı, hertz (Hz) cinsinden ifade edilir.

padding_value (`float`, *opsiyonel*, varsayılan 0.0) : Sesin doldurulmasında kullanılan dolgu değeri. Sessizliklere karşılık gelmelidir.

return_attention_mask (`bool`, *isteğe bağlı*, varsayılan `True`) : Üretilen MEL spektrogramları için dikkat maskesinin döndürülüp döndürülmeyeceğini belirtir.

frame_length_ms (`float`, *isteğe bağlı*, varsayılan 20.0) : Bir karenin milisaniye cinsinden uzunluğu.

hop_length_ms (`float`, *opsiyonel*, varsayılan 10.0) : Mel Frekans katsayılarını elde etmek için kullanılan STFT'nin örtüşen pencerelerinin uzunluğu.

min_frequency (`float`, *opsiyonel*, varsayılan 0.0) : Mel filtre bankası için minimum frekans (Hz cinsinden).

max_frequency (`float`, *isteğe bağlı*, varsayılan 8000.0) : Mel filtre bankası için maksimum frekans (Hz cinsinden).

preemphasis (`float`, *opsiyonel*, varsayılan 0.0) : Ön vurgulama katsayısı.

preemphasis_htk_flavor (`bool`, *isteğe bağlı*, varsayılan `True`) : HTK tarzı ön vurgulamanın (preemphasis) kullanılıp kullanılmayacağı.

fft_overdrive (`bool`, *isteğe bağlı*, varsayılan `False`) : FFT overdrive kullanılacak mı?

dither (`float`, *opsiyonel*, varsayılan 0.0) : Dithering ekler. Başka bir deyişle, her kareye küçük bir Gauss gürültüsü ekler. Örneğin, ham_speech'in [-1,+1] aralığında olduğunu varsayarak, 0.0 merkezli ve 0.0001 standart sapmalı normal dağılımla dithering eklemek için 0.0001 kullanın. 0.0 değeri dithering uygulanmadığı anlamına gelir. Dithering'in etkisi `spectrogram(mel_floor=...)` ile benzerdir. Sinyalde VAD kesme noktası (cutoff) mevcut olduğunda, sert-sıfır bölümlere sahip sinyallerin yüksek log_mel_fbank değerlerini azaltır.

input_scale_factor (`float`, *isteğe bağlı*, varsayılan 1.0) : Giriş dalga formuna uygulanan ölçekleme faktörü.

mel_floor (`float`, *opsiyonel*, varsayılan 0.001) : log(0) değerinden kaçınmak için Mel spektrogramlarının minimum değeri.

per_bin_mean (`Optional[Sequence[float]]`, *isteğe bağlı*) : Bin başına normalizasyon için ortalama değerler.

per_bin_stddev (`Optional[Sequence[float]]`, *isteğe bağlı*) : Bin başına normalizasyon için standart sapma değerleri.

Evrensel Konuşma Modelleri için bir ses özellik çıkarıcısı https://huggingface.co/papers/2303.01037.

#### __call__[[transformers.Gemma4AudioFeatureExtractor.__call__]]

```python
__call__(raw_speech: numpy.ndarray | list[float] | list[numpy.ndarray] | list[list[float]], padding: bool | str | transformers.utils.generic.PaddingStrategy = 'longest', max_length: int | None = 480000, truncation: bool = True, pad_to_multiple_of: int | None = 128, return_tensors: str | transformers.utils.generic.TensorType | None = None, return_attention_mask: bool | None = True, **kwargs)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/gemma4/feature_extraction_gemma4.py#L226)

**Parametreler:**

raw_speech : MEL spektrogramlarının oluşturulduğu ses.

padding (`Union[bool, str, PaddingStrategy]`, *isteğe bağlı*, varsayılan `"longest"`) : Farklı uzunluklara sahip ses partileri için kullanılacak dolgu stratejisi.

max_length (`int`, *isteğe bağlı*, varsayılan 480000) : Verilirse, izin verilen sesin maksimum uzunluğunu tanımlar. `truncation=True` ise bu uzunluktan daha uzun sesler kırpılır.

truncation (`bool`, *isteğe bağlı*, varsayılan `True`) : `max_length` üzerindeki sesin kırpılıp kırpılmayacağını belirtir.

pad_to_multiple_of (`int`, *isteğe bağlı*, varsayılan 128) : Dolgu (padding) uygulanırken, bu değerin katlarına kadar doldurulur. Varsayılan değer, optimal TPU desteği için tanımlanmıştır.

return_tensors (`Union[str, TensorType]`, *isteğe bağlı*, varsayılan `None`) : Dönülecek tensörlerin türü (ör. NumPy veya Torch).

return_attention_mask (`bool`, *isteğe bağlı*, varsayılan `True`) : Üretilen MEL spektrogramları için dikkat maskesinin döndürülüp döndürülmeyeceğini belirtir.

Sağlanan ham ses verisinden bir MEL spektrogramu grubu oluşturur.

Bu uygulama, pencereleme ve ön vurgulama için yerleşik `transformers.audio_utils.spectrogram()` işlevinden farklı bir algoritma kullanır ve bu da _farklı_ çıktılara yol açar. Ses özellik çıkarıcısı seçerken, özellikle önceden eğitilmiş modellerle çalışırken, bunu dikkatlice göz önünde bulundurun.

## Gemma4ImageProcessorPil[[transformers.Gemma4ImageProcessorPil]]

#### transformers.Gemma4ImageProcessorPil[[transformers.Gemma4ImageProcessorPil]]

```python
transformers.Gemma4ImageProcessorPil(**kwargs: *<class 'transformers.models.gemma4.image_processing_pil_gemma4.Gemma4ImageProcessorKwargs'>)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/gemma4/image_processing_pil_gemma4.py#L137)

**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*) : 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 `False`) : Görselin normalize edilip edilmeyeceğini belirtir.

image_mean (`Union[float, list[float], tuple[float, ...]]`, *kwargs*, *opsiyonel*, varsayılan `[0.0, 0.0, 0.0]`) : 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 `[1.0, 1.0, 1.0]`) : 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.

patch_size (`int`, *kwargs*, *isteğe bağlı*) : Her görüntü yamasının piksel cinsinden boyutu.

max_soft_tokens (`int`, *kwargs*, *isteğe bağlı*) : Görsel başına en fazla yumuşak (görüntü) jeton sayısı. {70, 140, 280, 560, 1120} kümesindeki değerlerden biri olmalıdır.

pooling_kernel_size (`int`, *kwargs*, *opsiyonel*) : Patchification sonrasında uygulanan uzamsal havuzlama çekirdeği boyutu.

Gemma4 görüntü işleyicisi oluşturur.

#### preprocess[[transformers.Gemma4ImageProcessorPil.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']], **kwargs: *<class 'transformers.models.gemma4.image_processing_pil_gemma4.Gemma4ImageProcessorKwargs'>)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/gemma4/image_processing_pil_gemma4.py#L167)

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

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.

patch_size (`int`, *kwargs*, *isteğe bağlı*) : Her görüntü yamasının piksel cinsinden boyutu.

max_soft_tokens (`int`, *kwargs*, *isteğe bağlı*) : Görsel başına en fazla yumuşak (görüntü) jeton sayısı. {70, 140, 280, 560, 1120} kümesindeki değerlerden biri olmalıdır.

pooling_kernel_size (`int`, *kwargs*, *opsiyonel*) : Patchification sonrasında uygulanan uzamsal havuzlama çekirdeği boyutu.

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

## Gemma4ImageProcessor[[transformers.Gemma4ImageProcessor]]

#### transformers.Gemma4ImageProcessor[[transformers.Gemma4ImageProcessor]]

```python
transformers.Gemma4ImageProcessor(**kwargs: *<class 'transformers.models.gemma4.image_processing_gemma4.Gemma4ImageProcessorKwargs'>)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/gemma4/image_processing_gemma4.py#L136)

**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 `None`) : 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 `False`) : Görselin normalize edilip edilmeyeceğini belirtir.

image_mean (`Union[float, list[float], tuple[float, ...]]`, *kwargs*, *opsiyonel*, varsayılan `[0.0, 0.0, 0.0]`) : 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 `[1.0, 1.0, 1.0]`) : 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.

patch_size (`int`, *kwargs*, *isteğe bağlı*) : Her görüntü yamasının piksel cinsinden boyutu.

max_soft_tokens (`int`, *kwargs*, *isteğe bağlı*) : Görsel başına en fazla yumuşak (görüntü) jeton sayısı. {70, 140, 280, 560, 1120} kümesindeki değerlerden biri olmalıdır.

pooling_kernel_size (`int`, *kwargs*, *opsiyonel*) : Patchification sonrasında uygulanan uzamsal havuzlama çekirdeği boyutu.

Gemma4 görüntü işleyicisi oluşturur.

#### preprocess[[transformers.Gemma4ImageProcessor.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']], **kwargs: *<class 'transformers.models.gemma4.image_processing_gemma4.Gemma4ImageProcessorKwargs'>)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/gemma4/image_processing_gemma4.py#L193)

## Gemma4VideoProcessor[[transformers.Gemma4VideoProcessor]]

#### transformers.Gemma4VideoProcessor[[transformers.Gemma4VideoProcessor]]

```python
transformers.Gemma4VideoProcessor(**kwargs: *<class 'transformers.models.gemma4.video_processing_gemma4.Gemma4VideoProcessorKwargs'>)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/gemma4/video_processing_gemma4.py#L155)

**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 `None`) : 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.

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.0, 0.0, 0.0]`) : 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 `[1.0, 1.0, 1.0]`) : Normalizasyon için kullanılacak görüntü standart sapması. Yalnızca `do_normalize` `True` olarak ayarlanırsa etkilidir.

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

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.

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.

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.

do_sample_frames (`bool`, *kwargs*, *isteğe bağlı*, varsayılan `True`) : İşleme başlamadan önce videodan kare örneklenip örneklenmeyeceği veya videonun tamamının işleneceği.

video_metadata (`Annotated[~video_utils.VideoMetadata | dict | list[dict | ~video_utils.VideoMetadata] | list[list[dict | ~video_utils.VideoMetadata]] | None, None]`, *kwargs*) : Toplam süre, fps ve toplam kare sayısı hakkında bilgi içeren videonun metadata'sı. Videodan kare örneklemek veya zaman damgalarını hesaplamak için kullanılacaktır. Videoyu işlemden önce manuel olarak çözmeye çalışmıyorsanız herhangi bir metadata geçirmeyin

fps (`Annotated[int | float | None, None]`, *kwargs*) : `do_sample_frames=True` olduğunda saniyede örneklenmesi hedeflenen kareler.

num_frames (`Annotated[int | None, None]`, *kwargs*, varsayılan `32`) : `do_sample_frames=True` olduğunda örneklenmesi gereken maksimum kare sayısı.

return_metadata (`bool`, *kwargs*, *opsiyonel*, varsayılan `False`) : Video meta verilerinin döndürülüp döndürülmemesi. Video meta verileri, video süresi, fps, çözümleme arka ucu gibi bilgileri içeren bir nesnedir.

return_tensors (`Annotated[str | ~utils.generic.TensorType | None, None]`, *kwargs*) : Ayarlanırsa, belirli bir çerçeveye ait tensörler döndürülür. Kabul edilen değerler:  - `'pt'`: PyTorch `torch.Tensor` nesnelerini döndürür. - `'np'`: NumPy `np.ndarray` nesnelerini döndürür.

patch_size (`int`, *kwargs*, *isteğe bağlı*) : Her görüntü yamasının piksel cinsinden boyutu.

max_soft_tokens (`int`, *kwargs*, *isteğe bağlı*) : Video karesi başına maksimum yumuşak (görüntü) jeton sayısı. {70, 140, 280, 560, 1120} değerlerinden biri olmalıdır.

pooling_kernel_size (`int`, *kwargs*, *opsiyonel*) : Patchification sonrasında uygulanan uzamsal havuzlama çekirdeği boyutu.

- ****kwargs** ([ProcessingKwargs](/docs/transformers/v5.23.0/tr/main_classes/processors#transformers.ProcessingKwargs), *opsiyonel*) : Her modalite (metin, görüntüler, videolar, ses) için ek işleme seçenekleri. Modelle ilgili parametreler yukarıda listelenmiştir; desteklenen argümanların tam listesi için TypedDict sınıfına bakın.

Gemma4VideoProcessor video işleyicisi oluşturur.

#### preprocess[[transformers.Gemma4VideoProcessor.preprocess]]

```python
preprocess(videos: typing.Union[list['PIL.Image.Image'], numpy.ndarray, ForwardRef('torch.Tensor'), list[numpy.ndarray], list['torch.Tensor'], list[list['PIL.Image.Image']], list[list[numpy.ndarray]], list[list['torch.Tensor']], transformers.video_utils.URL, list[transformers.video_utils.URL], list[list[transformers.video_utils.URL]], transformers.video_utils.Path, list[transformers.video_utils.Path], list[list[transformers.video_utils.Path]]], **kwargs: *<class 'transformers.models.gemma4.video_processing_gemma4.Gemma4VideoProcessorKwargs'>)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/gemma4/video_processing_gemma4.py#L214)

**Parametreler:**

videos (`Union[list[PIL.Image.Image], numpy.ndarray, torch.Tensor, list[numpy.ndarray], list[torch.Tensor], list[list[PIL.Image.Image]], list[list[numpy.ndarray]], list[list[torch.Tensor]], ~video_utils.URL, list[~video_utils.URL], list[list[~video_utils.URL]], ~video_utils.Path, list[~video_utils.Path], list[list[~video_utils.Path]]]`) : Ön işleme yapılacak video. Piksel değerleri 0 ile 255 arasında değişen tek bir video veya video partisi beklenir. Piksel değerleri 0 ile 1 arasında olan videolar geçiriliyorsa `do_rescale=False` olarak ayarlayın.

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ğı.

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_center_crop (`bool`, *kwargs*, *opsiyonel*) : Görselin merkezden kırpılıp kırpılmayacağını belirtir.

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.

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.

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.

do_sample_frames (`bool`, *kwargs*, *isteğe bağlı*) : İşleme başlamadan önce videodan kare örneklenip örneklenmeyeceği veya videonun tamamının işleneceği.

video_metadata (`Annotated[~video_utils.VideoMetadata | dict | list[dict | ~video_utils.VideoMetadata] | list[list[dict | ~video_utils.VideoMetadata]] | None, None]`, *kwargs*) : Toplam süre, fps ve toplam kare sayısı hakkında bilgi içeren videonun metadata'sı. Videodan kare örneklemek veya zaman damgalarını hesaplamak için kullanılacaktır. Videoyu işlemden önce manuel olarak çözmeye çalışmıyorsanız herhangi bir metadata geçirmeyin

fps (`Annotated[int | float | None, None]`, *kwargs*) : `do_sample_frames=True` olduğunda saniyede örneklenmesi hedeflenen kareler.

num_frames (`Annotated[int | None, None]`, *kwargs*) : `do_sample_frames=True` olduğunda örneklenmesi gereken maksimum kare sayısı.

return_metadata (`bool`, *kwargs*, *isteğe bağlı*) : Video meta verilerinin döndürülüp döndürülmemesi. Video meta verileri, video süresi, fps, çözümleme arka ucu gibi bilgileri içeren bir nesnedir.

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.

patch_size (`int`, *kwargs*, *isteğe bağlı*) : Her görüntü yamasının piksel cinsinden boyutu.

max_soft_tokens (`int`, *kwargs*, *isteğe bağlı*) : Video karesi başına maksimum yumuşak (görüntü) jeton sayısı. {70, 140, 280, 560, 1120} değerlerinden biri olmalıdır.

pooling_kernel_size (`int`, *kwargs*, *opsiyonel*) : Patchification sonrasında uygulanan uzamsal havuzlama çekirdeği boyutu.

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

## Gemma4Processor[[transformers.Gemma4Processor]]

#### transformers.Gemma4Processor[[transformers.Gemma4Processor]]

```python
transformers.Gemma4Processor(feature_extractor, image_processor, tokenizer, video_processor, chat_template = None, image_seq_length: int = 280, audio_seq_length: int = 750, audio_ms_per_token: int = 40, **kwargs)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/gemma4/processing_gemma4.py#L87)

**Parametreler:**

feature_extractor (*Gemma4AudioFeatureExtractor*) : Özellik çıkarıcı zorunlu bir girdidir.

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

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

video_processor (*Gemma4VideoProcessor*) : Video işleyici zorunlu bir girdidir.

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

image_seq_length (*int*, *optional*, varsayılan 280) : Yer tutucu genişletme için görüntü başına kullanılan yumuşak token sayısı.

audio_seq_length (*int*, *optional*, varsayılan 750) : Ses segmenti başına maksimum ses yumuşak jeton sayısı. Dinamik ses jeton sayıları hesaplanırken üst sınır olarak görev yapar.

audio_ms_per_token (*int*, *opsiyonel*, varsayılan 40) : Çıktı yumuşak başına ses milisaniyesi. `ceil(duration_ms / audio_ms_per_token)` olarak dinamik biçimde hesaplanan ses yer tutucu belirteç sayısını kullanır. 40 varsayılan değeri, 10 ms'lik çerçevelerdeki SSCP konvolüsyonunun 4× zaman indirgemesinden kaynaklanır.

Bir özellik çıkarıcıyı, bir görüntü işleyiciyi, bir belirteçleştiriciyi ve bir video işleyiciyi tek bir işleyicide birleştiren bir Gemma4Processor oluşturur.

[*Gemma4Processor*], [*Gemma4AudioFeatureExtractor*], [*Gemma4ImageProcessor*], [*tokenizer_class*] ve [*Gemma4VideoProcessor*] sınıflarının tüm işlevlerini sunar. Daha fazla bilgi için [*~Gemma4AudioFeatureExtractor*], [*~Gemma4ImageProcessor*], [*~tokenizer_class*] ve [*~Gemma4VideoProcessor*] belgelerini inceleyin.

#### __call__[[transformers.Gemma4Processor.__call__]]

```python
__call__(images: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor'], NoneType] = None, text: str | list[str] | list[list[str]] | None = None, videos: typing.Union[list['PIL.Image.Image'], numpy.ndarray, ForwardRef('torch.Tensor'), list[numpy.ndarray], list['torch.Tensor'], list[list['PIL.Image.Image']], list[list[numpy.ndarray]], list[list['torch.Tensor']], transformers.video_utils.URL, list[transformers.video_utils.URL], list[list[transformers.video_utils.URL]], transformers.video_utils.Path, list[transformers.video_utils.Path], list[list[transformers.video_utils.Path]], NoneType] = None, audio: typing.Union[numpy.ndarray, ForwardRef('torch.Tensor'), collections.abc.Sequence[numpy.ndarray], collections.abc.Sequence['torch.Tensor'], NoneType] = None, **kwargs: *<class 'transformers.processing_utils.ProcessingKwargs'>)
```

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

**Parametreler:**

images (`Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]]`, *isteğe bağlı*) : Ön işleme tabi tutulacak 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.

text (`Union[str, list[str], list[list[str]]]`, *isteğe bağlı*) : Kodlanacak dizi veya dizi topluluğu. Her dizi bir metin veya metin listesi (önceden tokenize edilmiş metin) olabilir. Önceden tokenize edilmiş bir girdi geçirirseniz, toplu girdilerle karışıklığı önlemek için `is_split_into_words=True` değerini ayarlayın.

videos (`Union[list[PIL.Image.Image], numpy.ndarray, torch.Tensor, list[numpy.ndarray], list[torch.Tensor], list[list[PIL.Image.Image]], list[list[numpy.ndarray]], list[list[torch.Tensor]], ~video_utils.URL, list[~video_utils.URL], list[list[~video_utils.URL]], ~video_utils.Path, list[~video_utils.Path], list[list[~video_utils.Path]]]`, *isteğe bağlı*) : Ön işleme tabi tutulacak video. Piksel değerleri 0 ile 255 arasında değişen tek bir video veya video grubu beklenir. Piksel değerleri 0 ile 1 arasında olan videoları geçiriyorsanız, `do_rescale=False` olarak ayarlayın.

audio (`Union[numpy.ndarray, torch.Tensor, collections.abc.Sequence[numpy.ndarray], collections.abc.Sequence[torch.Tensor]]`, *isteğe bağlı*) : Hazırlanacak ses veya sesler grubu. Her ses, bir NumPy dizisi veya PyTorch tensörü olabilir. NumPy dizisi/PyTorch tensörü durumunda, her sesin şekli (C, T) olmalıdır; burada C kanal sayısı, T ise sesin örnek uzunluğudur.

return_mm_token_type_ids (`bool`, *kwargs*) : Çok modlu yer tutucu token konumlarını gösteren çok modlu token türü kimliklerini döndürüp döndürmeyeceğini belirtir.

return_text_replacement_offsets (`bool`, *kwargs*) : Her çok modlu yer tutucu ve ikamesi için karakter ofsetlerinin döndürülüp döndürülmemesi.

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.

- ****kwargs** ([ProcessingKwargs](/docs/transformers/v5.23.0/tr/main_classes/processors#transformers.ProcessingKwargs), *opsiyonel*) : Her modalite (metin, görüntüler, videolar, ses) için ek işleme seçenekleri. Modelle ilgili parametreler yukarıda listelenmiştir; desteklenen argümanların tam listesi için TypedDict sınıfına bakın.

## Gemma4PreTrainedModel[[transformers.Gemma4PreTrainedModel]]

#### transformers.Gemma4PreTrainedModel[[transformers.Gemma4PreTrainedModel]]

```python
transformers.Gemma4PreTrainedModel(config: PreTrainedConfig, *inputs, **kwargs)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/gemma4/modeling_gemma4.py#L1443)

**Parametreler:**

config ([PreTrainedConfig](/docs/transformers/v5.23.0/tr/main_classes/configuration#transformers.PreTrainedConfig)) : 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.

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.Gemma4PreTrainedModel.forward]]

```python
forward(*args, **kwargs)
```

Noktalı bir yol için sahte bir değer (ör. `torch.float32`): öznitelik erişim zincirleri, çağrılar geçiş (pass-through) dekoratörleri gibi davranır, `repr` noktalı yoldur ve bir taban sınıf olarak kullanıldığında düz bir `type` tabanı yerleştirilir (PEP 560 `__mro_entries__`), böylece gerçek alt sınıflar normal bir metasınıfı korur ve `inspect.signature` sahtenin yerine gerçek `__init__` değerlerini okur.

## Gemma4AudioModel[[transformers.Gemma4AudioModel]]

#### transformers.Gemma4AudioModel[[transformers.Gemma4AudioModel]]

```python
transformers.Gemma4AudioModel(config: Gemma4AudioConfig)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/gemma4/modeling_gemma4.py#L1963)

[Universal Speech Model](https://huggingface.co/papers/2303.01037) mimarisine dayalı bir ses kodlayıcı.

#### forward[[transformers.Gemma4AudioModel.forward]]

```python
forward(input_features: Tensor, attention_mask: typing.Optional[torch.Tensor] = None, **kwargs: *<class 'transformers.utils.generic.TransformersKwargs'>)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/gemma4/modeling_gemma4.py#L2020)

**Parametreler:**

input_features (`torch.Tensor`, şekli `(batch_size, sequence_length, feature_dim)`) : Girdi ses özelliklerine karşılık gelen tensörler. Ses özellikleri [Gemma4AudioFeatureExtractor](/docs/transformers/v5.23.0/tr/model_doc/gemma4#transformers.Gemma4AudioFeatureExtractor) kullanılarak elde edilebilir. Ayrıntılar için [Gemma4AudioFeatureExtractor.__call__()](/docs/transformers/v5.23.0/tr/model_doc/gemma4#transformers.Gemma4AudioFeatureExtractor.__call__) bölümüne bakın ([Gemma4Processor](/docs/transformers/v5.23.0/tr/model_doc/gemma4#transformers.Gemma4Processor), sesleri işlemek için [Gemma4AudioFeatureExtractor](/docs/transformers/v5.23.0/tr/model_doc/gemma4#transformers.Gemma4AudioFeatureExtractor) kullanır).

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)

**Dönüş:**

`tuple[torch.Tensor, torch.BoolTensor]`

Ses özelliklerini yumuşak jetonlara kodlar.

## Gemma4VisionModel[[transformers.Gemma4VisionModel]]

#### transformers.Gemma4VisionModel[[transformers.Gemma4VisionModel]]

```python
transformers.Gemma4VisionModel(config: Gemma4VisionConfig)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/gemma4/modeling_gemma4.py#L2055)

Gemma 4 Görüntü Kodlayıcısı.

#### forward[[transformers.Gemma4VisionModel.forward]]

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

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/gemma4/modeling_gemma4.py#L2076)

**Parametreler:**

pixel_values (`torch.Tensor` veya `list[torch.Tensor]`) : Kodlanacak görüntüler. Ya tek bir `[batch, channels, height, width]` tensörü (tüm görüntüler aynı boyutta) ya da `[1, channels, height, width]` boyutunda tensörlerden oluşan bir liste (farklı boyutlar).

pixel_position_ids (`torch.LongTensor`, şekli `(batch_size, max_patches, 2)`) : Görseldeki (x, y) koordinatları olarak yama konumları. Dolgu yamaları (-1, -1) ile gösterilir.

**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 (`return_dict=False` geçirildiğinde veya `config.return_dict=False` olduğunda); yapılandırma ([Gemma4Config](/docs/transformers/v5.23.0/tr/model_doc/gemma4#transformers.Gemma4Config)) ve girdilere bağlı olarak çeşitli öğelerden oluşur.

Görsel piksellerini yamalarından yumuşak jetonlara kodlar.

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

## Gemma4TextModel[[transformers.Gemma4TextModel]]

#### transformers.Gemma4TextModel[[transformers.Gemma4TextModel]]

```python
transformers.Gemma4TextModel(config: Gemma4TextConfig)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/gemma4/modeling_gemma4.py#L1544)

**Parametreler:**

config ([Gemma4TextConfig](/docs/transformers/v5.23.0/tr/model_doc/gemma4#transformers.Gemma4TextConfig)) : 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 başlığı olmadan temel Gemma 4 dil 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.Gemma4TextModel.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.Tensor] = None, per_layer_inputs: 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/gemma4/modeling_gemma4.py#L1602)

**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.Tensor`, şekli `(batch_size, sequence_length, hidden_size)`, *isteğe bağlı*) : `input_ids` parametresini iletmek yerine, gömülü bir temsil doğrudan iletmeyi tercih edebilirsiniz. Bu, `input_ids` indekslerini 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.

per_layer_inputs (`torch.Tensor`, *isteğe bağlı*) : `(batch_size, sequence_length, num_hidden_layers, hidden_size_per_layer_input)` biçiminde, katman başına önceden hesaplanmış giriş metin gömme değerleri. Sağlandığında, bunlar metin modelinde `input_ids` üzerinden `get_per_layer_inputs()` ile hesaplanmak yerine doğrudan kullanılır. `input_ids` yerine `inputs_embeds` ile `forward` çağrısı yapıyorsanız, bunları büyük olasılıkla önceden hesaplayıp `inputs_embeds` ile birlikte iletmeniz gerekir; aksi takdirde bunların yeniden hesaplanması ana gömmenin tersine çevrilmesini gerektirir ve bu işlem maliyetlidir.

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üş:** `Gemma4TextModelOutputWithPast` veya `tuple(torch.Tensor)`

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

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

- **shared_kv_states** (`KVSharingDict`, *isteğe bağlı*) -- Katman türü dizgilerini (key_states, value_states) tensörleri demetlerine eşleyen, sözlük benzeri bir kapsayıcı. KV paylaşımı sırasında katmanlar arasında ortak KV durumlarını iletmek için kullanılır.
- **router_logits** (`tuple(torch.Tensor)`, *isteğe bağlı*, `output_router_logits=True` geçirildiğinde döndürülür) -- Her MoE katmanı için bir adet, `(batch_size * sequence_length, num_experts)` biçiminde `torch.Tensor` içeren bir demet.

## Gemma4ForCausalLM[[transformers.Gemma4ForCausalLM]]

#### transformers.Gemma4ForCausalLM[[transformers.Gemma4ForCausalLM]]

```python
transformers.Gemma4ForCausalLM(config: Gemma4TextConfig)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/gemma4/modeling_gemma4.py#L1853)

**Parametreler:**

config ([Gemma4TextConfig](/docs/transformers/v5.23.0/tr/model_doc/gemma4#transformers.Gemma4TextConfig)) : 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 başlığına sahip temel Gemma 4 dil 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.Gemma4ForCausalLM.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.Tensor] = None, labels: typing.Optional[torch.LongTensor] = None, use_cache: bool | None = None, logits_to_keep: typing.Union[int, torch.Tensor] = 0, per_layer_inputs: typing.Optional[torch.Tensor] = None, **kwargs: *<class 'transformers.utils.generic.TransformersKwargs'>)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/gemma4/modeling_gemma4.py#L1870)

**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.Tensor`, şekli `(batch_size, sequence_length, hidden_size)`, *isteğe bağlı*) : `input_ids` parametresini iletmek yerine, gömülü bir temsil doğrudan iletmeyi tercih edebilirsiniz. Bu, `input_ids` indekslerini 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.

labels (`torch.LongTensor`, şekli `(batch_size, sequence_length)`, *isteğe bağlı*) : Neden dil modelleme kaybını hesaplamak için etiketler. Endeksler `[-100, 0, ..., config.vocab_size]` aralığında olmalıdır (bkz. `input_ids` docstring). Endeksleri `-100` olarak ayarlanan tokenlar yok sayılır (maskelenir), kayıp yalnızca etiketleri `[0, ..., config.vocab_size]` aralığında olan tokenlar için hesaplanır. Etiketler, `labels[..., 1:]`'in `logits[..., :-1, :]`'i tahmin etmek için kullanılması amacıyla **içsel olarak kaydırılır**. `input_ids` ile eşleşen, kaydırılmamış etiketleri iletin (yani `labels = input_ids`). Etiketleri iletmeden önce kendiniz **kaydırmayın**. Etiketler zaten kaydırılmışsa (örneğin sequence parallelism ile), bunları `shift_labels` anahtar kelime argümanı olarak iletin ve olduğu gibi kullanılır. Kaybın hesaplanması için `labels`'in yine de iletilmesi gerekir.

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.

per_layer_inputs (`torch.Tensor`, *isteğe bağlı*) : `(batch_size, sequence_length, num_hidden_layers, hidden_size_per_layer_input)` biçiminde, katman başına önceden hesaplanmış giriş metin gömme değerleri. Sağlandığında, bunlar metin modelinde `input_ids` üzerinden `get_per_layer_inputs()` ile hesaplanmak yerine doğrudan kullanılır. `input_ids` yerine `inputs_embeds` ile `forward` çağrısı yapıyorsanız, bunları büyük olasılıkla önceden hesaplayıp `inputs_embeds` ile birlikte iletmeniz gerekir; aksi takdirde bunların yeniden hesaplanması ana gömmenin tersine çevrilmesini gerektirir ve bu işlem maliyetlidir.

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

Bir `Gemma4CausalLMOutputWithPast` veya bir `torch.Tensor` demeti (`return_dict=False` geçirildiğinde veya `config.return_dict=False` olduğunda), yapılandırma ([Gemma4Config](/docs/transformers/v5.23.0/tr/model_doc/gemma4#transformers.Gemma4Config)) ve girdilere bağlı olarak çeşitli öğelerden oluşur.

[Gemma4ForCausalLM](/docs/transformers/v5.23.0/tr/model_doc/gemma4#transformers.Gemma4ForCausalLM) 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.Tensor`, şekli `(1,)`, *isteğe bağlı*, `labels` sağlandığında döndürülür) -- Dil modelleme kaybı (sonraki token tahmini için).
- **logits** (`torch.Tensor`, şekli `(batch_size, sequence_length, config.text_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`, *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) 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** (`torch.Tensor`, *isteğe bağlı*) -- Boyutu `(batch_size, num_images, sequence_length, hidden_size)` olan bir `torch.Tensor`. Görüntü kodlayıcısının son gizli durumu projekte ettikten sonra modelin ürettiği image_hidden_states.
- **audio_hidden_states** (`torch.Tensor`, *isteğe bağlı*) -- Boyutu `(batch_size, num_images, sequence_length, hidden_size)` olan bir `torch.Tensor`. Ses kodlayıcı tarafından üretilen ve son gizli durum projeksiyonundan sonra modelin ürettiği audio_hidden_states.
- **shared_kv_states** (`KVSharingDict`, *isteğe bağlı*) -- Katman türü dizgilerini (key_states, value_states) tensörleri demetlerine eşleyen, sözlük benzeri bir kapsayıcı. KV paylaşımı sırasında katmanlar arasında ortak KV durumlarını iletmek için kullanılır.
- **router_logits** (`tuple(torch.Tensor)`, *isteğe bağlı*, `output_router_logits=True` geçirildiğinde döndürülür) -- Her MoE katmanı için bir adet, `(batch_size * sequence_length, num_experts)` biçiminde `torch.Tensor` içeren bir demet.

Örnek:

```python
>>> from transformers import AutoTokenizer, Gemma4ForCausalLM

>>> model = Gemma4ForCausalLM.from_pretrained("google/gemma-4-E2B-it")
>>> tokenizer = AutoTokenizer.from_pretrained("google/gemma-4-E2B-it")

>>> prompt = "What is your favorite condiment?"
>>> inputs = tokenizer(prompt, return_tensors="pt")

>>> # Generate
>>> generate_ids = model.generate(inputs.input_ids, max_length=30)
>>> tokenizer.batch_decode(generate_ids, skip_special_tokens=True, clean_up_tokenization_spaces=False)[0]
"What is your favorite condiment?"
```

## Gemma4Model[[transformers.Gemma4Model]]

#### transformers.Gemma4Model[[transformers.Gemma4Model]]

```python
transformers.Gemma4Model(config: Gemma4Config)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/gemma4/modeling_gemma4.py#L2231)

**Parametreler:**

config ([Gemma4Config](/docs/transformers/v5.23.0/tr/model_doc/gemma4#transformers.Gemma4Config)) : 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ı olmadan bir görme omurgası, bir ses omurgası ve bir dil modelinden oluşan temel Gemma 4 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.Gemma4Model.forward]]

```python
forward(input_ids: typing.Optional[torch.LongTensor] = None, pixel_values: typing.Optional[torch.Tensor] = None, pixel_values_videos: typing.Optional[torch.Tensor] = None, input_features: typing.Optional[torch.Tensor] = None, attention_mask: typing.Optional[torch.Tensor] = None, input_features_mask: typing.Optional[torch.Tensor] = None, position_ids: typing.Optional[torch.LongTensor] = None, past_key_values: transformers.cache_utils.Cache | None = None, mm_token_type_ids: typing.Optional[torch.LongTensor] = None, inputs_embeds: typing.Optional[torch.Tensor] = None, use_cache: bool | None = None, image_position_ids: typing.Optional[torch.LongTensor] = None, video_position_ids: typing.Optional[torch.LongTensor] = None, num_frames_per_video: typing.Optional[torch.LongTensor] = None, per_layer_inputs: typing.Optional[torch.Tensor] = None, mm_encoder_outputs: dict[str, transformers.modeling_outputs.BaseModelOutputWithPooling] | None = None, **kwargs: *<class 'transformers.utils.generic.TransformersKwargs'>)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/gemma4/modeling_gemma4.py#L2326)

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

pixel_values (`torch.Tensor`, ş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 [Gemma4ImageProcessor](/docs/transformers/v5.23.0/tr/model_doc/gemma4#transformers.Gemma4ImageProcessor) kullanılarak elde edilebilir. Ayrıntılar için [Gemma4ImageProcessor.__call__()](/docs/transformers/v5.23.0/tr/model_doc/molmo2#transformers.Molmo2ImageProcessor.__call__) bölümüne bakınız ([Gemma4Processor](/docs/transformers/v5.23.0/tr/model_doc/gemma4#transformers.Gemma4Processor), görüntü işleme için [Gemma4ImageProcessor](/docs/transformers/v5.23.0/tr/model_doc/gemma4#transformers.Gemma4ImageProcessor) kullanır).

pixel_values_videos (`torch.Tensor`, şekli `(batch_size, num_frames, num_channels, frame_size, frame_size)`, *isteğe bağlı*) : Girdi videoya karşılık gelen tensörler. Videolar için piksel değerleri [Gemma4VideoProcessor](/docs/transformers/v5.23.0/tr/model_doc/gemma4#transformers.Gemma4VideoProcessor) kullanılarak elde edilebilir. Ayrıntılar için [Gemma4VideoProcessor.__call__()](/docs/transformers/v5.23.0/tr/model_doc/molmo2#transformers.Molmo2VideoProcessor.__call__) adresine bakın ([Gemma4Processor](/docs/transformers/v5.23.0/tr/model_doc/gemma4#transformers.Gemma4Processor), videoları işlemek için [Gemma4VideoProcessor](/docs/transformers/v5.23.0/tr/model_doc/gemma4#transformers.Gemma4VideoProcessor) kullanır).

input_features (`torch.Tensor`, şekli `(batch_size, sequence_length, feature_dim)`, *isteğe bağlı*) : Girdi ses özelliklerine karşılık gelen tensörler. Ses özellikleri [Gemma4AudioFeatureExtractor](/docs/transformers/v5.23.0/tr/model_doc/gemma4#transformers.Gemma4AudioFeatureExtractor) kullanılarak elde edilebilir. Ayrıntılar için [Gemma4AudioFeatureExtractor.__call__()](/docs/transformers/v5.23.0/tr/model_doc/gemma4#transformers.Gemma4AudioFeatureExtractor.__call__) bölümüne bakınız ([Gemma4Processor](/docs/transformers/v5.23.0/tr/model_doc/gemma4#transformers.Gemma4Processor), sesleri işlemek için [Gemma4AudioFeatureExtractor](/docs/transformers/v5.23.0/tr/model_doc/gemma4#transformers.Gemma4AudioFeatureExtractor) kullanır).

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)

input_features_mask (`torch.Tensor`, şekli `(num_images, seq_length)`) : Girdi sesinin dikkat maskesi.

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.

mm_token_type_ids (`torch.LongTensor`, şekli `(batch_size, sequence_length)`, *isteğe bağlı*) : Her modalliteyle eşleşen girdi dizisi belirteçlerinin (token) indeksleri. Örneğin metin (0), görüntü (1), video (2). Çok modallı belirteç türü kimlikleri [AutoProcessor](/docs/transformers/v5.23.0/tr/model_doc/auto#transformers.AutoProcessor) kullanılarak elde edilebilir. Ayrıntılar için [ProcessorMixin.__call__()](/docs/transformers/v5.23.0/tr/main_classes/processors#transformers.ProcessorMixin.__call__) bölümüne bakın.

inputs_embeds (`torch.Tensor`, şekli `(batch_size, sequence_length, hidden_size)`, *isteğe bağlı*) : `input_ids` parametresini iletmek yerine, gömülü bir temsil doğrudan iletmeyi tercih edebilirsiniz. Bu, `input_ids` indekslerini 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`).

image_position_ids (`torch.LongTensor`, şekli `(batch_size, max_patches, 2)`, *isteğe bağlı*) : Görsel işleyiciden gelen 2B yama konum koordinatları; `(-1, -1)` dolguyu (padding) belirtir. Konumsal gömme (positional embedding) hesabı için görsel kodlayıcıya (vision encoder) iletilir.

video_position_ids (`torch.LongTensor`, şekli `(total_num_frames, max_patches, 2)`, *isteğe bağlı*) : Video işleyiciden gelen 2B yama konum koordinatları, `(-1, -1)` dolguyu (padding) belirtir. Konumsal gömme (positional embedding) hesabı için görme kodlayıcıya (vision encoder) iletilir.

num_frames_per_video (`torch.LongTensor`, şekli `(num_videos,)`, *isteğe bağlı*) : Her videoya ait kare sayısı. `pixel_values_videos` iletildiğinde zorunludur, çünkü tüm videoların kareleri tek bir eksende birleştirilir.

per_layer_inputs (`torch.Tensor`, *isteğe bağlı*) : `(batch_size, sequence_length, num_hidden_layers, hidden_size_per_layer_input)` biçiminde, katman başına önceden hesaplanmış giriş metin gömme değerleri. Sağlandığında, bunlar metin modelinde `input_ids` üzerinden `get_per_layer_inputs()` ile hesaplanmak yerine doğrudan kullanılır. `input_ids` yerine `inputs_embeds` ile `forward` çağrısı yapıyorsanız, bunları büyük olasılıkla önceden hesaplayıp `inputs_embeds` ile birlikte iletmeniz gerekir; aksi takdirde bunların yeniden hesaplanması ana gömmenin tersine çevrilmesini gerektirir ve bu işlem maliyetlidir.

mm_encoder_outputs (`dict[str, ~modeling_outputs.BaseModelOutputWithPooling]`, *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`) `pooler_output` `(batch_size, sequence_length, hidden_size)` boyutunda, *isteğe bağlı*) şeklindedir ve kodlayıcının çok modlu özelliklerinin metin gömme (embedding) değerleriyle birleştirilmiş bir dizisidir.

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

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

[Gemma4Model](/docs/transformers/v5.23.0/tr/model_doc/gemma4#transformers.Gemma4Model) 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) 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.
- **image_hidden_states** (`torch.Tensor`, *isteğe bağlı*) -- `(batch_size, num_images, sequence_length, hidden_size)` boyutunda bir `torch.Tensor`. Görüntü kodlayıcısı tarafından üretilen ve son gizli durum projeksiyonundan sonra modelin image_hidden_states'i.
- **audio_hidden_states** (`torch.Tensor`, *isteğe bağlı*) -- Boyutu `(batch_size, num_images, sequence_length, hidden_size)` olan bir `torch.Tensor`. Ses kodlayıcı tarafından üretilen ve son gizli durum projeksiyonundan sonra modelin ürettiği audio_hidden_states.
- **shared_kv_states** (`KVSharingDict`, *isteğe bağlı*) -- Katman türü dizgilerini (key_states, value_states) tensörleri demetlerine eşleyen, sözlük benzeri bir kapsayıcı. KV paylaşımı sırasında katmanlar arasında ortak KV durumlarını iletmek için kullanılır.
- **router_logits** (`tuple(torch.Tensor)`, *isteğe bağlı*, `output_router_logits=True` geçirildiğinde döndürülür) -- Her MoE katmanı için bir adet, `(batch_size * sequence_length, num_experts)` biçiminde `torch.Tensor` içeren bir demet.

## Gemma4ForConditionalGeneration[[transformers.Gemma4ForConditionalGeneration]]

#### transformers.Gemma4ForConditionalGeneration[[transformers.Gemma4ForConditionalGeneration]]

```python
transformers.Gemma4ForConditionalGeneration(config: Gemma4Config)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/gemma4/modeling_gemma4.py#L2598)

**Parametreler:**

config ([Gemma4Config](/docs/transformers/v5.23.0/tr/model_doc/gemma4#transformers.Gemma4Config)) : 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.

Görüntü omurgası, ses omurgası, bir dil modeli ve bir dil modelleme başlığından oluşan temel Gemma 4 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.Gemma4ForConditionalGeneration.forward]]

```python
forward(input_ids: typing.Optional[torch.LongTensor] = None, pixel_values: typing.Optional[torch.Tensor] = None, pixel_values_videos: typing.Optional[torch.Tensor] = None, input_features: typing.Optional[torch.Tensor] = None, attention_mask: typing.Optional[torch.Tensor] = None, input_features_mask: typing.Optional[torch.Tensor] = None, position_ids: typing.Optional[torch.LongTensor] = None, image_position_ids: typing.Optional[torch.LongTensor] = None, video_position_ids: typing.Optional[torch.LongTensor] = None, num_frames_per_video: typing.Optional[torch.LongTensor] = None, past_key_values: transformers.cache_utils.Cache | None = None, mm_token_type_ids: typing.Optional[torch.LongTensor] = None, inputs_embeds: typing.Optional[torch.Tensor] = None, labels: typing.Optional[torch.LongTensor] = None, use_cache: bool | None = None, logits_to_keep: typing.Union[int, torch.Tensor] = 0, per_layer_inputs: typing.Optional[torch.Tensor] = None, mm_encoder_outputs: dict[str, transformers.modeling_outputs.BaseModelOutputWithPooling] | None = None, **kwargs: *<class 'transformers.utils.generic.TransformersKwargs'>)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/gemma4/modeling_gemma4.py#L2624)

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

pixel_values (`torch.Tensor`, ş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 [Gemma4ImageProcessor](/docs/transformers/v5.23.0/tr/model_doc/gemma4#transformers.Gemma4ImageProcessor) kullanılarak elde edilebilir. Ayrıntılar için [Gemma4ImageProcessor.__call__()](/docs/transformers/v5.23.0/tr/model_doc/molmo2#transformers.Molmo2ImageProcessor.__call__) bölümüne bakınız ([Gemma4Processor](/docs/transformers/v5.23.0/tr/model_doc/gemma4#transformers.Gemma4Processor), görüntü işleme için [Gemma4ImageProcessor](/docs/transformers/v5.23.0/tr/model_doc/gemma4#transformers.Gemma4ImageProcessor) kullanır).

pixel_values_videos (`torch.Tensor`, şekli `(batch_size, num_frames, num_channels, frame_size, frame_size)`, *isteğe bağlı*) : Girdi videoya karşılık gelen tensörler. Videolar için piksel değerleri [Gemma4VideoProcessor](/docs/transformers/v5.23.0/tr/model_doc/gemma4#transformers.Gemma4VideoProcessor) kullanılarak elde edilebilir. Ayrıntılar için [Gemma4VideoProcessor.__call__()](/docs/transformers/v5.23.0/tr/model_doc/molmo2#transformers.Molmo2VideoProcessor.__call__) adresine bakın ([Gemma4Processor](/docs/transformers/v5.23.0/tr/model_doc/gemma4#transformers.Gemma4Processor), videoları işlemek için [Gemma4VideoProcessor](/docs/transformers/v5.23.0/tr/model_doc/gemma4#transformers.Gemma4VideoProcessor) kullanır).

input_features (`torch.Tensor`, şekli `(batch_size, sequence_length, feature_dim)`, *isteğe bağlı*) : Girdi ses özelliklerine karşılık gelen tensörler. Ses özellikleri [Gemma4AudioFeatureExtractor](/docs/transformers/v5.23.0/tr/model_doc/gemma4#transformers.Gemma4AudioFeatureExtractor) kullanılarak elde edilebilir. Ayrıntılar için [Gemma4AudioFeatureExtractor.__call__()](/docs/transformers/v5.23.0/tr/model_doc/gemma4#transformers.Gemma4AudioFeatureExtractor.__call__) bölümüne bakınız ([Gemma4Processor](/docs/transformers/v5.23.0/tr/model_doc/gemma4#transformers.Gemma4Processor), sesleri işlemek için [Gemma4AudioFeatureExtractor](/docs/transformers/v5.23.0/tr/model_doc/gemma4#transformers.Gemma4AudioFeatureExtractor) kullanır).

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)

input_features_mask (`torch.Tensor`, şekli `(num_images, seq_length)`) : Girdi sesinin dikkat maskesi.

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)

image_position_ids (`torch.LongTensor`, şekli `(batch_size, max_patches, 2)`, *isteğe bağlı*) : Görsel işleyiciden gelen 2B yama konum koordinatları; `(-1, -1)` dolguyu (padding) belirtir. Konumsal gömme (positional embedding) hesabı için görsel kodlayıcıya (vision encoder) iletilir.

video_position_ids (`torch.LongTensor`, şekli `(total_num_frames, max_patches, 2)`, *isteğe bağlı*) : Video işleyiciden gelen 2B yama konum koordinatları, `(-1, -1)` dolguyu (padding) belirtir. Konumsal gömme (positional embedding) hesabı için görme kodlayıcıya (vision encoder) iletilir.

num_frames_per_video (`torch.LongTensor`, şekli `(num_videos,)`, *isteğe bağlı*) : Her videoya ait kare sayısı. `pixel_values_videos` iletildiğinde zorunludur, çünkü tüm videoların kareleri tek bir eksende birleştirilir.

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.

mm_token_type_ids (`torch.LongTensor`, şekli `(batch_size, sequence_length)`, *isteğe bağlı*) : Her modalliteyle eşleşen girdi dizisi belirteçlerinin (token) indeksleri. Örneğin metin (0), görüntü (1), video (2). Çok modallı belirteç türü kimlikleri [AutoProcessor](/docs/transformers/v5.23.0/tr/model_doc/auto#transformers.AutoProcessor) kullanılarak elde edilebilir. Ayrıntılar için [ProcessorMixin.__call__()](/docs/transformers/v5.23.0/tr/main_classes/processors#transformers.ProcessorMixin.__call__) bölümüne bakın.

inputs_embeds (`torch.Tensor`, şekli `(batch_size, sequence_length, hidden_size)`, *isteğe bağlı*) : `input_ids` parametresini iletmek yerine, gömülü bir temsil doğrudan iletmeyi tercih edebilirsiniz. Bu, `input_ids` indekslerini 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.

labels (`torch.LongTensor`, şekli `(batch_size, sequence_length)`, *isteğe bağlı*) : Maskeli dil modelleme kaybını hesaplamak için etiketler. Endeksler `[0, ..., config.vocab_size]` aralığında olmalı ya da -100 olmalı (`input_ids` docstring'ine bakın). Endeksleri `-100` olarak ayarlanan tokenlar yok sayılır (maskelenir), kayıp yalnızca `[0, ..., config.vocab_size]` aralığında etiketlere sahip tokenlar için hesaplanı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`).

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.

per_layer_inputs (`torch.Tensor`, *isteğe bağlı*) : `(batch_size, sequence_length, num_hidden_layers, hidden_size_per_layer_input)` biçiminde, katman başına önceden hesaplanmış giriş metin gömme değerleri. Sağlandığında, bunlar metin modelinde `input_ids` üzerinden `get_per_layer_inputs()` ile hesaplanmak yerine doğrudan kullanılır. `input_ids` yerine `inputs_embeds` ile `forward` çağrısı yapıyorsanız, bunları büyük olasılıkla önceden hesaplayıp `inputs_embeds` ile birlikte iletmeniz gerekir; aksi takdirde bunların yeniden hesaplanması ana gömmenin tersine çevrilmesini gerektirir ve bu işlem maliyetlidir.

mm_encoder_outputs (`dict[str, ~modeling_outputs.BaseModelOutputWithPooling]`, *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`) `pooler_output` `(batch_size, sequence_length, hidden_size)` boyutunda, *isteğe bağlı*) şeklindedir ve kodlayıcının çok modlu özelliklerinin metin gömme (embedding) değerleriyle birleştirilmiş bir dizisidir.

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

Bir `Gemma4CausalLMOutputWithPast` veya bir `torch.Tensor` demeti (`return_dict=False` geçirildiğinde veya `config.return_dict=False` olduğunda), yapılandırma ([Gemma4Config](/docs/transformers/v5.23.0/tr/model_doc/gemma4#transformers.Gemma4Config)) ve girdilere bağlı olarak çeşitli öğelerden oluşur.

[Gemma4ForConditionalGeneration](/docs/transformers/v5.23.0/tr/model_doc/gemma4#transformers.Gemma4ForConditionalGeneration) 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.Tensor`, şekli `(1,)`, *isteğe bağlı*, `labels` sağlandığında döndürülür) -- Dil modelleme kaybı (sonraki token tahmini için).
- **logits** (`torch.Tensor`, şekli `(batch_size, sequence_length, config.text_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`, *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) 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** (`torch.Tensor`, *isteğe bağlı*) -- Boyutu `(batch_size, num_images, sequence_length, hidden_size)` olan bir `torch.Tensor`. Görüntü kodlayıcısının son gizli durumu projekte ettikten sonra modelin ürettiği image_hidden_states.
- **audio_hidden_states** (`torch.Tensor`, *isteğe bağlı*) -- Boyutu `(batch_size, num_images, sequence_length, hidden_size)` olan bir `torch.Tensor`. Ses kodlayıcı tarafından üretilen ve son gizli durum projeksiyonundan sonra modelin ürettiği audio_hidden_states.
- **shared_kv_states** (`KVSharingDict`, *isteğe bağlı*) -- Katman türü dizgilerini (key_states, value_states) tensörleri demetlerine eşleyen, sözlük benzeri bir kapsayıcı. KV paylaşımı sırasında katmanlar arasında ortak KV durumlarını iletmek için kullanılır.
- **router_logits** (`tuple(torch.Tensor)`, *isteğe bağlı*, `output_router_logits=True` geçirildiğinde döndürülür) -- Her MoE katmanı için bir adet, `(batch_size * sequence_length, num_experts)` biçiminde `torch.Tensor` içeren bir demet.

Örnek:

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

>>> model = Gemma4ForConditionalGeneration.from_pretrained("google/gemma-4-e2b-it")
>>> processor = AutoProcessor.from_pretrained("google/gemma-4-e2b-it")

>>> 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]
```

