Transformers documentation

Gemma3n

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v5.22.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Bu model 2024-11-12 tarihinde HF papers'ta yayımlandı ve 2025-06-26 tarihinde Hugging Face Transformers'a katkıda bulunuldu.

SDPA

Gemma3n

Genel Bakış

Gemma3n, E4B ve E2B boyutlarında, önceden eğitilmiş ve talimatla ayarlanmış varyantları bulunan çok modlu bir modeldir. Dil modeli mimarisinin büyük bir kısmı önceki Gemma sürümleriyle ortak olmakla birlikte, bu modelde Alternating Updates (AltUp), Learned Augmented Residual Layer (LAuReL), MatFormer, Per-Layer Embeddings (PLE), Activation Sparsity with Statistical Top-k ve KV önbellek paylaşımı gibi birçok yeni özellik bulunmaktadır. Dil modeli, 32k token'lık maksimum bağlam uzunluğuna sahip her küresel öz-dikkat katmanı için 4 yerel kayan pencere öz-dikkat katmanı içeren, Gemma 3 ile benzer bir dikkat deseni kullanır. Gemma 3n, varsayılan çözünürlüğü 768x768 piksel olan MobileNet v5'i görme kodlayıcı olarak kullanır ve Universal Speech Model (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 sürümünde bulabilirsiniz.

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() 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 bölümüne bakın.

Aşağıdaki örnek, Pipeline veya AutoModel sınıfı kullanılarak bir görüntüye dayalı metin üretmenin nasıl yapılacağını göstermektedir.

Pipeline
AutoModel
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?"
)

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 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 gruplandığından emin olun. Her grup, bir veya daha fazla görüntünün oluşturduğu bir liste olmalıdır.

    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() yöntemi vardır.

Gemma3nAudioFeatureExtractor

sınıf transformers.Gemma3nAudioFeatureExtractor

< >

( feature_size: int = 128sampling_rate: int = 16000padding_value: float = 0.0return_attention_mask: bool = Trueframe_length_ms: float = 32.0hop_length_ms: float = 10.0min_frequency: float = 125.0max_frequency: float = 7600.0preemphasis: float = 0.97preemphasis_htk_flavor: bool = Truefft_overdrive: bool = Truedither: float = 0.0input_scale_factor: float = 1.0mel_floor: float = 1e-05per_bin_mean: collections.abc.Sequence[float] | None = Noneper_bin_stddev: collections.abc.Sequence[float] | None = None**kwargs )

Parametreler

  • feature_size (int, isteğe bağlı, varsayılan 128) — Çıkarılan özelliklerin boyutu.
  • sampling_rate (int, isteğe bağlı, varsayılan 16000) — Ses dosyalarının dijitalleştirilmesi gereken örnekleme hızı, hertz (Hz) cinsinden ifade edilir.
  • padding_value (float, isteğe bağlı, 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ği.
  • frame_length_ms (float, isteğe bağlı, varsayılan 32.0) — Milisaniye cinsinden bir çerçevenin uzunluğu.
  • hop_length_ms (float, isteğe bağlı, varsayılan 10.0) — Mel Frekans katsayılarını elde etmek için kullanılan STFT'de üst üste binen pencerelerin uzunluğu.
  • min_frequency (float, isteğe bağlı, 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, isteğe bağlı, varsayılan 0.97) — Ön vurgu katsayısı.
  • preemphasis_htk_flavor (bool, isteğe bağlı, varsayılan True) — HTK tarzı ön vurgulama (preemphasis) kullanılıp kullanılmayacağı.
  • fft_overdrive (bool, isteğe bağlı, varsayılan True) — FFT overdrive kullanılacak mı?
  • dither (float, isteğe bağlı, varsayılan 0.0) — Dithering ekler. Başka bir deyişle, her kareye küçük bir Gauss gürültüsü ekler. Örn. 0.0001 değeri, 0.0 merkezli ve 0.0001 standart sapmalı normal dağılımla dithering eklemek için kullanılır (raw_speech'in [-1,+1] aralığında olduğu varsayılır). 0.0 değeri dithering uygulanmadığı anlamına gelir. Dithering'in etkisi spectrogram(mel_floor=...) ile benzerdir. Sinyalde VAD kesme noktası (cutoff) bulunduğ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 çarpanı.
  • mel_floor (float, isteğe bağlı, varsayılan 1e-05) — log(0) hatasını önlemek için Mel spektrogramlarının alabileceği minimum değer.
  • 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 https://huggingface.co/papers/2303.01037 için bir ses özellik çıkarıcı.

Gemma3nProcessor

sınıf transformers.Gemma3nProcessor

< >

( feature_extractorimage_processortokenizerchat_template = Noneaudio_seq_length: int = 188image_seq_length: int = 256**kwargs )

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 dizeye 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 belirteçlerinin sayısı
  • image_seq_length (int, isteğe bağlı, varsayılan 256) — Eklenmesi gereken görsel yumuşak jeton sayısı

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, Gemma3nAudioFeatureExtractor, SiglipImageProcessor ve GemmaTokenizer'ün tüm işlevlerini sunar. Daha fazla bilgi için ~Gemma3nAudioFeatureExtractor, ~SiglipImageProcessor ve ~GemmaTokenizer belgelerine bakın.

__call__

< >

( images: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor'], NoneType] = Nonetext: str | list[str] | list[list[str]] = Noneaudio: numpy.ndarray | list[float] | list[numpy.ndarray] | list[list[float]] | None = None**kwargs: *<class 'transformers.models.gemma3n.processing_gemma3n.Gemma3nProcessorKwargs'> ) → ~feature_extraction_utils.BatchFeature

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 yapılacak 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 grubu. Her dizi bir metin veya metin listesi (önceden tokenize edilmiş metin) olabilir. Önceden tokenize edilmiş bir girdi geçirirseniz, gruplu 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 ses 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, isteğe bağlı) — Belirlenirse, belirli bir çerçeveye ait tensörler döndürülür. Kabul edilen değerler şunlardır:
    • 'pt': PyTorch torch.Tensor nesnelerini döndürür.
    • 'np': NumPy np.ndarray nesnelerini döndürür.
  • **kwargs (ProcessingKwargs, isteğe bağlı) — 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üş değeri

~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

sınıf transformers.Gemma3nTextConfig

< >

( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonevocab_size: int = 262400hidden_size: int = 2048intermediate_size: int | list[int] = 16384num_hidden_layers: int = 35num_attention_heads: int = 8num_key_value_heads: int = 2head_dim: int = 256hidden_activation: str = 'gelu_pytorch_tanh'max_position_embeddings: int = 32768initializer_range: float = 0.02rms_norm_eps: float = 1e-06use_cache: bool = Truepad_token_id: int | None = 0eos_token_id: int | list[int] | None = 1bos_token_id: int | None = 2tie_word_embeddings: bool = Truerope_parameters: dict | None = Noneattention_bias: bool = Falseattention_dropout: int | float | None = 0.0sliding_window: int = 512layer_types: list[str] | None = Nonefinal_logit_softcapping: float = 30.0vocab_size_per_layer_input: int = 262144hidden_size_per_layer_input: int = 256altup_active_idx: int = 0altup_coef_clip: float = 120.0altup_correct_scale: bool = Truealtup_num_inputs: int = 4num_kv_shared_layers: int = 15laurel_rank: int = 64activation_sparsity_pattern: float | list[float] | None = None )

Parametreler

  • vocab_size (int, isteğe bağlı, varsayılan 262400) — Modelin sözlük boyutu. input_ids ile temsil edilebilecek farklı token sayısını belirler.
  • 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 temsillerinin boyutu.
  • num_hidden_layers (int, isteğe bağlı, varsayılan 35) — Transformer çözücüdeki 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, isteğe bağlı, varsayılan 2) — Bu, Grouped Query Attention uygulamasında kullanılacak 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 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şlığı boyutu. None ise, varsayılan olarak hidden_size // num_attention_heads değerini alır.
  • hidden_activation (str, isteğe bağlı, varsayılan gelu_pytorch_tanh) — Çözücüdeki 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 en uzun dizi uzunluğu.
  • initializer_range (float, isteğe bağlı, 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, isteğe bağlı, 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 (tüm modellerde kullanılmaz) döndürüp döndürmeyeceği. 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) — Modelin tied_weights_keys eşlemesine göre ağırlık gömme bağlamalarının yapılıp yapılmayacağı.
  • 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 ve daha uzun max_position_embeddings ile RoPE kullanmak istiyorsanız ölçekleme için kullanılan isteğe bağlı parametreleri içermelidir.
  • attention_bias (bool, isteğe bağlı, varsayılan False) — Öz-dikkat sırasında sorgu, anahtar, değer ve çıktı projeksiyon katmanlarında önyargı (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 ilgili katman türüyle açıkça eşleyen bir liste. Sağlanmazsa, config 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 logitlere uygulanan yumuşak sınırlama (soft-capping) değeri. Logitler 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 dizisine göre yapması gereken tahmin sayısı.
  • num_kv_shared_layers (int, isteğe bağlı, 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ı şeklinde KV değerlerini “paylaşır”. Değer, dikkat deseninin boyutunun bir katı olmalıdır (layer_types parametresine bakınız).
  • laurel_rank (int, isteğe bağlı, 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 (top-k) aktivasyonları çıkarmak için kullanılan seyrelme (sparsity) faktörü. Verilen Sequence, modeldeki her katman için açıkça bir seyrelme değeri sağlamalıdır. Varsayılan olarak, ilk 10 katman 0.95 seyrelme faktörüyle seyrek (sparse) olup geri kalanı 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ılan değerlerle bir yapılandırma örneklendiğinde, google/gemma-3n-E4B ile benzer bir yapılandırma elde edilir.

Yapılandırma nesneleri PreTrainedConfig sınıfından devralır ve model çıktılarını kontrol etmek için kullanılabilir. Daha fazla bilgi için PreTrainedConfig belgesini okuyun.

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

sınıf transformers.Gemma3nVisionConfig

< >

( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonearchitecture: str = 'mobilenetv5_300m_enc'initializer_range: float = 0.02do_pooling: bool = Falsemodel_args: dict | None = Nonehidden_size: int = 2048vocab_size: int = 128vocab_offset: int = 262144rms_norm_eps: float = 1e-06 )

Parametreler

  • architecture (str, isteğe bağlı, varsayılan "resnet50") — Yüklenmesi gereken timm mimarisi.
  • initializer_range (float, isteğe bağlı, 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 blokluk bir model oluşturmak üzere model_args={"depth": 3} kullanılır. 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 ile temsil edilebilecek farklı token sayısını belirler.
  • 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'dan indekslenen Gemma3nMultimodalEmbedder.embedding tablosu arasındaki ofset.
  • rms_norm_eps (float, isteğe bağlı, varsayılan 1e-06) — rms normalizasyon katmanları tarafından kullanılan epsilon.

Bu, bir Gemma3nModel'in 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ılan değerlerle bir yapılandırma örneklendiğinde, google/gemma-3n-E4B ile benzer bir yapılandırma elde edilir.

Yapılandırma nesneleri PreTrainedConfig sınıfından devralır ve model çıktılarını kontrol etmek için kullanılabilir. Daha fazla bilgi için PreTrainedConfig belgesini okuyun.

Örnek:

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

sınıf transformers.Gemma3nAudioConfig

< >

( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonevocab_size: int = 128vocab_offset: int = 262272input_feat_size: int = 128hidden_size: int = 1536rms_norm_eps: float = 1e-06gradient_clipping: float = 10000000000.0conf_attention_chunk_size: int = 12conf_attention_context_left: int = 13conf_attention_context_right: int = 0conf_attention_logit_cap: float = 50.0conf_num_attention_heads: int = 8conf_num_hidden_layers: int = 12conf_conv_kernel_size: int = 5conf_reduction_factor: int = 4conf_residual_weight: float = 0.5sscp_conv_channel_size: list[int] | tuple[int, int] = (128, 32)sscp_conv_group_norm_eps: float = 0.001sscp_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)) )

Parametreler

  • vocab_size (int, isteğe bağlı, varsayılan 128) — Modelin sözlük boyutu. input_ids ile temsil edilebilecek farklı token sayısını belirler.
  • 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, isteğe bağlı, varsayılan 1e-06) — rms normalizasyon katmanları tarafından kullanılan epsilon.
  • gradient_clipping (float, isteğe bağlı, 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, isteğe bağlı, varsayılan 12) — Universal Speech Model'in Conformer ("conf") bölümünde yerel dikkat işleme için alt dizi boyutu.
  • conf_attention_context_left (int, isteğe bağlı, varsayılan 13) — Universal Speech Model'in Conformer (“conf”) bölümündeki yerel dikkatin sol bağlam boyutu.
  • conf_attention_context_right (int, isteğe bağlı, varsayılan 0) — Universal Speech Model'in Conformer ("conf") bölümündeki yerel dikkatin sağ bağlam boyutu.
  • conf_attention_logit_cap (float, isteğe bağlı, 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, isteğe bağlı, 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, isteğe bağlı, varsayılan 12) — Universal Speech Model'in Conformer (“conf”) bölümünde yerel dikkat (local attention) kullanan katman sayısı.
  • conf_conv_kernel_size (int, isteğe bağlı, varsayılan 5) — Universal Speech Model içindeki Conformer (“conf”) bölümündeki Conformer bloğu için konvolüsyon çekirdeği boyutu.
  • conf_reduction_factor (int, isteğe bağlı, varsayılan 4) — Universal Speech Model'in Conformer ("conf") bölümündeki conformer bloğunda kullanılan azaltma çarpanı.
  • conf_residual_weight (float, isteğe bağlı, 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, isteğe bağlı, 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)), isteğe bağlı, varsayılan ((3, 3), (3, 3))) — Universal Speech Model'in "sscp" bölümündeki alt örneklemeli konvolüsyon projeksiyonundaki (Sub-sample Convolution Projection) iki konvolüsyon katmanının çekirdek boyutları. Çekirdek boyutları, her katman için yükseklik ve genişlik olarak bir demet (tuple) halinde 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)), isteğe bağlı, varsayılan ((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 stride boyutları. Stride 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.

Bu, bir Gemma3nModel'in 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ılan değerlerle bir yapılandırma örneklendiğinde, google/gemma-3n-E4B ile benzer bir yapılandırma elde edilir.

Yapılandırma nesneleri PreTrainedConfig sınıfından devralır ve model çıktılarını kontrol etmek için kullanılabilir. Daha fazla bilgi için PreTrainedConfig belgesini okuyun.

Örnek:

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

sınıf transformers.Gemma3nConfig

< >

( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonetext_config: transformers.models.gemma3n.configuration_gemma3n.Gemma3nTextConfig | dict[str, typing.Any] | None = Nonevision_config: transformers.models.gemma3n.configuration_gemma3n.Gemma3nVisionConfig | dict[str, typing.Any] | None = Noneaudio_config: transformers.models.gemma3n.configuration_gemma3n.Gemma3nAudioConfig | dict[str, typing.Any] | None = Noneaudio_soft_tokens_per_image: int | None = 188vision_soft_tokens_per_image: int | None = 256boi_token_id: int | None = 255999eoi_token_id: int | None = 262144image_token_id: int | None = 262145boa_token_id: int | None = 256000eoa_token_id: int | None = 262272audio_token_id: int | None = 262273initializer_range: float | None = 0.02tie_word_embeddings: bool | None = Trueuse_cache: bool = True )

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 soft token sayısı.
  • boi_token_id (int, isteğe bağlı, varsayılan 255999) — Görsel istemi sarmak için kullanılan başlangıç-görsel (begin-of-image) belirteç dizini.
  • eoi_token_id (int, isteğe bağlı, varsayılan 262144) — 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 262145) — Girdi görselleri için yer tutucu olarak kullanılan görsel jeton indeksi.
  • boa_token_id (int, isteğe bağlı, varsayılan 256000) — Ses prompt'unu sarmak için kullanılan ses başlangıcı token indeksi.
  • eoa_token_id (int, isteğe bağlı, varsayılan 262272) — Ses istemini sarmak için kullanılan ses sonu (end-of-audio) belirteç dizini.
  • audio_token_id (int, isteğe bağlı, varsayılan 262273) — Giriş sesi için yer tutucu olarak kullanılan ses belirteç dizini.
  • initializer_range (float, isteğe bağlı, 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) — Modelin tied_weights_keys eşlemesine göre ağırlık gömme bağlamalarının yapılıp yapılmayacağı.
  • use_cache (bool, isteğe bağlı, varsayılan True) — Modelin son anahtar/değer dikkatlerini (tüm modellerde kullanılmaz) döndürüp döndürmeyeceği. 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'in 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ılan değerlerle bir yapılandırma örneklendiğinde, google/gemma-3n-E4B ile benzer bir yapılandırma elde edilir.

Yapılandırma nesneleri PreTrainedConfig sınıfından devralır ve model çıktılarını kontrol etmek için kullanılabilir. Daha fazla bilgi için PreTrainedConfig belgesini okuyun.

Örnek:

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

sınıf transformers.Gemma3nTextModel

< >

( config: Gemma3nTextConfig )

Parametreler

  • config (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() yöntemine bakın.

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

Bu model PreTrainedModel sınıfından devralır. Kütüphanenin tüm modelleri için uyguladığı genel yöntemler (indirme veya kaydetme, giriş gömme boyutlarını yeniden boyutlandırma, başları budama vb.) için üst sınıf belgelendirmesine bakın.

Bu model aynı zamanda bir PyTorch torch.nn.Module alt sınıfıdır. Bunu standart bir PyTorch Module olarak kullanın ve genel kullanım ve davranışla ilgili tüm konular için PyTorch dokümantasyonuna başvurun.

forward

< >

( input_ids: typing.Optional[torch.LongTensor] = Noneper_layer_inputs: typing.Optional[torch.Tensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.LongTensor] = Nonepast_key_values: transformers.cache_utils.Cache | None = Noneinputs_embeds: typing.Optional[torch.FloatTensor] = Noneuse_cache: bool | None = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutputWithPast or tuple(torch.FloatTensor)

Parametreler

  • input_ids (torch.LongTensor şeklinde (batch_size, sequence_length), isteğe bağlı) — Sözlükteki girdi dizisi belirteçlerinin (token) indeksleri. Varsayılan olarak dolgu (padding) yok sayılır.

    Dizinler AutoTokenizer kullanılarak elde edilebilir. Ayrıntılar için PreTrainedTokenizer.encode() ve PreTrainedTokenizer.call() konularına bakın.

    Girdi kimlikleri nelerdir?

  • per_layer_inputs (torch.Tensor, isteğe bağlı, varsayılanı None) — Önceden hesaplanmış katman başına gömme değerleri. None ise, sağlanmışsa input_ids'den türetilir.
  • attention_mask (torch.Tensor şeklinde (batch_size, sequence_length), isteğe bağlı) — Doldurma (padding) token indekslerinde dikkat (attention) işlemi yapmaktan kaçınmak için kullanılan maske. Seçilen maske değerleri [0, 1]:
    • 1, maskelenmemiş jetonlar için,
    • maskelenmiş jetonlar için 0.

    Dikkat maskeleri nedir?

  • position_ids (torch.LongTensor şeklinde (batch_size, sequence_length), isteğe bağlı) — Girdi dizilerindeki her token'ın konum gömme (position embedding) içindeki konum indeksleri. Seçim aralığı [0, config.n_positions - 1].

    Pozisyon kimlikleri nedir?

  • 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 ve cross-attention bloklarındaki anahtar ve değerler). Bu genellikle past_key_values değerinin, çözümlemenin önceki bir aşamasında model tarafından döndürülen use_cache=True veya config.use_cache=True.

    Girdi olarak yalnızca Cache örneği kabul edilir, kv cache kılavuzumuza bakın. past_key_values geçirilmezse, varsayılan olarak DynamicCache başlatılır.

    Model, girdi olarak verilen aynı önbellek biçimini çıktı olarak üretecektir.

    past_key_values kullanılıyorsa, kullanıcının tüm input_ids (şekli (batch_size, sequence_length)) yerine, bu modele geçmiş anahtar değer durumları verilmemiş olan, işlenmemiş input_ids (şekli (batch_size, unprocessed_length)) girmesi beklenir.

  • inputs_embeds (torch.FloatTensor, şekli (batch_size, sequence_length, hidden_size), isteğe bağlı) — İsteğe bağlı olarak, input_ids yerine gömülü bir temsil doğrudan geçmeyi tercih edebilirsiniz. Bu, input_ids dizinlerini ilgili vektörlere dönüştürme biçimi üzerinde modelin dahili gömme arama matrisine kıyasla daha fazla kontrol sahibi olmak istiyorsanız faydalıdır.
  • use_cache (bool, isteğe bağlı) — True olarak ayarlanırsa, past_key_values anahtar değer durumları döndürülür ve çözümlemeyi hızlandırmak için kullanılabilir (bkz. past_key_values).

Dönüş değeri

BaseModelOutputWithPast veya tuple(torch.FloatTensor)

Bir BaseModelOutputWithPast veya torch.FloatTensor bir demeti (return_dict=False geçirildiğinde veya config.return_dict=False olduğunda), yapılandırmaya (Gemma3nConfig) ve girdilere bağlı olarak çeşitli öğelerden oluşur.

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ü önceki, ön ve son işleme adımlarını çalıştırmaktan sorumluyken ikincisi bunları sessizce yok sayar.

  • last_hidden_state (torch.FloatTensor, ş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 örneğidir. Daha fazla ayrıntı için kv cache kılavuzumuza 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.FloatTensor), 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.FloatTensor (modelin bir gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için birer tane) içeren, (batch_size, 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.FloatTensor), isteğe bağlı, output_attentions=True geçirildiğinde veya config.output_attentions=True olduğunda döndürülür) — torch.FloatTensor (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 başlıklarında ağırlıklı ortalamanın hesaplanmasında kullanılır.

Gemma3nModel

sınıf transformers.Gemma3nModel

< >

( config: Gemma3nConfig )

Parametreler

  • config (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() yöntemine bakı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 sınıfından devralır. Kütüphanenin tüm modelleri için uyguladığı genel yöntemler (indirme veya kaydetme, giriş gömme boyutlarını yeniden boyutlandırma, başları budama vb.) için üst sınıf belgelendirmesine bakın.

Bu model aynı zamanda bir PyTorch torch.nn.Module alt sınıfıdır. Bunu standart bir PyTorch Module olarak kullanın ve genel kullanım ve davranışla ilgili tüm konular için PyTorch dokümantasyonuna başvurun.

forward

< >

( input_ids: typing.Optional[torch.LongTensor] = Nonepixel_values: typing.Optional[torch.FloatTensor] = Noneinput_features: typing.Optional[torch.FloatTensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Noneinput_features_mask: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.LongTensor] = Nonepast_key_values: transformers.cache_utils.Cache | None = Nonetoken_type_ids: typing.Optional[torch.LongTensor] = Noneinputs_embeds: typing.Optional[torch.FloatTensor] = Noneper_layer_inputs: typing.Optional[torch.Tensor] = Noneuse_cache: bool | None = Nonemm_encoder_outputs: dict[str, transformers.modeling_outputs.BaseModelOutputWithPooling] | None = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> )

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 halde katman başına gömme değerlerinin token-identity bileşeni atlanır.

Örnek:

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

< >

( pixel_values: FloatTensor**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutputWithPooling or tuple(torch.FloatTensor)

Parametreler

Dönüş değeri

BaseModelOutputWithPooling veya tuple(torch.FloatTensor)

A BaseModelOutputWithPooling veya bir torch.FloatTensor tuple'ı (return_dict=False geçirildiğinde veya config.return_dict=False olduğunda), yapılandırmaya (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.FloatTensor, şekli (batch_size, sequence_length, hidden_size)) — Modelin son katmanının çıktısındaki gizli durumlar dizisi.

  • pooler_output (torch.FloatTensor, şekli (batch_size, hidden_size)) — Sıranı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 katmanlar üzerinden ek işlemden 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 fonksiyonu üzerinden işlenmesinden sonra döndürülen değerdir. 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.FloatTensor), 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.FloatTensor (modelin bir gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için birer tane) içeren, (batch_size, 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.FloatTensor), isteğe bağlı, output_attentions=True geçirildiğinde veya config.output_attentions=True olduğunda döndürülür) — torch.FloatTensor (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 başlıklarında ağırlıklı ortalamanın hesaplanmasında kullanılır.

get_audio_features

< >

( input_features: Tensorinput_features_mask: Tensor**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → Gemma3nAudioEncoderModelOutput or tuple(torch.FloatTensor)

Parametreler

  • input_features (torch.FloatTensor, şekli (num_images, seq_length, num_features)) — Girdi sesine karşılık gelen tensörler.
  • input_features_mask (torch.FloatTensor, şekli (num_images, seq_length)) — Girdi sesinin dikkat maskesi.

Dönüş değeri

Gemma3nAudioEncoderModelOutput veya tuple(torch.FloatTensor)

Gemma3nAudioEncoderModelOutput veya bir torch.FloatTensor demeti (eğer return_dict=False geçirildiyse veya config.return_dict=False ise), yapılandırma (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.FloatTensor, şekli (batch_size, sequence_length, hidden_size)) — Modelin son katmanının çıktısındaki gizli durumlar dizisi.

  • pooler_output (torch.FloatTensor, şekli (batch_size, hidden_size)) — Sıranı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 katmanlar üzerinden ek işlemden 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 fonksiyonu üzerinden işlenmesinden sonra döndürülen değerdir. 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.FloatTensor), 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.FloatTensor (modelin bir gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için birer tane) içeren, (batch_size, 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.FloatTensor), isteğe bağlı, output_attentions=True geçirildiğinde veya config.output_attentions=True olduğunda döndürülür) — torch.FloatTensor (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 başlıkları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

sınıf transformers.Gemma3nForCausalLM

< >

( config: Gemma3nTextConfig )

Parametreler

  • config (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() yöntemine bakın.

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

Bu model PreTrainedModel sınıfından devralır. Kütüphanenin tüm modelleri için uyguladığı genel yöntemler (indirme veya kaydetme, giriş gömme boyutlarını yeniden boyutlandırma, başları budama vb.) için üst sınıf belgelendirmesine bakın.

Bu model aynı zamanda bir PyTorch torch.nn.Module alt sınıfıdır. Bunu standart bir PyTorch Module olarak kullanın ve genel kullanım ve davranışla ilgili tüm konular için PyTorch dokümantasyonuna başvurun.

forward

< >

( input_ids: typing.Optional[torch.LongTensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.LongTensor] = Nonepast_key_values: transformers.cache_utils.Cache | None = Noneinputs_embeds: typing.Optional[torch.FloatTensor] = Nonelabels: typing.Optional[torch.LongTensor] = Noneuse_cache: bool | None = Nonelogits_to_keep: typing.Union[int, torch.Tensor] = 0**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → CausalLMOutputWithPast or tuple(torch.FloatTensor)

Parametreler

  • input_ids (torch.LongTensor şeklinde (batch_size, sequence_length), isteğe bağlı) — Sözlükteki girdi dizisi belirteçlerinin (token) indeksleri. Varsayılan olarak dolgu (padding) yok sayılır.

    Dizinler AutoTokenizer kullanılarak elde edilebilir. Ayrıntılar için PreTrainedTokenizer.encode() ve PreTrainedTokenizer.call() konularına bakın.

    Girdi kimlikleri nelerdir?

  • attention_mask (torch.Tensor şeklinde (batch_size, sequence_length), isteğe bağlı) — Doldurma (padding) token indekslerinde dikkat (attention) işlemi yapmaktan kaçınmak için kullanılan maske. Seçilen maske değerleri [0, 1]:
    • 1, maskelenmemiş jetonlar için,
    • maskelenmiş jetonlar için 0.

    Dikkat maskeleri nedir?

  • position_ids (torch.LongTensor şeklinde (batch_size, sequence_length), isteğe bağlı) — Girdi dizilerindeki her token'ın konum gömme (position embedding) içindeki konum indeksleri. Seçim aralığı [0, config.n_positions - 1].

    Pozisyon kimlikleri nedir?

  • 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 ve cross-attention bloklarındaki anahtar ve değerler). Bu genellikle past_key_values değerinin, çözümlemenin önceki bir aşamasında model tarafından döndürülen use_cache=True veya config.use_cache=True.

    Girdi olarak yalnızca Cache örneği kabul edilir, kv cache kılavuzumuza bakın. past_key_values geçirilmezse, varsayılan olarak DynamicCache başlatılır.

    Model, girdi olarak verilen aynı önbellek biçimini çıktı olarak üretecektir.

    past_key_values kullanılıyorsa, kullanıcının tüm input_ids (şekli (batch_size, sequence_length)) yerine, bu modele geçmiş anahtar değer durumları verilmemiş olan, işlenmemiş input_ids (şekli (batch_size, unprocessed_length)) girmesi beklenir.

  • inputs_embeds (torch.FloatTensor, şekli (batch_size, sequence_length, hidden_size), isteğe bağlı) — İsteğe bağlı olarak, input_ids yerine gömülü bir temsil doğrudan geçmeyi tercih edebilirsiniz. Bu, input_ids dizinlerini ilgili vektörlere dönüştürme biçimi üzerinde modelin dahili gömme arama matrisine kıyasla daha fazla kontrol sahibi olmak istiyorsanız faydalıdır.
  • 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 etiketleri [0, ..., config.vocab_size] aralığında olan 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 logits'leri gereklidir 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 boyutundaki korunacak 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üş değeri

CausalLMOutputWithPast veya tuple(torch.FloatTensor)

A CausalLMOutputWithPast veya bir torch.FloatTensor tuple'ı (return_dict=False geçirildiğinde veya config.return_dict=False olduğunda), yapılandırmaya (Gemma3nConfig) ve girdilere bağlı olarak çeşitli öğelerden oluşur.

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ü önceki, ön ve son işleme adımlarını çalıştırmaktan sorumluyken ikincisi bunları sessizce yok sayar.

  • loss (torch.FloatTensor, şekli (1,), opsiyonel, labels sağlandığında döndürülür) — Dil modelleme kaybı (sonraki token tahmini için).

  • logits (torch.FloatTensor, şekli (batch_size, sequence_length, config.vocab_size)) — Dil modelleme başlığının tahmin puanları (SoftMax öncesi her sözlük jetonu için puanlar).

  • past_key_values (Cache, isteğe bağlı, use_cache=True geçirildiğinde veya config.use_cache=True olduğunda döndürülür) — Bir Cache örneğidir. Daha fazla ayrıntı için kv cache kılavuzumuza 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.FloatTensor), 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.FloatTensor (modelin bir gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için birer tane) içeren, (batch_size, 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.FloatTensor), isteğe bağlı, output_attentions=True geçirildiğinde veya config.output_attentions=True olduğunda döndürülür) — torch.FloatTensor (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 başlıklarında ağırlıklı ortalamanın hesaplanmasında kullanılır.

Örnek:

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

sınıf transformers.Gemma3nForConditionalGeneration

< >

( config: Gemma3nConfig )

Parametreler

  • config (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() yöntemine bakı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 sınıfından devralır. Kütüphanenin tüm modelleri için uyguladığı genel yöntemler (indirme veya kaydetme, giriş gömme boyutlarını yeniden boyutlandırma, başları budama vb.) için üst sınıf belgelendirmesine bakın.

Bu model aynı zamanda bir PyTorch torch.nn.Module alt sınıfıdır. Bunu standart bir PyTorch Module olarak kullanın ve genel kullanım ve davranışla ilgili tüm konular için PyTorch dokümantasyonuna başvurun.

forward

< >

( input_ids: typing.Optional[torch.LongTensor] = Nonepixel_values: typing.Optional[torch.FloatTensor] = Noneinput_features: typing.Optional[torch.FloatTensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Noneinput_features_mask: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.LongTensor] = Nonepast_key_values: transformers.cache_utils.Cache | None = Nonetoken_type_ids: typing.Optional[torch.LongTensor] = Noneinputs_embeds: typing.Optional[torch.FloatTensor] = Nonelabels: typing.Optional[torch.LongTensor] = Noneuse_cache: bool | None = Nonelogits_to_keep: typing.Union[int, torch.Tensor] = 0per_layer_inputs: typing.Optional[torch.Tensor] = Nonemm_encoder_outputs: dict[str, transformers.modeling_outputs.BaseModelOutputWithPooling] | None = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → Gemma3nCausalLMOutputWithPast or tuple(torch.FloatTensor)

Parametreler

  • input_ids (torch.LongTensor şeklinde (batch_size, sequence_length), isteğe bağlı) — Sözlükteki girdi dizisi belirteçlerinin (token) indeksleri. Varsayılan olarak dolgu (padding) yok sayılır.

    Dizinler AutoTokenizer kullanılarak elde edilebilir. Ayrıntılar için PreTrainedTokenizer.encode() ve PreTrainedTokenizer.call() konularına bakın.

    Girdi kimlikleri nelerdir?

  • pixel_values (torch.FloatTensor, şekli (batch_size, num_channels, image_size, image_size), isteğe bağlı) — Girdi görüntülerine karşılık gelen tensörler. Piksel değerleri SiglipImageProcessor kullanılarak elde edilebilir. Ayrıntılar için SiglipImageProcessor.call() bölümüne bakın (Gemma3nProcessor, görüntü işleme için SiglipImageProcessor kullanır).
  • input_features (torch.FloatTensor, şekli (batch_size, sequence_length, feature_dim), isteğe bağlı) — Giriş ses özelliklerine karşılık gelen tensörler. Ses özellikleri Gemma3nAudioFeatureExtractor kullanılarak elde edilebilir. Ayrıntılar için Gemma3nAudioFeatureExtractor.__call__() bölümüne bakın (Gemma3nProcessor, sesleri işlemek için Gemma3nAudioFeatureExtractor kullanır).
  • attention_mask (torch.Tensor şeklinde (batch_size, sequence_length), isteğe bağlı) — Doldurma (padding) token indekslerinde dikkat (attention) işlemi yapmaktan kaçınmak için kullanılan maske. Seçilen maske değerleri [0, 1]:
    • 1, maskelenmemiş jetonlar için,
    • maskelenmiş jetonlar için 0.

    Dikkat maskeleri nedir?

  • input_features_mask (torch.Tensor, isteğe bağlı, varsayılanı None) — Giriş sesinin dikkat maskesi.
  • position_ids (torch.LongTensor şeklinde (batch_size, sequence_length), isteğe bağlı) — Girdi dizilerindeki her token'ın konum gömme (position embedding) içindeki konum indeksleri. Seçim aralığı [0, config.n_positions - 1].

    Pozisyon kimlikleri nedir?

  • 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 ve cross-attention bloklarındaki anahtar ve değerler). Bu genellikle past_key_values değerinin, çözümlemenin önceki bir aşamasında model tarafından döndürülen use_cache=True veya config.use_cache=True.

    Girdi olarak yalnızca Cache örneği kabul edilir, kv cache kılavuzumuza bakın. past_key_values geçirilmezse, varsayılan olarak DynamicCache başlatılır.

    Model, girdi olarak verilen aynı önbellek biçimini çıktı olarak üretecektir.

    past_key_values kullanılıyorsa, kullanıcının tüm input_ids (şekli (batch_size, sequence_length)) yerine, bu modele geçmiş anahtar değer durumları verilmemiş olan, işlenmemiş input_ids (şekli (batch_size, unprocessed_length)) girmesi beklenir.

  • token_type_ids (torch.LongTensor şeklinde (batch_size, sequence_length), isteğe bağlı) — Girdilerin ilk ve ikinci bölümlerini belirtmek için segment token dizinleri. Dizinler [0, 1]:
    • 0, sentence A belirteci ile eşleşir,
    • 1, sentence B belirteçlerine karşılık gelir.

    Token type ID'leri nelerdir?

  • inputs_embeds (torch.FloatTensor, şekli (batch_size, sequence_length, hidden_size), isteğe bağlı) — İsteğe bağlı olarak, input_ids yerine gömülü bir temsil doğrudan geçmeyi tercih edebilirsiniz. Bu, input_ids dizinlerini ilgili vektörlere dönüştürme biçimi üzerinde modelin dahili gömme arama matrisine kıyasla daha fazla kontrol sahibi olmak istiyorsanız faydalıdır.
  • 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ıdır (input_ids docstring'ine bakın). Endeksleri -100 olarak ayarlanan tokenlar yoksayılır (maskelenir); kayıp yalnızca etiketleri [0, ..., config.text_config.vocab_size] aralığında olan 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 logits'leri gereklidir 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 boyutundaki korunacak 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ış 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.
  • 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 (şekli (batch_size, sequence_length, hidden_size), isteğe bağlı) biçiminde bir demettir ve kodlayıcının çok modlu özelliklerinin metin gömme (embedding) değerleriyle birleştirilmiş bir dizisidir.

Dönüş değeri

Gemma3nCausalLMOutputWithPast veya tuple(torch.FloatTensor)

Gemma3nCausalLMOutputWithPast veya torch.FloatTensor bir demeti (return_dict=False geçirildiğinde veya config.return_dict=False olduğunda), yapılandırma (Gemma3nConfig) ve girdilere bağlı olarak çeşitli öğelerden oluşur.

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ü önceki, ön ve son işleme adımlarını çalıştırmaktan sorumluyken ikincisi bunları sessizce yok sayar.

  • loss (torch.FloatTensor, şekli (1,), opsiyonel, labels sağlandığında döndürülür) — Dil modelleme kaybı (sonraki token tahmini için).

  • logits (torch.FloatTensor, şekli (batch_size, sequence_length, config.text_config.vocab_size)) — Dil modelleme başlığının tahmin puanları (SoftMax öncesi her sözlük belirteci 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 örneğidir. Daha fazla ayrıntı için kv cache kılavuzumuza 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.FloatTensor], 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.FloatTensor (modelin bir gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için birer tane) içeren, (batch_size, 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.FloatTensor], isteğe bağlı, output_attentions=True geçirildiğinde veya config.output_attentions=True olduğunda döndürülür) — torch.FloatTensor (katman başına bir tane) içeren bir tuple, şekli (batch_size, num_heads, sequence_length, sequence_length).

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

  • image_hidden_states (torch.FloatTensor, isteğe bağlı) — Boyutu (batch_size, num_images, sequence_length, hidden_size) olan bir torch.FloatTensor. Görüntü kodlayıcısının son gizli durumu projekte ettikten sonra modelin ürettiği image_hidden_states.

  • audio_hidden_states (torch.FloatTensor, isteğe bağlı) — (batch_size, num_images, sequence_length, hidden_size) boyutunda bir torch.FloatTensor. Ses kodlayıcısı tarafından üretilen ve son gizli durum projeksiyondan geçirildikten sonra modelin audio_hidden_states'i.

Örnek:

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

< >

( pixel_values: FloatTensor**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> )

Parametreler

Örnek:

>>> 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]
Update on GitHub