Transformers documentation
Gemma3n
Bu model 2024-11-12 tarihinde HF papers'ta yayımlandı ve 2025-06-26 tarihinde Hugging Face Transformers'a katkıda bulunuldu.
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=Truedeğ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.
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?"
)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 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
< source >( 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ılanTrue) — Ü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ılanTrue) — HTK tarzı ön vurgulama (preemphasis) kullanılıp kullanılmayacağı. - fft_overdrive (
bool, isteğe bağlı, varsayılanTrue) — 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 etkisispectrogram(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
< source >( 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__
< source >( 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çiriliyorsado_rescale=Falseolarak 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çinis_split_into_words=Truedeğ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 (
strveya 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': PyTorchtorch.Tensornesnelerini döndürür.'np': NumPynp.ndarraynesnelerini 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]veyaset[str], isteğe bağlı) —tensor_typebelirtilse bile tensöre dönüştürülmemesi gereken anahtarların listesi veya kümesi.
Gemma3nTextConfig
sınıf transformers.Gemma3nTextConfig
< source >( 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ılan262400) — Modelin sözlük boyutu.input_idsile temsil edilebilecek farklı token sayısını belirler. - hidden_size (
int, isteğe bağlı, varsayılan2048) — Gizli temsillerin boyutu. - intermediate_size (
Union[int, list[int]], isteğe bağlı, varsayılan16384) — MLP temsillerinin boyutu. - num_hidden_layers (
int, isteğe bağlı, varsayılan35) — Transformer çözücüdeki gizli katman sayısı. - num_attention_heads (
int, isteğe bağlı, varsayılan8) — Transformer decoder'ındaki her dikkat katmanı için dikkat başı sayısı. - num_key_value_heads (
int, isteğe bağlı, varsayılan2) — Bu, Grouped Query Attention uygulamasında kullanılacak key_value başlarının sayısıdır.num_key_value_heads=num_attention_headsise model Multi Head Attention (MHA) kullanır,num_key_value_heads=1ise 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 olaraknum_attention_headskullanılır. - head_dim (
int, isteğe bağlı, varsayılan256) — 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ılangelu_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ılan32768) — Bu modelin kullanılabileceği en uzun dizi uzunluğu. - initializer_range (
float, isteğe bağlı, varsayılan0.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ılan1e-06) — rms normalizasyon katmanları tarafından kullanılan epsilon. - use_cache (
bool, isteğe bağlı, varsayılanTrue) — Modelin son anahtar/değer dikkatlerini (tüm modellerde kullanılmaz) döndürüp döndürmeyeceği. Yalnızcaconfig.is_decoder=Trueolduğunda veya model yalnızca çözücü tabanlı üretken bir model olduğunda geçerlidir. - pad_token_id (
int, isteğe bağlı, varsayılan0) — Sözlükte dolgu için kullanılan token kimliği. - eos_token_id (
Union[int, list[int]], isteğe bağlı, varsayılan1) — Sözlükte akış sonu için kullanılan token kimliği. - bos_token_id (
int, isteğe bağlı, varsayılan2) — Sözlükte akış başlangıcı için kullanılan token kimliği. - tie_word_embeddings (
bool, isteğe bağlı, varsayılanTrue) — Modelintied_weights_keyseş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_thetaiçin bir değer ve daha uzunmax_position_embeddingsile 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ılanFalse) — Ö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ılan0.0) — Dikkat olasılıkları için dropout oranı. - sliding_window (
int, isteğe bağlı, varsayılan512) — Kayan pencere dikkat penceresi boyutu.Noneise 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ılan30.0) — Olasılık dağılımı hesaplanmadan önce son logitlere uygulanan yumuşak sınırlama (soft-capping) değeri. Logitlertanh(logit / cap) * capile ö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ılanTrue) — True ise,altup_active_idxkonumundaki düzeltilmiş tahmineAltUp.correct_output_scaleuygulanı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 sonnum_kv_shared_layerskatman, 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_typesparametresine 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.configGemma3nVisionConfig
sınıf transformers.Gemma3nVisionConfig
< source >( 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ılan0.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ılanTrue) —TimmWrapperModeliçindeki last_hidden_state için havuzlama (pooling) yapılıp yapılmayacağı. - model_args (
dict[str, Any], isteğe bağlı) —timm.create_modelfonksiyonuna iletilecek ek anahtar kelime argümanları. Örneğin,timm/vit_base_patch32_clip_448.laion2b_ft_in12k_in1kiçin 3 blokluk bir model oluşturmak üzeremodel_args={"depth": 3}kullanılır. Varsayılan değeriNone'dir. - hidden_size (
int, isteğe bağlı, varsayılan2048) — Gizli temsillerin boyutu. - vocab_size (
int, isteğe bağlı, varsayılan128) — Modelin sözlük boyutu.input_idsile temsil edilebilecek farklı token sayısını belirler. - vocab_offset (
int, isteğe bağlı, varsayılan 262144) —Gemma3nMultimodalEmbeddertarafından gömülen token kimlikleri için tokenizer sözlük indeksi ile 0'dan indekslenenGemma3nMultimodalEmbedder.embeddingtablosu arasındaki ofset. - rms_norm_eps (
float, isteğe bağlı, varsayılan1e-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.configGemma3nAudioConfig
sınıf transformers.Gemma3nAudioConfig
< source >( 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ılan128) — Modelin sözlük boyutu.input_idsile temsil edilebilecek farklı token sayısını belirler. - vocab_offset (
int, isteğe bağlı, varsayılan 262272) —Gemma3nMultimodalEmbeddertarafından gömülen token kimlikleri için tokenizer sözlük indeksi ile 0 indeksliGemma3nMultimodalEmbedder.embeddingtablosu 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ılan1536) — Gizli temsillerin boyutu. - rms_norm_eps (
float, isteğe bağlı, varsayılan1e-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.configGemma3nConfig
sınıf transformers.Gemma3nConfig
< source >( 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ılan262145) — 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ılan262273) — Giriş sesi için yer tutucu olarak kullanılan ses belirteç dizini. - initializer_range (
float, isteğe bağlı, varsayılan0.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ılanTrue) — Modelintied_weights_keyseş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ılanTrue) — Modelin son anahtar/değer dikkatlerini (tüm modellerde kullanılmaz) döndürüp döndürmeyeceği. Yalnızcaconfig.is_decoder=Trueolduğ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.configGemma3nTextModel
sınıf transformers.Gemma3nTextModel
< source >( 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
< source >( 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.
- 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.
- 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]. - 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 genelliklepast_key_valuesdeğerinin, çözümlemenin önceki bir aşamasında model tarafından döndürülenuse_cache=Trueveyaconfig.use_cache=True.Girdi olarak yalnızca Cache örneği kabul edilir, kv cache kılavuzumuza bakın.
past_key_valuesgeçirilmezse, varsayılan olarak DynamicCache başlatılır.Model, girdi olarak verilen aynı önbellek biçimini çıktı olarak üretecektir.
past_key_valueskullanılıyorsa, kullanıcının tüminput_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_idsyerine gömülü bir temsil doğrudan geçmeyi tercih edebilirsiniz. Bu,input_idsdizinlerini 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ı) —Trueolarak ayarlanırsa,past_key_valuesanahtar 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_valueskullanı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=Truegeçirildiğinde veyaconfig.use_cache=Trueolduğ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_valuesgirdisi) kullanılabilen, önceden hesaplanmış gizli durumları (self-attention bloklarındaki anahtar ve değerler ve isteğe bağlı olarakconfig.is_encoder_decoder=Trueise cross-attention bloklarındaki anahtar ve değerler) içerir.hidden_states (
tuple(torch.FloatTensor), isteğe bağlı,output_hidden_states=Truegeçirildiğinde veyaconfig.output_hidden_states=Trueolduğ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=Truegeçirildiğinde veyaconfig.output_attentions=Trueolduğ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
< source >( 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
< source >( 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
< source >( pixel_values: FloatTensor**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutputWithPooling or tuple(torch.FloatTensor)
Parametreler
- pixel_values (
torch.FloatTensor, şekli(batch_size, num_channels, image_size, image_size)) — 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).
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=Truegeçirildiğinde veyaconfig.output_hidden_states=Trueolduğ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=Truegeçirildiğinde veyaconfig.output_attentions=Trueolduğ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
< source >( 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=Truegeçirildiğinde veyaconfig.output_hidden_states=Trueolduğ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=Truegeçirildiğinde veyaconfig.output_attentions=Trueolduğ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
< source >( 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
< source >( 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.
- 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.
- 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]. - 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 genelliklepast_key_valuesdeğerinin, çözümlemenin önceki bir aşamasında model tarafından döndürülenuse_cache=Trueveyaconfig.use_cache=True.Girdi olarak yalnızca Cache örneği kabul edilir, kv cache kılavuzumuza bakın.
past_key_valuesgeçirilmezse, varsayılan olarak DynamicCache başlatılır.Model, girdi olarak verilen aynı önbellek biçimini çıktı olarak üretecektir.
past_key_valueskullanılıyorsa, kullanıcının tüminput_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_idsyerine gömülü bir temsil doğrudan geçmeyi tercih edebilirsiniz. Bu,input_idsdizinlerini 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_idsdocstring'ine bakın). Endeksleri-100olarak 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ı) —Trueolarak ayarlanırsa,past_key_valuesanahtar 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ılan0) —intise, sonlogits_to_keeptoken için logits hesaplanır.0ise, tüminput_idsiç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.Tensorise, 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,labelssağ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=Truegeçirildiğinde veyaconfig.use_cache=Trueolduğ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_valuesgirdisi) 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=Truegeçirildiğinde veyaconfig.output_hidden_states=Trueolduğ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=Truegeçirildiğinde veyaconfig.output_attentions=Trueolduğ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
< source >( 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
< source >( 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.
- 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çinGemma3nAudioFeatureExtractor.__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.
- 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]. - 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 genelliklepast_key_valuesdeğerinin, çözümlemenin önceki bir aşamasında model tarafından döndürülenuse_cache=Trueveyaconfig.use_cache=True.Girdi olarak yalnızca Cache örneği kabul edilir, kv cache kılavuzumuza bakın.
past_key_valuesgeçirilmezse, varsayılan olarak DynamicCache başlatılır.Model, girdi olarak verilen aynı önbellek biçimini çıktı olarak üretecektir.
past_key_valueskullanılıyorsa, kullanıcının tüminput_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.
- inputs_embeds (
torch.FloatTensor, şekli(batch_size, sequence_length, hidden_size), isteğe bağlı) — İsteğe bağlı olarak,input_idsyerine gömülü bir temsil doğrudan geçmeyi tercih edebilirsiniz. Bu,input_idsdizinlerini 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_idsdocstring'ine bakın). Endeksleri-100olarak 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ı) —Trueolarak ayarlanırsa,past_key_valuesanahtar 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ılan0) —intise, sonlogits_to_keeptoken için logits hesaplanır.0ise, tüminput_idsiç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.Tensorise, 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 modelindeinput_idsüzerindenget_per_layer_inputs()ile hesaplanmak yerine doğrudan kullanılır.input_idsyerineinputs_embedsileforwardçağrısı yapıyorsanız, bunları önceden hesaplamalı veinputs_embedsile 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,labelssağ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=Truegeçirildiğinde veyaconfig.use_cache=Trueolduğ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_valuesgirdisi) 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=Truegeçirildiğinde veyaconfig.output_hidden_states=Trueolduğ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=Truegeçirildiğinde veyaconfig.output_attentions=Trueolduğ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 birtorch.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 birtorch.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
< source >( pixel_values: FloatTensor**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> )
Parametreler
- pixel_values (
torch.FloatTensor, şekli(batch_size, num_channels, image_size, image_size)) — 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).
Ö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]