# Speech2Text

## Genel Bakış

Speech2Text modeli, Changhan Wang, Yun Tang, Xutai Ma, Anne Wu, Dmytro Okhonko ve Juan Pino tarafından [fairseq S2T: Fast Speech-to-Text Modeling with fairseq](https://huggingface.co/papers/2010.05171) makalesinde önerilmiştir. Uçtan uca Otomatik Konuşma Tanıma (ASR) ve Konuşma Çevirisi (ST) için tasarlanmış, transformer tabanlı bir seq2seq (kodlayıcı-çözücü) modelidir. Model, girdilerin kodlayıcıya aktarılmasından önce konuşma girdilerinin uzunluğunu 3/4 oranında azaltmak için konvolüsyonel bir indirgeme (downsampler) kullanır. Model, standart otoregresif çapraz entropi kaybıyla eğitilir ve transkriptleri/çevirileri otoregresif olarak üretir. Speech2Text, ASR ve ST için çeşitli veri setlerinde ince ayarlanmıştır: [LibriSpeech](http://www.openslr.org/12), [CoVoST 2](https://github.com/facebookresearch/covost), [MuST-C](https://ict.fbk.eu/must-c/).

Bu model [valhalla](https://huggingface.co/valhalla) tarafından katkıda bulunmuştur. Orijinal kod [burada](https://github.com/pytorch/fairseq/tree/master/examples/speech_to_text) bulunabilir.

## Çıkarım

Speech2Text, ses sinyalinden çıkarılan log-mel filtre bankası özelliklerinin oluşturduğu bir float tensörünü kabul eden bir ses modelidir. Transformer tabanlı bir seq2seq model olduğu için transkriptler/çeviriler otoregresif olarak üretilir. Çıkarım için `generate()` metodu kullanılabilir.

[Speech2TextFeatureExtractor](/docs/transformers/main/tr/model_doc/speech_to_text#transformers.Speech2TextFeatureExtractor) sınıfı, log-mel filtre bankası özelliklerini çıkarmaktan sorumludur. [Speech2TextProcessor](/docs/transformers/main/tr/model_doc/speech_to_text#transformers.Speech2TextProcessor), hem girdi özelliklerini çıkarmak hem de tahmin edilen token kimliklerini çözmek için [Speech2TextFeatureExtractor](/docs/transformers/main/tr/model_doc/speech_to_text#transformers.Speech2TextFeatureExtractor) ve [Speech2TextTokenizer](/docs/transformers/main/tr/model_doc/speech_to_text#transformers.Speech2TextTokenizer) bileşenlerini tek bir örnekte birleştirir.

Özellik çıkarıcı `torchaudio` paketine, belirteçleyici ise `sentencepiece` paketine bağımlıdır; bu nedenle örnekleri çalıştırmadan önce bu paketleri yüklediğinizden emin olun. Bu paketleri `pip install transformers"[speech, sentencepiece]"` komutuyla ek ses bağımlılıkları olarak yükleyebilir veya `pip install torchaudio sentencepiece` komutuyla ayrı ayrı yükleyebilirsiniz. Ayrıca `torchaudio`, sistem paket yöneticisi aracılığıyla yüklenebilen [libsndfile](http://www.mega-nerd.com/libsndfile/) paketinin geliştirme sürümünü gerektirir. Ubuntu’da aşağıdaki gibi yüklenebilir: `apt install libsndfile1-dev`

- ASR ve Konuşma Çevirisi

```python
from datasets import load_dataset

from transformers import Speech2TextForConditionalGeneration, Speech2TextProcessor

model = Speech2TextForConditionalGeneration.from_pretrained("facebook/s2t-small-librispeech-asr", device_map="auto")
processor = Speech2TextProcessor.from_pretrained("facebook/s2t-small-librispeech-asr")

ds = load_dataset("hf-internal-testing/librispeech_asr_demo", "clean", split="validation")

inputs = processor(ds[0]["audio"]["array"], sampling_rate=ds[0]["audio"]["sampling_rate"], return_tensors="pt").to(model.device)
generated_ids = model.generate(inputs["input_features"], attention_mask=inputs["attention_mask"])

transcription = processor.batch_decode(generated_ids, skip_special_tokens=True)
transcription
['mister quilter is the apostle of the middle classes and we are glad to welcome his gospel']
```

- Çok dilli konuşma çevirisi

  Çok dilli konuşma çeviri modellerinde, `eos_token_id`, `decoder_start_token_id` olarak kullanılır ve hedef dil kimliği, ilk üretilen token olarak zorlanır. Hedef dil kimliğini ilk üretilen token olarak zorlamak için `forced_bos_token_id` parametresini `generate()` metoduna iletin. Aşağıdaki örnek, *facebook/s2t-medium-mustc-multilingual-st* kontrol noktasını kullanarak İngilizce konuşmayı Fransızca metne nasıl çevireceğinizi gösterir.

```python
from datasets import load_dataset

from transformers import Speech2TextForConditionalGeneration, Speech2TextProcessor

model = Speech2TextForConditionalGeneration.from_pretrained("facebook/s2t-medium-mustc-multilingual-st", device_map="auto")
processor = Speech2TextProcessor.from_pretrained("facebook/s2t-medium-mustc-multilingual-st")

ds = load_dataset("hf-internal-testing/librispeech_asr_demo", "clean", split="validation")

inputs = processor(ds[0]["audio"]["array"], sampling_rate=ds[0]["audio"]["sampling_rate"], return_tensors="pt").to(model.device)
generated_ids = model.generate(
    inputs["input_features"],
    attention_mask=inputs["attention_mask"],
    forced_bos_token_id=processor.tokenizer.lang_code_to_id["fr"],
)

translation = processor.batch_decode(generated_ids, skip_special_tokens=True)
translation
["(Vidéo) Si M. Kilder est l'apossible des classes moyennes, et nous sommes heureux d'être accueillis dans son évangile."]
```

Speech2Text kontrol noktalarını aramak için [model hub](https://huggingface.co/models?filter=speech_to_text)'a bakın.

## Speech2TextConfig[[transformers.Speech2TextConfig]]

#### transformers.Speech2TextConfig[[transformers.Speech2TextConfig]]

```python
transformers.Speech2TextConfig(transformers_version: str | None = None, architectures: list[str] | None = None, output_hidden_states: bool | None = False, return_dict: bool | None = True, dtype: str | torch.dtype | None = None, chunk_size_feed_forward: int = 0, id2label: dict[int, str] | dict[str, str] | None = None, label2id: dict[str, int] | dict[str, str] | None = None, problem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = None, is_encoder_decoder: bool = True, vocab_size: int = 10000, encoder_layers: int = 12, encoder_ffn_dim: int = 2048, encoder_attention_heads: int = 4, decoder_layers: int = 6, decoder_ffn_dim: int = 2048, decoder_attention_heads: int = 4, encoder_layerdrop: float | int = 0.0, decoder_layerdrop: float | int = 0.0, use_cache: bool = True, activation_function: str = 'relu', d_model: int = 256, dropout: float | int = 0.1, attention_dropout: float | int = 0.0, activation_dropout: float | int = 0.0, init_std: float = 0.02, decoder_start_token_id: int = 2, scale_embedding: bool = True, pad_token_id: int | None = 1, bos_token_id: int | None = 0, eos_token_id: int | list[int] | None = 2, max_source_positions: int = 6000, max_target_positions: int = 1024, num_conv_layers: int = 2, conv_kernel_sizes: list[int] | tuple[int, ...] = (5, 5), conv_channels: int = 1024, input_feat_per_channel: int = 80, input_channels: int = 1, tie_word_embeddings: bool = True)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/speech_to_text/configuration_speech_to_text.py#L24)

**Parametreler:**

is_encoder_decoder (`bool`, *isteğe bağlı*, varsayılan `True`) : Modelin bir kodlayıcı/çözücü olarak kullanılıp kullanılmadığı.

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

encoder_layers (`int`, *isteğe bağlı*, varsayılan `12`) : Transformer kodlayıcısındaki gizli katman sayısı. Ayarlanmazsa `num_layers` ile aynı değeri kullanır.

encoder_ffn_dim (`int`, *opsiyonel*, varsayılan `2048`) : Kodlayıcıdaki "ara" (genellikle feed-forward olarak adlandırılan) katmanının boyutluluğu.

encoder_attention_heads (`int`, *isteğe bağlı*, varsayılan `4`) : Transformer kodlayıcısındaki her dikkat katmanı için dikkat başı sayısı.

decoder_layers (`int`, *isteğe bağlı*, varsayılan `6`) : Transformer decoder'ındaki gizli katman sayısı. Ayarlanmazsa `num_layers` ile aynı değer kullanılır.

decoder_ffn_dim (`int`, *opsiyonel*, varsayılan `2048`) : Dekoderdeki "ara" (genellikle feed-forward olarak adlandırılan) katmanın boyutluluğu.

decoder_attention_heads (`int`, *isteğe bağlı*, varsayılan `4`) : Transformer decoder'ındaki her dikkat katmanı için dikkat başı sayısı.

encoder_layerdrop (`Union[float, int]`, *isteğe bağlı*, varsayılan `0.0`) : Kodlayıcı için LayerDrop olasılığı. Daha fazla ayrıntı için [LayerDrop makalesine](see https://huggingface.co/papers/1909.11556) bakın.

decoder_layerdrop (`Union[float, int]`, *isteğe bağlı*, varsayılan `0.0`) : Çözücü için LayerDrop olasılığı. Daha fazla ayrıntı için [LayerDrop makalesine](see https://huggingface.co/papers/1909.11556) bakın.

use_cache (`bool`, *isteğe bağlı*, varsayılan `True`) : Modelin son anahtar/değer dikkatlerini döndürüp döndürmeyeceğini belirtir (tüm modellerde kullanılmaz). Yalnızca `config.is_decoder=True` olduğunda veya model yalnızca çözücü tabanlı üretken bir model olduğunda geçerlidir.

activation_function (`str`, *isteğe bağlı*, varsayılan `relu`) : Dekoderdeki doğrusal olmayan aktivasyon fonksiyonu (fonksiyon veya dize). Örneğin, `"gelu"`, `"relu"`, `"silu"` vb.

d_model (`int`, *isteğe bağlı*, varsayılan `256`) : Kodlayıcı katmanlarının ve havuzlayıcı katmanının boyutu.

dropout (`Union[float, int]`, *isteğe bağlı*, varsayılan `0.1`) : Tüm dropout katmanları için oran.

attention_dropout (`Union[float, int]`, *isteğe bağlı*, varsayılan `0.0`) : Dikkat olasılıkları için dropout oranı.

activation_dropout (`Union[float, int]`, *isteğe bağlı*, varsayılan `0.0`) : Tamamen bağlı katmandaki aktivasyonlar için dropout oranı.

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

decoder_start_token_id (`int`, *opsiyonel*, varsayılan `2`) : Bir kodlayıcı-çözücü modeli, `bos` ile farklı bir token ile çözümlemeye başlıyorsa, o token'ın kimliği.

scale_embedding (`bool`, *isteğe bağlı*, varsayılan `True`) : Gömme değerlerinin sqrt(d_model) değerine bölünerek ölçeklendirilip ölçeklendirilmeyeceğini belirtir.

pad_token_id (`int`, *isteğe bağlı*, varsayılan `1`) : Sözlükte dolgu için kullanılan token kimliği.

bos_token_id (`int`, *isteğe bağlı*, varsayılan `0`) : 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 `2`) : Sözlükte akış sonu için kullanılan token kimliği.

max_source_positions (`int`, *isteğe bağlı*, varsayılan 6000) : Bu modelin kullanılabileceği log-mel filtre bankası özelliklerinin maksimum dizi uzunluğu.

max_target_positions (`int`, *isteğe bağlı*, varsayılan 1024) : Bu modelin kullanılabileceği maksimum dizi uzunluğu. Genellikle, olası durumlara karşı bu değeri büyük bir sayı olarak ayarlayın (ör. 512 veya 1024 veya 2048).

num_conv_layers (`int`, *isteğe bağlı*, varsayılan 2) : Conv modülündeki 1D konvolüsyon katmanlarının sayısı.

conv_kernel_sizes (`tuple[int]`, *isteğe bağlı*, varsayılan `(5, 5)`) : conv modülündeki her 1D konvolüsyon katmanının çekirdek boyutunu tanımlayan tamsayılar dizisi. `conv_kernel_sizes`'in uzunluğu `num_conv_layers` ile eşleşmelidir.

conv_channels (`int`, *isteğe bağlı*, varsayılan 1024) : Conv modülündeki son katman hariç her konvolüsyon katmanının çıktı kanal sayısını tanımlayan bir tamsay.

input_feat_per_channel (`int`, *opsiyonel*, varsayılan 80) : Özellik vektörünün boyutunu belirten bir tamsay. Bu, aynı zamanda log-mel filtre bankası özelliklerinin boyutudur.

input_channels (`int`, *isteğe bağlı*, varsayılan `1`) : Girdi kanal sayısı.

tie_word_embeddings (`bool`, *isteğe bağlı*, varsayılan `True`) : Ağırlık gömme bağlamalarının, modelin `tied_weights_keys` eşlemesine göre yapılıp yapılmayacağını belirtir.

Bu, bir Speech2TextModel'in yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Speech To Text modelinin örneklenmesi ve model mimarisinin tanımlanması için kullanılır. Varsayılanlarla bir yapılandırma örneği oluşturmak, [facebook/s2t-small-librispeech-asr](https://huggingface.co/facebook/s2t-small-librispeech-asr) modelinin yapılandırmasına benzer bir yapılandırma elde edilmesini sağlar.

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

Örnek:

```python
>>> from transformers import Speech2TextConfig, Speech2TextModel

>>> # Initializing a Speech2Text s2t_transformer_s style configuration
>>> configuration = Speech2TextConfig()

>>> # Initializing a model (with random weights) from the s2t_transformer_s style configuration
>>> model = Speech2TextModel(configuration)

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

## Speech2TextTokenizer[[transformers.Speech2TextTokenizer]]

#### transformers.Speech2TextTokenizer[[transformers.Speech2TextTokenizer]]

```python
transformers.Speech2TextTokenizer(vocab_file, spm_file, bos_token = '<s>', eos_token = '</s>', pad_token = '<pad>', unk_token = '<unk>', do_upper_case = False, do_lower_case = False, tgt_lang = None, lang_codes = None, additional_special_tokens = None, sp_model_kwargs: dict[str, typing.Any] | None = None, **kwargs)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/speech_to_text/tokenization_speech_to_text.py#L49)

**Parametreler:**

vocab_file (`str`) : Sözlüğü içeren dosya.

spm_file (`str`) : [SentencePiece](https://github.com/google/sentencepiece) model dosyasının yolu

bos_token (`str`, *isteğe bağlı*, varsayılan `"<s>"`) : Cümle başlangıç belirteci.

eos_token (`str`, *isteğe bağlı*, varsayılan `"</s>"`) : Cümle sonu belirteci.

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.

pad_token (`str`, *isteğe bağlı*, varsayılan `"<pad>"`) : Dolgu için kullanılan jeton, örneğin farklı uzunluklardaki dizileri toplu işleme (batching) sırasında.

do_upper_case (`bool`, *isteğe bağlı*, varsayılan `False`) : Çözümleme sırasında çıktıyı büyük harfe çevirip çevirmeyeceğini belirtir.

do_lower_case (`bool`, *isteğe bağlı*, varsayılan `False`) : Tokenize sırasında girdinin küçük harfe dönüştürülüp dönüştürülmemesi.

tgt_lang (`str`, *isteğe bağlı*) : Hedef dili temsil eden bir dize.

sp_model_kwargs (`dict`, *isteğe bağlı*) : `SentencePieceProcessor.__init__()` yöntemine aktarılacaktır. [SentencePiece'in Python sarmalayıcısı](https://github.com/google/sentencepiece/tree/master/python), aşağıdakiler de dahil olmak üzere çeşitli ayarları yapmak için kullanılabilir: - `enable_sampling`: Alt kelime düzenlemesini (subword regularization) etkinleştirir. - `nbest_size`: Unigram için örneklem parametreleri. BPE-Dropout için geçersizdir. - `nbest_size = {0,1}`: Örneklem yapılmaz. - `nbest_size > 1`: nbest_size sonuçlarından örneklem yapılır. - `nbest_size < 0`: nbest_size'ın sonsuz olduğu varsayılır ve forward-filtering-and-backward-sampling algoritması kullanılarak tüm hipotezlerden (lattice) örneklem yapılır. - `alpha`: Unigram örneklemesi için yumuşatma parametresi ve BPE-dropout için birleştirme işlemlerinin atılma (dropout) olasılığı.

- ****kwargs** : [PreTrainedTokenizer](/docs/transformers/main/tr/main_classes/tokenizer#transformers.PythonBackend) sınıfına iletilen ek anahtar kelime argümanları

Speech2Text tokenizer'ı oluşturun.

Bu tokenizer, bazı ana yöntemleri içeren [PreTrainedTokenizer](/docs/transformers/main/tr/main_classes/tokenizer#transformers.PythonBackend) sınıfından devralır. Kullanıcıların bu tür yöntemler hakkında daha fazla bilgi için üst sınıfa başvurması gerekir.

#### build_inputs_with_special_tokens[[transformers.Speech2TextTokenizer.build_inputs_with_special_tokens]]

```python
build_inputs_with_special_tokens(token_ids_0, token_ids_1 = None)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/speech_to_text/tokenization_speech_to_text.py#L206)

Bir diziden model girdilerini, eos_token_id ekleyerek oluşturun.

#### get_special_tokens_mask[[transformers.Speech2TextTokenizer.get_special_tokens_mask]]

```python
get_special_tokens_mask(token_ids_0: list[int], token_ids_1: list[int] | None = None, already_has_special_tokens: bool = False)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/speech_to_text/tokenization_speech_to_text.py#L213)

**Parametreler:**

token_ids_0 (`list[int]`) : Kimlik listesi.

token_ids_1 (`list[int]`, *isteğe bağlı*) : Sıralı çiftler için isteğe bağlı ikinci kimlik listesi.

already_has_special_tokens (`bool`, *isteğe bağlı*, varsayılan `False`) : Token listesinin, model için özel token'larla zaten biçimlendirilmiş olup olmadığı.

**Dönüş:** `list[int]`

[0, 1] aralığında tamsayıların bir listesi: özel bir jeton için 1, bir dizi jetonu için 0.

Özel token eklenmemiş bir token listesinden dizi kimliklerini alır. Bu yöntem, tokenizer'ın `prepare_for_model` yöntemi kullanılarak özel token eklenirken çağrılır.

#### create_token_type_ids_from_sequences[[transformers.Speech2TextTokenizer.create_token_type_ids_from_sequences]]

```python
create_token_type_ids_from_sequences(token_ids_0: list[int], token_ids_1: list[int] | None = None)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_python.py#L1301)

**Parametreler:**

token_ids_0 (`list[int]`) : Kimlik listesi.

token_ids_1 (`list[int]`, *isteğe bağlı*) : Sıralı çiftler için isteğe bağlı ikinci kimlik listesi.

**Dönüş:** `list[int]`

Yapılandırılan desene göre token türü kimlikleri.

Bir sıralama çifti sınıflandırma görevinde kullanılacak şekilde, iletilen iki sıralamadan bir maske oluşturun.

Bu yöntem, belirteçsizin yapılandırma özniteliklerine dayanarak belirteç türü kimliklerini dinamik olarak oluşturur:
- `token_type_ids_pattern`: Kullanılacak desen ("all_zeros" veya "bert_style")
- `token_type_ids_include_special_tokens`: Uzunluk hesabında özel jetonların dikkate alınıp alınmayacağı

Örnekler:
```python
# All zeros pattern (default, used by RoBERTa, BART, etc.)
tokenizer.token_type_ids_pattern = "all_zeros"
# Returns: [0, 0, 0, ...] for both sequences

# BERT-style pattern (first sequence gets 0s, second gets 1s)
tokenizer.token_type_ids_pattern = "bert_style"
# Returns: [0, 0, 0, ..., 1, 1, 1, ...] for sequence pairs
```

#### save_vocabulary[[transformers.Speech2TextTokenizer.save_vocabulary]]

```python
save_vocabulary(save_directory: str, filename_prefix: str | None = None)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/speech_to_text/tokenization_speech_to_text.py#L257)

## Speech2TextFeatureExtractor[[transformers.Speech2TextFeatureExtractor]]

#### transformers.Speech2TextFeatureExtractor[[transformers.Speech2TextFeatureExtractor]]

```python
transformers.Speech2TextFeatureExtractor(feature_size = 80, sampling_rate = 16000, num_mel_bins = 80, padding_value = 0.0, dither = 0.0, do_ceptral_normalize = True, normalize_means = True, normalize_vars = True, **kwargs)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/speech_to_text/feature_extraction_speech_to_text.py#L33)

**Parametreler:**

feature_size (`int`, *isteğe bağlı*, varsayılan 80) : Çıkarılan özelliklerin boyutu.

sampling_rate (`int`, *opsiyonel*, varsayılan 16000) : Ses dosyalarının dijitalleştirileceği örneklem hızı, hertz (Hz) cinsinden ifade edilir.

num_mel_bins (`int`, *isteğe bağlı*, varsayılan 80) : Mel frekans kutucuğu sayısı.

padding_value (`float`, *isteğe bağlı*, varsayılan 0.0) : Dolgu vektörlerini doldurmak için kullanılan değer.

dither (`float`, *opsiyonel*, varsayılan 0.0) : Dithering ekler. Başka bir deyişle, her kareye küçük bir Gauss gürültüsü ekler. Örneğin, 4.0 kullanılarak, 0.0 merkezli ve 4.0 standart sapmalı normal dağılımla dithering eklenebilir (kaldi dalga formunun [-32k,+32k] aralığı varsayılır). 0.0 değeri dithering uygulanmadığı anlamına gelir. Dithering'in `mel_floor` ile benzer bir etkisi vardır. Sinyalde VAD kesme noktası (cutoff) mevcut olduğunda, sert-sıfır bölümlere sahip sinyallerin yüksek log_mel_fbank değerlerini azaltır.

do_ceptral_normalize (`bool`, *isteğe bağlı*, varsayılan `True`) : Çıkarılan özelliklere cümle düzeyinde spektral ortalama ve varyans normalizasyonu uygulanıp uygulanmayacağı.

normalize_means (`bool`, *isteğe bağlı*, varsayılan `True`) : Çıkarılan özelliklerin sıfır-ortalama normalize edilip edilmeyeceğini belirtir.

normalize_vars (`bool`, *isteğe bağlı*, varsayılan `True`) : Çıkarılan özelliklerin birim varyansla normalize edilip edilmeyeceğini belirtir.

Bir Speech2Text özellik çıkarıcısı oluşturur.

Bu özellik çıkarıcı, ana yöntemlerin çoğunu içeren [Speech2TextFeatureExtractor](/docs/transformers/main/tr/model_doc/speech_to_text#transformers.Speech2TextFeatureExtractor) 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, yüklü olması durumunda TorchAudio'yu, değilse numpy'yi kullanarak ham konuşmadan mel-filtre bankası özelliklerini çıkarır ve çıkarılan özelliklere cümle düzeyinde cepstral ortalama ve varyans normalizasyonu uygular.

#### __call__[[transformers.Speech2TextFeatureExtractor.__call__]]

```python
__call__(raw_speech: numpy.ndarray | list[float] | list[numpy.ndarray] | list[list[float]], padding: bool | str | transformers.utils.generic.PaddingStrategy = False, max_length: int | None = None, truncation: bool = False, pad_to_multiple_of: int | None = None, return_tensors: str | transformers.utils.generic.TensorType | None = None, sampling_rate: int | None = None, return_attention_mask: bool | None = None, **kwargs)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/speech_to_text/feature_extraction_speech_to_text.py#L174)

**Parametreler:**

raw_speech (`np.ndarray`, `list[float]`, `list[np.ndarray]`, `list[list[float]]`) : Dolgusu yapılacak dizi veya dizi partisi. Her dizi, bir numpy dizisi, bir float değerleri listesi, bir numpy dizileri listesi veya float değerleri listeleri listesi olabilir. Tek kanallı ses olmalıdır, stereo değil; yani her zaman adımı için tek bir float.

padding (`bool`, `str` veya [PaddingStrategy](/docs/transformers/main/tr/internal/file_utils#transformers.utils.PaddingStrategy), *opsiyonel*, varsayılan `True`) : Dönen dizilerin dolgusunu (modelin dolgu tarafına ve dolgu indeksine göre) aşağıdakilerden birini seçerek belirleyin: - `True` veya `'longest'`: Batch'teki en uzun diziye kadar dolgu yapın (yalnızca tek bir dizi sağlandıysa dolgu yapılmaz). - `'max_length'`: `max_length` argümanı ile belirtilen maksimum uzunluğa kadar veya bu argüman sağlanmadıysa modelin kabul edebileceği maksimum giriş uzunluğuna kadar dolgu yapın. - `False` veya `'do_not_pad'` (varsayılan): Dolgu yapılmaz (yani, farklı uzunluklarda dizilere sahip bir batch çıktısı verilebilir).

max_length (`int`, *isteğe bağlı*) : Dönen listenin maksimum uzunluğu ve isteğe bağlı dolgu uzunluğu (bkz. yukarıda).

truncation (`bool`) : *max_length*'den uzun giriş dizilerini *max_length* değerine kısaltmak için kesme işlemini etkinleştirir.

pad_to_multiple_of (`int`, *opsiyonel*) : Ayarlanırsa, diziyi verilen değerin katına kadar doldurur. Bu, hesaplama yeteneği `>= 7.5` (Volta) olan NVIDIA donanımlarında Tensor Cores kullanımını etkinleştirmek veya 128'in katı olan dizi uzunluklarından faydalanan TPU'larda özellikle faydalıdır.

return_attention_mask (`bool`, *isteğe bağlı*) : Dikkat maskesinin (attention mask) döndürülüp döndürülmeyeceğini belirtir. Varsayılan bırakılırsa, ilgili feature_extractor'ın varsayılanına göre dikkat maskesi döndürülür.  [Dikkat maskeleri nelerdir?](../glossary#attention-mask)    Speech2TextTransformer modelleri için, ince hatalardan kaçınmak adına toplu çıkarım (batched inference) sırasında `attention_mask` her zaman geçirilmelidir.

return_tensors (`str` veya [TensorType](/docs/transformers/main/tr/internal/file_utils#transformers.TensorType), *opsiyonel*) : Ayarlanırsa, Python tamsayı listesi yerine tensörler döndürülür. Kabul edilen değerler:  - `'pt'`: PyTorch `torch.Tensor` nesnelerini döndürür. - `'np'`: Numpy `np.ndarray` nesnelerini döndürür.

sampling_rate (`int`, *isteğe bağlı*) : `raw_speech` girdisinin örneklenmiş olduğu örneklem hızı. Sessiz hataları önlemek için `sampling_rate` değerini forward çağrısında geçmek şiddetle önerilir.

padding_value (`float`, *isteğe bağlı*, varsayılan 0.0) : Dolgu değerleri / vektörleri doldurmak için kullanılan değer.

Bir veya birden fazla diziyi model için özelliklendirmek ve hazırlamak için ana yöntem.

## Speech2TextProcessor[[transformers.Speech2TextProcessor]]

#### transformers.Speech2TextProcessor[[transformers.Speech2TextProcessor]]

```python
transformers.Speech2TextProcessor(feature_extractor, tokenizer)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/speech_to_text/processing_speech_to_text.py#L23)

**Parametreler:**

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

tokenizer (`Speech2TextTokenizer`) : Tokenizer zorunlu bir girdidir.

Bir özellik çıkarıcıyı ve bir belirteçleştiriciyi tek bir işlemciye saran bir Speech2TextProcessor oluşturur.

[Speech2TextProcessor](/docs/transformers/main/tr/model_doc/speech_to_text#transformers.Speech2TextProcessor), [Speech2TextFeatureExtractor](/docs/transformers/main/tr/model_doc/speech_to_text#transformers.Speech2TextFeatureExtractor) ve [Speech2TextTokenizer](/docs/transformers/main/tr/model_doc/speech_to_text#transformers.Speech2TextTokenizer) sınıflarının tüm işlevlerini sunar. Daha fazla bilgi için [~Speech2TextFeatureExtractor](/docs/transformers/main/tr/model_doc/speech_to_text#transformers.Speech2TextFeatureExtractor) ve [~Speech2TextTokenizer](/docs/transformers/main/tr/model_doc/speech_to_text#transformers.Speech2TextTokenizer) sınıflarına bakın.

#### __call__[[transformers.Speech2TextProcessor.__call__]]

```python
__call__(*args, **kwargs)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/speech_to_text/processing_speech_to_text.py#L27)

**Parametreler:**

return_tensors (`str` veya [TensorType](/docs/transformers/main/tr/internal/file_utils#transformers.TensorType), *opsiyonel*) : Ayarlanırsa, belirli bir çerçeveye ait tensörleri döndürür. Kabul edilen değerler:  - `'pt'`: PyTorch `torch.Tensor` nesnelerini döndürür. - `'np'`: NumPy `np.ndarray` nesnelerini döndürür.

#### from_pretrained[[transformers.Speech2TextProcessor.from_pretrained]]

```python
from_pretrained(pretrained_model_name_or_path: str | os.PathLike, cache_dir: str | os.PathLike | None = None, force_download: bool = False, local_files_only: bool = False, token: str | bool | None = None, revision: str = 'main', **kwargs)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/processing_utils.py#L1799)

**Parametreler:**

pretrained_model_name_or_path (`str` veya `os.PathLike`) : Şu seçeneklerden biri olabilir:  - huggingface.co üzerindeki bir model deposunda barındırılan önceden eğitilmiş bir feature_extractor'ın *model kimliği* olan bir dize. - [save_pretrained()](/docs/transformers/main/tr/main_classes/feature_extractor#transformers.FeatureExtractionMixin.save_pretrained) yöntemiyle kaydedilmiş bir feature extractor dosyası içeren bir *dizin*in yolu, örneğin `./my_model_directory/`. - Kaydedilmiş bir feature extractor JSON *dosyası*nın yolu, örneğin `./my_model_directory/preprocessor_config.json`.

- ****kwargs** : Hem [from_pretrained()](/docs/transformers/main/tr/main_classes/feature_extractor#transformers.FeatureExtractionMixin.from_pretrained) hem de `~tokenization_utils_base.PreTrainedTokenizer.from_pretrained` ile birlikte iletilen ek anahtar kelime argümanları.

Önceden eğitilmiş bir modelle ilişkili bir işlemci örnekleyin.

Bu sınıf metodu, yalnızca özellik çıkarıcının [from_pretrained()](/docs/transformers/main/tr/main_classes/feature_extractor#transformers.FeatureExtractionMixin.from_pretrained), görüntü işleyicinin [ImageProcessingMixin](/docs/transformers/main/tr/internal/image_processing_utils#transformers.ImageProcessingMixin) ve belirteçleyicinin `~tokenization_utils_base.PreTrainedTokenizer.from_pretrained` metotlarını çağırır. Daha fazla bilgi için yukarıdaki metotların dokümantasyon dizelerine (docstring) başvurun.

#### save_pretrained[[transformers.Speech2TextProcessor.save_pretrained]]

```python
save_pretrained(save_directory, push_to_hub: bool = False, **kwargs)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/processing_utils.py#L1182)

**Parametreler:**

save_directory (`str` veya `os.PathLike`) : Özellik çıkarıcısının JSON dosyasının ve tokenizer dosyalarının kaydedileceği dizin (dizin mevcut değilse oluşturulur).

push_to_hub (`bool`, *isteğe bağlı*, varsayılan `False`) : Modeli kaydettikten sonra Hugging Face model hub'ına gönderip göndermeyeceğinizi belirtir. Göndermek istediğiniz depoyu `repo_id` ile belirleyebilirsiniz (varsayılan olarak ad alanınızdaki `save_directory` adı kullanılır).

kwargs (`dict[str, Any]`, *isteğe bağlı*) : [push_to_hub()](/docs/transformers/main/tr/main_classes/model#transformers.utils.PushToHubMixin.push_to_hub) yöntemine iletilen ek anahtar kelime argümanları.

Bu işleyicinin (özellik çıkarıcı, belirteçleştirici...) özniteliklerini, [from_pretrained()](/docs/transformers/main/tr/model_doc/wav2vec2#transformers.Wav2Vec2Processor.from_pretrained) yöntemiyle yeniden yüklenebilmesi için belirtilen dizinde kaydeder.

Bu sınıf metodu yalnızca [save_pretrained()](/docs/transformers/main/tr/main_classes/feature_extractor#transformers.FeatureExtractionMixin.save_pretrained) ve [save_pretrained()](/docs/transformers/main/tr/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.save_pretrained) çağrılarını yapar. Daha fazla bilgi için yukarıdaki metodların dokümantasyon dizelerine (docstring) başvurun.

#### batch_decode[[transformers.Speech2TextProcessor.batch_decode]]

```python
batch_decode(*args, **kwargs)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/processing_utils.py#L2054)

Bu yöntem, tüm argümanlarını PreTrainedTokenizer'ın [batch_decode()](/docs/transformers/main/tr/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.batch_decode) yöntemine iletir. Daha fazla bilgi için bu yöntemin docstring'ine başvurun.

#### decode[[transformers.Speech2TextProcessor.decode]]

```python
decode(*args, **kwargs)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/processing_utils.py#L2063)

Bu yöntem, tüm argümanlarını PreTrainedTokenizer'ın [decode()](/docs/transformers/main/tr/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.decode) yöntemine iletir. Daha fazla bilgi için bu yöntemin docstring'ine başvurun.

## Speech2TextModel[[transformers.Speech2TextModel]]

#### transformers.Speech2TextModel[[transformers.Speech2TextModel]]

```python
transformers.Speech2TextModel(config: Speech2TextConfig)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/speech_to_text/modeling_speech_to_text.py#L720)

**Parametreler:**

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

Üzerinde herhangi bir özel head olmadan ham hidden-state çıktısı veren ham Speech To Text Text Model.

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

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

#### forward[[transformers.Speech2TextModel.forward]]

```python
forward(input_features: typing.Optional[torch.LongTensor] = None, attention_mask: typing.Optional[torch.Tensor] = None, decoder_input_ids: typing.Optional[torch.LongTensor] = None, decoder_attention_mask: typing.Optional[torch.LongTensor] = None, encoder_outputs: tuple[tuple[torch.Tensor]] | None = None, past_key_values: transformers.cache_utils.Cache | None = None, decoder_inputs_embeds: typing.Optional[torch.Tensor] = None, use_cache: bool | None = None, **kwargs: *<class 'transformers.utils.generic.TransformersKwargs'>)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/speech_to_text/modeling_speech_to_text.py#L736)

**Parametreler:**

input_features (`torch.LongTensor`, şekli `(batch_size, sequence_length, feature_dim)`, *isteğe bağlı*) : Girdi ses özelliklerine karşılık gelen tensörler. Ses özellikleri [Speech2TextFeatureExtractor](/docs/transformers/main/tr/model_doc/speech_to_text#transformers.Speech2TextFeatureExtractor) kullanılarak elde edilebilir. Ayrıntılar için [Speech2TextFeatureExtractor.__call__()](/docs/transformers/main/tr/model_doc/speech_to_text#transformers.Speech2TextFeatureExtractor.__call__) bölümüne bakın ([Speech2TextProcessor](/docs/transformers/main/tr/model_doc/speech_to_text#transformers.Speech2TextProcessor), sesleri işlemek için [Speech2TextFeatureExtractor](/docs/transformers/main/tr/model_doc/speech_to_text#transformers.Speech2TextFeatureExtractor) kullanır).

attention_mask (`torch.Tensor`, şekli `(batch_size, sequence_length)`, *isteğe bağlı*) : Dolgu (padding) token indekslerinde dikkat (attention) işleminin uygulanmamasını sağlayan maske. `[0, 1]` aralığında seçilen maske değerleri:  - **maske uygulanmayan** tokenlar için 1, - **maske uygulanan** tokenlar için 0.  [Dikkat maskeleri nelerdir?](../glossary#attention-mask)

decoder_input_ids (`torch.LongTensor`, şekli `(batch_size, target_sequence_length)`, *isteğe bağlı*) : Sözlükte decoder giriş dizisi tokenlarının indeksleri. İndeksler `SpeechToTextTokenizer` kullanılarak elde edilebilir. Ayrıntılar için [PreTrainedTokenizer.encode()](/docs/transformers/main/tr/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.encode) ve [PreTrainedTokenizer.__call__()](/docs/transformers/main/tr/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.__call__) bkz. [Decoder giriş kimlikleri nelerdir?](../glossary#decoder-input-ids) SpeechToText, `decoder_input_ids` üretimi için başlangıç tokenı olarak `eos_token_id` kullanır. `past_key_values` kullanılıyorsa, isteğe bağlı olarak yalnızca son `decoder_input_ids` girdi olarak verilmelidir (bkz. `past_key_values`).

decoder_attention_mask (`torch.LongTensor`, şekli `(batch_size, target_sequence_length)`, *isteğe bağlı*) : Varsayılan davranış: `decoder_input_ids` içindeki dolgu (pad) jetonlarını yok sayan bir tensör oluşturur. Varsayılan olarak nedensel maske (causal mask) de kullanılır. Dolgu davranışını değiştirmek istiyorsanız, `modeling_speech_to_text._prepare_decoder_attention_mask` dosyasını okuyup ihtiyaçlarınıza göre düzenlemelisiniz. Varsayılan strateji hakkında daha fazla bilgi için [makaledeki](https://huggingface.co/papers/1910.13461) 1 numaralı diyagrama bakın.

encoder_outputs (`tuple[tuple[torch.Tensor]]`, *isteğe bağlı*) : (`last_hidden_state`, *isteğe bağlı*: `hidden_states`, *isteğe bağlı*: `attentions`) içeren bir Tuple. `last_hidden_state`, `(batch_size, sequence_length, hidden_size)` biçiminde, *isteğe bağlı*) kodlayıcının (encoder) son katmanının çıktısındaki gizli durumlar (hidden-states) dizisidir. Çözücüde (decoder) çapraz dikkat (cross-attention) için kullanılır.

past_key_values (`~cache_utils.Cache`, *isteğe bağlı*) : Sıralı çözümlemeyi hızlandırmak için kullanılabilen, önceden hesaplanmış gizli durumlar (self-attention bloklarındaki ve cross-attention bloklarındaki anahtar ve değerler). Bu genellikle, `use_cache=True` veya `config.use_cache=True` olduğunda, çözümlemenin önceki bir aşamasında modelin döndürdüğü `past_key_values` değerlerinden oluşur. Girdi olarak yalnızca [Cache](/docs/transformers/main/tr/internal/generation_utils#transformers.Cache) örneği kabul edilir, bkz. [kv cache kılavuzu](https://huggingface.co/docs/transformers/en/kv_cache). `past_key_values` geçirilmezse, varsayılan olarak [DynamicCache](/docs/transformers/main/tr/internal/generation_utils#transformers.DynamicCache) başlatılır. Model, girdi olarak verilen aynı önbellek biçimini çıktı olarak verecektir. `past_key_values` kullanılıyorsa, kullanıcının, bu modele geçmiş anahtar-değer durumları verilmemiş olan, yalnızca işlenmemiş `input_ids` değerlerini (şekli `(batch_size, unprocessed_length)` olan) girmesi beklenir; bunun yerine, şekli `(batch_size, sequence_length)` olan tüm `input_ids` değerleri girilmez.

decoder_inputs_embeds (`torch.Tensor`, şekli `(batch_size, target_sequence_length, hidden_size)`, *isteğe bağlı*) : `decoder_input_ids` parametresini iletmek yerine, gömülü bir temsil doğrudan iletmeyi seçebilirsiniz. `past_key_values` kullanılıyorsa, isteğe bağlı olarak yalnızca son `decoder_inputs_embeds` değerlerinin girdi olarak verilmesi yeterlidir (bkz. `past_key_values`). Bu, `decoder_input_ids` indekslerini ilgili vektörlere dönüştürme biçimi üzerinde modelin dahili gömme arama matrisine kıyasla daha fazla kontrol sahibi olmak istiyorsanız faydalıdır. `decoder_input_ids` ve `decoder_inputs_embeds` parametrelerinin ikisi de ayarlanmamışsa, `decoder_inputs_embeds` parametresi `inputs_embeds` değerini alı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üş:** [Seq2SeqLMOutput](/docs/transformers/main/tr/main_classes/output#transformers.modeling_outputs.Seq2SeqLMOutput) veya `tuple(torch.Tensor)`

[Seq2SeqLMOutput](/docs/transformers/main/tr/main_classes/output#transformers.modeling_outputs.Seq2SeqLMOutput) veya bir `torch.Tensor` demeti (eğer `return_dict=False` geçirildiyse veya `config.return_dict=False` ise), yapılandırma ([Speech2TextConfig](/docs/transformers/main/tr/model_doc/speech_to_text#transformers.Speech2TextConfig)) ve girdilere bağlı olarak çeşitli öğelerden oluşur.

[Speech2TextModel](/docs/transformers/main/tr/model_doc/speech_to_text#transformers.Speech2TextModel) forward metodu, `__call__` özel metodunu geçersiz kılar.

İleri geçiş tarifi bu fonksiyon içinde tanımlanmalı olsa da, sonrasında bunun yerine `Module` örneğini çağırmak gerekir; çünkü ilki ön ve son işleme adımlarını çalıştırmaktan sorumluyken ikincisi bunları sessizce yok sayar.

- **loss** (`torch.Tensor`, şekli `(1,)`, *isteğe bağlı*, `labels` sağlandığında döndürülür) -- Dil modelleme kaybı.
- **logits** (`torch.Tensor`, şekli `(batch_size, sequence_length, config.vocab_size)`) -- Dil modelleme başlığının tahmin puanları (SoftMax öncesi her sözlük jetonu için puanlar).
- **past_key_values** (`EncoderDecoderCache`, *isteğe bağlı*, `use_cache=True` geçirildiğinde veya `config.use_cache=True` olduğunda döndürülür) -- Bir [EncoderDecoderCache](/docs/transformers/main/tr/internal/generation_utils#transformers.EncoderDecoderCache) örneğidir. Daha fazla ayrıntı için [kv önbellek kılavuzumuza](https://huggingface.co/docs/transformers/en/kv_cache) bakın.

  Sıralı çözümlemeyi hızlandırmak için (bkz. `past_key_values` girdisi) kullanılabilen, önceden hesaplanmış gizli durumları (self-attention bloklarındaki ve cross-attention bloklarındaki anahtar ve değerler) içerir.
- **decoder_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 bir tane) içeren bir tuple, şekli `(batch_size, sequence_length, hidden_size)`.

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

  Dikkat yumuşatma (attention softmax) sonrasında, öz-dikkat (self-attention) kafalarında ağırlıklı ortalamanın hesaplanmasında kullanılan çözücü (decoder) dikkat ağırlıkları.
- **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.

  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.
- **encoder_last_hidden_state** (`torch.Tensor`, şekli `(batch_size, sequence_length, hidden_size)`, *isteğe bağlı*) -- Modelin kodlayıcısının son katmanının çıktısındaki gizli durumlar dizisi.
- **encoder_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 ve başlangıç gömme çıktılarında kodlayıcının gizli durumları.
- **encoder_attentions** (`tuple(torch.Tensor)`, *isteğe bağlı*, `output_attentions=True` geçirildiğinde veya `config.output_attentions=True` olduğunda döndürülür) -- `torch.Tensor` (her katman için bir tane) içeren bir tuple, şekli `(batch_size, num_heads, sequence_length, sequence_length)`.

  Dikkat yumuşatma (attention softmax) sonrasında, öz-dikkat (self-attention) kafalarında ağırlıklı ortalamanın hesaplanmasında kullanılan kodlayıcının dikkat ağırlıkları.

Örnek:

```python
>>> import torch
>>> from transformers import Speech2TextModel, AutoFeatureExtractor
>>> from datasets import load_dataset

>>> model = Speech2TextModel.from_pretrained("facebook/s2t-small-librispeech-asr")
>>> feature_extractor = AutoFeatureExtractor.from_pretrained("facebook/s2t-small-librispeech-asr")
>>> ds = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
>>> inputs = feature_extractor(
...     ds[0]["audio"]["array"], sampling_rate=ds[0]["audio"]["sampling_rate"], return_tensors="pt"
... )
>>> input_features = inputs.input_features
>>> decoder_input_ids = torch.tensor([[1, 1]]) * model.config.decoder_start_token_id
>>> last_hidden_state = model(input_features, decoder_input_ids=decoder_input_ids).last_hidden_state
>>> list(last_hidden_state.shape)
[1, 2, 256]
```

## Speech2TextForConditionalGeneration[[transformers.Speech2TextForConditionalGeneration]]

#### transformers.Speech2TextForConditionalGeneration[[transformers.Speech2TextForConditionalGeneration]]

```python
transformers.Speech2TextForConditionalGeneration(config: Speech2TextConfig)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/speech_to_text/modeling_speech_to_text.py#L842)

**Parametreler:**

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

Dil modelleme başlığına sahip Speech2Text Model. Özetleme için kullanılabilir.

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

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

#### forward[[transformers.Speech2TextForConditionalGeneration.forward]]

```python
forward(input_features: typing.Optional[torch.LongTensor] = None, attention_mask: typing.Optional[torch.Tensor] = None, decoder_input_ids: typing.Optional[torch.LongTensor] = None, decoder_attention_mask: typing.Optional[torch.LongTensor] = None, encoder_outputs: tuple[tuple[torch.Tensor]] | None = None, past_key_values: transformers.cache_utils.Cache | None = None, decoder_inputs_embeds: typing.Optional[torch.Tensor] = None, labels: typing.Optional[torch.LongTensor] = None, use_cache: bool | None = None, **kwargs: *<class 'transformers.utils.generic.TransformersKwargs'>)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/speech_to_text/modeling_speech_to_text.py#L855)

**Parametreler:**

input_features (`torch.LongTensor`, şekli `(batch_size, sequence_length, feature_dim)`, *isteğe bağlı*) : Girdi ses özelliklerine karşılık gelen tensörler. Ses özellikleri [Speech2TextFeatureExtractor](/docs/transformers/main/tr/model_doc/speech_to_text#transformers.Speech2TextFeatureExtractor) kullanılarak elde edilebilir. Ayrıntılar için [Speech2TextFeatureExtractor.__call__()](/docs/transformers/main/tr/model_doc/speech_to_text#transformers.Speech2TextFeatureExtractor.__call__) bölümüne bakın ([Speech2TextProcessor](/docs/transformers/main/tr/model_doc/speech_to_text#transformers.Speech2TextProcessor), sesleri işlemek için [Speech2TextFeatureExtractor](/docs/transformers/main/tr/model_doc/speech_to_text#transformers.Speech2TextFeatureExtractor) kullanır).

attention_mask (`torch.Tensor`, şekli `(batch_size, sequence_length)`, *isteğe bağlı*) : Dolgu (padding) token indekslerinde dikkat (attention) işleminin uygulanmamasını sağlayan maske. `[0, 1]` aralığında seçilen maske değerleri:  - **maske uygulanmayan** tokenlar için 1, - **maske uygulanan** tokenlar için 0.  [Dikkat maskeleri nelerdir?](../glossary#attention-mask)

decoder_input_ids (`torch.LongTensor`, şekli `(batch_size, target_sequence_length)`, *isteğe bağlı*) : Sözlükte decoder giriş dizisi tokenlarının indeksleri. İndeksler `SpeechToTextTokenizer` kullanılarak elde edilebilir. Ayrıntılar için [PreTrainedTokenizer.encode()](/docs/transformers/main/tr/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.encode) ve [PreTrainedTokenizer.__call__()](/docs/transformers/main/tr/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.__call__) bkz. [Decoder giriş kimlikleri nelerdir?](../glossary#decoder-input-ids) SpeechToText, `decoder_input_ids` üretimi için başlangıç tokenı olarak `eos_token_id` kullanır. `past_key_values` kullanılıyorsa, isteğe bağlı olarak yalnızca son `decoder_input_ids` girdi olarak verilmelidir (bkz. `past_key_values`).

decoder_attention_mask (`torch.LongTensor`, şekli `(batch_size, target_sequence_length)`, *isteğe bağlı*) : Varsayılan davranış: `decoder_input_ids` içindeki dolgu (pad) jetonlarını yok sayan bir tensör oluşturur. Varsayılan olarak nedensel maske (causal mask) de kullanılır. Dolgu davranışını değiştirmek istiyorsanız, `modeling_speech_to_text._prepare_decoder_attention_mask` dosyasını okuyup ihtiyaçlarınıza göre düzenlemelisiniz. Varsayılan strateji hakkında daha fazla bilgi için [makaledeki](https://huggingface.co/papers/1910.13461) 1 numaralı diyagrama bakın.

encoder_outputs (`tuple[tuple[torch.Tensor]]`, *isteğe bağlı*) : (`last_hidden_state`, *isteğe bağlı*: `hidden_states`, *isteğe bağlı*: `attentions`) içeren bir Tuple. `last_hidden_state`, `(batch_size, sequence_length, hidden_size)` biçiminde, *isteğe bağlı*) kodlayıcının (encoder) son katmanının çıktısındaki gizli durumlar (hidden-states) dizisidir. Çözücüde (decoder) çapraz dikkat (cross-attention) için kullanılır.

past_key_values (`~cache_utils.Cache`, *isteğe bağlı*) : Sıralı çözümlemeyi hızlandırmak için kullanılabilen, önceden hesaplanmış gizli durumlar (self-attention bloklarındaki ve cross-attention bloklarındaki anahtar ve değerler). Bu genellikle, `use_cache=True` veya `config.use_cache=True` olduğunda, çözümlemenin önceki bir aşamasında modelin döndürdüğü `past_key_values` değerlerinden oluşur. Girdi olarak yalnızca [Cache](/docs/transformers/main/tr/internal/generation_utils#transformers.Cache) örneği kabul edilir, bkz. [kv cache kılavuzu](https://huggingface.co/docs/transformers/en/kv_cache). `past_key_values` geçirilmezse, varsayılan olarak [DynamicCache](/docs/transformers/main/tr/internal/generation_utils#transformers.DynamicCache) başlatılır. Model, girdi olarak verilen aynı önbellek biçimini çıktı olarak verecektir. `past_key_values` kullanılıyorsa, kullanıcının, bu modele geçmiş anahtar-değer durumları verilmemiş olan, yalnızca işlenmemiş `input_ids` değerlerini (şekli `(batch_size, unprocessed_length)` olan) girmesi beklenir; bunun yerine, şekli `(batch_size, sequence_length)` olan tüm `input_ids` değerleri girilmez.

decoder_inputs_embeds (`torch.Tensor`, şekli `(batch_size, target_sequence_length, hidden_size)`, *isteğe bağlı*) : `decoder_input_ids` parametresini iletmek yerine, gömülü bir temsil doğrudan iletmeyi seçebilirsiniz. `past_key_values` kullanılıyorsa, isteğe bağlı olarak yalnızca son `decoder_inputs_embeds` değerlerinin girdi olarak verilmesi yeterlidir (bkz. `past_key_values`). Bu, `decoder_input_ids` indekslerini ilgili vektörlere dönüştürme biçimi üzerinde modelin dahili gömme arama matrisine kıyasla daha fazla kontrol sahibi olmak istiyorsanız faydalıdır. `decoder_input_ids` ve `decoder_inputs_embeds` parametrelerinin ikisi de ayarlanmamışsa, `decoder_inputs_embeds` parametresi `inputs_embeds` değerini alır.

labels (`torch.LongTensor`, şekli `(batch_size, sequence_length)`, *isteğe bağlı*) : Dil modelleme kaybını hesaplamak için etiketler. Endeksler `[0, ..., config.vocab_size]` aralığında olmalı ya da -100 olmalı (`input_ids` docstring'ine bakın). Endeksleri `-100` olarak ayarlanan tokenlar yok sayılır (maskelenir), kayıp yalnızca `[0, ..., config.vocab_size]` aralığında etiketlere sahip tokenlar için hesaplanır.

use_cache (`bool`, *isteğe bağlı*) : `True` olarak ayarlanırsa, `past_key_values` anahtar değer durumları döndürülür ve çözümlemeyi hızlandırmak için kullanılabilir (bkz. `past_key_values`).

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

[Seq2SeqLMOutput](/docs/transformers/main/tr/main_classes/output#transformers.modeling_outputs.Seq2SeqLMOutput) veya bir `torch.Tensor` demeti (eğer `return_dict=False` geçirildiyse veya `config.return_dict=False` ise), yapılandırma ([Speech2TextConfig](/docs/transformers/main/tr/model_doc/speech_to_text#transformers.Speech2TextConfig)) ve girdilere bağlı olarak çeşitli öğelerden oluşur.

[Speech2TextForConditionalGeneration](/docs/transformers/main/tr/model_doc/speech_to_text#transformers.Speech2TextForConditionalGeneration) forward metodu, `__call__` özel metodunu geçersiz kılar.

İleri geçiş tarifi bu fonksiyon içinde tanımlanmalı olsa da, sonrasında bunun yerine `Module` örneğini çağırmak gerekir; çünkü ilki ön ve son işleme adımlarını çalıştırmaktan sorumluyken ikincisi bunları sessizce yok sayar.

- **loss** (`torch.Tensor`, şekli `(1,)`, *isteğe bağlı*, `labels` sağlandığında döndürülür) -- Dil modelleme kaybı.
- **logits** (`torch.Tensor`, şekli `(batch_size, sequence_length, config.vocab_size)`) -- Dil modelleme başlığının tahmin puanları (SoftMax öncesi her sözlük jetonu için puanlar).
- **past_key_values** (`EncoderDecoderCache`, *isteğe bağlı*, `use_cache=True` geçirildiğinde veya `config.use_cache=True` olduğunda döndürülür) -- Bir [EncoderDecoderCache](/docs/transformers/main/tr/internal/generation_utils#transformers.EncoderDecoderCache) örneğidir. Daha fazla ayrıntı için [kv önbellek kılavuzumuza](https://huggingface.co/docs/transformers/en/kv_cache) bakın.

  Sıralı çözümlemeyi hızlandırmak için (bkz. `past_key_values` girdisi) kullanılabilen, önceden hesaplanmış gizli durumları (self-attention bloklarındaki ve cross-attention bloklarındaki anahtar ve değerler) içerir.
- **decoder_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 bir tane) içeren bir tuple, şekli `(batch_size, sequence_length, hidden_size)`.

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

  Dikkat yumuşatma (attention softmax) sonrasında, öz-dikkat (self-attention) kafalarında ağırlıklı ortalamanın hesaplanmasında kullanılan çözücü (decoder) dikkat ağırlıkları.
- **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.

  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.
- **encoder_last_hidden_state** (`torch.Tensor`, şekli `(batch_size, sequence_length, hidden_size)`, *isteğe bağlı*) -- Modelin kodlayıcısının son katmanının çıktısındaki gizli durumlar dizisi.
- **encoder_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 ve başlangıç gömme çıktılarında kodlayıcının gizli durumları.
- **encoder_attentions** (`tuple(torch.Tensor)`, *isteğe bağlı*, `output_attentions=True` geçirildiğinde veya `config.output_attentions=True` olduğunda döndürülür) -- `torch.Tensor` (her katman için bir tane) içeren bir tuple, şekli `(batch_size, num_heads, sequence_length, sequence_length)`.

  Dikkat yumuşatma (attention softmax) sonrasında, öz-dikkat (self-attention) kafalarında ağırlıklı ortalamanın hesaplanmasında kullanılan kodlayıcının dikkat ağırlıkları.

Örnek:

```python
>>> import torch
>>> from transformers import Speech2TextProcessor, Speech2TextForConditionalGeneration
>>> from datasets import load_dataset

>>> model = Speech2TextForConditionalGeneration.from_pretrained("facebook/s2t-small-librispeech-asr")
>>> processor = Speech2TextProcessor.from_pretrained("facebook/s2t-small-librispeech-asr")

>>> ds = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")

>>> inputs = processor(
...     ds[0]["audio"]["array"], sampling_rate=ds[0]["audio"]["sampling_rate"], return_tensors="pt"
... )
>>> input_features = inputs.input_features

>>> generated_ids = model.generate(inputs=input_features)

>>> transcription = processor.batch_decode(generated_ids, skip_special_tokens=True)[0]
>>> transcription
'mister quilter is the apostle of the middle classes and we are glad to welcome his gospel'
```

