Transformers documentation

CLVP

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 2023-05-12 tarihinde HF papers'ta yayımlandı ve 2023-11-10 tarihinde Hugging Face Transformers'a katkıda bulunuldu.

CLVP

Genel Bakış

CLVP (Contrastive Language-Voice Pretrained Transformer) modeli, James Betker tarafından Better speech synthesis through scaling makalesinde önerilmiştir.

Makalenin özeti aşağıdaki gibidir:

Son yıllarda, görüntü üretimi alanı, otoregresif transformer'ların ve DDPM'lerin uygulanmasıyla devrim niteliğinde bir dönüşüm geçirdi. Bu yaklaşımlar, görüntü üretim sürecini adım adım olasılıksal süreçler olarak modelleyerek ve görüntü dağılımını öğrenmek için büyük miktarda hesaplama gücü ve veriden yararlanıyor. Performansı iyileştirmeye yönelik bu metodoloji yalnızca görüntülerle sınırlı kalmak zorunda değil. Bu makale, görüntü üretim alanındaki ilerlemelerin konuşma sentezine uygulanmasının bir yolunu tanımlıyor. Sonuç, TorToise - ifade zengini, çok sesli bir metinden konuşmaya sistemidir.

Bu model Susnato Dhar tarafından katkıda bulunmuştur. Orijinal kod burada bulunabilir.

Kullanım ipuçları

  1. CLVP, Tortoise TTS modelinin ayrılmaz bir parçasıdır.
  2. CLVP, üretilen farklı konuşma adaylarını sağlanan metinle karşılaştırmak için kullanılabilir ve en iyi konuşma jetonları difüzyon modeline iletilir.
  3. Tortoise kullanımı için ClvpModelForConditionalGeneration.generate() metodunun kullanılması şiddetle önerilir.
  4. CLVP modelinin, 16 kHz örnekleme hızı bekleyen diğer ses modellerinin aksine, sesin 22.05 kHz'de örneklenmesini beklediğini unutmayın.

Kısa Açıklama

  • ClvpTokenizer metin girdisini belirteçlere ayırır ve ClvpFeatureExtractor istenen ses dosyasından log mel-spektrogramını çıkarır.
  • ClvpConditioningEncoder, bu metin tokenlarını ve ses temsillerini alır ve metne ve sese koşullu gömütlere dönüştürür.
  • ClvpForCausalLM, bu gömmelemeleri kullanarak birden fazla konuşma adayı üretir.
  • Her konuşma adayı, onları vektör temsiline dönüştüren konuşma kodlayıcısından (ClvpEncoder) geçirilir ve metin kodlayıcısı (ClvpEncoder) metin jetonlarını aynı gizli uzaya dönüştürür.
  • Son olarak, her ses vektörünü metin vektörüyle karşılaştırarak metin vektörüne en benzer ses vektörünü buluruz.
  • ClvpModelForConditionalGeneration.generate(), yukarıda açıklanan tüm mantığı tek bir yöntemde birleştirir.

Örnek:

import datasets

from transformers import ClvpModelForConditionalGeneration, ClvpProcessor


# Define the Text and Load the Audio (We are taking an audio example from HuggingFace Hub using `datasets` library).
text = "This is an example text."

ds = datasets.load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
ds = ds.cast_column("audio", datasets.Audio(sampling_rate=22050))
sample = ds[0]["audio"]

# Define processor and model.
processor = ClvpProcessor.from_pretrained("susnato/clvp_dev")
model = ClvpModelForConditionalGeneration.from_pretrained("susnato/clvp_dev", device_map="auto")

# Generate processor output and model output.
processor_output = processor(raw_speech=sample["array"], sampling_rate=sample["sampling_rate"], text=text, return_tensors="pt").to(model.device)
generated_output = model.generate(**processor_output)

ClvpConfig

sınıf transformers.ClvpConfig

< >

( 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: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonespeech_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonedecoder_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Noneprojection_dim: int = 768logit_scale_init_value: float = 2.6592initializer_factor: float = 1.0 )

Parametreler

  • text_config (Union[dict, ~configuration_utils.PreTrainedConfig], isteğe bağlı) — Metin omurgasının yapılandırma nesnesi veya sözlüğü.
  • speech_config (dict, isteğe bağlı) — CLVP konuşma kodlayıcısını başlatmak için kullanılan yapılandırma seçeneklerinin sözlüğü.
  • decoder_config (dict, isteğe bağlı) — ClvpDecoderConfig sınıfını başlatmak için kullanılan yapılandırma seçeneklerinin sözlüğü.
  • projection_dim (int, isteğe bağlı, varsayılan 768) — Metin ve görme projeksiyon katmanlarının boyutluluğu.
  • logit_scale_init_value (float, isteğe bağlı, varsayılan 2.6592) — logit_scale parametresinin başlangıç değeri.
  • initializer_factor (float, isteğe bağlı, varsayılan 1.0) — Tüm ağırlık matrislerini başlatmak için kullanılan bir çarpan (1 olarak tutulmalıdır, başlatma testleri için dahili olarak kullanılır).

Bu, bir ClvpModelForConditionalGeneration yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Clvp modelini örneklemek ve model mimarisini tanımlamak için kullanılır. Varsayılanlarla bir yapılandırma örneklendiğinde, susnato/clvp_dev 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 ClvpConfig, ClvpModelForConditionalGeneration

>>> # Initializing a ClvpConfig with susnato/clvp_dev style configuration
>>> configuration = ClvpConfig()

>>> # Initializing a ClvpModelForConditionalGeneration (with random weights) from the susnato/clvp_dev style configuration
>>> model = ClvpModelForConditionalGeneration(configuration)

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

>>> # We can also initialize a CLVPConfig from a CLVPTextConfig, CLVPSpeechConfig and a CLVPAutoRegressiveConfig
>>> from transformers import ClvpEncoderConfig, ClvpDecoderConfig

>>> # Initializing a CLVP text, CLVP speech and CLVP decoder configuration
>>> config_text = ClvpEncoderConfig()
>>> config_speech = ClvpEncoderConfig()
>>> decoder_config = ClvpDecoderConfig()

>>> config = ClvpConfig(config_text, config_speech, decoder_config)

ClvpEncoderConfig

sınıf transformers.ClvpEncoderConfig

< >

( 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 = 256hidden_size: int = 768intermediate_size: int = 1536projection_dim: int = 768num_hidden_layers: int = 20num_attention_heads: int = 12hidden_act: str = 'gelu'layer_norm_eps: float = 1e-05attention_dropout: float | int = 0.1dropout: float | int = 0.1use_rotary_embedding: bool = Trueuse_attention_bias: bool = Falsesummary_type: str = 'mean'initializer_factor: float = 1.0bos_token_id: int | None = 255eos_token_id: int | list[int] | None = 0pad_token_id: int | None = None )

Parametreler

  • vocab_size (int, isteğe bağlı, varsayılan 256) — Modelin sözlük boyutu. input_ids tarafından temsil edilebilecek farklı token sayısını tanımlar.
  • hidden_size (int, isteğe bağlı, varsayılan 768) — Gizli temsillerin boyutu.
  • intermediate_size (int, isteğe bağlı, varsayılan 1536) — MLP temsillerinin boyutu.
  • projection_dim (int, isteğe bağlı, varsayılan 768) — Metin ve görme projeksiyon katmanlarının boyutluluğu.
  • num_hidden_layers (int, isteğe bağlı, varsayılan 20) — Transformer çözücüdeki gizli katman sayısı.
  • num_attention_heads (int, isteğe bağlı, varsayılan 12) — Transformer decoder'ındaki her dikkat katmanı için dikkat başı sayısı.
  • hidden_act (str, isteğe bağlı, varsayılan gelu) — Çözücüdeki doğrusal olmayan aktivasyon fonksiyonu (fonksiyon veya dize). Örneğin, "gelu", "relu", "silu" vb.
  • layer_norm_eps (float, isteğe bağlı, varsayılan 1e-05) — Katman normalizasyon katmanları tarafından kullanılan epsilon.
  • attention_dropout (Union[float, int], isteğe bağlı, varsayılan 0.1) — Dikkat olasılıkları için dropout oranı.
  • dropout (Union[float, int], isteğe bağlı, varsayılan 0.1) — Tüm dropout katmanları için oran.
  • use_rotary_embedding (bool, isteğe bağlı, varsayılan True) — rotary_embedding kullanılacak mı?
  • use_attention_bias (bool, isteğe bağlı, varsayılan False) — Öz-dikkat sırasında Query, Key ve Value katmanlarında önyargı (bias) kullanılıp kullanılmayacağı.
  • summary_type (str, isteğe bağlı, varsayılan "mean") — last_hidden_state'ten pooler_output almak için kullanılacak strateji. "last", "first", "mean" ve "cls_index" desteklenir.
  • initializer_factor (float, isteğe bağlı, varsayılan 1.0) — Tüm ağırlık matrislerini başlatmak için kullanılan bir çarpan (1 olarak tutulmalıdır, başlatma testleri için dahili olarak kullanılır).
  • bos_token_id (int, isteğe bağlı, varsayılan 255) — Sözlükte akış başlangıcı için kullanılan token kimliği.
  • eos_token_id (Union[int, list[int]], isteğe bağlı, varsayılan 0) — Sözlükte akış sonu için kullanılan token kimliği.
  • pad_token_id (int, isteğe bağlı) — Sözlükte dolgu için kullanılan token kimliği.

Bu, bir ClvpModelForConditionalGeneration yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Clvp modelini örneklemek ve model mimarisini tanımlamak için kullanılır. Varsayılanlarla bir yapılandırma örneklendiğinde, susnato/clvp_dev 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 ClvpEncoderConfig, ClvpEncoder

>>> # Initializing a ClvpEncoderConfig with susnato/clvp_dev style configuration
>>> encoder_configuration = ClvpEncoderConfig()

>>> # Initializing a ClvpEncoder (with random weights) from the susnato/clvp_dev style configuration
>>> model = ClvpEncoder(encoder_configuration)

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

ClvpDecoderConfig

sınıf transformers.ClvpDecoderConfig

< >

( 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 = 8194max_position_embeddings: int = 608max_text_tokens: int = 404hidden_size: int = 1024num_hidden_layers: int = 30num_attention_heads: int = 16n_inner: int | None = Nonenum_mel_attn_blocks: int = 6activation_function: str = 'gelu_new'resid_pdrop: float | int = 0.1embd_pdrop: float | int = 0.1attention_dropout: float | int = 0.1layer_norm_epsilon: float = 1e-05initializer_range: float = 0.02summary_type: str = 'cls_index'summary_use_proj: bool = Truesummary_activation: str | None = Nonesummary_proj_to_labels: bool = Truesummary_first_dropout: float | int = 0.1use_cache: bool = Truebos_token_id: int | None = 8192eos_token_id: int | list[int] | None = 8193pad_token_id: int | None = Nonefeature_size: int = 80use_attention_bias: bool = Trueinitializer_factor: float = 1.0decoder_fixing_codes: list[int] | tuple[int, ...] = (83, 45, 45, 248)add_cross_attention: bool = False )

Parametreler

  • vocab_size (int, isteğe bağlı, varsayılan 8194) — Modelin sözlük boyutu. input_ids tarafından temsil edilebilecek farklı token sayısını tanımlar.
  • max_position_embeddings (int, isteğe bağlı, varsayılan 608) — Bu modelin kullanılabileceği en uzun dizi uzunluğu.
  • max_text_tokens (int, isteğe bağlı, varsayılan 404) — Bu modelin kullanılabileceği metin jetonlarının maksimum dizin uzunluğu. GPT2Config içindeki n_positions ile benzerdir.
  • hidden_size (int, isteğe bağlı, varsayılan 1024) — Gizli temsillerin boyutu.
  • num_hidden_layers (int, isteğe bağlı, varsayılan 30) — Transformer çözücüdeki gizli katman sayısı.
  • num_attention_heads (int, isteğe bağlı, varsayılan 16) — Transformer decoder'ındaki her dikkat katmanı için dikkat başı sayısı.
  • n_inner (int, isteğe bağlı) — İç beslemeli ileri (feed-forward) katmanlarının boyutluluğu. None, bunu hidden_size'in 4 katı olarak ayarlar.
  • num_mel_attn_blocks (int, isteğe bağlı, varsayılan 6) — ClvpConditioningEncoder içindeki öz-dikkat katmanlarının sayısını belirtir.
  • activation_function (str, isteğe bağlı, varsayılan gelu_new) — Çözücüdeki doğrusal olmayan aktivasyon fonksiyonu (fonksiyon veya dize). Örneğin, "gelu", "relu", "silu" vb.
  • resid_pdrop (Union[float, int], isteğe bağlı, varsayılan 0.1) — Gömme, kodlayıcı ve havuzlayıcıdaki tüm tam bağlı katmanlar için dropout olasılığı.
  • embd_pdrop (Union[float, int], isteğe bağlı, varsayılan 0.1) — Gömme katmanı için dropout oranı.
  • attention_dropout (Union[float, int], isteğe bağlı, varsayılan 0.1) — Dikkat olasılıkları için dropout oranı.
  • layer_norm_epsilon (float, isteğe bağlı, varsayılan 1e-05) — Katman normalizasyon katmanları tarafından kullanılan epsilon.
  • 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ı.
  • summary_type (string, isteğe bağlı, varsayılan olarak "cls_index") — Dizi özetleme yapılırken kullanılan argüman. Aşağıdaki seçeneklerden biri olmalıdır:
    • "last": Son token gizli durumunu alır (XLNet gibi).
    • "first": İlk token gizli durumunu alır (BERT gibi).
    • "mean": Tüm token gizli durumlarının ortalamasını alın.
    • "cls_index": Sınıflandırma belirteci konumunu içeren bir Tensor sağlayın (GPT/GPT-2 gibi).
    • "attn": Şu an uygulanmadı, çok başlı dikkat kullanın.
  • summary_use_proj (bool, isteğe bağlı, varsayılan True) — Vektör çıkarımından sonra bir projeksiyon eklenip eklenmeyeceği.
  • summary_activation (str, isteğe bağlı) — Çıktıya tanh aktivasyonu uygulamak için "tanh" geçirin; başka herhangi bir değer aktivasyon uygulanmamasına neden olur.
  • summary_proj_to_labels (bool, isteğe bağlı, varsayılan True) — Projeksiyon çıktıları config.num_labels ya da config.hidden_size sınıfına sahip olmalı mı?
  • summary_first_dropout (float, isteğe bağlı, varsayılan 0.1) — Projeksiyon ve aktivasyon sonrasında kullanılacak dropout oranı.
  • 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.
  • bos_token_id (int, isteğe bağlı, varsayılan 8192) — Sözlükte akış başlangıcı için kullanılan token kimliği.
  • eos_token_id (Union[int, list[int]], isteğe bağlı, varsayılan 8193) — Sözlükte akış sonu için kullanılan token kimliği.
  • pad_token_id (int, isteğe bağlı) — Sözlükte dolgu için kullanılan token kimliği.
  • feature_size (int, isteğe bağlı, varsayılan 80) — Çıkarılan mel özelliklerinin boyutu. Bu değer ClvpConditioningEncoder içinde kullanılır.
  • use_attention_bias (bool, isteğe bağlı, varsayılan True) — Öz-dikkat sırasında Query, Key ve Value katmanlarında önyargı (bias) kullanılıp kullanılmayacağı.
  • initializer_factor (float, isteğe bağlı, varsayılan 1.0) — Tüm ağırlık matrislerini başlatmak için kullanılan bir çarpan (1 olarak tutulmalıdır, başlatma testleri için dahili olarak kullanılır).
  • decoder_fixing_codes (list, isteğe bağlı, varsayılan [83, 45, 45, 248]) — Bu değerler, fix_speech_decoder_output yönteminde, decoder tarafından üretilen çıktıları düzeltmek için kullanılır.
  • add_cross_attention (bool, isteğe bağlı, varsayılan False) — Modelde çapraz dikkat katmanlarının eklenip eklenmeyeceğini belirtir.

Bu, bir ClvpModelForConditionalGeneration yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Clvp modelini örneklemek ve model mimarisini tanımlamak için kullanılır. Varsayılanlarla bir yapılandırma örneklendiğinde, susnato/clvp_dev 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 ClvpDecoderConfig, ClvpDecoder

>>> # Initializing a ClvpDecoderConfig with susnato/clvp_dev style configuration
>>> decoder_configuration = ClvpDecoderConfig()

>>> # Initializing a ClvpDecoder (with random weights) from the susnato/clvp_dev style configuration
>>> model = ClvpDecoder(decoder_configuration)

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

ClvpTokenizer

sınıf transformers.ClvpTokenizer

< >

( vocab_filemerges_fileerrors = 'replace'unk_token = '[UNK]'bos_token = '<|endoftext|>'eos_token = '[STOP]'pad_token = '[STOP]'add_prefix_space = False**kwargs )

Parametreler

  • vocab_file (str) — Sözlük dosyasının yolu.
  • merges_file (str) — Merges dosyasının yolu.
  • errors (str, isteğe bağlı, varsayılan "replace") — Baytların UTF-8'e çözümlenirken izlenecek paradigma. Daha fazla bilgi için bytes.decode'e bakın.
  • unk_token (str, isteğe bağlı, varsayılan "[UNK]") — Bilinmeyen token. Sözlükte yer almayan bir token, bir kimliğe dönüştürülemez ve bunun yerine bu token olarak ayarlanır.
  • bos_token (str, isteğe bağlı, varsayılan "<|endoftext|>") — Dizinin başlangıç belirteci.
  • eos_token (str, isteğe bağlı, varsayılan "[STOP]") — Dizi sonu belirteci.
  • pad_token (str, isteğe bağlı, varsayılan "[STOP]") — Dizinin dolgu belirteci.
  • add_prefix_space (bool, isteğe bağlı, varsayılan False) — Girişe başlangıçta bir boşluk eklenip eklenmeyeceğini belirtir. Bu, baştaki kelimenin diğer herhangi bir kelime gibi ele alınmasını sağlar. (CLVP tokenizer, kelimelerin başlangıcını önceki boşlukla tespit eder).

CLVP belirteç oluşturucu (tokenizer) oluşturun. Bayt düzeyinde Byte-Pair-Encoding tabanlıdır.

Bu tokenizer, boşlukları tokenların parçaları gibi işlemek üzere eğitilmiştir (biraz da sentencepiece gibi) bu yüzden bir kelime

cümle başında (boşluksuz) mı yoksa değil mi olduğuna göre farklı kodlanabilir:

>>> from transformers import ClvpTokenizer

>>> tokenizer = ClvpTokenizer.from_pretrained("susnato/clvp_dev")
>>> tokenizer("Hello world")["input_ids"]
[62, 84, 28, 2, 179, 79]

>>> tokenizer(" Hello world")["input_ids"]
[2, 62, 84, 28, 2, 179, 79]

Bu davranışın etrafından dolaşmak için bu tokenizer'ı örneklerken veya bazı metinler üzerinde çağırdığınızda add_prefix_space=True parametresini geçebilirsiniz; ancak model bu şekilde ön eğitilmediğinden, performans düşüşüne yol açabilir.

is_split_into_words=True ile kullanıldığında, bu tokenizer her kelimenin (ilk kelime dahil) başına bir boşluk ekler.

Bu tokenizer, ana yöntemlerin çoğunu içeren PreTrainedTokenizer sınıfından devralır. Kullanıcıların bu yöntemler hakkında daha fazla bilgi için bu üst sınıfa başvurması gerekir.

save_vocabulary

< >

( save_directory: strfilename_prefix: str | None = None ) → tuple[str, ...]

Parametreler

  • save_directory (str) — Sözlüğün kaydedileceği dizin.
  • filename_prefix (str, isteğe bağlı) — Kaydedilen dosyaların adlarına eklenecek isteğe bağlı bir önek.

Dönüş değeri

tuple[str, ...]

Kaydedilen dosyaların yolları, dosya kaydedilmediyse boş tuple.

Ortak sözlük kaydetme kalıpları için varsayılan uygulama. self.encoder/self.vocab'ı JSON olarak kaydeder, isteğe bağlı olarak self.bpe_ranks'ı birleştirmeler (merges) olarak ekler. Sözlük yoksa boş tuple döndürür.

Tokenizörünüz özel kaydetme mantığı gerektiriyorsa (ör. SentencePiece modelleri, birden çok sözlük dosyası veya özel dosya biçimleri) bu yöntemi geçersiz kılın.

ClvpFeatureExtractor

sınıf transformers.ClvpFeatureExtractor

< >

( feature_size = 80sampling_rate = 22050default_audio_length = 6hop_length = 256chunk_length = 30n_fft = 1024padding_value = 0.0mel_norms = Nonereturn_attention_mask = False**kwargs )

Parametreler

  • feature_size (int, isteğe bağlı, varsayılan 80) — Çıkarılan özelliklerin boyutu.
  • sampling_rate (int, isteğe bağlı, varsayılan 22050) — Ses dosyalarının dijitalleştirileceği örnekleme hızı, hertz (Hz) cinsinden ifade edilir.
  • default_audio_length (int, isteğe bağlı, varsayılan 6) — Ham sesin varsayılan uzunluğu, saniye cinsinden. __call__ sırasında max_length ayarlanmazsa, otomatik olarak default_audio_length * self.sampling_rate değerine ayarlanır.
  • hop_length (int, isteğe bağlı, varsayılan 256) — Mel Frekans katsayılarını elde etmek için kullanılan STFT'de üst üste binen pencerelerin uzunluğu.
  • chunk_length (int, isteğe bağlı, varsayılan 30) — Daha uzun veya daha kısa ses dizilerini kırpıp doldurmak için kullanılan sampling_rate örneklikteki parçaların maksimum sayısı.
  • n_fft (int, isteğe bağlı, varsayılan 1024) — Fourier dönüşümünün boyutu.
  • padding_value (float, isteğe bağlı, varsayılan 0.0) — Sesin doldurulmasında kullanılan dolgu değeri. Sessizliklere karşılık gelmelidir.
  • mel_norms (list, uzunluğu feature_size, isteğe bağlı) — mel_norms sağlanırsa, log-mel spektrogramları her mel filtresi boyunca normalize etmek için kullanılır.
  • return_attention_mask (bool, isteğe bağlı, varsayılan olarak False) — Dikkat maskesinin (attention mask) döndürülüp döndürülmeyeceğini belirtir. Varsayılan değer bırakılırsa, dikkat maskesi döndürülür.

    Dikkat maskeleri nedir?

Bir CLVP özellik çıkarıcı oluşturur.

Bu özellik çıkarıcı, ana yöntemlerin çoğunu içeren SequenceFeatureExtractor sınıfından devralır. Kullanıcıların bu yöntemler hakkında daha fazla bilgi için bu üst sınıfa başvurması gerekir.

Bu sınıf, ham konuşma verisinden log-mel-spektrogram özelliklerini, pytorch'un torch.stft karşılığıyla eşleşmesi gereken özel bir numpy Short Time Fourier Transform uygulaması kullanarak çıkarır.

__call__

< >

( raw_speech: numpy.ndarray | list[float] | list[numpy.ndarray] | list[list[float]]sampling_rate: int | None = Nonetruncation: bool = Truepad_to_multiple_of: int | None = Nonereturn_tensors: str | transformers.utils.generic.TensorType | None = Nonereturn_attention_mask: bool | None = Truepadding: str | None = 'max_length'max_length: int | None = None**kwargs )

Parametreler

  • raw_speech (np.ndarray, list[float], list[np.ndarray], list[list[float]]) — Doldurulacak (padding) dizi veya dizi grubu. Her dizi, bir numpy dizisi, bir float değerleri listesi, bir numpy dizileri listesi veya float değerleri listeleri listesi olabilir. Tek kanallı (mono) ses olmalı, stereo değil; yani her zaman adımı için tek bir float değer içermelidir.
  • sampling_rate (int, isteğe bağlı) — raw_speech girdisinin örneklenmiş olduğu örneklem hızı. Sessiz hataları önlemek ve otomatik konuşma tanıma hattına izin vermek için ileri çağrıda sampling_rate değerinin geçirilmesi şiddetle önerilir.
  • truncation (bool, isteğe bağlı, varsayılan True) — max_length'den uzun giriş dizilerini max_length değerine kısaltmak için kesme işlemini etkinleştirir.
  • pad_to_multiple_of (int, isteğe bağlı) — Belirlenirse, diziyi verilen değerin katına kadar doldurur.

    Bu, hesaplama yeteneği >= 7.5 (Volta) olan NVIDIA donanımlarında Tensor Core kullanımını etkinleştirmek veya 128'in katları olan dizi uzunluklarından faydalanan TPU'lar için özellikle faydalıdır.

  • return_attention_mask (bool, isteğe bağlı, varsayılan olarak True) — Dikkat maskesinin (attention mask) döndürülüp döndürülmeyeceğini belirtir. Varsayılan değer bırakılırsa, dikkat maskesi döndürülür.

    Dikkat maskeleri nedir?

  • return_tensors (str veya TensorType, isteğe bağlı) — Belirlenirse, Python tamsayı listesi yerine 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.
  • padding_value (float, isteğe bağlı, varsayılan 0.0) — Doldurma değerlerinin / vektörlerinin doldurulmasında kullanılan değer.
  • max_length (int, isteğe bağlı) — Girdilerin maksimum giriş uzunluğu.

ClvpFeatureExtractor, örnek bir ses veya raw_speech içinden sesin perdesi ve tonu gibi çeşitli sesle ilgili özellikleri, konuşma hızını ve hatta dişil veya kekemelik gibi konuşma kusurlarını çıkarmak için kullanılır.

Önce ses, self.default_audio_length saniye uzunluğunda bir dalga formuna dönüşecek şekilde dolgu yapılır veya kısaltılır; ardından log-mel spektrogramı bu dalga formundan çıkarılır.

ClvpProcessor

sınıf transformers.ClvpProcessor

< >

( feature_extractortokenizer )

Parametreler

  • feature_extractor (ClvpFeatureExtractor) — Özellik çıkarıcı zorunlu bir girdidir.
  • tokenizer (ClvpTokenizer) — Tokenizer zorunlu bir girdidir.

Bir özellik çıkarıcıyı ve bir belirteçleyiciyi tek bir işlemciye saran bir ClvpProcessor oluşturur.

ClvpProcessor, ClvpFeatureExtractor ve ClvpTokenizer sınıflarının tüm işlevlerini sunar. Daha fazla bilgi için ~ClvpFeatureExtractor ve ~ClvpTokenizer belgelerini inceleyin.

__call__

< >

( *argstext = Noneaudio = None**kwargs )

Parametreler

  • text (`) -- The sequence or batch of sequences to be encoded. Each sequence can be a string or a list of strings (pretokenized string). If you pass a pretokenized input, set is_split_into_words=True` to avoid ambiguity with batched inputs.
  • audio (“) — Hazırlanacak ses veya sesler partisi. Her ses, bir NumPy dizisi veya PyTorch tensörü olabilir. NumPy dizisi/PyTorch tensörü durumunda, her sesin şekli (C, T) olmalıdır; burada C kanal sayısı, T ise sesin örnek uzunluğudur.
  • return_tensors (str veya TensorType, 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.

decode

< >

( *args**kwargs )

Bu yöntem, tüm argümanlarını PreTrainedTokenizer'ın decode() yöntemine iletir. Daha fazla bilgi için bu yöntemin docstring'ine başvurun.

batch_decode

< >

( *args**kwargs )

Bu yöntem, tüm argümanlarını PreTrainedTokenizer'ın batch_decode() yöntemine iletir. Daha fazla bilgi için bu yöntemin docstring'ine başvurun.

ClvpModelForConditionalGeneration

sınıf transformers.ClvpModelForConditionalGeneration

< >

( config: ClvpConfig )

Parametreler

  • config (ClvpConfig) — 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.

Bir metin kodlayıcı, konuşma kodlayıcı ve konuşma çözücü modeline sahip bileşik CLVP 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] = Noneinput_features: typing.Optional[torch.Tensor] = Noneconditioning_encoder_inputs_embeds: typing.Optional[torch.Tensor] = Nonetext_encoder_inputs_embeds: typing.Optional[torch.Tensor] = Noneattention_mask: typing.Optional[torch.LongTensor] = Nonereturn_loss: bool | None = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → ClvpOutput or tuple(torch.Tensor)

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?

  • input_features (torch.Tensor, şekli (batch_size, sequence_length, feature_dim), isteğe bağlı) — Giriş ses özelliklerine karşılık gelen tensörler. Ses özellikleri ClvpFeatureExtractor kullanılarak elde edilebilir. Ayrıntılar için ClvpFeatureExtractor.call() bölümüne bakın (ClvpProcessor, sesleri işlemek için ClvpFeatureExtractor kullanır).
  • conditioning_encoder_inputs_embeds (torch.Tensor, isteğe bağlı) — ClvpConditioningEncoder için inputs_embeds. input_ids yerine kullanılabilir.
  • text_encoder_inputs_embeds (torch.Tensor, isteğe bağlı) — input_ids yerine metin kodlayıcı modeli için geçirilen inputs_embeds.
  • attention_mask (torch.LongTensor ş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?

  • return_loss (bool, isteğe bağlı) — Karşıtlık kaybının (contrastive loss) döndürülüp döndürülmeyeceği.

Dönüş değeri

ClvpOutput veya tuple(torch.Tensor)

ClvpOutput veya bir torch.Tensor demeti (eğer return_dict=False geçirildiyse veya config.return_dict=False ise), yapılandırmaya (ClvpConfig) ve girdilere bağlı olarak çeşitli öğelerden oluşur.

ClvpModelForConditionalGeneration 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.Tensor, şekli (1,), opsiyonel, return_loss True olduğunda döndürülür) — Ses-metin benzerliği için kontrastif kayıp.
  • speech_ids (torch.LongTensor, isteğe bağlı) — ClvpForCausalLM modeli tarafından üretilen speech_ids (veya speech adayları).
  • logits_per_speech (torch.Tensor, şekli (speech_batch_size, text_batch_size)) — speech_embeds ile text_embeds arasındaki ölçekli nokta çarpımı puanları. Bu, konuşma-metin benzerlik puanlarını temsil eder.
  • logits_per_text (torch.Tensor, şekli (text_batch_size, speech_batch_size)) — text_embeds ile speech_embeds arasındaki ölçekli nokta çarpımı puanları. Bu, metin-konuşma benzerlik puanlarını temsil eder.
  • text_embeds (torch.Tensor, şekli (batch_size, output_dim) — Metin kodlayıcısının havuzlanmış çıktısına projeksiyon katmanının uygulanmasıyla elde edilen metin gömme değerleri
  • speech_embeds (torch.Tensor, şekli (batch_size, output_dim) — Ses kodlayıcı modelinin havuzlanmış çıktısına projeksiyon katmanının uygulanmasıyla elde edilen ses gömme değerleri
  • text_model_output (~modeling_outputs.BaseModelOutputWithPooling, isteğe bağlı) — Metin kodlayıcı Model'inin last_hidden_state'inin havuzlanmış çıktısı.
  • speech_model_output (~modeling_outputs.BaseModelOutputWithPooling, isteğe bağlı) — Ses kodlayıcı Model'inin last_hidden_state'inin havuzlanmış çıktısı.
  • decoder_hidden_states (torch.Tensor, isteğe bağlı) — Dekoder modelinin gizli durumları.
  • text_encoder_hidden_states (torch.Tensor, isteğe bağlı) — Metin kodlayıcı modelinin gizli durumları.
  • speech_encoder_hidden_states (torch.Tensor, isteğe bağlı) — Ses kodlayıcı modelinin gizli durumları.

Örnekler:

>>> import datasets
>>> from transformers import ClvpProcessor, ClvpModelForConditionalGeneration

>>> # Define the Text and Load the Audio (We are taking an audio example from HuggingFace Hub using `datasets` library)
>>> text = "This is an example text."

>>> ds = datasets.load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
>>> ds = ds.cast_column("audio", datasets.Audio(sampling_rate=22050))
>>> audio = ds.sort("id")["audio"][0]
>>> audio_sample, sr = audio["array"], audio["sampling_rate"]

>>> # Define processor and model
>>> processor = ClvpProcessor.from_pretrained("susnato/clvp_dev")
>>> model = ClvpModelForConditionalGeneration.from_pretrained("susnato/clvp_dev")

>>> # processor outputs and model outputs
>>> processor_output = processor(raw_speech=audio_sample, sampling_rate=sr, text=text, return_tensors="pt")
>>> outputs = model(
...     input_ids=processor_output["input_ids"],
...     input_features=processor_output["input_features"],
...     return_dict=True,
... )

generate

< >

( input_ids: typing.Optional[torch.LongTensor] = Noneinput_features: typing.Optional[torch.Tensor] = Noneattention_mask: typing.Optional[torch.LongTensor] = Nonegeneration_config: transformers.generation.configuration_utils.GenerationConfig | None = Nonepad_to_max_mel_tokens: int | None = Noneoutput_hidden_states: bool | None = None**kwargs ) → ClvpOutput or tuple

Parametreler

  • input_ids (torch.Tensor, şekli (batch_size, sequence_length), isteğe bağlı) — Girdi metin Token'ları. ClvpTokenizer tarafından işlenir.
  • attention_mask (torch.Tensor şeklinde (batch_size, sequence_length), isteğe bağlı) — Doldurma (padding) metin token dizinlerinde dikkat (attention) işleminin uygulanmaması 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?

  • generation_config (~generation.GenerationConfig, isteğe bağlı) — Üretim çağrısı için temel parametrelendirme olarak kullanılacak üretim yapılandırması. **kwargs generate'e aktarılan ve generation_config öznitelikleriyle eşleşenler bunları geçersiz kılar. generation_config sağlanmazsa, varsayılanı kullanılır; bunun yükleme önceliği şudur: 1) varsa generation_config.json model dosyasından; 2) model yapılandırmasından. Belirtilmeyen parametrelerin GenerationConfig'in varsayılan değerlerini devraldığını ve üretimi parametrelendirmek için belgesinin kontrol edilmesi gerektiğini lütfen unutmayın.
  • pad_to_max_mel_tokens (int, isteğe bağlı) — Üretilen speech_ids değerini belirtilen değere kadar doldurur. Bu, resmi depo ile aynı mantığı uygulamak içindir, bağlantı: https://github.com/neonbjb/tortoise-tts/blob/80f89987a5abda5e2b082618cd74f9c7411141dc/tortoise/api.py#L430 ve logits'lerin aynı olmasını sağlamak içindir. Bu, üretim kalitesini etkilemediğinden daha az verimli olduğu için kullanmayı düşünmeyin.
  • output_hidden_states (bool, isteğe bağlı) — Çözücü modelin, metin kodlayıcısının ve konuşma kodlayıcısının gizli durumlarının döndürülüp döndürülmeyeceği.

Dönüş değeri

ClvpOutput veya tuple

ClvpOutput (eğer return_dict_in_generate=True ise veya config.return_dict_in_generate=True ise) ya da bir tuple.

ClvpModelForConditionalGeneration için Generate yöntemi, bu yöntem ClvpForCausalLM'nin generate yöntemini çağırır ve ardından üretilen speech_ids'leri kullanarak ClvpEncoder ile text_embeds ve speech_embeds'leri işler.

get_text_features

< >

( input_ids: typing.Optional[torch.LongTensor] = Nonetext_encoder_inputs_embeds: typing.Optional[torch.Tensor] = Noneattention_mask: typing.Optional[torch.LongTensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → ClvpEncoderOutput or tuple(torch.Tensor)

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?

  • text_encoder_inputs_embeds (torch.Tensor, isteğe bağlı) — input_ids yerine metin kodlayıcı modeli için geçirilen inputs_embeds.
  • attention_mask (torch.LongTensor ş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?

Dönüş değeri

ClvpEncoderOutput veya tuple(torch.Tensor)

ClvpEncoderOutput veya bir torch.Tensor demeti (eğer return_dict=False geçirildiyse veya config.return_dict=False ise), yapılandırmaya (ClvpConfig) ve girdilere bağlı olarak çeşitli öğelerden oluşur.

Bu yöntem, bir metinden text_embeds çıkarmak için kullanılabilir. Metin gömleleri, CLVP metin kodlayıcı modelinin havuzlanmış çıktısına projeksiyon katmanının uygulanmasıyla elde edilir.

  • embeds (torch.Tensor, şekli (batch_size, output_dim), opsiyonel, model with_projection=True ile başlatıldığında döndürülür) — pooler_output'a projeksiyon katmanının uygulanmasıyla elde edilen gömme değerleri.

  • last_hidden_state (torch.Tensor, şekli (batch_size, sequence_length, hidden_size)) — Modelin son katmanının gizli durumu.

  • pooler_output (torch.Tensor, şekli (batch_size, hidden_size)) — last_hidden_state'in havuzlanmış çıktısı.

  • hidden_states (tuple[torch.Tensor], isteğe bağlı, output_hidden_states=True geçirildiğinde veya config.output_hidden_states=True olduğunda döndürülür) — torch.Tensor (gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için bir tane) içeren, (batch_size, sequence_length, hidden_size) biçiminde bir demet.

    Her katmanın çıktısında modelin gizli durumları ve isteğe bağlı başlangıç gömme çıktıları.

  • attentions (tuple[torch.Tensor], isteğe bağlı, output_attentions=True geçirildiğinde veya config.output_attentions=True olduğunda döndürülür) — torch.Tensor (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.

Örnekler:

>>> from transformers import ClvpProcessor, ClvpModelForConditionalGeneration

>>> # Define the Text
>>> text = "This is an example text."

>>> # Define processor and model
>>> processor = ClvpProcessor.from_pretrained("susnato/clvp_dev")
>>> model = ClvpModelForConditionalGeneration.from_pretrained("susnato/clvp_dev")

>>> # Generate processor output and text embeds
>>> processor_output = processor(text=text, return_tensors="pt")
>>> text_embeds = model.get_text_features(input_ids=processor_output["input_ids"])

get_speech_features

< >

( speech_ids: typing.Optional[torch.LongTensor] = Noneinput_ids: typing.Optional[torch.LongTensor] = Noneinput_features: typing.Optional[torch.Tensor] = Noneconditioning_encoder_inputs_embeds: typing.Optional[torch.Tensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Nonegeneration_config: transformers.generation.configuration_utils.GenerationConfig | None = None**kwargs ) → torch.Tensor of shape (batch_size, output_dim)

Parametreler

  • speech_ids (torch.LongTensor, şekli (batch_size, num_speech_ids), isteğe bağlı) — Ses Token'ları. Sağlarsanız, dolgu (padding) varsayılan olarak yok sayılır. speech_ids sağlanırsa input_ids ve input_features otomatik olarak yok sayılır.
  • input_ids (torch.LongTensor, şekli (batch_size, sequence_length), isteğe bağlı) — Giriş metin Token'ları. ClvpTokenizer tarafından işlenir. speech_ids sağlanmazsa, input_ids ve input_features kullanılır.
  • conditioning_encoder_inputs_embeds (torch.Tensor, isteğe bağlı) — ClvpConditioningEncoder için inputs_embeds. input_ids yerine kullanılabilir.
  • attention_mask (torch.LongTensor şeklinde (batch_size, sequence_length), isteğe bağlı) — Doldurma konuşma jetonu indekslerinde dikkat işleminin uygulanmaması için maske. Seçilen maske değerleri [0, 1]:
    • 1, maskelenmemiş jetonlar için,
    • maskelenmiş jetonlar için 0.

    Dikkat maskeleri nedir?

  • generation_config (GenerationConfig, isteğe bağlı) — speech_ids sağlanmadığında speech_ids üretiminin kontrolü için generation config.

Dönüş değeri

torch.Tensor, şekli (batch_size, output_dim)

CLVP Speech Model'in havuzlanmış çıktısına projeksiyon katmanının uygulanmasıyla elde edilen konuşma gömme değerleri.

Bu yöntem, speech_embeds çıkarımı için kullanılabilir. Ses gömlemleri, speech_ids üzerine ses modelinin uygulanmasıyla elde edilir. speech_ids mevcut değilse ancak hem input_ids hem de input_features verilirse, önce speech_ids'leri üretmek için decoder modeli kullanılır ve ardından ses modeli uygulanır.

Örnekler:

>>> import datasets
>>> from transformers import ClvpProcessor, ClvpModelForConditionalGeneration

>>> # Define the Text and Load the Audio (We are taking an audio example from HuggingFace Hub using `datasets` library)
>>> text = "This is an example text."
>>> ds = datasets.load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
>>> ds = ds.cast_column("audio", datasets.Audio(sampling_rate=22050))
>>> audio = ds.sort("id")["audio"][0]
>>> audio_sample, sr = audio["array"], audio["sampling_rate"]

>>> # Define processor and model
>>> processor = ClvpProcessor.from_pretrained("susnato/clvp_dev")
>>> model = ClvpModelForConditionalGeneration.from_pretrained("susnato/clvp_dev")

>>> # Generate processor output and model output
>>> processor_output = processor(raw_speech=audio_sample, sampling_rate=sr, text=text, return_tensors="pt")
>>> speech_embeds = model.get_speech_features(
...     input_ids=processor_output["input_ids"], input_features=processor_output["input_features"]
... )

ClvpForCausalLM

sınıf transformers.ClvpForCausalLM

< >

( config: ClvpDecoderConfig )

Parametreler

  • config (ClvpDecoderConfig) — 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.

Üstünde bir dil modelleme başlığı bulunan CLVP çözücü 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] = Nonepast_key_values: transformers.cache_utils.Cache | None = Noneattention_mask: typing.Optional[torch.Tensor] = Nonetoken_type_ids: typing.Optional[torch.LongTensor] = Noneposition_ids: typing.Optional[torch.LongTensor] = Noneinputs_embeds: typing.Optional[torch.Tensor] = Nonelabels: typing.Optional[torch.LongTensor] = Noneuse_cache: bool | None = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → CausalLMOutputWithCrossAttentions or tuple(torch.Tensor)

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?

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

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

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

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

  • inputs_embeds (torch.Tensor, ş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 matrisinden daha fazla kontrol sahibi olmak istiyorsanız faydalıdır.
  • labels (torch.LongTensor, şekli (batch_size, sequence_length), isteğe bağlı) — Dil modelleme için etiketler. Not: Etiketler model içinde kaydırılır, yani labels = input_ids olarak ayarlayabilirsiniz. İndisler [-100, 0, ..., config.vocab_size] aralığından seçilir. -100 olarak ayarlanan tüm etiketler yoksayılır (maske uygulanır), kayıp yalnızca [0, ..., config.vocab_size] aralığındaki etiketler 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).

Dönüş değeri

CausalLMOutputWithCrossAttentions veya tuple(torch.Tensor)

A CausalLMOutputWithCrossAttentions veya bir torch.Tensor demeti (eğer return_dict=False geçirildiyse veya config.return_dict=False ise), yapılandırmaya (ClvpConfig) ve girdilere bağlı olarak çeşitli öğelerden oluşur.

ClvpForCausalLM 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.Tensor, şekli (1,), isteğe bağlı, labels sağlandığında döndürülür) — Dil modelleme kaybı (sonraki token tahmini için).

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

  • hidden_states (tuple(torch.Tensor), isteğe bağlı, output_hidden_states=True geçirildiğinde veya config.output_hidden_states=True olduğunda döndürülür) — torch.Tensor (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.Tensor), isteğe bağlı, output_attentions=True geçirildiğinde veya config.output_attentions=True olduğunda döndürülür) — torch.Tensor (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.

  • cross_attentions (tuple(torch.Tensor), isteğe bağlı, output_attentions=True geçirildiğinde veya config.output_attentions=True olduğunda döndürülür) — (batch_size, num_heads, sequence_length, sequence_length) biçiminde, her katman için bir adet içeren torch.Tensor demeti.

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

  • 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ı (dikkat bloklarındaki anahtar ve değerler) içerir.

ClvpModel

sınıf transformers.ClvpModel

< >

( config: ClvpDecoderConfig )

Parametreler

  • config (ClvpDecoderConfig) — 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.

Üzerinde herhangi bir özel head olmadan ham hidden-state'ler üreten çıplak Clvp Model.

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] = Nonetoken_type_ids: typing.Optional[torch.LongTensor] = Noneposition_ids: typing.Optional[torch.LongTensor] = Nonepast_key_values: transformers.cache_utils.Cache | None = Noneinputs_embeds: typing.Optional[torch.Tensor] = Noneuse_cache: bool | None = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutputWithPastAndCrossAttentions or tuple(torch.Tensor)

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?

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

  • 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.Tensor, ş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 matrisinden 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

BaseModelOutputWithPastAndCrossAttentions veya tuple(torch.Tensor)

A BaseModelOutputWithPastAndCrossAttentions veya bir torch.Tensor demeti (eğer return_dict=False geçirildiyse veya config.return_dict=False ise), yapılandırmaya (ClvpConfig) ve girdilere bağlı olarak çeşitli öğelerden oluşur.

ClvpModel 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.Tensor, şekli (batch_size, sequence_length, hidden_size)) — Modelin son katmanının çıktısındaki gizli durumlar dizisi.

    past_key_values kullanılırsa, yalnızca (batch_size, 1, hidden_size) biçimindeki dizilerin son gizli durumu (hidden-state) çıktı olarak verilir.

  • past_key_values (Cache, isteğe bağlı, use_cache=True geçirildiğinde veya config.use_cache=True olduğunda döndürülür) — Bir Cache ö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.Tensor), isteğe bağlı, output_hidden_states=True geçirildiğinde veya config.output_hidden_states=True olduğunda döndürülür) — torch.Tensor (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.Tensor), isteğe bağlı, output_attentions=True geçirildiğinde veya config.output_attentions=True olduğunda döndürülür) — torch.Tensor (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.

  • cross_attentions (tuple(torch.Tensor), isteğe bağlı, output_attentions=True ve config.add_cross_attention=True geçirildiğinde veya config.output_attentions=True olduğunda döndürülür) — (batch_size, num_heads, sequence_length, sequence_length) biçiminde, her katman için bir adet içeren torch.Tensor demeti.

    Dekoderin çapraz dikkat katmanının dikkat ağırlıkları, dikkat softmax'ından sonra, çapraz dikkat başlıklarında ağırlıklı ortalamanın hesaplanmasında kullanılır.

ClvpEncoder

sınıf transformers.ClvpEncoder

< >

( config: ClvpEncoderConfig )

Parametreler

  • config — ClvpConfig

config.num_hidden_layers öz-dikkat katmanından oluşan Transformer kodlayıcı. Her katman bir ClvpEncoderLayer'dir.

forward

< >

( input_ids: typing.Optional[torch.LongTensor] = Noneinputs_embeds: typing.Optional[torch.LongTensor] = Noneattention_mask: typing.Optional[torch.LongTensor] = Noneposition_ids: typing.Optional[torch.LongTensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → ClvpEncoderOutput or tuple(torch.Tensor)

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?

  • inputs_embeds (torch.LongTensor, ş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 matrisinden daha fazla kontrol sahibi olmak istiyorsanız faydalıdır.
  • attention_mask (torch.LongTensor ş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?

Dönüş değeri

ClvpEncoderOutput veya tuple(torch.Tensor)

ClvpEncoderOutput veya bir torch.Tensor demeti (eğer return_dict=False geçirildiyse veya config.return_dict=False ise), yapılandırmaya (ClvpConfig) ve girdilere bağlı olarak çeşitli öğelerden oluşur.

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

  • embeds (torch.Tensor, şekli (batch_size, output_dim), opsiyonel, model with_projection=True ile başlatıldığında döndürülür) — pooler_output'a projeksiyon katmanının uygulanmasıyla elde edilen gömme değerleri.

  • last_hidden_state (torch.Tensor, şekli (batch_size, sequence_length, hidden_size)) — Modelin son katmanının gizli durumu.

  • pooler_output (torch.Tensor, şekli (batch_size, hidden_size)) — last_hidden_state'in havuzlanmış çıktısı.

  • hidden_states (tuple[torch.Tensor], isteğe bağlı, output_hidden_states=True geçirildiğinde veya config.output_hidden_states=True olduğunda döndürülür) — torch.Tensor (gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için bir tane) içeren, (batch_size, sequence_length, hidden_size) biçiminde bir demet.

    Her katmanın çıktısında modelin gizli durumları ve isteğe bağlı başlangıç gömme çıktıları.

  • attentions (tuple[torch.Tensor], isteğe bağlı, output_attentions=True geçirildiğinde veya config.output_attentions=True olduğunda döndürülür) — torch.Tensor (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.

ClvpDecoder

sınıf transformers.ClvpDecoder

< >

( config: ClvpDecoderConfig )

config.num_hidden_layers katmandan oluşan Transformer decoder. Her katman bir ClvpDecoderLayer'dir.

forward

< >

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

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?

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

  • 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.Tensor, ş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 matrisinden 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

BaseModelOutputWithPastAndCrossAttentions veya tuple(torch.Tensor)

A BaseModelOutputWithPastAndCrossAttentions veya bir torch.Tensor demeti (eğer return_dict=False geçirildiyse veya config.return_dict=False ise), yapılandırmaya (ClvpConfig) ve girdilere bağlı olarak çeşitli öğelerden oluşur.

ClvpDecoder 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.Tensor, şekli (batch_size, sequence_length, hidden_size)) — Modelin son katmanının çıktısındaki gizli durumlar dizisi.

    past_key_values kullanılırsa, yalnızca (batch_size, 1, hidden_size) biçimindeki dizilerin son gizli durumu (hidden-state) çıktı olarak verilir.

  • past_key_values (Cache, isteğe bağlı, use_cache=True geçirildiğinde veya config.use_cache=True olduğunda döndürülür) — Bir Cache ö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.Tensor), isteğe bağlı, output_hidden_states=True geçirildiğinde veya config.output_hidden_states=True olduğunda döndürülür) — torch.Tensor (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.Tensor), isteğe bağlı, output_attentions=True geçirildiğinde veya config.output_attentions=True olduğunda döndürülür) — torch.Tensor (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.

  • cross_attentions (tuple(torch.Tensor), isteğe bağlı, output_attentions=True ve config.add_cross_attention=True geçirildiğinde veya config.output_attentions=True olduğunda döndürülür) — (batch_size, num_heads, sequence_length, sequence_length) biçiminde, her katman için bir adet içeren torch.Tensor demeti.

    Dekoderin çapraz dikkat katmanının dikkat ağırlıkları, dikkat softmax'ından sonra, çapraz dikkat başlıklarında ağırlıklı ortalamanın hesaplanmasında kullanılır.

Update on GitHub