Transformers documentation
CLVP
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ı
- CLVP, Tortoise TTS modelinin ayrılmaz bir parçasıdır.
- 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.
- Tortoise kullanımı için
ClvpModelForConditionalGeneration.generate()metodunun kullanılması şiddetle önerilir. - 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
< 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: 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ılan768) — Metin ve görme projeksiyon katmanlarının boyutluluğu. - logit_scale_init_value (
float, isteğe bağlı, varsayılan2.6592) — logit_scale parametresinin başlangıç değeri. - initializer_factor (
float, isteğe bağlı, varsayılan1.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
< 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 = 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ılan256) — Modelin sözlük boyutu.input_idstarafından temsil edilebilecek farklı token sayısını tanımlar. - hidden_size (
int, isteğe bağlı, varsayılan768) — Gizli temsillerin boyutu. - intermediate_size (
int, isteğe bağlı, varsayılan1536) — MLP temsillerinin boyutu. - projection_dim (
int, isteğe bağlı, varsayılan768) — Metin ve görme projeksiyon katmanlarının boyutluluğu. - num_hidden_layers (
int, isteğe bağlı, varsayılan20) — Transformer çözücüdeki gizli katman sayısı. - num_attention_heads (
int, isteğe bağlı, varsayılan12) — Transformer decoder'ındaki her dikkat katmanı için dikkat başı sayısı. - hidden_act (
str, isteğe bağlı, varsayılangelu) — Çö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ılan1e-05) — Katman normalizasyon katmanları tarafından kullanılan epsilon. - attention_dropout (
Union[float, int], isteğe bağlı, varsayılan0.1) — Dikkat olasılıkları için dropout oranı. - dropout (
Union[float, int], isteğe bağlı, varsayılan0.1) — Tüm dropout katmanları için oran. - use_rotary_embedding (
bool, isteğe bağlı, varsayılanTrue) — rotary_embedding kullanılacak mı? - use_attention_bias (
bool, isteğe bağlı, varsayılanFalse) — Ö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ılan1.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ılan255) — 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ılan0) — 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.configClvpDecoderConfig
sınıf transformers.ClvpDecoderConfig
< 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 = 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ılan8194) — Modelin sözlük boyutu.input_idstarafından temsil edilebilecek farklı token sayısını tanımlar. - max_position_embeddings (
int, isteğe bağlı, varsayılan608) — 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.GPT2Configiçindekin_positionsile benzerdir. - hidden_size (
int, isteğe bağlı, varsayılan1024) — Gizli temsillerin boyutu. - num_hidden_layers (
int, isteğe bağlı, varsayılan30) — Transformer çözücüdeki gizli katman sayısı. - num_attention_heads (
int, isteğe bağlı, varsayılan16) — 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, bunuhidden_size'in 4 katı olarak ayarlar. - num_mel_attn_blocks (
int, isteğe bağlı, varsayılan 6) —ClvpConditioningEncoderiçindeki öz-dikkat katmanlarının sayısını belirtir. - activation_function (
str, isteğe bağlı, varsayılangelu_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ılan0.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ılan0.1) — Gömme katmanı için dropout oranı. - attention_dropout (
Union[float, int], isteğe bağlı, varsayılan0.1) — Dikkat olasılıkları için dropout oranı. - layer_norm_epsilon (
float, isteğe bağlı, varsayılan1e-05) — Katman normalizasyon katmanları tarafından kullanılan epsilon. - 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ı. - 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ılanTrue) — 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ılanTrue) — Projeksiyon çıktılarıconfig.num_labelsya daconfig.hidden_sizesı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ı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. - bos_token_id (
int, isteğe bağlı, varsayılan8192) — 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ılan8193) — 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ğerClvpConditioningEncoderiçinde kullanılır. - use_attention_bias (
bool, isteğe bağlı, varsayılanTrue) — Ö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ılan1.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_outputyönteminde, decoder tarafından üretilen çıktıları düzeltmek için kullanılır. - add_cross_attention (
bool, isteğe bağlı, varsayılanFalse) — 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.configClvpTokenizer
sınıf transformers.ClvpTokenizer
< source >( 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ılanFalse) — 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=Trueile 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
< source >( save_directory: strfilename_prefix: str | None = None ) → tuple[str, ...]
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
< source >( 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ındamax_lengthayarlanmazsa, otomatik olarak default_audio_length *self.sampling_ratedeğ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ılansampling_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ğufeature_size, isteğe bağlı) —mel_normssağ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 olarakFalse) — 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.
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__
< source >( 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_speechgirdisinin örneklenmiş olduğu örneklem hızı. Sessiz hataları önlemek ve otomatik konuşma tanıma hattına izin vermek için ileri çağrıdasampling_ratedeğerinin geçirilmesi şiddetle önerilir. - truncation (
bool, isteğe bağlı, varsayılanTrue) — 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 olarakTrue) — 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. - return_tensors (
strveya TensorType, isteğe bağlı) — Belirlenirse, Python tamsayı listesi yerine 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.
- 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
< source >( feature_extractortokenizer )
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__
< source >( *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, setis_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 (
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.
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.
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
< source >( 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
< source >( 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.
- 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ı) —ClvpConditioningEncoderiçin inputs_embeds.input_idsyerine kullanılabilir. - text_encoder_inputs_embeds (
torch.Tensor, isteğe bağlı) —input_idsyerine 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.
- 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_lossTrueolduğunda döndürülür) — Ses-metin benzerliği için kontrastif kayıp. - speech_ids (
torch.LongTensor, isteğe bağlı) —ClvpForCausalLMmodeli tarafından üretilen speech_ids (veya speech adayları). - logits_per_speech (
torch.Tensor, şekli(speech_batch_size, text_batch_size)) —speech_embedsiletext_embedsarası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_embedsilespeech_embedsarası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'ininlast_hidden_state'inin havuzlanmış çıktısı. - speech_model_output (
~modeling_outputs.BaseModelOutputWithPooling, isteğe bağlı) — Ses kodlayıcı Model'ininlast_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
< source >( 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.
- generation_config (
~generation.GenerationConfig, isteğe bağlı) — Üretim çağrısı için temel parametrelendirme olarak kullanılacak üretim yapılandırması.**kwargsgenerate'e aktarılan vegeneration_configöznitelikleriyle eşleşenler bunları geçersiz kılar.generation_configsağlanmazsa, varsayılanı kullanılır; bunun yükleme önceliği şudur: 1) varsageneration_config.jsonmodel 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
< source >( 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.
- text_encoder_inputs_embeds (
torch.Tensor, isteğe bağlı) —input_idsyerine 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.
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, modelwith_projection=Trueile 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=Truegeçirildiğinde veyaconfig.output_hidden_states=Trueolduğ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=Truegeçirildiğinde veyaconfig.output_attentions=Trueolduğ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
< source >( 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ı) —ClvpConditioningEncoderiçin inputs_embeds.input_idsyerine 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.
- 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
< source >( 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
< source >( 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.
- 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. - 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.
- 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.
- 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]. - inputs_embeds (
torch.Tensor, ş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 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, yanilabels = input_idsolarak ayarlayabilirsiniz. İndisler[-100, 0, ..., config.vocab_size]aralığından seçilir.-100olarak 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ı) —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
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ı,labelssağ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=Truegeçirildiğinde veyaconfig.output_hidden_states=Trueolduğ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=Truegeçirildiğinde veyaconfig.output_attentions=Trueolduğ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=Truegeçirildiğinde veyaconfig.output_attentions=Trueolduğunda döndürülür) —(batch_size, num_heads, sequence_length, sequence_length)biçiminde, her katman için bir adet içerentorch.Tensordemeti.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=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ı (dikkat bloklarındaki anahtar ve değerler) içerir.
ClvpModel
sınıf transformers.ClvpModel
< source >( 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
< source >( 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.
- 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.
- 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.
- 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.Tensor, ş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 matrisinden 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
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_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.Tensor), isteğe bağlı,output_hidden_states=Truegeçirildiğinde veyaconfig.output_hidden_states=Trueolduğ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=Truegeçirildiğinde veyaconfig.output_attentions=Trueolduğ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=Trueveconfig.add_cross_attention=Truegeçirildiğinde veyaconfig.output_attentions=Trueolduğunda döndürülür) —(batch_size, num_heads, sequence_length, sequence_length)biçiminde, her katman için bir adet içerentorch.Tensordemeti.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
< source >( config: ClvpEncoderConfig )
config.num_hidden_layers öz-dikkat katmanından oluşan Transformer kodlayıcı. Her katman bir ClvpEncoderLayer'dir.
forward
< source >( 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.
- inputs_embeds (
torch.LongTensor, ş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 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.
- 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].
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, modelwith_projection=Trueile 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=Truegeçirildiğinde veyaconfig.output_hidden_states=Trueolduğ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=Truegeçirildiğinde veyaconfig.output_attentions=Trueolduğ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
config.num_hidden_layers katmandan oluşan Transformer decoder. Her katman bir ClvpDecoderLayer'dir.
forward
< source >( 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.
- 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.
- 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.
- 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.Tensor, ş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 matrisinden 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
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_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.Tensor), isteğe bağlı,output_hidden_states=Truegeçirildiğinde veyaconfig.output_hidden_states=Trueolduğ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=Truegeçirildiğinde veyaconfig.output_attentions=Trueolduğ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=Trueveconfig.add_cross_attention=Truegeçirildiğinde veyaconfig.output_attentions=Trueolduğunda döndürülür) —(batch_size, num_heads, sequence_length, sequence_length)biçiminde, her katman için bir adet içerentorch.Tensordemeti.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.