# Gemma3n

## Genel Bakış

[Gemma3n](https://developers.googleblog.com/en/introducing-gemma-3n/), E4B ve E2B boyutlarında mevcut olan, önceden eğitilmiş ve talimatla ayarlanmış varyantlara sahip çok modlu bir modeldir. Dil modeli mimarisinin büyük bir kısmı önceki Gemma sürümleriyle paylaşılsa da bu modelde [Alternating Updates][altup] (AltUp), [Learned Augmented Residual Layer][laurel] (LAuReL), [MatFormer][matformer], Per-Layer Embeddings (PLE), [Activation Sparsity with Statistical Top-k][spark-transformer] ve KV önbellek paylaşımı gibi birçok yeni ekleme bulunmaktadır. Dil modeli, [Gemma 3](./gemma3) ile benzer bir dikkat deseni kullanır; her küresel öz-dikkat katmanı için 4 yerel kayan pencere öz-dikkat katmanı dönüşümlü olarak yerleştirilir ve maksimum bağlam uzunluğu 32k token'dır. Gemma 3n, varsayılan çözünürlüğü 768x768 piksel olan bir görme kodlayıcı olarak MobileNet v5'i tanıtır ve [Universal Speech Model][usm] (USM) mimarisine dayalı olarak yeni eğitilmiş bir ses kodlayıcı ekler.

Talimatla ayarlanmış varyant, bilgi damıtma ve pekiştirmeli öğrenme ile son eğitimi yapılmıştır.

Tüm orijinal Gemma 3n checkpoint'lerini [Gemma 3n][gemma3n-collection] sürümünde bulabilirsiniz.

> [!TIP]
> Farklı görme, ses ve dil görevlerine Gemma'nın nasıl uygulanacağına dair daha fazla örnek için sağ kenar çubuğundaki Gemma 3n modellerine tıklayın.
>
> [from_pretrained()](/docs/transformers/main/tr/main_classes/model#transformers.PreTrainedModel.from_pretrained) içinde `use_kernels=True` değerini ayarlayarak desteklenen katmanları Hub'daki optimize edilmiş çekirdeklerle değiştirin. Daha fazla bilgi için [Çekirdekleri yükleme](../kernel_doc/loading_kernels) bölümüne bakın.

Aşağıdaki örnek, [Pipeline](/docs/transformers/main/tr/main_classes/pipelines#transformers.Pipeline) veya [AutoModel](/docs/transformers/main/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-3n-e4b",
    device=0,
)
pipeline(
    "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/pipeline-cat-chonk.jpeg",
    text="<start_of_image> What is shown in this image?"
)
```

```python
from transformers import AutoProcessor, Gemma3nForConditionalGeneration

model = Gemma3nForConditionalGeneration.from_pretrained(
    "google/gemma-3n-e4b-it",
    device_map="auto",
    attn_implementation="sdpa"
)
processor = AutoProcessor.from_pretrained(
    "google/gemma-3n-e4b-it",
    padding_side="left"
)

messages = [
    {
        "role": "system",
        "content": [
            {"type": "text", "text": "You are a helpful assistant."}
        ]
    },
    {
        "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)

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

## Notlar

- Görsel-ses-metin, görsel-metin, görsel-ses, ses-metin, yalnızca görsel ve yalnızca ses girişleri için [Gemma3nForConditionalGeneration](/docs/transformers/main/tr/model_doc/gemma3n#transformers.Gemma3nForConditionalGeneration) kullanın.
- Gemma 3n, girdi başına birden fazla görüntüyü destekler, ancak görüntüleri işlemciye iletmeden önce doğru şekilde toplulaştırıldığından emin olun. Her topluluk, bir veya daha fazla görüntünün listesini içermelidir.

    ```py
    url_cow = "https://media.istockphoto.com/id/1192867753/photo/cow-in-berchida-beach-siniscola.jpg?s=612x612&w=0&k=20&c=v0hjjniwsMNfJSuKWZuIn8pssmD5h5bSN1peBd1CmH4="
    url_cat = "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/pipeline-cat-chonk.jpeg"

    messages =[
        {
            "role": "system",
            "content": [
                {"type": "text", "text": "You are a helpful assistant."}
            ]
        },
        {
            "role": "user",
            "content": [
                {"type": "image", "url": url_cow},
                {"type": "image", "url": url_cat},
                {"type": "text", "text": "Which image is cuter?"},
            ]
        },
    ]
    ```

- İşlemciye (processor) iletilen metin, bir görselin yerleştirilmesi gereken her yerde `<image_soft_token>` belirteci içermelidir.
- Gemma 3n, girdi başına en fazla bir hedef ses kliplerini kabul eder; ancak örneğin few-shot istemlerinde birden fazla ses klibi sağlanabilir.
- İşleyiciye (processor) iletilen metin, ses kliplerinin yerleştirilmesi gereken her yerde `<audio_soft_token>` belirteci içermelidir.
- İşleyicinin, sohbet mesajlarını model girdilerine dönüştürmek için kendi [apply_chat_template()](/docs/transformers/main/tr/main_classes/processors#transformers.ProcessorMixin.apply_chat_template) yöntemi vardır.

## Gemma3nAudioFeatureExtractor[[transformers.Gemma3nAudioFeatureExtractor]]

#### transformers.Gemma3nAudioFeatureExtractor[[transformers.Gemma3nAudioFeatureExtractor]]

```python
transformers.Gemma3nAudioFeatureExtractor(feature_size: int = 128, sampling_rate: int = 16000, padding_value: float = 0.0, return_attention_mask: bool = True, frame_length_ms: float = 32.0, hop_length_ms: float = 10.0, min_frequency: float = 125.0, max_frequency: float = 7600.0, preemphasis: float = 0.97, preemphasis_htk_flavor: bool = True, fft_overdrive: bool = True, dither: float = 0.0, input_scale_factor: float = 1.0, mel_floor: float = 1e-05, 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/main/src/transformers/models/gemma3n/feature_extraction_gemma3n.py#L108)

**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 32.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 125.0) : Mel filtre bankası için minimum frekans (Hz cinsinden).

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

preemphasis (`float`, *opsiyonel*, varsayılan 0.97) : Ö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 `True`) : 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 1e-05) : 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.

## Gemma3nProcessor[[transformers.Gemma3nProcessor]]

#### transformers.Gemma3nProcessor[[transformers.Gemma3nProcessor]]

```python
transformers.Gemma3nProcessor(feature_extractor, image_processor, tokenizer, chat_template = None, audio_seq_length: int = 188, image_seq_length: int = 256, **kwargs)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/gemma3n/processing_gemma3n.py#L32)

**Parametreler:**

feature_extractor (`Gemma3nAudioFeatureExtractor`) : Özellik çıkarıcı zorunlu bir girdidir.

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

tokenizer (`GemmaTokenizer`) : Tokenizer 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.

audio_seq_length (`int`, *isteğe bağlı*, varsayılan 188) : Metin istemine eklenecek ses yumuşak jetonlarının sayısı

image_seq_length (`int`, *isteğe bağlı*, varsayılan 256) : Eklenmesi gereken

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

[Gemma3nProcessor](/docs/transformers/main/tr/model_doc/gemma3n#transformers.Gemma3nProcessor), [Gemma3nAudioFeatureExtractor](/docs/transformers/main/tr/model_doc/gemma3n#transformers.Gemma3nAudioFeatureExtractor), [SiglipImageProcessor](/docs/transformers/main/tr/model_doc/siglip#transformers.SiglipImageProcessor) ve [GemmaTokenizer](/docs/transformers/main/tr/model_doc/gemma#transformers.GemmaTokenizer)'ün tüm işlevlerini sunar. Daha fazla bilgi için [~Gemma3nAudioFeatureExtractor](/docs/transformers/main/tr/model_doc/gemma3n#transformers.Gemma3nAudioFeatureExtractor), [~SiglipImageProcessor](/docs/transformers/main/tr/model_doc/siglip#transformers.SiglipImageProcessor) ve [~GemmaTokenizer](/docs/transformers/main/tr/model_doc/gemma#transformers.GemmaTokenizer) belgelerine bakın.

#### __call__[[transformers.Gemma3nProcessor.__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, audio: numpy.ndarray | list[float] | list[numpy.ndarray] | list[list[float]] | None = None, **kwargs: *<class 'transformers.models.gemma3n.processing_gemma3n.Gemma3nProcessorKwargs'>)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/gemma3n/processing_gemma3n.py#L73)

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

audio (`Union[numpy.ndarray, list[float], list[numpy.ndarray], list[list[float]]]`, *isteğe bağlı*) : Hazırlanacak ses veya sesler partisi. 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_tensors (`str` veya [TensorType](/docs/transformers/main/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/main/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.

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

- **data** (`dict`, *isteğe bağlı*) -- __call__/pad yöntemleri tarafından döndürülen listelerin/dizilerin/tensörlerin sözlüğü ('input_values', 'attention_mask', 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.
- **skip_tensor_conversion** (`list[str]` veya `set[str]`, *isteğe bağlı*) -- `tensor_type` belirtilse bile tensöre dönüştürülmemesi gereken anahtarların listesi veya kümesi.

## Gemma3nTextConfig[[transformers.Gemma3nTextConfig]]

#### transformers.Gemma3nTextConfig[[transformers.Gemma3nTextConfig]]

```python
transformers.Gemma3nTextConfig(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 = 262400, hidden_size: int = 2048, intermediate_size: int | list[int] = 16384, num_hidden_layers: int = 35, num_attention_heads: int = 8, num_key_value_heads: int = 2, head_dim: int = 256, hidden_activation: str = 'gelu_pytorch_tanh', max_position_embeddings: int = 32768, 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 = 30.0, vocab_size_per_layer_input: int = 262144, hidden_size_per_layer_input: int = 256, altup_active_idx: int = 0, altup_coef_clip: float = 120.0, altup_correct_scale: bool = True, altup_num_inputs: int = 4, num_kv_shared_layers: int = 15, laurel_rank: int = 64, activation_sparsity_pattern: float | list[float] | None = None)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/gemma3n/configuration_gemma3n.py#L36)

**Parametreler:**

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

intermediate_size (`Union[int, list[int]]`, *isteğe bağlı*, varsayılan `16384`) : MLP temsil boyutu.

num_hidden_layers (`int`, *isteğe bağlı*, varsayılan `35`) : 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 `2`) : 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 `32768`) : Bu modelin kullanılabileceği maksimum dizi uzunluğu.

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

rms_norm_eps (`float`, *opsiyonel*, varsayılan `1e-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ı*, varsayılan `30.0`) : Olasılık dağılımı hesaplanmadan önce son logitslere uygulanan yumuşak sınırlama değeri. Logitsler `tanh(logit / cap) * cap` ile ölçeklenir.

vocab_size_per_layer_input (`int`, *isteğe bağlı*, varsayılan 262144) : Standart gömme işlemlerini tamamlayan katman başına metin gömme işlemlerinin sözlük boyutu.

hidden_size_per_layer_input (`int`, *isteğe bağlı*, varsayılan 256) : Katman başına gömme için gizli temsillerin boyutu.

altup_active_idx (`int`, *isteğe bağlı*, varsayılan 0) : AltUp'un ek tahminler hesaplayacağı veya aktif tahmini düzelteceği tahminin indeksi.

altup_coef_clip (`float`, *isteğe bağlı*, varsayılan 120.0) : Bir AltUp tahmin veya düzeltme katsayısı ağırlığının maksimum genliği.

altup_correct_scale (`bool`, *isteğe bağlı*, varsayılan `True`) : True ise, `altup_active_idx` konumundaki düzeltilmiş tahmine `AltUp.correct_output_scale` uygulanır.

altup_num_inputs (`int`, *isteğe bağlı*, varsayılan 4) : AltUp'ın girdi dizisi verildiğinde yapması gereken tahmin sayısı.

num_kv_shared_layers (`int`, *opsiyonel*, varsayılan 15) : KV önbellek değerlerini paylaşan katman sayısı. İleri geçiş sırasında, modeldeki son `num_kv_shared_layers` katman, bu aralıktaki her yerel ve global katmanın, bu aralığa girmeden hemen önceki son yerel veya global katman için hesaplanan KV önbellek değerlerini kullanması anlamında KV değerlerini "paylaşır". Değer, dikkat deseninin boyutunun katı olmalıdır (`layer_types` parametresine bakınız).

laurel_rank (`int`, *opsiyonel*, varsayılan 64) : Learned Augmented Residual Layer içindeki doğrusal projeksiyonlar için ara boyut.

activation_sparsity_pattern (`Sequence[float]`, *isteğe bağlı*) : Belirli bir katman için üst-k aktivasyonları çıkarmak kullanılan seyreklik faktörü. Sağlanan Sequence, modeldeki her katman için açıkça bir seyreklik değeri belirtmelidir. Varsayılan olarak, ilk 10 katman 0.95 seyreklik faktörüyle seyrek, geri kalanı ise yoğun (dense) olarak ayarlanır.

Bu, bir Gemma3nModel yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Gemma3N modelini örneklemek ve model mimarisini tanımlamak için kullanılır. Varsayılanlarla bir yapılandırma örneklendiğinde, [google/gemma-3n-E4B](https://huggingface.co/google/gemma-3n-E4B) yapılandırmasına benzer bir yapılandırma elde edilir.

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

```python
>>> from transformers import Gemma3nTextModel, Gemma3nTextConfig

>>> # Initializing a Gemma3nText gemma3n_text-E4B style configuration
>>> configuration = Gemma3nTextConfig()

>>> # Initializing a model from the gemma3n_text-E4B style configuration
>>> model = Gemma3nTextModel(configuration)

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

## Gemma3nVisionConfig[[transformers.Gemma3nVisionConfig]]

#### transformers.Gemma3nVisionConfig[[transformers.Gemma3nVisionConfig]]

```python
transformers.Gemma3nVisionConfig(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, architecture: str = 'mobilenetv5_300m_enc', initializer_range: float = 0.02, do_pooling: bool = False, model_args: dict | None = None, hidden_size: int = 2048, vocab_size: int = 128, vocab_offset: int = 262144, rms_norm_eps: float = 1e-06)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/gemma3n/configuration_gemma3n.py#L337)

**Parametreler:**

architecture (`str`, *isteğe bağlı*, varsayılan `"resnet50"`) : Yükenecek timm mimarisi.

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

do_pooling (`bool`, *isteğe bağlı*, varsayılan `True`) : `TimmWrapperModel` içindeki last_hidden_state için havuzlama (pooling) yapılıp yapılmayacağı.

model_args (`dict[str, Any]`, *isteğe bağlı*) : `timm.create_model` fonksiyonuna iletilecek ek anahtar kelime argümanları. Örneğin, `timm/vit_base_patch32_clip_448.laion2b_ft_in12k_in1k` için 3 bloğa sahip bir model oluşturmak üzere `model_args={"depth": 3}`. Varsayılan değeri `None`'dir.

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

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

vocab_offset (`int`, *isteğe bağlı*, varsayılan 262144) : `Gemma3nMultimodalEmbedder` tarafından gömülen token kimlikleri için tokenizer sözlük indeksi ile 0 indeksli `Gemma3nMultimodalEmbedder.embedding` tablosu arasındaki ofset.

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

Bu, bir Gemma3nModel yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Gemma3N modelini örneklemek ve model mimarisini tanımlamak için kullanılır. Varsayılanlarla bir yapılandırma örneklendiğinde, [google/gemma-3n-E4B](https://huggingface.co/google/gemma-3n-E4B) yapılandırmasına benzer bir yapılandırma elde edilir.

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

Örnek:
```python
>>> from transformers import Gemma3nVisionConfig, TimmWrapper

>>> # Initializing a TimmWrapper gemma3n_vision-E4B-style configuration
>>> configuration = Gemma3nVisionConfig()

>>> # Initializing a gemma3n_vision-E4B-style TimmWrapper from the configuration
>>> model = TimmWrapper(configuration)

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

## Gemma3nAudioConfig[[transformers.Gemma3nAudioConfig]]

#### transformers.Gemma3nAudioConfig[[transformers.Gemma3nAudioConfig]]

```python
transformers.Gemma3nAudioConfig(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 = 128, vocab_offset: int = 262272, input_feat_size: int = 128, hidden_size: int = 1536, rms_norm_eps: float = 1e-06, gradient_clipping: float = 10000000000.0, conf_attention_chunk_size: int = 12, conf_attention_context_left: int = 13, conf_attention_context_right: int = 0, conf_attention_logit_cap: float = 50.0, conf_num_attention_heads: int = 8, conf_num_hidden_layers: int = 12, conf_conv_kernel_size: int = 5, conf_reduction_factor: int = 4, conf_residual_weight: float = 0.5, sscp_conv_channel_size: list[int] | tuple[int, int] = (128, 32), sscp_conv_group_norm_eps: float = 0.001, sscp_conv_kernel_size: list | tuple[tuple[int, int], tuple[int, int]] = ((3, 3), (3, 3)), sscp_conv_stride_size: list | tuple[tuple[int, int], tuple[int, int]] = ((2, 2), (2, 2)))
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/gemma3n/configuration_gemma3n.py#L237)

**Parametreler:**

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

vocab_offset (`int`, *isteğe bağlı*, varsayılan 262272) : `Gemma3nMultimodalEmbedder` tarafından gömülen token kimlikleri için tokenizer sözlük indeksi ile 0 indeksli `Gemma3nMultimodalEmbedder.embedding` tablosu arasındaki ofset.

input_feat_size (`int`, *isteğe bağlı*, varsayılan 128) : Her mel-spektrogram çerçevesindeki kanal sayısı.

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

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

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

conf_attention_chunk_size (`int`, *opsiyonel*, varsayılan 12) : Universal Speech Model'in Conformer ("conf") bölümünde yerel dikkat işleme için alt dizgi boyutu.

conf_attention_context_left (`int`, *opsiyonel*, varsayılan 13) : Universal Speech Model'in Conformer ("conf") bölümündeki yerel dikkatin sol bağlam boyutu.

conf_attention_context_right (`int`, *opsiyonel*, varsayılan 0) : Universal Speech Model'in "conf" bölümündeki yerel dikkatin sağ bağlam boyutu.

conf_attention_logit_cap (`float`, *opsiyonel*, varsayılan 50.0) : Universal Speech Model'in Conformer ("conf") bölümünde yerel dikkat sırasında uygulanan logit sınırı.

conf_num_attention_heads (`int`, *opsiyonel*, varsayılan 8) : Universal Speech Model'in Conformer ("conf") bölümündeki yerel dikkat içindeki dikkat başlarının sayısı.

conf_num_hidden_layers (`int`, *opsiyonel*, varsayılan 12) : Universal Speech Model'in "conf" bölümünde yerel dikkat (local attention) kullanan katman sayısı.

conf_conv_kernel_size (`int`, *opsiyonel*, varsayılan 5) : Universal Speech Model'in Conformer ("conf") bölümündeki Conformer bloğu için konvolüsyon çekirdeği boyutu.

conf_reduction_factor (`int`, *opsiyonel*, varsayılan 4) : Universal Speech Model'in Conformer ("conf") bölümündeki conformer bloğunda kullanılan indirgeme faktörü.

conf_residual_weight (`float`, *opsiyonel*, varsayılan 0.5) : Universal Speech Model'in Conformer ("conf") bölümündeki artımsal bağlantı ağırlığı.

sscp_conv_channel_size (`tuple(int, int)`, *isteğe bağlı*, varsayılan `(128, 32)`) : Universal Speech Model'in Sub-sample Convolution Projection ("sscp") bölümündeki birinci ve ikinci konvolüsyon katmanları için kanal boyutları.

sscp_conv_group_norm_eps (`float`, *opsiyonel*, varsayılan 0.001) : Universal Speech Model'in Sub-sample Convolution Projection ("sscp") bölümündeki alt örneklemeli konvolüsyon projeksiyonunda grup normalizasyonunda kullanılan epsilon.

sscp_conv_kernel_size (`tuple(tuple(int, int), tuple(int, int))`, *opsiyonel*, varsayılan değeri `((3, 3), (3, 3))`) : Universal Speech Model'in Sub-sample Convolution Projection ("sscp") bölümündeki alt örneklem convolution projeksiyonundaki iki convolutional katmanın çekirdek boyutları. Çekirdek boyutları, her katman için yükseklik ve genişlik olarak bir tuple ile belirtilir; burada yükseklik zaman boyutuna, genişlik ise frekans boyutuna karşılık gelir.

sscp_conv_stride_size (`tuple(tuple(int, int), tuple(int, int))`, *opsiyonel*, varsayılan değeri `((2, 2), (2, 2))`) : Universal Speech Model'in Sub-sample Convolution Projection ("sscp") bölümündeki alt örneklemeli konvolüsyon projeksiyonundaki iki konvolüsyon katmanının adım boyutları. Adım boyutları, her katman için yükseklik ve genişlik olarak bir demet (tuple) şeklinde belirtilir; burada yükseklik zaman boyutuna, genişlik ise frekans boyutuna karşılık gelir.

Bu, bir Gemma3nModel yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Gemma3N modelini örneklemek ve model mimarisini tanımlamak için kullanılır. Varsayılanlarla bir yapılandırma örneklendiğinde, [google/gemma-3n-E4B](https://huggingface.co/google/gemma-3n-E4B) yapılandırmasına benzer bir yapılandırma elde edilir.

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

Örnek:

```python
>>> from transformers import Gemma3nAudioConfig, Gemma3nAudioEncoder

>>> # Initializing a Gemma3nAudioEncoder gemma3n_audio-E4B-style configuration
>>> configuration = Gemma3nAudioConfig()

>>> # Initializing a model from the gemma3n_audio-E4B style configuration
>>> model = Gemma3nAudioEncoder(configuration)

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

## Gemma3nConfig[[transformers.Gemma3nConfig]]

#### transformers.Gemma3nConfig[[transformers.Gemma3nConfig]]

```python
transformers.Gemma3nConfig(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.gemma3n.configuration_gemma3n.Gemma3nTextConfig | dict[str, typing.Any] | None = None, vision_config: transformers.models.gemma3n.configuration_gemma3n.Gemma3nVisionConfig | dict[str, typing.Any] | None = None, audio_config: transformers.models.gemma3n.configuration_gemma3n.Gemma3nAudioConfig | dict[str, typing.Any] | None = None, audio_soft_tokens_per_image: int | None = 188, vision_soft_tokens_per_image: int | None = 256, boi_token_id: int | None = 255999, eoi_token_id: int | None = 262144, image_token_id: int | None = 262145, boa_token_id: int | None = 256000, eoa_token_id: int | None = 262272, audio_token_id: int | None = 262273, initializer_range: float | None = 0.02, tie_word_embeddings: bool | None = True, use_cache: bool = True)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/gemma3n/configuration_gemma3n.py#L430)

**Parametreler:**

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

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

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

audio_soft_tokens_per_image (`int`, *isteğe bağlı*, varsayılan 188) : Ses klipleri başına yumuşak token sayısı.

vision_soft_tokens_per_image (`int`, *isteğe bağlı*, varsayılan 256) : Görsel başına yumuşak jeton sayısı.

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`, *isteğe bağlı*, varsayılan 262144) : Görsel istemi sarmak için kullanılan görüntü sonu (end-of-image) belirteç dizini.

image_token_id (`int`, *isteğe bağlı*, varsayılan `262145`) : Girdi görselleri için yer tutucu olarak kullanılan görsel 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_id (`int`, *opsiyonel*, varsayılan 262272) : Ses prompt'unu sarmak için kullanılan ses sonu token indeksi.

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

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.

Bu, bir Gemma3nModel yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Gemma3N modelini örneklemek ve model mimarisini tanımlamak için kullanılır. Varsayılanlarla bir yapılandırma örneklendiğinde, [google/gemma-3n-E4B](https://huggingface.co/google/gemma-3n-E4B) yapılandırmasına benzer bir yapılandırma elde edilir.

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

Örnek:

```python
>>> from transformers import Gemma3nForConditionalGeneration, Gemma3nConfig, Gemma3nTextConfig

>>> # Initializing a MobileNet vision config, which is loaded from TIMM
>>> vision_config = Gemma3nVisionConfig()

>>> # Initializing a Gemma3n Audio config
>>> audio_config = Gemma3nAudioConfig()

>>> # Initializing a Gemma3n Text config
>>> text_config = Gemma3nTextConfig()

>>> # Initializing a Gemma3n gemma-3-4b style configuration
>>> configuration = Gemma3nConfig(text_config, vision_config, audio_config)

>>> # Initializing a model from the gemma-3-4b style configuration
>>> model = Gemma3nTextConfig(configuration)

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

## Gemma3nTextModel[[transformers.Gemma3nTextModel]]

#### transformers.Gemma3nTextModel[[transformers.Gemma3nTextModel]]

```python
transformers.Gemma3nTextModel(config: Gemma3nTextConfig)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/gemma3n/modeling_gemma3n.py#L1577)

**Parametreler:**

config ([Gemma3nTextConfig](/docs/transformers/main/tr/model_doc/gemma3n#transformers.Gemma3nTextConfig)) : Modelin tüm parametrelerini içeren model yapılandırma sınıfı. Bir yapılandırma dosyasıyla başlatmak, modelle ilişkili ağırlıkları yüklemez, yalnızca yapılandırmayı yükler. Model ağırlıklarını yüklemek için [from_pretrained()](/docs/transformers/main/tr/main_classes/model#transformers.PreTrainedModel.from_pretrained) yöntemine göz atın.

Dil modelleme kafası olmadan temel Gemma 3n dil modeli.

Bu model [PreTrainedModel](/docs/transformers/main/tr/main_classes/model#transformers.PreTrainedModel) sınıfından devralır. Kütüphanenin tüm modelleri için uyguladığı genel yöntemler (indirme veya kaydetme, giriş gömme boyutlarını yeniden ayarlama, başları budama vb.) için üst sınıf belgelendirmesine bakın.

Bu model aynı zamanda bir PyTorch [torch.nn.Module](https://pytorch.org/docs/stable/nn.html#torch.nn.Module) alt sınıfıdır. Bunu standart bir PyTorch Module olarak kullanın ve genel kullanım ve davranışla ilgili tüm konular için PyTorch dokümantasyonuna başvurun.

#### forward[[transformers.Gemma3nTextModel.forward]]

```python
forward(input_ids: typing.Optional[torch.LongTensor] = None, per_layer_inputs: typing.Optional[torch.Tensor] = 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, use_cache: bool | None = None, **kwargs: *<class 'transformers.utils.generic.TransformersKwargs'>)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/gemma3n/modeling_gemma3n.py#L1638)

**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/main/tr/model_doc/auto#transformers.AutoTokenizer) kullanılarak elde edilebilir. Ayrıntılar için [PreTrainedTokenizer.encode()](/docs/transformers/main/tr/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.encode) ve [PreTrainedTokenizer.__call__()](/docs/transformers/main/tr/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.__call__) yöntemlerine bakın. [Girdi kimlikları (input IDs) nedir?](../glossary#input-ids)

per_layer_inputs (`torch.Tensor`, *isteğe bağlı*, varsayılan olarak None) : Ön hesaplanmış katman başına gömme değerleri. None ise, sağlanmışsa input_ids'den türetilir.

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/main/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/main/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.

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

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

[BaseModelOutputWithPast](/docs/transformers/main/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 ([Gemma3nConfig](/docs/transformers/main/tr/model_doc/gemma3n#transformers.Gemma3nConfig)) ve girdilere bağlı olarak çeşitli öğelerden oluşur.

[Gemma3nTextModel](/docs/transformers/main/tr/model_doc/gemma3n#transformers.Gemma3nTextModel) 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/main/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.

## Gemma3nModel[[transformers.Gemma3nModel]]

#### transformers.Gemma3nModel[[transformers.Gemma3nModel]]

```python
transformers.Gemma3nModel(config: Gemma3nConfig)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/gemma3n/modeling_gemma3n.py#L1923)

**Parametreler:**

config ([Gemma3nConfig](/docs/transformers/main/tr/model_doc/gemma3n#transformers.Gemma3nConfig)) : Modelin tüm parametrelerini içeren model yapılandırma sınıfı. Bir yapılandırma dosyasıyla başlatmak, modelle ilişkili ağırlıkları yüklemez, yalnızca yapılandırmayı yükler. Model ağırlıklarını yüklemek için [from_pretrained()](/docs/transformers/main/tr/main_classes/model#transformers.PreTrainedModel.from_pretrained) yöntemine göz atın.

Dil modelleme kafası olmadan, bir görme omurgası, bir ses omurgası ve bir dil modelinden oluşan temel Gemma 3n modeli.

Bu model [PreTrainedModel](/docs/transformers/main/tr/main_classes/model#transformers.PreTrainedModel) sınıfından devralır. Kütüphanenin tüm modelleri için uyguladığı genel yöntemler (indirme veya kaydetme, giriş gömme boyutlarını yeniden ayarlama, başları budama vb.) için üst sınıf belgelendirmesine bakın.

Bu model aynı zamanda bir PyTorch [torch.nn.Module](https://pytorch.org/docs/stable/nn.html#torch.nn.Module) alt sınıfıdır. Bunu standart bir PyTorch Module olarak kullanın ve genel kullanım ve davranışla ilgili tüm konular için PyTorch dokümantasyonuna başvurun.

#### forward[[transformers.Gemma3nModel.forward]]

```python
forward(input_ids: typing.Optional[torch.LongTensor] = None, pixel_values: 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, token_type_ids: typing.Optional[torch.LongTensor] = None, inputs_embeds: typing.Optional[torch.Tensor] = None, per_layer_inputs: typing.Optional[torch.Tensor] = None, use_cache: bool | None = 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/main/src/transformers/models/gemma3n/modeling_gemma3n.py#L2004)

input_features_mask (`torch.Tensor`, şekli `(batch_size, sequence_length)`, *isteğe bağlı*): `input_features` için dikkat maskesi; sıfır olmayan değerler geçerli ses karelerini işaretler. per_layer_inputs (`torch.Tensor`, *isteğe bağlı*): Şekli `(batch_size, sequence_length, num_hidden_layers, hidden_size_per_layer_input)` olan, önceden hesaplanmış katman başına girdi 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ı önceden hesaplamalı ve `inputs_embeds` ile birlikte iletmeniz gerekir; aksi takdirde katman başına gömme değerlerinin token-identity bileşeni atlanır.

Örnek:

```python
>>> from PIL import Image
>>> from huggingface_hub.utils import httpx
>>> from io import BytesIO
>>> from transformers import AutoProcessor, Gemma3nForConditionalGeneration

>>> model = Gemma3nForConditionalGeneration.from_pretrained("google/gemma3n2-3b-mix-224")
>>> processor = AutoProcessor.from_pretrained("google/gemma3n2-3b-mix-224")

>>> prompt = "Where is the cat standing?"
>>> url = "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/pipeline-cat-chonk.jpeg"
>>> with httpx.stream("GET", url) as response:
...     image = Image.open(BytesIO(response.read()))

>>> inputs = processor(images=image, text=prompt,  return_tensors="pt")

>>> # Generate
>>> generate_ids = model.generate(**inputs,)
>>> processor.batch_decode(generate_ids, skip_special_tokens=True, clean_up_tokenization_spaces=False)[0]
"Where is the cat standing?\nsnow"
```

#### get_image_features[[transformers.Gemma3nModel.get_image_features]]

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

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/gemma3n/modeling_gemma3n.py#L1938)

**Parametreler:**

pixel_values (`torch.Tensor`, şekli `(batch_size, num_channels, image_size, image_size)`) : Girdi görüntülerine karşılık gelen tensörler. Piksel değerleri [SiglipImageProcessor](/docs/transformers/main/tr/model_doc/siglip#transformers.SiglipImageProcessor) kullanılarak elde edilebilir. Ayrıntılar için [SiglipImageProcessor.__call__()](/docs/transformers/main/tr/model_doc/molmo2#transformers.Molmo2ImageProcessor.__call__) bölümüne bakın ([Gemma3nProcessor](/docs/transformers/main/tr/model_doc/gemma3n#transformers.Gemma3nProcessor), görüntü işleme için [SiglipImageProcessor](/docs/transformers/main/tr/model_doc/siglip#transformers.SiglipImageProcessor) kullanır).

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

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

Görüntü modelinden son gizli durumu dil modeli uzayına yansıtır.

- **last_hidden_state** (`torch.Tensor`, şekli `(batch_size, sequence_length, hidden_size)`) -- Modelin son katmanının çıktısındaki gizli durumlar dizisi.
- **pooler_output** (`torch.Tensor`, şekli `(batch_size, hidden_size)`) -- Sıralamanın ilk token'ının (sınıflandırma token'ı) son katman gizli durumu, yardımcı ön eğitim görevi için kullanılan katmanlardan geçirildikten sonraki hali. Örneğin BERT ailesi modelleri için, bu, sınıflandırma token'ının doğrusal bir katman ve tanh aktivasyon fonksiyonundan geçirildikten sonraki halini döndürür. Doğrusal katman ağırlıkları, ön eğitim sırasında bir sonraki cümle tahmini (sınıflandırma) hedefinden eğitilir.
- **hidden_states** (`tuple(torch.Tensor)`, *isteğe bağlı*, `output_hidden_states=True` geçirildiğinde veya `config.output_hidden_states=True` olduğunda döndürülür) -- `torch.Tensor` (gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için bir tane) içeren, `(batch_size, sequence_length, hidden_size)` biçiminde bir demet.

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

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

#### get_audio_features[[transformers.Gemma3nModel.get_audio_features]]

```python
get_audio_features(input_features: Tensor, input_features_mask: Tensor, **kwargs: *<class 'transformers.utils.generic.TransformersKwargs'>)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/gemma3n/modeling_gemma3n.py#L2155)

**Parametreler:**

input_features (`torch.Tensor`, şekli `(num_images, seq_length, num_features)`) : Girdi sesine karşılık gelen tensörler.

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

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

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

Ses kodlayıcısının son gizli durumunu dil modeli uzayına yansıtır.

- **last_hidden_state** (`torch.Tensor`, şekli `(batch_size, sequence_length, hidden_size)`) -- Modelin son katmanının çıktısındaki gizli durumlar dizisi.
- **pooler_output** (`torch.Tensor`, şekli `(batch_size, hidden_size)`) -- Sıralamanın ilk token'ının (sınıflandırma token'ı) son katman gizli durumu, yardımcı ön eğitim görevi için kullanılan katmanlardan geçirildikten sonraki hali. Örneğin BERT ailesi modelleri için, bu, sınıflandırma token'ının doğrusal bir katman ve tanh aktivasyon fonksiyonundan geçirildikten sonraki halini döndürür. Doğrusal katman ağırlıkları, ön eğitim sırasında bir sonraki cümle tahmini (sınıflandırma) hedefinden eğitilir.
- **hidden_states** (`tuple(torch.Tensor)`, *isteğe bağlı*, `output_hidden_states=True` geçirildiğinde veya `config.output_hidden_states=True` olduğunda döndürülür) -- `torch.Tensor` (gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için bir tane) içeren, `(batch_size, sequence_length, hidden_size)` biçiminde bir demet.

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

  Dikkat softmax'ı sonrası dikkat ağırlıkları, öz-dikkat kafalarında ağırlıklı ortalamanın hesaplanmasında kullanılır.
- **audio_mel_mask** (`torch.BoolTensor`, *isteğe bağlı*) -- `(batch_size, num_frames)` biçiminde bir torch.BoolTensor

## Gemma3nForCausalLM[[transformers.Gemma3nForCausalLM]]

#### transformers.Gemma3nForCausalLM[[transformers.Gemma3nForCausalLM]]

```python
transformers.Gemma3nForCausalLM(config: Gemma3nTextConfig)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/gemma3n/modeling_gemma3n.py#L1788)

**Parametreler:**

config ([Gemma3nTextConfig](/docs/transformers/main/tr/model_doc/gemma3n#transformers.Gemma3nTextConfig)) : Modelin tüm parametrelerini içeren model yapılandırma sınıfı. Bir yapılandırma dosyasıyla başlatmak, modelle ilişkili ağırlıkları yüklemez, yalnızca yapılandırmayı yükler. Model ağırlıklarını yüklemek için [from_pretrained()](/docs/transformers/main/tr/main_classes/model#transformers.PreTrainedModel.from_pretrained) yöntemine göz atın.

Dil modelleme başlığına sahip temel Gemma 3n dil modeli.

Bu model [PreTrainedModel](/docs/transformers/main/tr/main_classes/model#transformers.PreTrainedModel) sınıfından devralır. Kütüphanenin tüm modelleri için uyguladığı genel yöntemler (indirme veya kaydetme, giriş gömme boyutlarını yeniden ayarlama, başları budama vb.) için üst sınıf belgelendirmesine bakın.

Bu model aynı zamanda bir PyTorch [torch.nn.Module](https://pytorch.org/docs/stable/nn.html#torch.nn.Module) alt sınıfıdır. Bunu standart bir PyTorch Module olarak kullanın ve genel kullanım ve davranışla ilgili tüm konular için PyTorch dokümantasyonuna başvurun.

#### forward[[transformers.Gemma3nForCausalLM.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, **kwargs: *<class 'transformers.utils.generic.TransformersKwargs'>)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/gemma3n/modeling_gemma3n.py#L1804)

**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/main/tr/model_doc/auto#transformers.AutoTokenizer) kullanılarak elde edilebilir. Ayrıntılar için [PreTrainedTokenizer.encode()](/docs/transformers/main/tr/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.encode) ve [PreTrainedTokenizer.__call__()](/docs/transformers/main/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/main/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/main/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ı*) : 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.

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

[CausalLMOutputWithPast](/docs/transformers/main/tr/main_classes/output#transformers.modeling_outputs.CausalLMOutputWithPast) veya bir `torch.Tensor` demeti (`return_dict=False` geçirildiğinde veya `config.return_dict=False` olduğunda); yapılandırma ([Gemma3nConfig](/docs/transformers/main/tr/model_doc/gemma3n#transformers.Gemma3nConfig)) ve girdilere bağlı olarak çeşitli öğelerden oluşur.

[Gemma3nForCausalLM](/docs/transformers/main/tr/model_doc/gemma3n#transformers.Gemma3nForCausalLM) 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.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/main/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.

Örnek:

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

>>> model = Gemma3nForCausalLM.from_pretrained("google/gemma-2-9b")
>>> tokenizer = AutoTokenizer.from_pretrained("google/gemma-2-9b")

>>> 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?"
```

## Gemma3nForConditionalGeneration[[transformers.Gemma3nForConditionalGeneration]]

#### transformers.Gemma3nForConditionalGeneration[[transformers.Gemma3nForConditionalGeneration]]

```python
transformers.Gemma3nForConditionalGeneration(config: Gemma3nConfig)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/gemma3n/modeling_gemma3n.py#L2184)

**Parametreler:**

config ([Gemma3nConfig](/docs/transformers/main/tr/model_doc/gemma3n#transformers.Gemma3nConfig)) : Modelin tüm parametrelerini içeren model yapılandırma sınıfı. Bir yapılandırma dosyasıyla başlatmak, modelle ilişkili ağırlıkları yüklemez, yalnızca yapılandırmayı yükler. Model ağırlıklarını yüklemek için [from_pretrained()](/docs/transformers/main/tr/main_classes/model#transformers.PreTrainedModel.from_pretrained) yöntemine göz atın.

Görüntü omurgası, ses omurgası, bir dil modeli ve bir dil modelleme başlığından oluşan temel Gemma 3n modeli.

Bu model [PreTrainedModel](/docs/transformers/main/tr/main_classes/model#transformers.PreTrainedModel) sınıfından devralır. Kütüphanenin tüm modelleri için uyguladığı genel yöntemler (indirme veya kaydetme, giriş gömme boyutlarını yeniden ayarlama, başları budama vb.) için üst sınıf belgelendirmesine bakın.

Bu model aynı zamanda bir PyTorch [torch.nn.Module](https://pytorch.org/docs/stable/nn.html#torch.nn.Module) alt sınıfıdır. Bunu standart bir PyTorch Module olarak kullanın ve genel kullanım ve davranışla ilgili tüm konular için PyTorch dokümantasyonuna başvurun.

#### forward[[transformers.Gemma3nForConditionalGeneration.forward]]

```python
forward(input_ids: typing.Optional[torch.LongTensor] = None, pixel_values: 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, 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/main/src/transformers/models/gemma3n/modeling_gemma3n.py#L2199)

**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/main/tr/model_doc/auto#transformers.AutoTokenizer) kullanılarak elde edilebilir. Ayrıntılar için [PreTrainedTokenizer.encode()](/docs/transformers/main/tr/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.encode) ve [PreTrainedTokenizer.__call__()](/docs/transformers/main/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 [SiglipImageProcessor](/docs/transformers/main/tr/model_doc/siglip#transformers.SiglipImageProcessor) kullanılarak elde edilebilir. Ayrıntılar için [SiglipImageProcessor.__call__()](/docs/transformers/main/tr/model_doc/molmo2#transformers.Molmo2ImageProcessor.__call__) bölümüne bakın ([Gemma3nProcessor](/docs/transformers/main/tr/model_doc/gemma3n#transformers.Gemma3nProcessor), görüntü işleme için [SiglipImageProcessor](/docs/transformers/main/tr/model_doc/siglip#transformers.SiglipImageProcessor) 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 [Gemma3nAudioFeatureExtractor](/docs/transformers/main/tr/model_doc/gemma3n#transformers.Gemma3nAudioFeatureExtractor) kullanılarak elde edilebilir. Ayrıntılar için `Gemma3nAudioFeatureExtractor.__call__()` bölümüne bakın ([Gemma3nProcessor](/docs/transformers/main/tr/model_doc/gemma3n#transformers.Gemma3nProcessor), sesleri işlemek için [Gemma3nAudioFeatureExtractor](/docs/transformers/main/tr/model_doc/gemma3n#transformers.Gemma3nAudioFeatureExtractor) 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`, *isteğe bağlı*, varsayılan olarak None) : 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/main/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/main/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.

token_type_ids (`torch.LongTensor`, şekli `(batch_size, sequence_length)`, *isteğe bağlı*) : Girdilerin ilk ve ikinci bölümlerini belirtmek için segment token dizinleri. Dizinler `[0, 1]` aralığından seçilir:  - 0, *sentence A* token'ına karşılık gelir, - 1, *sentence B* token'ına karşılık gelir.  [Token type ID'leri nelerdir?](../glossary#token-type-ids)

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.text_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.text_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ı*) : Şekli `(batch_size, sequence_length, num_hidden_layers, hidden_size_per_layer_input)` olan, önceden hesaplanmış katman başına 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ı önceden hesaplamalı ve `inputs_embeds` ile birlikte iletmeniz gerekir; aksi takdirde katman başına gömme değerlerinin token-identity bileşeni atlanır.

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

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

[Gemma3nForConditionalGeneration](/docs/transformers/main/tr/model_doc/gemma3n#transformers.Gemma3nForConditionalGeneration) 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/main/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.

Örnek:

```python
>>> from PIL import Image
>>> from huggingface_hub.utils import httpx
>>> from io import BytesIO
>>> from transformers import AutoProcessor, Gemma3ForConditionalGeneration

>>> model = Gemma3ForConditionalGeneration.from_pretrained("google/gemma-3-4b-it")
>>> processor = AutoProcessor.from_pretrained("google/gemma-3-4b-it")

>>> messages = [
...     {
...         "role": "system",
...         "content": [
...             {"type": "text", "text": "You are a helpful assistant."}
...         ]
...     },
...     {
...         "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,
...     tokenizer=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, clean_up_tokenization_spaces=False)[0]
"user\nYou are a helpful assistant.\n\n\n\n\n\nWhere is the cat standing?\nmodel\nBased on the image, the cat is standing in a snowy area, likely outdoors. It appears to"
```

#### get_image_features[[transformers.Gemma3nForConditionalGeneration.get_image_features]]

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

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/gemma3n/modeling_gemma3n.py#L2195)

**Parametreler:**

pixel_values (`torch.Tensor`, şekli `(batch_size, num_channels, image_size, image_size)`) : Girdi görüntülerine karşılık gelen tensörler. Piksel değerleri [SiglipImageProcessor](/docs/transformers/main/tr/model_doc/siglip#transformers.SiglipImageProcessor) kullanılarak elde edilebilir. Ayrıntılar için [SiglipImageProcessor.__call__()](/docs/transformers/main/tr/model_doc/molmo2#transformers.Molmo2ImageProcessor.__call__) bölümüne bakın ([Gemma3nProcessor](/docs/transformers/main/tr/model_doc/gemma3n#transformers.Gemma3nProcessor), görüntü işleme için [SiglipImageProcessor](/docs/transformers/main/tr/model_doc/siglip#transformers.SiglipImageProcessor) kullanır).

Örnek:

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

>>> model = Gemma3nForConditionalGeneration.from_pretrained("google/gemma-3n-E4B")
>>> processor = AutoProcessor.from_pretrained("google/gemma-3n-E4B")

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

[altup]: https://proceedings.neurips.cc/paper_files/paper/2023/hash/f2059277ac6ce66e7e5543001afa8bb5-Abstract-Conference.html [attention-mask-viz]: https://github.com/huggingface/transformers/blob/beb9b5b02246b9b7ee81ddf938f93f44cfeaad19/src/transformers/utils/attention_visualizer.py#L139 [gemma3n-collection]: https://huggingface.co/collections/google/gemma-3n [laurel]: https://huggingface.co/papers/2411.07501 [matformer]: https://huggingface.co/papers/2310.07707 [spark-transformer]: https://huggingface.co/papers/2506.06644 [usm]: https://huggingface.co/papers/2303.01037

