# SeamlessM4T

## Genel Bakış

SeamlessM4T modeli, Meta AI'den Seamless Communication ekibi tarafından [SeamlessM4T — Massively Multilingual & Multimodal Machine Translation](https://huggingface.co/papers/2308.11596) makalesinde önerilmiştir.

Bu, modelin **1. sürüm** sürümüdür. Güncellenmiş **2. sürüm** sürümü için [Seamless M4T v2 belgelerine](./seamless_m4t_v2) bakın.

SeamlessM4T, farklı dil topluluklarından insanların ses ve metin yoluyla zahmetsizce iletişim kurmasını sağlayan, yüksek kaliteli çeviri sunmak üzere tasarlanmış bir model koleksiyonudur.

SeamlessM4T, ayrı modellere bağımlı kalmadan birden fazla görevi destekler:

- Ses-sese çeviri (S2ST)
- Ses-metin çevirisi (S2TT)
- Metinden konuşma çevirisi (T2ST)
- Metinden metne çeviri (T2TT)
- Otomatik konuşma tanıma (ASR)

[SeamlessM4TModel](/docs/transformers/main/tr/model_doc/seamless_m4t#transformers.SeamlessM4TModel) yukarıdaki tüm görevleri gerçekleştirebilir ancak her görevin kendine özgü bir alt modeli de vardır.

Makalenin özeti aşağıdaki gibidir:

*Babel Fish, herhangi iki dil arasında konuşma çevirisi yapabilen bir aracın oluşturulması için neler gerekir? Son zamanlarda metin tabanlı modellerde yaşanan atılımlar makine çevirisi kapsamını 200 dilin ötesine taşımış olsa da, birleşik konuşmadan konuşmaya çeviri modelleri henüz benzer ilerlemeleri kaydedememiştir. Daha spesifik olarak, geleneksel konuşmadan konuşmaya çeviri sistemleri, çeviriyi kademeli olarak gerçekleştiren kademeli (cascaded) sistemlere dayanır ve bu da yüksek performanslı birleşik sistemleri erişilemez kılar. Bu boşlukları doldurmak için, 100 dile kadar konuşmadan konuşmaya çeviri, konuşmadan metne çeviri, metinden konuşmaya çeviri, metinden metne çeviri ve otomatik konuşma tanıma destekleyen tek bir model olan SeamlessM4T'ü tanıtıyoruz. Bunu oluşturmak için, w2v-BERT 2.0 ile kendiliğinden denetimli (self-supervised) konuşma temsilleri öğrenmek üzere 1 milyon saatlik açık konuşma ses verisi kullandık. Ardından, otomatik olarak hizalanmış konuşma çevirilerinden oluşan çok modlu bir korpus oluşturduk. Filtrelenip insan etiketli ve sahte etiketli (pseudo-labeled) verilerle birleştirildiğinde, hem konuşma hem de metin için İngilizceden çeviri yapabilen ve İngilizceye çeviri yapabilen ilk çok dilli sistemi geliştirdik. FLEURS üzerinde SeamlessM4T, birden fazla hedef dile çeviri için yeni bir standart belirleyerek, doğrudan konuşmadan metne çeviride önceki SOTA'ya kıyasla %20 BLEU iyileşmesi elde etti. Güçlü kademeli modellere kıyasla SeamlessM4T, konuşmadan metne çeviride İngilizceye çeviri kalitesini 1,3 BLEU puan, konuşmadan konuşmaya çeviride ise 2,6 ASR-BLEU puan iyileştirir. Dayanıklılık açısından test edildiğinde, sistemimiz, konuşmadan metne görevlerinde arka plan gürültülerine ve konuşmacı farklılıklarına karşı mevcut SOTA modeline kıyasla daha iyi performans gösterir. Kritik olarak, SeamlessM4T'ü cinsiyet önyargısı ve çeviri güvenliğini değerlendirmek için eklenen toksisite açısından değerlendirdik. Son olarak, bu çalışmadaki tüm katkılar açık kaynaklıdır ve https://github.com/facebookresearch/seamless_communication adresinde erişime açıktır.*

## Kullanım

Önce işlemciyi ve modelin bir kontrol noktasını yükleyin:

```python
from transformers import AutoProcessor, SeamlessM4TModel

processor = AutoProcessor.from_pretrained("facebook/hf-seamless-m4t-medium")
model = SeamlessM4TModel.from_pretrained("facebook/hf-seamless-m4t-medium", device_map="auto")
```

Bu modeli metin veya ses üzerinde sorunsuz bir şekilde kullanarak çevrilmiş metin veya çevrilmiş ses üretebilirsiniz.

İşleyiciyi metin ve ses işleme için kullanmanın yolu şudur:

```python
# let's load an audio sample from an Arabic speech corpus
from datasets import load_dataset

dataset = load_dataset("halabi2016/arabic_speech_corpus", split="test", streaming=True)
audio_sample = next(iter(dataset))["audio"]

# now, process it
audio_inputs = processor(audio=audio_sample["array"], return_tensors="pt").to(model.device)

# now, process some English test as well
text_inputs = processor(text = "Hello, my dog is cute", src_lang="eng", return_tensors="pt").to(model.device)
```

### Konuşma

[SeamlessM4TModel](/docs/transformers/main/tr/model_doc/seamless_m4t#transformers.SeamlessM4TModel), az veya hiç değişiklik yapılmadan *kesintisiz* metin veya ses üretebilir. Rusça ses çevirisini hedefleyelim:

```python
audio_array_from_text = model.generate(**text_inputs, tgt_lang="rus")[0].cpu().numpy().squeeze()
audio_array_from_audio = model.generate(**audio_inputs, tgt_lang="rus")[0].cpu().numpy().squeeze()
```

Temelde aynı kodla İngilizce metin ve Arapça konuşmayı Rusça konuşma örneklerine çevirdim.

### Metin

Benzer şekilde, aynı modelle ses dosyalarından veya metinden çevrilmiş metin üretebilirsiniz. Bunun için [SeamlessM4TModel.generate()](/docs/transformers/main/tr/model_doc/seamless_m4t#transformers.SeamlessM4TModel.generate) fonksiyonuna yalnızca `generate_speech=False` parametresini iletmeniz yeterlidir. Bu sefer Fransızca'ya çevirelim.

```python
# from audio
output_tokens = model.generate(**audio_inputs, tgt_lang="fra", generate_speech=False)
translated_text_from_audio = processor.decode(output_tokens[0].tolist()[0], skip_special_tokens=True)

# from text
output_tokens = model.generate(**text_inputs, tgt_lang="fra", generate_speech=False)
translated_text_from_text = processor.decode(output_tokens[0].tolist()[0], skip_special_tokens=True)
```

### İpuçları

#### 1. Özel modeller kullanın

[SeamlessM4TModel](/docs/transformers/main/tr/model_doc/seamless_m4t#transformers.SeamlessM4TModel), ses ve metin üretmek için transformers'ın üst düzey modelidir; ancak ek bileşenler olmadan görevi gerçekleştiren, bu sayede bellek ayak izini azaltan özel modelleri de kullanabilirsiniz. Örneğin, ses-ses üretim kod parçasını S2ST görevine özel modele değiştirebilirsiniz, geri kalanı tamamen aynı koddur:

```python
from transformers import SeamlessM4TForSpeechToSpeech

model = SeamlessM4TForSpeechToSpeech.from_pretrained("facebook/hf-seamless-m4t-medium", device_map="auto")
```

Veya metinden metne üretim kod parçasını, T2TT görevine özel modele değiştirebilirsiniz; yalnızca `generate_speech=False` ifadesini kaldırmak yeterlidir.

```python
from transformers import SeamlessM4TForTextToText

model = SeamlessM4TForTextToText.from_pretrained("facebook/hf-seamless-m4t-medium", device_map="auto")
```

Ayrıca [SeamlessM4TForSpeechToText](/docs/transformers/main/tr/model_doc/seamless_m4t#transformers.SeamlessM4TForSpeechToText) ve [SeamlessM4TForTextToSpeech](/docs/transformers/main/tr/model_doc/seamless_m4t#transformers.SeamlessM4TForTextToSpeech) modellerini de denemekte serbestsiniz.

#### 2. Konuşmacı kimliğini değiştirin

Konuşma sentezi için kullanılan konuşmacıyı `spkr_id` argümanı ile değiştirme imkânınız var. Bazı `spkr_id` değerleri, bazı dillerde diğerlerinden daha iyi çalışır!

#### 3. Üretim stratejisini değiştirin

Ses ve metin üretimi için farklı [üretim stratejileri](../generation_strategies) kullanabilirsiniz; örneğin `.generate(input_ids=input_ids, text_num_beams=4, speech_do_sample=True)` metin modelinde sırayla beam-search çözümlemesini, ses modelinde ise multinomial örneklemeyi gerçekleştirir.

#### 4. Ses ve metni aynı anda üretin

[SeamlessM4TModel](/docs/transformers/main/tr/model_doc/seamless_m4t#transformers.SeamlessM4TModel) ile `return_intermediate_token_ids=True` kullanarak hem ses hem de metni döndürün!

## Model mimarisi

SeamlessM4T, metin ve sesin ardışık olarak üretilmesini sorunsuz bir şekilde yöneten çok yönlü bir mimariye sahiptir. Bu yapı, iki adet diziden-diziye (seq2seq) modelinden oluşur. İlk model, girdi modalitesini çevrilmiş metne dönüştürürken ikinci model, çevrilmiş metinden "unit token" olarak bilinen ses tokenlarını üretir.

Her modallite, kendine özgü bir mimariye sahip, ayrı bir kodlayıcıya sahiptir. Ayrıca, ses çıktısı için, [HiFi-GAN](https://huggingface.co/papers/2010.05646) mimarisinden ilham alan bir vokoder, ikinci seq2seq modelinin üzerine yerleştirilir.

Üretim sürecinin işleyişi şöyledir:

- Girdi metin veya ses, kendi özel kodlayıcısından (encoder) işlenir.
- Bir decoder, istenen dilde metin jetonları oluşturur.
- Ses üretimi gerekiyorsa, standart bir kodlayıcı-çözücü yapısını izleyen ikinci seq2seq modeli, birim token'larını üretir.
- Bu birim jetonları, ardından gerçek konuşmayı üretmek için son vokodordan geçirilir.

Bu model [ylacombe](https://huggingface.co/ylacombe) tarafından katkıda bulunmuştur. Orijinal kod [burada](https://github.com/facebookresearch/seamless_communication) bulunabilir.

## SeamlessM4TModel[[transformers.SeamlessM4TModel]]

#### transformers.SeamlessM4TModel[[transformers.SeamlessM4TModel]]

```python
transformers.SeamlessM4TModel(config: SeamlessM4TConfig, current_modality = 'text')
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/seamless_m4t/modeling_seamless_m4t.py#L3361)

**Parametreler:**

config ([SeamlessM4TConfig](/docs/transformers/main/tr/model_doc/seamless_m4t#transformers.SeamlessM4TConfig)) : 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 bakın.

current_modality (`str`, *isteğe bağlı*, varsayılan `"text"`) : Varsayılan modalite. Modeli başlatmak için kullanılır.

Her görevde (S2ST, S2TT, T2TT, T2ST) kullanılabilen orijinal SeamlessM4T Model transformer'ı.

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.

#### generate[[transformers.SeamlessM4TModel.generate]]

```python
generate(input_ids: typing.Optional[torch.Tensor] = None, input_features: typing.Optional[torch.Tensor] = None, return_intermediate_token_ids: bool | None = None, tgt_lang: str | None = None, spkr_id: int | None = 0, generate_speech: bool | None = True, **kwargs)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/seamless_m4t/modeling_seamless_m4t.py#L3549)

**Parametreler:**

input_ids (`torch.LongTensor`, şekli `(batch_size, sequence_length)`, *isteğe bağlı*) : Sözlükteki girdi dizisi belirteçlerinin (token) dizinleri. Dizinler [SeamlessM4TTokenizer](/docs/transformers/main/tr/model_doc/seamless_m4t#transformers.SeamlessM4TTokenizer) veya [SeamlessM4TProcessor](/docs/transformers/main/tr/model_doc/seamless_m4t#transformers.SeamlessM4TProcessor) 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__) yöntemlerine bakın. [Girdi kimlikları (input IDs) nedir?](../glossary#input-ids)

input_features (`torch.Tensor`, şekli `(batch_size, sequence_length, num_banks)`, *isteğe bağlı*) : Girdi ses özellikleri. Bu, [SeamlessM4TFeatureExtractor](/docs/transformers/main/tr/model_doc/seamless_m4t#transformers.SeamlessM4TFeatureExtractor) sınıfı veya [SeamlessM4TProcessor](/docs/transformers/main/tr/model_doc/seamless_m4t#transformers.SeamlessM4TProcessor) sınıfı tarafından döndürülmelidir. Ayrıntılar için [SeamlessM4TFeatureExtractor.__call__()](/docs/transformers/main/tr/model_doc/seamless_m4t#transformers.SeamlessM4TFeatureExtractor.__call__) bölümüne bakın.

return_intermediate_token_ids (`bool`, *isteğe bağlı*) : `True` ise, ara üretilen metni ve birim jetonlarını da döndürür. Sesin yanı sıra çevrilmiş metni de almak istiyorsanız `True` olarak ayarlayın. `generate_speech=False` ise bu parametre yok sayılır ve metin jetonları döndürülür.

tgt_lang (`str`, *isteğe bağlı*) : Çeviri için hedef dil olarak kullanılacak dil.

spkr_id (`int`, *opsiyonel*, varsayılan 0) : Konuşma sentezi için kullanılan konuşmacının kimliği. `config.vocoder_num_spkrs`'ten küçük olmalıdır.

generate_speech (`bool`, *isteğe bağlı*, varsayılan `True`) : `False` ise yalnızca metin belirteçlerini döndürür ve konuşma üretmez.

kwargs (*isteğe bağlı*) : [GenerationMixin.generate()](/docs/transformers/main/tr/main_classes/text_generation#transformers.GenerationMixin.generate) yöntemine iletilecek anahtar kelime argümanlarının kalan sözlüğü. Anahtar kelime argümanları iki türdedir:  - Önek olmadan, bunlar `decoder_input_ids` hariç her alt modelin `generate` yöntemi için `**kwargs` olarak girilir; `decoder_input_ids` yalnızca metin bileşenleri üzerinden iletilir. - *text_* veya *speech_* önekiyle, bunlar sırasıyla metin modelinin ve konuşma modelinin `generate` yöntemi için girdi olarak kullanılır. Önek içermeyen anahtar kelimelere göre önceliğe sahiptir.  Bu, örneğin bir üretim için üretim stratejisi belirleyip diğerini belirlememeniz anlamına gelir.

**Dönüş:** `Union[SeamlessM4TGenerationOutput, tuple[Tensor], ModelOutput]`

- `generate_speech` ve `return_intermediate_token_ids` kullanılırsa, `SeamlessM4TGenerationOutput` döndürülür.
- `generate_speech` çağrılır ve `return_intermediate_token_ids` değeri False ise, `(batch_size, sequence_length)` biçimindeki dalga formlarından ve her bir örneğin uzunluğunu veren `waveform_lengths` değerinden oluşan bir tuple döndürülür.
- `generate_speech=False` ise, `ModelOutput` döndürülür.

Çevrilmiş token kimliklerini ve/veya çevrilmiş ses dalgalarını üretir.

Bu yöntem, iki farklı alt modelin `.generate` fonksiyonunu sırayla çağırır. İki farklı düzeyde anahtar kelime argümanı belirleyebilirsiniz: her iki modele de iletilecek genel argümanlar veya bunlardan birine iletilecek önekli argümanlar.

Örneğin, `.generate(input_ids=input_ids, num_beams=4, speech_do_sample=True)` çağrısı, metin modelinde sırayla beam-search çözümlemesini ve konuşma modelinde multinomial beam-search örneklemesini gerçekleştirir.

Üretim stratejileri ve kod örneklerinin genel bakışı için [şu kılavuza](./generation_strategies) göz atın.

## SeamlessM4TForTextToSpeech[[transformers.SeamlessM4TForTextToSpeech]]

#### transformers.SeamlessM4TForTextToSpeech[[transformers.SeamlessM4TForTextToSpeech]]

```python
transformers.SeamlessM4TForTextToSpeech(config: SeamlessM4TConfig)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/seamless_m4t/modeling_seamless_m4t.py#L2753)

**Parametreler:**

config ([SeamlessM4TConfig](/docs/transformers/main/tr/model_doc/seamless_m4t#transformers.SeamlessM4TConfig)) : 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 bakın.

T2ST için kullanılabilen metinden konuşmaya SeamlessM4T Model dönüştürücüsü.

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.

#### generate[[transformers.SeamlessM4TForTextToSpeech.generate]]

```python
generate(input_ids: typing.Optional[torch.Tensor] = None, return_intermediate_token_ids: bool | None = None, tgt_lang: str | None = None, spkr_id: int | None = 0, **kwargs)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/seamless_m4t/modeling_seamless_m4t.py#L2881)

**Parametreler:**

input_ids (`torch.LongTensor`, şekli `(batch_size, sequence_length)`) : Sözlükteki girdi dizisi token'larının indeksleri. İndeksler [SeamlessM4TTokenizer](/docs/transformers/main/tr/model_doc/seamless_m4t#transformers.SeamlessM4TTokenizer) veya [SeamlessM4TProcessor](/docs/transformers/main/tr/model_doc/seamless_m4t#transformers.SeamlessM4TProcessor) 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__)'a bakın. [Girdi ID'leri nelerdir?](../glossary#input-ids)

return_intermediate_token_ids (`bool`, *isteğe bağlı*) : `True` ise, ara üretilen metni ve birim jetonlarını da döndürür. Sesin yanı sıra çevrilmiş metni de almak istiyorsanız `True` olarak ayarlayın.

tgt_lang (`str`, *isteğe bağlı*) : Çeviri için hedef dil olarak kullanılacak dil.

spkr_id (`int`, *opsiyonel*, varsayılan 0) : Konuşma sentezi için kullanılan konuşmacının kimliği. `config.vocoder_num_spkrs`'ten küçük olmalıdır.

kwargs (*isteğe bağlı*) : [GenerationMixin.generate()](/docs/transformers/main/tr/main_classes/text_generation#transformers.GenerationMixin.generate) yöntemine iletilecek anahtar kelime argümanlarının kalan sözlüğü. Anahtar kelime argümanları iki türdedir:  - Önek olmadan, bunlar `decoder_input_ids` hariç her alt modelin `generate` yöntemi için `**kwargs` olarak girilir; `decoder_input_ids` yalnızca metin bileşenleri üzerinden iletilir. - *text_* veya *speech_* önekiyle, bunlar sırasıyla metin modelinin ve konuşma modelinin `generate` yöntemi için girdi olarak kullanılır. Önek içermeyen anahtar kelimelere göre önceliğe sahiptir.  Bu, örneğin bir üretim için üretim stratejisi belirleyip diğerini belirlememeniz anlamına gelir.

**Dönüş:** `Union[SeamlessM4TGenerationOutput, tuple[Tensor]]`

- `return_intermediate_token_ids` etkinse, `SeamlessM4TGenerationOutput` döndürülür.
- `return_intermediate_token_ids` değeri False değilse, `(batch_size, sequence_length)` biçiminde dalga formlarından ve her bir örneğin uzunluğunu veren `waveform_lengths` bileşeninden oluşan bir tuple döndürür.

Çevrilmiş ses dalga formlarını üretir.

Bu yöntem, iki farklı alt modelin `.generate` fonksiyonunu sırayla çağırır. İki farklı düzeyde anahtar kelime argümanı belirleyebilirsiniz: her iki modele de iletilecek genel argümanlar veya bunlardan birine iletilecek önekli argümanlar.

Örneğin, `.generate(input_ids, num_beams=4, speech_do_sample=True)` çağrısı, metin modelinde sırayla beam-search çözümleme ve konuşma modelinde multinomial beam-search örneklemesi gerçekleştirir.

Üretim stratejileri ve kod örneklerinin genel bakışı için [şu kılavuza](./generation_strategies) göz atın.

## SeamlessM4TForSpeechToSpeech[[transformers.SeamlessM4TForSpeechToSpeech]]

#### transformers.SeamlessM4TForSpeechToSpeech[[transformers.SeamlessM4TForSpeechToSpeech]]

```python
transformers.SeamlessM4TForSpeechToSpeech(config: SeamlessM4TConfig)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/seamless_m4t/modeling_seamless_m4t.py#L3054)

**Parametreler:**

config ([SeamlessM4TConfig](/docs/transformers/main/tr/model_doc/seamless_m4t#transformers.SeamlessM4TConfig)) : 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 bakın.

S2ST için kullanılabilen speech-to-speech SeamlessM4T Model transformer'ı.

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.

#### generate[[transformers.SeamlessM4TForSpeechToSpeech.generate]]

```python
generate(input_features: typing.Optional[torch.Tensor] = None, return_intermediate_token_ids: bool | None = None, tgt_lang: str | None = None, spkr_id: int | None = 0, **kwargs)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/seamless_m4t/modeling_seamless_m4t.py#L3181)

**Parametreler:**

input_features (`torch.Tensor`, şekli `(batch_size, sequence_length, num_banks)`) : Girdi ses özellikleri. Bu, [SeamlessM4TFeatureExtractor](/docs/transformers/main/tr/model_doc/seamless_m4t#transformers.SeamlessM4TFeatureExtractor) sınıfı veya [SeamlessM4TProcessor](/docs/transformers/main/tr/model_doc/seamless_m4t#transformers.SeamlessM4TProcessor) sınıfı tarafından döndürülmelidir. Ayrıntılar için [SeamlessM4TFeatureExtractor.__call__()](/docs/transformers/main/tr/model_doc/seamless_m4t#transformers.SeamlessM4TFeatureExtractor.__call__) bölümüne bakın.

return_intermediate_token_ids (`bool`, *isteğe bağlı*) : `True` ise, ara üretilen metni ve birim jetonlarını da döndürür. Sesin yanı sıra çevrilmiş metni de almak istiyorsanız `True` olarak ayarlayın.

tgt_lang (`str`, *isteğe bağlı*) : Çeviri için hedef dil olarak kullanılacak dil.

spkr_id (`int`, *opsiyonel*, varsayılan 0) : Konuşma sentezi için kullanılan konuşmacının kimliği. `config.vocoder_num_spkrs`'ten küçük olmalıdır.

kwargs (*isteğe bağlı*) : [GenerationMixin.generate()](/docs/transformers/main/tr/main_classes/text_generation#transformers.GenerationMixin.generate) yöntemine iletilecek anahtar kelime argümanlarının kalan sözlüğü. Anahtar kelime argümanları iki türdedir:  - Önek olmadan, bunlar `decoder_input_ids` hariç her alt modelin `generate` yöntemi için `**kwargs` olarak girilir; `decoder_input_ids` yalnızca metin bileşenleri üzerinden iletilir. - *text_* veya *speech_* önekiyle, bunlar sırasıyla metin modelinin ve konuşma modelinin `generate` yöntemi için girdi olarak kullanılır. Önek içermeyen anahtar kelimelere göre önceliğe sahiptir.  Bu, örneğin bir üretim için üretim stratejisi belirleyip diğerini belirlememeniz anlamına gelir.

**Dönüş:** `Union[SeamlessM4TGenerationOutput, tuple[Tensor]]`

- `return_intermediate_token_ids` etkinse, `SeamlessM4TGenerationOutput` döndürülür.
- `return_intermediate_token_ids` değeri False değilse, `(batch_size, sequence_length)` biçiminde dalga formlarından ve her bir örneğin uzunluğunu veren `waveform_lengths` bileşeninden oluşan bir tuple döndürür.

Çevrilmiş ses dalga formlarını üretir.

Bu yöntem, iki farklı alt modelin `.generate` fonksiyonunu sırayla çağırır. İki farklı düzeyde anahtar kelime argümanı belirleyebilirsiniz: her iki modele de iletilecek genel argümanlar veya bunlardan birine iletilecek önekli argümanlar.

Örneğin, `.generate(input_features, num_beams=4, speech_do_sample=True)` çağrısı, metin modelinde sırayla beam-search çözümleme ve konuşma modelinde multinomial beam-search örneklemesi gerçekleştirir.

Üretim stratejileri ve kod örneklerinin genel bakışı için [şu kılavuza](./generation_strategies) göz atın.

## SeamlessM4TForTextToText[[transformers.SeamlessM4TForTextToText]]

#### transformers.SeamlessM4TForTextToText[[transformers.SeamlessM4TForTextToText]]

```python
transformers.SeamlessM4TForTextToText(config: SeamlessM4TConfig)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/seamless_m4t/modeling_seamless_m4t.py#L2277)

**Parametreler:**

config ([SeamlessM4TConfig](/docs/transformers/main/tr/model_doc/seamless_m4t#transformers.SeamlessM4TConfig)) : 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 bakın.

T2TT için kullanılabilen metinden-metne SeamlessM4T Model dönüştürücüsü.

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.SeamlessM4TForTextToText.forward]]

```python
forward(input_ids: 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, inputs_embeds: typing.Optional[torch.Tensor] = 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/seamless_m4t/modeling_seamless_m4t.py#L2313)

**Parametreler:**

input_ids (`torch.LongTensor`, şekli `(batch_size, sequence_length)`, *isteğe bağlı*) : Sözlükteki girdi dizisi belirteçlerinin (token) indeksleri. Varsayılan olarak dolgu (padding) yoksayılır. İndeksler [AutoTokenizer](/docs/transformers/main/tr/model_doc/auto#transformers.AutoTokenizer) 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__) yöntemlerine bakın. [Girdi kimlikları (input IDs) nedir?](../glossary#input-ids)

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 [AutoTokenizer](/docs/transformers/main/tr/model_doc/auto#transformers.AutoTokenizer) 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__) yöntemlerine bakın. [Decoder giriş kimlikleri nelerdir?](../glossary#decoder-input-ids) Bart, `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 sağlanmalıdır (bkz. `past_key_values`). Çeviri ve özetleme eğitimi için `decoder_input_ids` sağlanmalıdır. `decoder_input_ids` sağlanmazsa, model bu tensörü, makalede belirtildiği gibi gürültü giderme ön eğitimi için `input_ids` değerlerini sağa kaydırarak oluşturur.

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_bart._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.

inputs_embeds (`torch.Tensor` şekli`(batch_size, sequence_length, hidden_size)`, *isteğe bağlı*) : `input_ids` göndermek yerine, gömülü bir temsil doğrudan göndermeyi seçebilirsiniz. Bu, `input_ids` dizinlerini ilgili vektörlere dönüştürme biçimi üzerinde modelin dahili gömme arama matrisinden daha fazla kontrol sahibi olmak istiyorsanız faydalıdır.  labels (`torch.LongTensor` şekli `(batch_size, sequence_length)`, *isteğe bağlı*): Maskeli dil modelleme kaybını hesaplamak için etiketler. Dizinler `[-100, 0, ..., config.vocab_size]` aralığında olmalıdır (bkz. `input_ids` docstring). Dizinleri `-100` olarak ayarlanan tokenlar yok sayılır (maskelenir), kayıp yalnızca etiketleri `[0, ..., config.vocab_size]` aralığında olan tokenlar için hesaplanır.

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ı*) : Maskeli dil modelleme kaybını hesaplamak için etiketler. Endeksler `[0, ..., config.vocab_size]` aralığında olmalı ya da -100 olmalı (`input_ids` docstring'ine bakın). Endeksleri `-100` olarak ayarlanan tokenlar yok sayılır (maskelenir), kayıp yalnızca `[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 ([SeamlessM4TConfig](/docs/transformers/main/tr/model_doc/seamless_m4t#transformers.SeamlessM4TConfig)) ve girdilere bağlı olarak çeşitli öğelerden oluşur.

[SeamlessM4TForTextToText](/docs/transformers/main/tr/model_doc/seamless_m4t#transformers.SeamlessM4TForTextToText) 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ı.

#### generate[[transformers.SeamlessM4TForTextToText.generate]]

```python
generate(input_ids = None, tgt_lang = None, generation_config = None, logits_processor = None, stopping_criteria = None, prefix_allowed_tokens_fn = None, synced_gpus = False, **kwargs)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/seamless_m4t/modeling_seamless_m4t.py#L2395)

**Parametreler:**

input_ids (`torch.Tensor`, modaliteye göre değişen şekle sahip, *isteğe bağlı*) : Sözlükteki girdi dizisi token'larının indeksleri. İndeksler [SeamlessM4TTokenizer](/docs/transformers/main/tr/model_doc/seamless_m4t#transformers.SeamlessM4TTokenizer) veya [SeamlessM4TProcessor](/docs/transformers/main/tr/model_doc/seamless_m4t#transformers.SeamlessM4TProcessor) 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__) yöntemlerine bakın. [Girdi ID'leri nelerdir?](../glossary#input-ids)

tgt_lang (`str`, *isteğe bağlı*) : Çeviri için hedef dil olarak kullanılacak dil.

generation_config (`~generation.GenerationConfig`, *isteğe bağlı*) : Üretim çağrısı için temel parametrelendirme olarak kullanılacak üretim yapılandırması. `generation_config` öznitelikleriyle eşleşen ve generate'e aktarılan `**kwargs` bunları geçersiz kılar. `generation_config` sağlanmazsa, varsayılan değer kullanılır; bunun yükleme önceliği şu şekildedir: 1) varsa `generation_config.json` model dosyasından; 2) model yapılandırmasından. Belirtilmeyen parametrelerin [GenerationConfig](/docs/transformers/main/tr/main_classes/text_generation#transformers.GenerationConfig)'in varsayılan değerlerini devralacağını ve üretim parametrelendirmesi için belgelenmiş değerlerin kontrol edilmesi gerektiğini lütfen unutmayın.

logits_processor (`LogitsProcessorList`, *isteğe bağlı*) : Argümanlardan ve üretim yapılandırmasından oluşturulan varsayılan logits işleyicilerini tamamlayan özel logits işleyicileri. Argümanlarla veya bir üretim yapılandırmasıyla zaten oluşturulmuş bir logits işleyicisi geçirilirse bir hata fırlatılır. Bu özellik ileri düzey kullanıcılar için tasarlanmıştır.

stopping_criteria (`StoppingCriteriaList`, *isteğe bağlı*) : Argümanlardan ve bir üretim yapılandırmasından oluşturulan varsayılan durdurma ölçütlerini tamamlayan özel durdurma ölçütleri. Argümanlarla veya bir üretim yapılandırmasıyla zaten oluşturulmuş bir durdurma ölçütü geçirilirse bir hata fırlatılır. Bu özellik ileri düzey kullanıcılar için tasarlanmıştır.

prefix_allowed_tokens_fn (`Callable[[int, torch.Tensor], list[int]]`, *isteğe bağlı*) : Sağlanırsa, bu fonksiyon her adımda beam search'i yalnızca izin verilen token'lara kısıtlar. Sağlanmazsa hiçbir kısıtlama uygulanmaz. Bu fonksiyon 2 argüman alır: batch kimliği `batch_id` ve `input_ids`. Batch kimliği `batch_id` ve daha önce üretilen token'lara `inputs_ids` bağlı olarak, bir sonraki üretim adımı için izin verilen token'ların listesini döndürmelidir. Bu argüman, [Autoregressive Entity Retrieval](https://huggingface.co/papers/2010.00904) başlıklı bölümde anlatıldığı gibi, önekle (prefix) koşullu kısıtlı üretim için faydalıdır.

synced_gpus (`bool`, *isteğe bağlı*, varsayılan `False`) : while döngüsünün max_length değerine kadar çalışmaya devam edip etmeyeceğini belirler (`FullyShardedDataParallel` ve DeepSpeed ZeRO Stage 3 ile ölü kilitlenmeyi önlemek için gereklidir).

kwargs (`dict[str, Any]`, *isteğe bağlı*) : `generate_config` için ad hoc parametrelendirme ve/veya modelin `forward` fonksiyonuna iletilecek ek model-özel kwargs.

**Dönüş:** [ModelOutput](/docs/transformers/main/tr/main_classes/output#transformers.utils.ModelOutput) veya `torch.LongTensor`

Bir [ModelOutput](/docs/transformers/main/tr/main_classes/output#transformers.utils.ModelOutput) (`return_dict_in_generate=True` ise veya `config.return_dict_in_generate=True` ise) ya da bir `torch.Tensor`. Olası [ModelOutput](/docs/transformers/main/tr/main_classes/output#transformers.utils.ModelOutput) türleri şunlardır:
- [GenerateEncoderDecoderOutput](/docs/transformers/main/tr/internal/generation_utils#transformers.generation.GenerateEncoderDecoderOutput),
- [GenerateBeamEncoderDecoderOutput](/docs/transformers/main/tr/internal/generation_utils#transformers.generation.GenerateBeamEncoderDecoderOutput)

Token kimliği dizileri oluşturur.

Çoğu üretim kontrol parametresi, `generation_config` içinde ayarlanır; bu parametre geçirilmezse, modelin varsayılan üretim yapılandırması kullanılır. `generation_config` içindeki herhangi bir değeri, generate() fonksiyonuna ilgili parametreleri geçirerek geçersiz kılabilirsiniz, örneğin `.generate(inputs, num_beams=4, do_sample=True)`.

Üretim stratejileri ve kod örneklerinin genel bakışı için [şu kılavuza](./generation_strategies) göz atın.

## SeamlessM4TForSpeechToText[[transformers.SeamlessM4TForSpeechToText]]

#### transformers.SeamlessM4TForSpeechToText[[transformers.SeamlessM4TForSpeechToText]]

```python
transformers.SeamlessM4TForSpeechToText(config: SeamlessM4TConfig)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/seamless_m4t/modeling_seamless_m4t.py#L2512)

**Parametreler:**

config ([SeamlessM4TConfig](/docs/transformers/main/tr/model_doc/seamless_m4t#transformers.SeamlessM4TConfig)) : 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 bakın.

S2TT için kullanılabilen ses-metne çeviri SeamlessM4T Model dönüştürücüsü.

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.SeamlessM4TForSpeechToText.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, inputs_embeds: typing.Optional[torch.Tensor] = 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/seamless_m4t/modeling_seamless_m4t.py#L2545)

**Parametreler:**

input_features (`torch.Tensor`, şekli `(batch_size, sequence_length, num_banks)`) : Girdi ses özellikleri. Bu, [SeamlessM4TFeatureExtractor](/docs/transformers/main/tr/model_doc/seamless_m4t#transformers.SeamlessM4TFeatureExtractor) sınıfı veya [SeamlessM4TProcessor](/docs/transformers/main/tr/model_doc/seamless_m4t#transformers.SeamlessM4TProcessor) sınıfı tarafından döndürülmelidir. Ayrıntılar için [SeamlessM4TFeatureExtractor.__call__()](/docs/transformers/main/tr/model_doc/seamless_m4t#transformers.SeamlessM4TFeatureExtractor.__call__) bölümüne bakın.

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 [AutoTokenizer](/docs/transformers/main/tr/model_doc/auto#transformers.AutoTokenizer) 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__) yöntemlerine bakın. [Decoder giriş kimlikleri nelerdir?](../glossary#decoder-input-ids) Bart, `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 sağlanmalıdır (bkz. `past_key_values`). Çeviri ve özetleme eğitimi için `decoder_input_ids` sağlanmalıdır. `decoder_input_ids` sağlanmazsa, model bu tensörü, makalede belirtildiği gibi gürültü giderme ön eğitimi için `input_ids` değerlerini sağa kaydırarak oluşturur.

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_bart._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.

inputs_embeds (`torch.Tensor` şekli`(batch_size, sequence_length, hidden_size)`, *isteğe bağlı*) : `input_ids` göndermek yerine, gömülü bir temsil doğrudan göndermeyi seçebilirsiniz. Bu, `input_ids` dizinlerini ilgili vektörlere dönüştürme biçimi üzerinde modelin dahili gömme arama matrisinden daha fazla kontrol sahibi olmak istiyorsanız faydalıdır.  labels (`torch.LongTensor` şekli `(batch_size, sequence_length)`, *isteğe bağlı*): Maskeli dil modelleme kaybını hesaplamak için etiketler. Dizinler `[-100, 0, ..., config.vocab_size]` aralığında olmalıdır (bkz. `input_ids` docstring). Dizinleri `-100` olarak ayarlanan tokenlar yok sayılır (maskelenir), kayıp yalnızca etiketleri `[0, ..., config.vocab_size]` aralığında olan tokenlar için hesaplanır.

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ı*) : Maskeli dil modelleme kaybını hesaplamak için etiketler. Endeksler `[0, ..., config.vocab_size]` aralığında olmalı ya da -100 olmalı (`input_ids` docstring'ine bakın). Endeksleri `-100` olarak ayarlanan tokenlar yok sayılır (maskelenir), kayıp yalnızca `[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 ([SeamlessM4TConfig](/docs/transformers/main/tr/model_doc/seamless_m4t#transformers.SeamlessM4TConfig)) ve girdilere bağlı olarak çeşitli öğelerden oluşur.

[SeamlessM4TForSpeechToText](/docs/transformers/main/tr/model_doc/seamless_m4t#transformers.SeamlessM4TForSpeechToText) 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
>>> from transformers import AutoProcessor, SeamlessM4TForSpeechToText
>>> from datasets import load_dataset
>>> import torch

>>> dataset = load_dataset("hf-internal-testing/librispeech_asr_demo", "clean", split="validation")
>>> dataset = dataset.sort("id")
>>> sampling_rate = dataset.features["audio"].sampling_rate

>>> processor = AutoProcessor.from_pretrained("facebook/hf-seamless-m4t-medium")
>>> model = SeamlessM4TForSpeechToText.from_pretrained("facebook/hf-seamless-m4t-medium")

>>> # audio file is decoded on the fly
>>> inputs = processor(dataset[0]["audio"]["array"], sampling_rate=sampling_rate, return_tensors="pt")
>>> with torch.no_grad():
...     logits = model(**inputs).logits
>>> predicted_ids = torch.argmax(logits, dim=-1)

>>> # transcribe speech
>>> transcription = processor.batch_decode(predicted_ids)
>>> transcription[0]
...

>>> inputs["labels"] = processor(text=dataset[0]["text"], return_tensors="pt").input_ids

>>> # compute loss
>>> loss = model(**inputs).loss
>>> round(loss.item(), 2)
...
```

#### generate[[transformers.SeamlessM4TForSpeechToText.generate]]

```python
generate(input_features = None, tgt_lang = None, generation_config = None, logits_processor = None, stopping_criteria = None, prefix_allowed_tokens_fn = None, synced_gpus = False, **kwargs)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/seamless_m4t/modeling_seamless_m4t.py#L2634)

**Parametreler:**

input_features (`torch.Tensor`, şekli `(batch_size, sequence_length, num_banks)`) : Girdi ses özellikleri. Bu, [SeamlessM4TFeatureExtractor](/docs/transformers/main/tr/model_doc/seamless_m4t#transformers.SeamlessM4TFeatureExtractor) sınıfı veya [SeamlessM4TProcessor](/docs/transformers/main/tr/model_doc/seamless_m4t#transformers.SeamlessM4TProcessor) sınıfı tarafından döndürülmelidir. Ayrıntılar için [SeamlessM4TFeatureExtractor.__call__()](/docs/transformers/main/tr/model_doc/seamless_m4t#transformers.SeamlessM4TFeatureExtractor.__call__) bölümüne bakın.

tgt_lang (`str`, *isteğe bağlı*) : Çeviri için hedef dil olarak kullanılacak dil.

generation_config (`~generation.GenerationConfig`, *isteğe bağlı*) : Üretim çağrısı için temel parametrelendirme olarak kullanılacak üretim yapılandırması. `generation_config` öznitelikleriyle eşleşen ve generate'e aktarılan `**kwargs` bunları geçersiz kılar. `generation_config` sağlanmazsa, varsayılan değer kullanılır; bunun yükleme önceliği şu şekildedir: 1) varsa `generation_config.json` model dosyasından; 2) model yapılandırmasından. Belirtilmeyen parametrelerin [GenerationConfig](/docs/transformers/main/tr/main_classes/text_generation#transformers.GenerationConfig)'in varsayılan değerlerini devralacağını ve üretim parametrelendirmesi için belgelenmiş değerlerin kontrol edilmesi gerektiğini lütfen unutmayın.

logits_processor (`LogitsProcessorList`, *isteğe bağlı*) : Argümanlardan ve üretim yapılandırmasından oluşturulan varsayılan logits işleyicilerini tamamlayan özel logits işleyicileri. Argümanlarla veya bir üretim yapılandırmasıyla zaten oluşturulmuş bir logits işleyicisi geçirilirse bir hata fırlatılır. Bu özellik ileri düzey kullanıcılar için tasarlanmıştır.

stopping_criteria (`StoppingCriteriaList`, *isteğe bağlı*) : Argümanlardan ve bir üretim yapılandırmasından oluşturulan varsayılan durdurma ölçütlerini tamamlayan özel durdurma ölçütleri. Argümanlarla veya bir üretim yapılandırmasıyla zaten oluşturulmuş bir durdurma ölçütü geçirilirse bir hata fırlatılır. Bu özellik ileri düzey kullanıcılar için tasarlanmıştır.

prefix_allowed_tokens_fn (`Callable[[int, torch.Tensor], list[int]]`, *isteğe bağlı*) : Sağlanırsa, bu fonksiyon her adımda beam search'i yalnızca izin verilen token'lara kısıtlar. Sağlanmazsa hiçbir kısıtlama uygulanmaz. Bu fonksiyon 2 argüman alır: batch kimliği `batch_id` ve `input_ids`. Batch kimliği `batch_id` ve daha önce üretilen token'lara `inputs_ids` bağlı olarak, bir sonraki üretim adımı için izin verilen token'ların listesini döndürmelidir. Bu argüman, [Autoregressive Entity Retrieval](https://huggingface.co/papers/2010.00904) başlıklı bölümde anlatıldığı gibi, önekle (prefix) koşullu kısıtlı üretim için faydalıdır.

synced_gpus (`bool`, *isteğe bağlı*, varsayılan `False`) : while döngüsünün max_length değerine kadar çalışmaya devam edip etmeyeceğini belirler (`FullyShardedDataParallel` ve DeepSpeed ZeRO Stage 3 ile ölü kilitlenmeyi önlemek için gereklidir).

kwargs (`dict[str, Any]`, *isteğe bağlı*) : `generate_config` için ad hoc parametrelendirme ve/veya modelin `forward` fonksiyonuna iletilecek ek model-özel kwargs.

**Dönüş:** [ModelOutput](/docs/transformers/main/tr/main_classes/output#transformers.utils.ModelOutput) veya `torch.LongTensor`

Bir [ModelOutput](/docs/transformers/main/tr/main_classes/output#transformers.utils.ModelOutput) (`return_dict_in_generate=True` ise veya `config.return_dict_in_generate=True` ise) ya da bir `torch.Tensor`. Olası [ModelOutput](/docs/transformers/main/tr/main_classes/output#transformers.utils.ModelOutput) türleri şunlardır:
- [GenerateEncoderDecoderOutput](/docs/transformers/main/tr/internal/generation_utils#transformers.generation.GenerateEncoderDecoderOutput),
- [GenerateBeamEncoderDecoderOutput](/docs/transformers/main/tr/internal/generation_utils#transformers.generation.GenerateBeamEncoderDecoderOutput)

Token kimliği dizileri oluşturur.

Çoğu üretim kontrol parametresi, `generation_config` içinde ayarlanır; bu parametre geçirilmezse, modelin varsayılan üretim yapılandırması kullanılır. `generation_config` içindeki herhangi bir değeri, generate() fonksiyonuna ilgili parametreleri geçirerek geçersiz kılabilirsiniz, örneğin `.generate(inputs, num_beams=4, do_sample=True)`.

Üretim stratejileri ve kod örneklerinin genel bakışı için [şu kılavuza](./generation_strategies) göz atın.

## SeamlessM4TConfig[[transformers.SeamlessM4TConfig]]

#### transformers.SeamlessM4TConfig[[transformers.SeamlessM4TConfig]]

```python
transformers.SeamlessM4TConfig(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 = 256102, t2u_vocab_size: int = 10082, hidden_size: int = 1024, initializer_range: float = 0.02, layer_norm_eps: float = 1e-05, use_cache: bool = True, max_position_embeddings: int = 1024, encoder_layerdrop: float | int = 0.05, decoder_layerdrop: float | int = 0.05, activation_function: str = 'relu', dropout: float | int = 0.1, attention_dropout: float | int = 0.1, activation_dropout: float | int = 0.0, scale_embedding: bool = True, encoder_layers: int = 24, encoder_ffn_dim: int = 8192, encoder_attention_heads: int = 16, decoder_layers: int = 24, decoder_ffn_dim: int = 8192, decoder_attention_heads: int = 16, decoder_start_token_id: int = 3, max_new_tokens: int | None = 256, pad_token_id: int | None = 0, bos_token_id: int | None = 2, eos_token_id: int | list[int] | None = 3, speech_encoder_layers: int = 24, speech_encoder_attention_heads: int = 16, speech_encoder_intermediate_size: int = 4096, speech_encoder_hidden_act: str = 'swish', speech_encoder_dropout: float | int = 0.0, add_adapter: bool = True, speech_encoder_layerdrop: float | int = 0.1, feature_projection_input_dim: int = 160, num_conv_pos_embeddings: int = 128, num_conv_pos_embedding_groups: int = 16, adaptor_kernel_size: int = 8, adaptor_stride: int = 8, adaptor_dropout: float | int = 0.1, num_adapter_layers: int = 1, position_embeddings_type: str = 'relative', rotary_embedding_base: int = 10000, max_source_positions: int = 4096, conv_depthwise_kernel_size: int = 31, t2u_bos_token_id: int | None = 0, t2u_pad_token_id: int | None = 1, t2u_eos_token_id: int | list[int] | None = 2, t2u_decoder_start_token_id: int = 2, t2u_max_new_tokens: int = 1024, t2u_encoder_layers: int = 6, t2u_encoder_ffn_dim: int = 8192, t2u_encoder_attention_heads: int = 16, t2u_decoder_layers: int = 6, t2u_decoder_ffn_dim: int = 8192, t2u_decoder_attention_heads: int = 16, t2u_max_position_embeddings: int = 2048, sampling_rate: int = 16000, upsample_initial_channel: int = 512, upsample_rates: list[int] | tuple[int, ...] = (5, 4, 4, 2, 2), upsample_kernel_sizes: list[int] | tuple[int, ...] = (11, 8, 8, 4, 4), resblock_kernel_sizes: list[int] | tuple[int, ...] = (3, 7, 11), resblock_dilation_sizes: list | tuple = ((1, 3, 5), (1, 3, 5), (1, 3, 5)), leaky_relu_slope: float = 0.1, unit_hifi_gan_vocab_size: int = 10000, unit_embed_dim: int = 1280, lang_embed_dim: int = 256, spkr_embed_dim: int = 256, vocoder_num_langs: int = 36, vocoder_num_spkrs: int = 200, variance_predictor_kernel_size: int = 3, var_pred_dropout: float | int = 0.5, vocoder_offset: int = 4, tie_word_embeddings: bool = True)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/seamless_m4t/configuration_seamless_m4t.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 `256102`) : Modelin sözlük boyutu. `input_ids` tarafından temsil edilebilecek farklı token sayısını tanımlar.

t2u_vocab_size (`int`, *isteğe bağlı*, varsayılan 10082) : SeamlessM4T modelinin birim sözlük boyutu. [~SeamlessM4TModel](/docs/transformers/main/tr/model_doc/seamless_m4t#transformers.SeamlessM4TModel), [~SeamlessM4TForSpeechToSpeech](/docs/transformers/main/tr/model_doc/seamless_m4t#transformers.SeamlessM4TForSpeechToSpeech) veya [~SeamlessM4TForTextToSpeech](/docs/transformers/main/tr/model_doc/seamless_m4t#transformers.SeamlessM4TForTextToSpeech) çağrılırken Text-To-Units alt modeline geçirilen `inputs_ids` tarafından temsil edilebilecek farklı birim jetonlarının sayısını tanımlar.

hidden_size (`int`, *isteğe bağlı*, varsayılan `1024`) : Gizli temsillerin boyutu.

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

layer_norm_eps (`float`, *opsiyonel*, varsayılan `1e-05`) : Katman normalizasyonu katmanları tarafından kullanılan epsilon.

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.

max_position_embeddings (`int`, *isteğe bağlı*, varsayılan `1024`) : Bu modelin kullanılabileceği maksimum dizi uzunluğu.

encoder_layerdrop (`Union[float, int]`, *isteğe bağlı*, varsayılan `0.05`) : 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.05`) : Çözücü için LayerDrop olasılığı. Daha fazla ayrıntı için [LayerDrop makalesine](see https://huggingface.co/papers/1909.11556) bakın.

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.

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.1`) : 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ı.

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.

encoder_layers (`int`, *isteğe bağlı*, varsayılan `24`) : 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 `8192`) : 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 `16`) : Transformer kodlayıcısındaki her dikkat katmanı için dikkat başı sayısı.

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

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

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

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

max_new_tokens (`int`, *isteğe bağlı*, varsayılan 256) : İstekteki token sayısını göz ardı ederek üretilecek en fazla metin token sayısı.

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

bos_token_id (`int`, *isteğe bağlı*, varsayılan `2`) : Sözlükte akış başlangıcı için kullanılan token kimliği.

eos_token_id (`Union[int, list[int]]`, *isteğe bağlı*, varsayılan `3`) : Sözlükte akış sonu için kullanılan token kimliği.

speech_encoder_layers (`int`, *isteğe bağlı*, varsayılan 24) : Transformer ses kodlayıcısındaki gizli katman sayısı.

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

speech_encoder_intermediate_size (`int`, *opsiyonel*, varsayılan 4096) : Transformer ses kodlayıcısındaki "ara" (yani, ileri beslemeli) katmanın boyutu.

speech_encoder_hidden_act (`str` veya `function`, *opsiyonel*, varsayılan `"swish"`) : Ses kodlayıcıdaki doğrusal olmayan aktivasyon fonksiyonu (fonksiyon veya dize). Dize ise, `"gelu"`, `"relu"`, `"selu"`, `"swish"` ve `"gelu_new"` desteklenir.

speech_encoder_dropout (`float`, *opsiyonel*, varsayılan 0.0) : Ses kodlayıcıdaki tüm katmanlar için dropout olasılığı.

add_adapter (`bool`, *isteğe bağlı*, varsayılan `True`) : Ses kodlayıcısının üzerine bir adaptör katmanı ekler.

speech_encoder_layerdrop (`float`, *opsiyonel*, varsayılan 0.1) : Ses kodlayıcı için LayerDrop olasılığı. Daha fazla ayrıntı için [LayerDrop makalesine](see https://huggingface.co/papers/1909.11556) bakın.

feature_projection_input_dim (`int`, *isteğe bağlı*, varsayılan 160) : Ses kodlayıcısının giriş özellik projeksiyonunun giriş boyutu, yani [SeamlessM4TFeatureExtractor](/docs/transformers/main/tr/model_doc/seamless_m4t#transformers.SeamlessM4TFeatureExtractor) ile giriş seslerinin işlenmesinden sonraki boyut.

num_conv_pos_embeddings (`int`, *isteğe bağlı*, varsayılan 128) : Konvolüsyonel konumsal gömme sayısı. Ses kodlayıcısının 1B konvolüsyonel konumsal gömme katmanının çekirdek boyutunu tanımlar.

num_conv_pos_embedding_groups (`int`, *opsiyonel*, varsayılan 16) : Ses kodlayıcısının 1D konvolüsyonel konumsal gömme katmanının grup sayısı.

adaptor_kernel_size (`int`, *opsiyonel*, varsayılan 8) : Adaptör ağındaki konvolüsyon katmanlarının çekirdek boyutu. Yalnızca `add_adapter is True` ise geçerlidir.

adaptor_stride (`int`, *isteğe bağlı*, varsayılan 8) : Adaptör ağındaki konvolüsyon katmanlarının adım boyutu. Yalnızca `add_adapter is True` ise geçerlidir.

adaptor_dropout (`float`, *opsiyonel*, varsayılan 0.1) : Ses adaptöründeki tüm katmanlar için dropout olasılığı.

num_adapter_layers (`int`, *opsiyonel*, varsayılan 1) : Adaptör ağında kullanılması gereken konvolüsyonel katman sayısı. Yalnızca `add_adapter is True` durumunda geçerlidir.

position_embeddings_type (`str`, *isteğe bağlı*, varsayılan `"relative"`) : Göreli veya döner konum gömmelemeleri için sırasıyla `relative` veya `rotary` olarak belirtilebilir. `None` olarak bırakılırsa göreli konum gömmelemesi uygulanmaz. Yalnızca ses kodlayıcıya uygulanır.

rotary_embedding_base (`int`, *isteğe bağlı*, varsayılan 10000) : `"rotary"` konum gömlemeleri kullanılıyorsa, gömme tabanının boyutunu tanımlar. Yalnızca ses kodlayıcıya uygulanır.

max_source_positions (`int`, *isteğe bağlı*, varsayılan 4096) : `"relative"` konum gömme kullanılıyorsa, maksimum kaynak giriş konumlarını tanımlar. Yalnızca konuşma kodlayıcıya uygulanır.

conv_depthwise_kernel_size (`int`, *opsiyonel*, varsayılan 31) : Conformer bloklarındaki konvolüsyonel derinlikli 1D katmanının çekirdek boyutu. Yalnızca konuşma kodlayıcıya uygulanır.

t2u_bos_token_id (`int`, *isteğe bağlı*, varsayılan 0) : _beginning-of-stream_ birim token'ının kimliği. Yalnızca metinden birime seq2seq modeline uygulanır.

t2u_pad_token_id (`int`, *isteğe bağlı*, varsayılan 1) : _padding_ birim token'ının kimliği. Yalnızca metinden birime seq2seq modeline uygulanır.

t2u_eos_token_id (`int`, *isteğe bağlı*, varsayılan 2) : _end-of-stream_ birim token'ının kimliği. Yalnızca metinden birime seq2seq modeline uygulanır.

t2u_decoder_start_token_id (`int`, *isteğe bağlı*, varsayılan 2) : Bir encoder-decoder modeli, _bos_ ile farklı bir token ile çözümlemeye başlıyorsa, o token'ın kimliği. Yalnızca text-to-unit seq2seq modeline uygulanır.

t2u_max_new_tokens (`int`, *isteğe bağlı*, varsayılan 1024) : İstemindeki token sayısını yok sayarak üretilecek maksimum birim token sayısı. Yalnızca metinden birime seq2seq modeline uygulanır.

t2u_encoder_layers (`int`, *isteğe bağlı*, varsayılan 6) : Transformer metinden birime kodlayıcısındaki gizli katman sayısı.

t2u_encoder_ffn_dim (`int`, *isteğe bağlı*, varsayılan 8192) : Transformer metinden birime kodlayıcısında "ara" (yani, ileri beslemeli) katmanın boyutu.

t2u_encoder_attention_heads (`int`, *isteğe bağlı*, varsayılan 16) : Transformer metinden birime kodlayıcıda her dikkat katmanı için dikkat başı sayısı.

t2u_decoder_layers (`int`, *isteğe bağlı*, varsayılan 6) : Transformer metinden birime çözücüdeki gizli katman sayısı.

t2u_decoder_ffn_dim (`int`, *isteğe bağlı*, varsayılan 8192) : Transformer metinden birime dönüştürücüdeki "ara" (yani, ileri beslemeli) katmanın boyutu.

t2u_decoder_attention_heads (`int`, *isteğe bağlı*, varsayılan 16) : Transformer metinden birime çözücüdeki her dikkat katmanı için dikkat başı sayısı.

t2u_max_position_embeddings (`int`, *isteğe bağlı*, varsayılan 2048) : Bu modelin metinden birime (text-to-unit) bileşeninin 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).

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

upsample_initial_channel (`int`, *isteğe bağlı*, varsayılan 512) : hifi-gan yükseltme (upsampling) ağına giren giriş kanal sayısı. Yalnızca vokoder için geçerlidir.

upsample_rates (`tuple[int]` veya `list[int]`, *opsiyonel*, varsayılan `[5, 4, 4, 2, 2]`) : Vokoder yukarı örnekleme ağındaki her 1D konvolüsyon katmanının adımını (stride) tanımlayan tamsayılardan oluşan bir demet. *upsample_rates*'in uzunluğu, konvolüsyon katmanlarının sayısını belirler ve *upsample_kernel_sizes*'in uzunluğuyla eşleşmelidir. Yalnızca vokoder için geçerlidir.

upsample_kernel_sizes (`tuple[int]` veya `list[int]`, *isteğe bağlı*, varsayılan `[11, 8, 8, 4, 4]`) : Vokoder yukarı örneklemeye (upsampling) ağında her bir 1D konvolüsyonel katmanın çekirdek boyutunu tanımlayan tamsayılar dizisi. *upsample_kernel_sizes*'in uzunluğu, konvolüsyonel katmanların sayısını belirler ve *upsample_rates*'in uzunluğuyla eşleşmelidir. Yalnızca vokoder için geçerlidir.

resblock_kernel_sizes (`tuple[int]` veya `list[int]`, *isteğe bağlı*, varsayılan `[3, 7, 11]`) : Çoklu algılama alanı füzyonu (MRF) modülündeki vokalizer 1D konvolüsyon katmanlarının çekirdek boyutlarını tanımlayan tamsayılar dizisi. Yalnızca vokalizer için geçerlidir.

resblock_dilation_sizes (`tuple[tuple[int]]` veya `list[list[int]]`, *opsiyonel*, varsayılan değeri `[[1, 3, 5], [1, 3, 5], [1, 3, 5]]`) : Çoklu algılama alanı füzyonu (MRF) modülündeki vokalizer seyreltilmiş 1D konvolüsyon katmanlarının seyreltme oranlarını tanımlayan iç içe geçmiş bir tamsayı tuple'ı. Yalnızca vokalizer için geçerlidir.

leaky_relu_slope (`float`, *opsiyonel*, varsayılan 0.1) : Vokoderde kullanılan leaky ReLU aktivasyonunun negatif eğim açısı. Yalnızca vokodere uygulanır.

unit_hifi_gan_vocab_size (`int`, *isteğe bağlı*, varsayılan 10000) : SeamlessM4T vokoderinin sözlük boyutu. [~SeamlessM4TModel](/docs/transformers/main/tr/model_doc/seamless_m4t#transformers.SeamlessM4TModel), [~SeamlessM4TForSpeechToSpeech](/docs/transformers/main/tr/model_doc/seamless_m4t#transformers.SeamlessM4TForSpeechToSpeech) veya [~SeamlessM4TForTextToSpeech](/docs/transformers/main/tr/model_doc/seamless_m4t#transformers.SeamlessM4TForTextToSpeech) vokoderi çağrılırken geçirilen `inputs_ids` ile temsil edilebilecek farklı birim jetonlarının sayısını tanımlar.

unit_embed_dim (`int`, *opsiyonel*, varsayılan 1280) : hifi-gan vokodere verilen girdi kimliklerinin (input ids) projeksiyon boyutu. Yalnızca vokoder için geçerlidir.

lang_embed_dim (`int`, *opsiyonel*, varsayılan 256) : hifi-gan vokodere verilen hedef dilin projeksiyon boyutu. Yalnızca vokoder için geçerlidir.

spkr_embed_dim (`int`, *opsiyonel*, varsayılan 256) : hifi-gan vokodere verilen konuşmacı kimliğinin projeksiyon boyutu. Yalnızca vokoder için geçerlidir.

vocoder_num_langs (`int`, *opsiyonel*, varsayılan 36) : Vocoder tarafından desteklenen dil sayısı. `t2u_num_langs`'den farklı olabilir.

vocoder_num_spkrs (`int`, *isteğe bağlı*, varsayılan 200) : Vokoder tarafından desteklenen konuşmacı sayısı.

variance_predictor_kernel_size (`int`, *isteğe bağlı*, varsayılan 3) : Süre tahmincisinin çekirdek boyutu. Yalnızca vokodere uygulanır.

var_pred_dropout (`float`, *opsiyonel*, varsayılan 0.5) : Süre tahmincisinin dropout olasılığı. Yalnızca vokodere uygulanır.

vocoder_offset (`int`, *isteğe bağlı*, varsayılan 4) : Sembol tokenlarını hesaba katmak için birim token kimliklerini bu sayı kadar kaydırır. Yalnızca vokoder için geçerlidir.

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 SeamlessM4TModel yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Seamless M4T modelini örneklemek ve model mimarisini tanımlamak için kullanılır. Varsayılanlarla bir yapılandırma örneği oluşturmak, [facebook/hf-seamless-m4t-medium](https://huggingface.co/facebook/hf-seamless-m4t-medium) ile benzer bir yapılandırmaya yol açar.

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.

```python
>>> from transformers import SeamlessM4TModel, SeamlessM4TConfig

>>> # Initializing a SeamlessM4T "facebook/hf-seamless-m4t-medium" style configuration
>>> configuration = SeamlessM4TConfig()

>>> # Initializing a model from the "facebook/hf-seamless-m4t-medium" style configuration
>>> model = SeamlessM4TModel(configuration)

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

## SeamlessM4TTokenizer[[transformers.SeamlessM4TTokenizer]]

#### transformers.SeamlessM4TTokenizer[[transformers.SeamlessM4TTokenizer]]

```python
transformers.SeamlessM4TTokenizer(vocab: str | dict[str, int] | None = None, merges: str | list[str] | None = None, bos_token = '<s>', eos_token = '</s>', sep_token = '</s>', cls_token = '<s>', unk_token = '<unk>', pad_token = '<pad>', src_lang = 'eng', tgt_lang = 'fra', additional_special_tokens = None, keep_accents = None, vocab_file = None, **kwargs)
```

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

**Parametreler:**

vocab (`list` or `dict`, *optional*) : List of (token, score) tuples or dict mapping tokens to indices. If not provided, uses default vocab.

merges (`str` or `list`, *optional*) : List of merge rules for BPE model. If not provided, uses empty list.

bos_token (`str`, *isteğe bağlı*, varsayılan `"<s>"`) : Ön eğitim sırasında kullanılan dizinin başlangıç jetonu. Bir dizi sınıflandırıcı jetonu olarak kullanılabilir. Özel jetonlar kullanılarak bir dizi oluşturulduğunda, dizinin başlangıcı için kullanılan jeton bu değildir. Kullanılan jeton `cls_token`'dur.

eos_token (`str`, *isteğe bağlı*, varsayılan `"</s>"`) : Sıra sonu belirteci. Özel belirteçler kullanılarak bir sıra oluşturulduğunda, sıra sonu için kullanılan belirteç bu değildir. Kullanılan belirteç `sep_token`'tur.

sep_token (`str`, *isteğe bağlı*, varsayılan `"</s>"`) : Birden fazla diziden bir dizi oluşturulurken kullanılan ayraç belirteci, örneğin dizi sınıflandırması için iki dizi veya soru cevaplamada bir metin ve bir soru için. Özel belirteçlerle oluşturulan bir dizinin son belirteci olarak da kullanılır.

cls_token (`str`, *isteğe bağlı*, varsayılan `"<s>"`) : Sıralı sınıflandırma (token başına sınıflandırma yerine tüm sıranın sınıflandırılması) yapılırken kullanılan sınıflandırıcı jetonu. Özel jetonlarla oluşturulduğunda sıranın ilk jetonudur.

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.

src_lang (`str`, *isteğe bağlı*, varsayılan `"eng"`) : Çeviri için kaynak dil olarak kullanılacak dil.

tgt_lang (`str`, *isteğe bağlı*, varsayılan `"fra"`) : Çeviri için hedef dil olarak kullanılacak dil.

additional_special_tokens (tuple veya `str` veya `tokenizers.AddedToken` listesi, *isteğe bağlı*) : Ek özel jetonların bir tuple'ı veya listesi.

SeamlessM4T tokenizer'ı oluşturun (HuggingFace'in *tokenizers* kütüphanesi tarafından desteklenir). [BPE](https://huggingface.co/docs/tokenizers/python/latest/components.html?highlight=bpe#models) tabanlıdır.

Bu tokenizer, ana yöntemlerin çoğunu içeren [TokenizersBackend](/docs/transformers/main/tr/main_classes/tokenizer#transformers.TokenizersBackend) 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.

Kaynak dil belgeleri için tokenizasyon yöntemi `<language code> <tokens> <eos>`, hedef dil belgeleri için ise ` <language code>  ` şeklindedir.

Örnekler:

```python
>>> from transformers import SeamlessM4TTokenizer

>>> tokenizer = SeamlessM4TTokenizer.from_pretrained(
...     "facebook/hf-seamless-m4t-medium", src_lang="eng", tgt_lang="fra"
... )
>>> example_english_phrase = " UN Chief Says There Is No Military Solution in Syria"
>>> expected_translation_french = "Le chef de l'ONU affirme qu'il n'y a pas de solution militaire en Syrie."
>>> inputs = tokenizer(example_english_phrase, text_target=expected_translation_french, return_tensors="pt")
```

#### __call__[[transformers.SeamlessM4TTokenizer.__call__]]

```python
__call__(text: str | list[str] | list[list[str]] | None = None, text_pair: str | list[str] | list[list[str]] | None = None, text_target: str | list[str] | list[list[str]] | None = None, text_pair_target: str | list[str] | list[list[str]] | None = None, padding: bool | str | transformers.utils.generic.PaddingStrategy = False, pad_to_multiple_of: int | None = None, src_lang: str | None = None, tgt_lang: str | None = None, **kwargs)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/seamless_m4t/tokenization_seamless_m4t.py#L355)

**Parametreler:**

text (`str`, `list[str]`, `list[list[str]]`, *opsiyonel*) : Kodlanacak dizi veya dizi partisi. Her dizi bir metin veya metin listesi (önceden tokenize edilmiş metin) olabilir. Diziler metin listesi (önceden tokenize edilmiş) olarak sağlanıyorsa, `is_split_into_words=True` değerini ayarlamanız gerekir (dizi partisiyle olan belirsizliği gidermek için).

text_pair (`str`, `list[str]`, `list[list[str]]`, *opsiyonel*) : Kodlanacak dizi veya dizi partisi. Her dizi bir metin veya metin listesi (önceden tokenize edilmiş metin) olabilir. Diziler metin listesi (önceden tokenize edilmiş) olarak sağlanıyorsa, `is_split_into_words=True` değerini ayarlamanız gerekir (dizi partisiyle olan belirsizliği gidermek için).

text_target (`str`, `list[str]`, `list[list[str]]`, *isteğe bağlı*) : Hedef metinler olarak kodlanacak dizi veya dizi grubu. Her dizi bir metin veya metin listesi (önceden tokenize edilmiş metin) olabilir. Diziler metin listesi (önceden tokenize edilmiş) olarak sağlanıyorsa, `is_split_into_words=True` değerini ayarlamanız gerekir (dizi grubu ile belirsizliği gidermek için).

text_pair_target (`str`, `list[str]`, `list[list[str]]`, *isteğe bağlı*) : Hedef metinler olarak kodlanacak dizi veya dizi grubu. Her dizi bir metin veya metin listesi (önceden tokenize edilmiş metin) olabilir. Diziler metin listesi (önceden tokenize edilmiş) olarak sağlanıyorsa, `is_split_into_words=True` değerini ayarlamanız gerekir (dizi grubu ile belirsizliği gidermek için).

padding (`bool`, `str` veya [PaddingStrategy](/docs/transformers/main/tr/internal/file_utils#transformers.utils.PaddingStrategy), *opsiyonel*, varsayılan `False`) : 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).

pad_to_multiple_of (`int`, *isteğe bağlı*, varsayılan `None`) : Ayarlanırsa, diziyi verilen değerin katına kadar doldurur. Bu, hesaplama yeteneği `>= 7.5` (Volta) olan NVIDIA donanımlarında Tensor Çekirdeklerinin kullanılmasını sağlamak için özellikle faydalıdır.

src_lang (`str`, *isteğe bağlı*) : Kaynak dili temsil eden bir dize. Belirtilmezse, son olarak belirtilen `src_lang` (başlatma sırasında veya bu tokenizer'ı çağırırken) kullanılacaktır.

tgt_lang (`str`, *isteğe bağlı*) : Hedef dili temsil eden bir dize. Belirtilmezse, son olarak belirtilen `tgt_lang` (başlatma sırasında veya bu tokenizer'ı çağırırken) kullanılacaktır.

kwargs (*isteğe bağlı*) : [TokenizersBackend.__call__()](/docs/transformers/main/tr/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.__call__) fonksiyonuna iletilecek anahtar kelime argümanlarının kalan sözlüğü.

#### get_special_tokens_mask[[transformers.SeamlessM4TTokenizer.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/tokenization_utils_base.py#L1337)

**Parametreler:**

token_ids_0 : (muhtemelen biçimlendirilmiş) dizinin kimlik listesi.

token_ids_1 `already_has_special_tokens=True` olduğunda kullanılmaz. Bu durumda None olmalıdır.

already_has_special_tokens : Dizi, özel jetonlarla zaten biçimlendirilmiş mi?

**Dönüş:** [0, 1] aralığında tamsayılar listesi

özel bir jeton için 1, bir dizi jetonu için 0.

Özel tokenlar eklenmemiş bir token listesinden dizi kimliklerini (sequence ids) alın.

Hızlı tokenizörler için veri toplayıcılar, biçimlendirilmiş bir dizinin üzerine bir maske oluşturmak üzere bunu `already_has_special_tokens=True` ile çağırır. Bu durumda, maskenin hesaplanması `all_special_ids` içinde üyelik kontrolü yapılarak gerçekleştirilir.

#### save_vocabulary[[transformers.SeamlessM4TTokenizer.save_vocabulary]]

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

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

## SeamlessM4TFeatureExtractor[[transformers.SeamlessM4TFeatureExtractor]]

#### transformers.SeamlessM4TFeatureExtractor[[transformers.SeamlessM4TFeatureExtractor]]

```python
transformers.SeamlessM4TFeatureExtractor(feature_size = 80, sampling_rate = 16000, num_mel_bins = 80, padding_value = 0.0, stride = 2, **kwargs)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/seamless_m4t/feature_extraction_seamless_m4t.py#L35)

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

stride (`int`, *isteğe bağlı*, varsayılan 2) : Sesleri (batch_size,num_frames,num_mel_bins) şeklinden (batch_size,num_frames//stride,num_mel_bins*stride) şekline yeniden şekillendirmek için kullanılan adım.

SeamlessM4T özellik çıkarıcısı oluşturur.

Bu özellik çıkarıcı, ana yöntemlerin çoğunu içeren [SequenceFeatureExtractor](/docs/transformers/main/tr/main_classes/feature_extractor#transformers.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 mel-filtre bankası özelliklerini çıkarır.

#### __call__[[transformers.SeamlessM4TFeatureExtractor.__call__]]

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

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/seamless_m4t/feature_extraction_seamless_m4t.py#L140)

**Parametreler:**

raw_speech (`np.ndarray`, `torch.Tensor`, `list[float]`, `list[np.ndarray]`, `list[torch.Tensor]`, --

`list[list[float]]`, `list[list[list[float]]]`) : Dolgu yapılacak dizi veya dizi grubu. Her dizi bir numpy dizisi, bir torch tensörü, bir float değerleri listesi, bir numpy dizileri listesi, bir torch tensörleri listesi, bir float değerleri listesi listesi veya bir float değerleri listesi listesi listesi olabilir. `raw_speech` bir boyutlu `np.ndarray`, `torch.Tensor` veya `list[float]` ise, `raw_speech` tek kanallı, tek örnekli bir ses olarak kabul edilir. Diğer tüm durumlarda, `raw_speech`'in ilk boyutu, `np.ndarray`, `torch.Tensor` veya `list[...]` kaynaklı olsun olmasın, gruptaki örnek sayısına karşılık gelir ve kanal sayısı (yani mono veya stereo karakteri) diğer boyutlardan türetilir (1B -> tek kanallı dalga formu grupları; 2B-> stereo kanallı dalga formu grupları).

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

pad_to_multiple_of (`int`, *isteğe bağlı*, varsayılan 2) : Ayarlanırsa, diziyi verilen değerin katına yastıklar. Bu, hesaplama yeteneği `>= 7.5` (Volta) olan NVIDIA donanımlarında Tensor Core'lerin kullanılmasını sağlamak için özellikle faydalıdır veya 128'in katı olan dizi uzunluklarından fayda sağlayan TPU'larda kullanışlıdır.

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.

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)    SeamlessM4T 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.

do_normalize_per_mel_bins (`bool`, *isteğe bağlı*, varsayılan `True`) : Girdinin mel kanal başına sıfır ortalama birim varyans normalize edilip edilmeyeceğini belirtir.

kwargs (*isteğe bağlı*) : Tokenizer veya özellik çıkarıcıya (feature extractor) iletilecek anahtar kelime argümanlarının kalan sözlüğü.

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

## SeamlessM4TProcessor[[transformers.SeamlessM4TProcessor]]

#### transformers.SeamlessM4TProcessor[[transformers.SeamlessM4TProcessor]]

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

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/seamless_m4t/processing_seamless_m4t.py#L48)

**Parametreler:**

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

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

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

[SeamlessM4TProcessor](/docs/transformers/main/tr/model_doc/seamless_m4t#transformers.SeamlessM4TProcessor), [SeamlessM4TFeatureExtractor](/docs/transformers/main/tr/model_doc/seamless_m4t#transformers.SeamlessM4TFeatureExtractor) ve [SeamlessM4TTokenizer](/docs/transformers/main/tr/model_doc/seamless_m4t#transformers.SeamlessM4TTokenizer) sınıflarının tüm işlevlerini sunar. Daha fazla bilgi için [~SeamlessM4TFeatureExtractor](/docs/transformers/main/tr/model_doc/seamless_m4t#transformers.SeamlessM4TFeatureExtractor) ve [~SeamlessM4TTokenizer](/docs/transformers/main/tr/model_doc/seamless_m4t#transformers.SeamlessM4TTokenizer) belgelerini inceleyin.

#### __call__[[transformers.SeamlessM4TProcessor.__call__]]

```python
__call__(text: str | list[str] | list[list[str]] | None = None, audio: typing.Union[numpy.ndarray, ForwardRef('torch.Tensor'), collections.abc.Sequence[numpy.ndarray], collections.abc.Sequence['torch.Tensor'], NoneType] = None, **kwargs: *<class 'transformers.processing_utils.ProcessingKwargs'>)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/seamless_m4t/processing_seamless_m4t.py#L52)

**Parametreler:**

text (`Union[str, list[str], list[list[str]]]`, *isteğe bağlı*) : Kodlanacak dizi veya dizi topluluğu. Her dizi bir metin veya metin listesi (önceden tokenize edilmiş metin) olabilir. Önceden tokenize edilmiş bir girdi geçirirseniz, toplu girdilerle karışıklığı önlemek için `is_split_into_words=True` değerini ayarlayın.

audio (`Union[numpy.ndarray, torch.Tensor, collections.abc.Sequence[numpy.ndarray], collections.abc.Sequence[torch.Tensor]]`, *isteğe bağlı*) : Hazırlanacak ses veya sesler grubu. 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_mm_token_type_ids (`bool`, *kwargs*) : Çok modlu yer tutucu token konumlarını gösteren çok modlu token türü kimliklerini döndürüp döndürmeyeceğini belirtir.

return_text_replacement_offsets (`bool`, *kwargs*) : Her çok modlu yer tutucu ve ikamesi için karakter ofsetlerinin döndürülüp döndürülmemesi.

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.

- ****kwargs** ([ProcessingKwargs](/docs/transformers/main/tr/main_classes/processors#transformers.ProcessingKwargs), *opsiyonel*) : Her modalite (metin, görüntüler, videolar, ses) için ek işleme seçenekleri. Modelle ilgili parametreler yukarıda listelenmiştir; desteklenen argümanların tam listesi için TypedDict sınıfına bakın.

**Dönüş:** [BatchEncoding](/docs/transformers/main/tr/main_classes/tokenizer#transformers.BatchEncoding)

Aşağıdaki alanlara sahip bir [BatchEncoding](/docs/transformers/main/tr/main_classes/tokenizer#transformers.BatchEncoding):

- **input_ids** -- Bir modele verilecek token kimliklerinin listesi. `text` değeri `None` olmadığında döndürülür.
- **attention_mask** -- Modelin hangi jetonlara dikkat etmesi gerektiğini belirleyen indeks listesi (`return_attention_mask=True` olduğunda veya *"attention_mask"* `self.model_input_names` içindeyse ve `text` `None` değilse).
- **input_features** -- Bir modele verilecek ses giriş özellikleri. `audios` değeri `None` olmadığında döndürülür.

## SeamlessM4TCodeHifiGan[[transformers.SeamlessM4TCodeHifiGan]]

#### transformers.SeamlessM4TCodeHifiGan[[transformers.SeamlessM4TCodeHifiGan]]

```python
transformers.SeamlessM4TCodeHifiGan(config: SeamlessM4TConfig)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/seamless_m4t/modeling_seamless_m4t.py#L2123)

**Parametreler:**

config ([SeamlessM4TConfig](/docs/transformers/main/tr/model_doc/seamless_m4t#transformers.SeamlessM4TConfig)) : 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 bakın.

Bu [depozoda](https://github.com/facebookresearch/speech-resynthesis) anlatıldığı gibi HiFi-GAN vokoderini kodlayın.

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.SeamlessM4TCodeHifiGan.forward]]

```python
forward(input_ids: LongTensor, spkr_id: Tensor, lang_id: Tensor, **kwargs)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/seamless_m4t/modeling_seamless_m4t.py#L2199)

**Parametreler:**

input_ids (`torch.LongTensor`, şekli `(batch_size, sequence_length)`) : Sözlükteki girdi dizisi token'larının indeksleri. İndeksler [SeamlessM4TTextToUnitForConditionalGeneration](/docs/transformers/main/tr/model_doc/seamless_m4t#transformers.SeamlessM4TTextToUnitForConditionalGeneration) kullanılarak elde edilebilir. [Girdi ID'leri nelerdir?](../glossary#input-ids)

spkr_id (`int`, *isteğe bağlı*) : Konuşma sentezi için kullanılan konuşmacının kimliği. `config.vocoder_num_spkrs`'den küçük olmalıdır.

tgt_lang (`str`, *isteğe bağlı*) : Çeviri için hedef dil olarak kullanılacak dil kimliği.

## SeamlessM4THifiGan[[transformers.SeamlessM4THifiGan]]

#### transformers.SeamlessM4THifiGan[[transformers.SeamlessM4THifiGan]]

```python
transformers.SeamlessM4THifiGan(config: SeamlessM4TConfig)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/seamless_m4t/modeling_seamless_m4t.py#L2046)

#### forward[[transformers.SeamlessM4THifiGan.forward]]

```python
forward(inputs_embeds: Tensor)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/seamless_m4t/modeling_seamless_m4t.py#L2081)

**Parametreler:**

spectrogram (`torch.Tensor`) : Log-mel spektrogramları içeren tensör. Toplu (batched) olarak `(batch_size, sequence_length, model_in_dim)` biçiminde veya toplu olmayan (un-batched) olarak `(sequence_length, model_in_dim)` biçiminde olabilir. Not: `model_in_dim`, `config.unit_embed_dim`, `config.lang_embed_dim` ve `config.spkr_embed_dim` değerlerinin toplamıdır.

**Dönüş:** `torch.Tensor`

Ses dalga formunu içeren tensör. Girdi spektrogramı toplu (batched) ise şekli `(batch_size, num_frames,)` olacaktır. Toplu değilse şekli `(num_frames,)` olacaktır.

Bir log-mel spektrogramunu konuşma dalga formuna dönüştürür. Bir log-mel spektrogramu grubu (batch) geçirildiğinde, bir konuşma dalga formu grubu döndürülür. Tek bir, gruplandırılmamış log-mel spektrogramı geçirildiğinde, tek bir, gruplandırılmamış konuşma dalga formu döndürülür.

## SeamlessM4TTextToUnitModel[[transformers.SeamlessM4TTextToUnitModel]]

#### transformers.SeamlessM4TTextToUnitModel[[transformers.SeamlessM4TTextToUnitModel]]

```python
transformers.SeamlessM4TTextToUnitModel(config: SeamlessM4TConfig, embed_tokens_decoder: typing.Optional[torch.nn.Embedding] = None)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/seamless_m4t/modeling_seamless_m4t.py#L1753)

**Parametreler:**

config ([SeamlessM4TConfig](/docs/transformers/main/tr/model_doc/seamless_m4t#transformers.SeamlessM4TConfig)) : 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 bakın.

embed_tokens_decoder (`nn.Embedding`, *isteğe bağlı*) : decoder'ın giriş gömme katmanı.

Transformer taban metinden birim encoder-decoder. Encoder, gömme içermeyen bir `SeamlessM4TEncoder`, decoder ise bir `SeamlessM4TDecoder`'dir.

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.SeamlessM4TTextToUnitModel.forward]]

```python
forward(input_ids: 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, inputs_embeds: typing.Optional[torch.Tensor] = 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/seamless_m4t/modeling_seamless_m4t.py#L1771)

**Parametreler:**

input_ids (`torch.LongTensor`, şekli `(batch_size, sequence_length)`, *isteğe bağlı*) : Sözlükteki girdi dizisi belirteçlerinin (token) indeksleri. Varsayılan olarak dolgu (padding) yoksayılır. İndeksler [AutoTokenizer](/docs/transformers/main/tr/model_doc/auto#transformers.AutoTokenizer) 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__) yöntemlerine bakın. [Girdi kimlikları (input IDs) nedir?](../glossary#input-ids)

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 [AutoTokenizer](/docs/transformers/main/tr/model_doc/auto#transformers.AutoTokenizer) 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__)'a bakın. [Decoder giriş kimlikleri nelerdir?](../glossary#decoder-input-ids)

decoder_attention_mask (`torch.LongTensor`, şekli `(batch_size, target_sequence_length)`, *isteğe bağlı*) : Belirli token indekslerinde dikkat işleminin uygulanmaması için maske. Varsayılan olarak, modelin geleceği tahmin ederken yalnızca önceki girdilere bakabilmesini sağlamak için nedensel bir maske kullanılır.

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.

inputs_embeds (`torch.Tensor`, şekli `(batch_size, sequence_length, hidden_size)`, *isteğe bağlı*) : `input_ids` parametresini iletmek yerine, gömülü bir temsil doğrudan iletmeyi tercih edebilirsiniz. Bu, `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_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üş:** [Seq2SeqModelOutput](/docs/transformers/main/tr/main_classes/output#transformers.modeling_outputs.Seq2SeqModelOutput) veya `tuple(torch.Tensor)`

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

[SeamlessM4TTextToUnitModel](/docs/transformers/main/tr/model_doc/seamless_m4t#transformers.SeamlessM4TTextToUnitModel) 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.

- **last_hidden_state** (`torch.Tensor`, şekli `(batch_size, sequence_length, hidden_size)`) -- Modelin decoder'ının son katmanının çıktısındaki gizli durumlar dizisi.

  `past_key_values` kullanılırsa, yalnızca `(batch_size, 1, hidden_size)` biçimindeki dizilerin son gizli durumu (hidden-state) çıktı olarak verilir.
- **past_key_values** (`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 decoder'ın gizli durumları ve isteğe bağlı başlangıç gömme çıktıları.
- **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 kodlayıcının gizli durumları ve isteğe bağlı başlangıç gömme çıktıları.
- **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ı.

## SeamlessM4TTextToUnitForConditionalGeneration[[transformers.SeamlessM4TTextToUnitForConditionalGeneration]]

#### transformers.SeamlessM4TTextToUnitForConditionalGeneration[[transformers.SeamlessM4TTextToUnitForConditionalGeneration]]

```python
transformers.SeamlessM4TTextToUnitForConditionalGeneration(config: SeamlessM4TConfig, embed_tokens_decoder: typing.Optional[torch.nn.Embedding] = None)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/seamless_m4t/modeling_seamless_m4t.py#L1832)

**Parametreler:**

config ([SeamlessM4TConfig](/docs/transformers/main/tr/model_doc/seamless_m4t#transformers.SeamlessM4TConfig)) : 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 bakın.

embed_tokens_decoder (`nn.Embedding`, *isteğe bağlı*) : decoder'ın giriş gömme katmanı.

Dil modeli başlığına sahip Transformer metinden birime kodlayıcı-çözücü. Temel kodlayıcı-çözücü modeli bir `SeamlessM4TTextToUnit`'tir.

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.SeamlessM4TTextToUnitForConditionalGeneration.forward]]

```python
forward(input_ids: 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, inputs_embeds: typing.Optional[torch.Tensor] = 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/seamless_m4t/modeling_seamless_m4t.py#L1876)

**Parametreler:**

input_ids (`torch.LongTensor`, şekli `(batch_size, sequence_length)`, *isteğe bağlı*) : Sözlükteki girdi dizisi belirteçlerinin (token) indeksleri. Varsayılan olarak dolgu (padding) yoksayılır. İndeksler [AutoTokenizer](/docs/transformers/main/tr/model_doc/auto#transformers.AutoTokenizer) 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__) yöntemlerine bakın. [Girdi kimlikları (input IDs) nedir?](../glossary#input-ids)

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 [AutoTokenizer](/docs/transformers/main/tr/model_doc/auto#transformers.AutoTokenizer) 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__) yöntemlerine bakın. [Decoder giriş kimlikleri nelerdir?](../glossary#decoder-input-ids) Bart, `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 sağlanmalıdır (bkz. `past_key_values`). Çeviri ve özetleme eğitimi için `decoder_input_ids` sağlanmalıdır. `decoder_input_ids` sağlanmazsa, model bu tensörü, makalede belirtildiği gibi gürültü giderme ön eğitimi için `input_ids` değerlerini sağa kaydırarak oluşturur.

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_bart._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.

inputs_embeds (`torch.Tensor` şekli`(batch_size, sequence_length, hidden_size)`, *isteğe bağlı*) : `input_ids` göndermek yerine, gömülü bir temsil doğrudan göndermeyi seçebilirsiniz. Bu, `input_ids` dizinlerini ilgili vektörlere dönüştürme biçimi üzerinde modelin dahili gömme arama matrisinden daha fazla kontrol sahibi olmak istiyorsanız faydalıdır.  labels (`torch.LongTensor` şekli `(batch_size, sequence_length)`, *isteğe bağlı*): Maskeli dil modelleme kaybını hesaplamak için etiketler. Dizinler `[-100, 0, ..., config.vocab_size]` aralığında olmalıdır (bkz. `input_ids` docstring). Dizinleri `-100` olarak ayarlanan tokenlar yok sayılır (maskelenir), kayıp yalnızca etiketleri `[0, ..., config.vocab_size]` aralığında olan tokenlar için hesaplanır.

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ı*) : Maskeli dil modelleme kaybını hesaplamak için etiketler. Endeksler `[0, ..., config.vocab_size]` aralığında olmalı ya da -100 olmalı (`input_ids` docstring'ine bakın). Endeksleri `-100` olarak ayarlanan tokenlar yok sayılır (maskelenir), kayıp yalnızca `[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 ([SeamlessM4TConfig](/docs/transformers/main/tr/model_doc/seamless_m4t#transformers.SeamlessM4TConfig)) ve girdilere bağlı olarak çeşitli öğelerden oluşur.

[SeamlessM4TTextToUnitForConditionalGeneration](/docs/transformers/main/tr/model_doc/seamless_m4t#transformers.SeamlessM4TTextToUnitForConditionalGeneration) 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ı.

