# UniSpeech-SAT

## Genel Bakış

UniSpeech-SAT modeli, Sanyuan Chen, Yu Wu, Chengyi Wang, Zhengyang Chen, Zhuo Chen, Shujie Liu, Jian Wu, Yao Qian, Furu Wei, Jinyu Li, Xiangzhan Yu tarafından [UniSpeech-SAT: Universal Speech Representation Learning with Speaker Aware Pre-Training](https://huggingface.co/papers/2110.05752) makalesinde önerilmiştir.

Makalenin özeti aşağıdaki gibidir:

*Öz-etkenli öğrenme (SSL), büyük ölçekli etiketsiz verileri kullanması ve kapsamlı insan etiketlemesinden kaçınması nedeniyle konuşma işleme için uzun süredir hedeflenen bir amaçtır. Son yıllarda, konuşma tanıma alanında öz-etkenli öğrenmenin uygulanmasında büyük başarılar elde edilirken, konuşmacı özelliklerini modellemek için SSL'nin uygulanmasına yönelik sınırlı bir keşif yapılmıştır. Bu makalede, konuşmacı temsil öğrenimi için mevcut SSL çerçevesini iyileştirmeyi hedefliyoruz. Denetimsiz konuşmacı bilgi çıkarımını geliştirmek için iki yöntem tanıtılmaktadır. İlk olarak, mevcut SSL çerçevesine çoklu görev öğrenmesini uyguluyoruz; burada cümle bazlı kontrastif kaybı SSL amaç fonksiyonuyla birleştiriyoruz. İkinci olarak, daha iyi konuşmacı ayrımı için veri artırımı amacıyla bir cümle karıştırma stratejisi öneriyoruz; bu stratejide ek üst üste binen cümleler denetimsiz olarak oluşturulmakta ve eğitim sırasında dahil edilmektedir. Önerilen yöntemleri HuBERT çerçevesine entegre ediyoruz. SUPERB yığınındaki deneysel sonuçlar, önerilen sistemin evrensel temsil öğreniminde, özellikle konuşmacı tanıma odaklı görevlerde en iyi performansı elde ettiğini göstermektedir. Her bir önerilen yöntemin etkinliğini doğrulayan bir ablatif çalışma gerçekleştirilmiştir. Son olarak, eğitim veri setini 94 bin saatlik herkese açık ses verisine ölçeklendiriyoruz ve tüm SUPERB görevlerinde ek performans iyileşmesi elde ediyoruz.*

Bu model [patrickvonplaten](https://huggingface.co/patrickvonplaten) tarafından katkıda bulunmuştur. Yazarların kodu [burada](https://github.com/microsoft/UniSpeech/tree/main/UniSpeech-SAT) bulunabilir.

## Kullanım ipuçları

- UniSpeechSat, ses sinyalinin ham dalga formuna karşılık gelen bir float dizisi kabul eden bir ses modelidir. Özellik çıkarımı için lütfen [Wav2Vec2Processor](/docs/transformers/main/tr/model_doc/wav2vec2#transformers.Wav2Vec2Processor) kullanın.
- UniSpeechSat modeli, bağlantısal zaman sınıflandırması (CTC) kullanılarak ince ayarlanabilir; bu nedenle model çıktısının [Wav2Vec2CTCTokenizer](/docs/transformers/main/tr/model_doc/wav2vec2#transformers.Wav2Vec2CTCTokenizer) ile çözümlenmesi gerekir.
- UniSpeechSat, konuşmacı doğrulama, konuşmacı tanıma ve konuşmacı ayrıştırma görevlerinde özellikle iyi performans gösterir.

## Kaynaklar

- [Ses sınıflandırma görevi kılavuzu](../tasks/audio_classification)
- [Otomatik konuşma tanıma görevi kılavuzu](../tasks/asr)

## UniSpeechSatConfig[[transformers.UniSpeechSatConfig]]

#### transformers.UniSpeechSatConfig[[transformers.UniSpeechSatConfig]]

```python
transformers.UniSpeechSatConfig(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, is_encoder_decoder: bool = False, 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, vocab_size: int = 32, hidden_size: int = 768, num_hidden_layers: int = 12, num_attention_heads: int = 12, intermediate_size: int = 3072, hidden_act: str = 'gelu', hidden_dropout: float | int = 0.1, activation_dropout: float | int = 0.1, attention_dropout: float | int = 0.1, feat_proj_dropout: float | int = 0.0, feat_quantizer_dropout: float | int = 0.0, final_dropout: float | int = 0.1, layerdrop: float | int = 0.1, initializer_range: float = 0.02, layer_norm_eps: float = 1e-05, feat_extract_norm: str = 'group', feat_extract_activation: str = 'gelu', conv_dim: list[int] | tuple[int, ...] = (512, 512, 512, 512, 512, 512, 512), conv_stride: list[int] | tuple[int, ...] = (5, 2, 2, 2, 2, 2, 2), conv_kernel: list[int] | tuple[int, ...] = (10, 3, 3, 3, 3, 2, 2), conv_bias: bool = False, num_conv_pos_embeddings: int = 128, num_conv_pos_embedding_groups: int = 16, do_stable_layer_norm: bool = False, apply_spec_augment: bool = True, mask_time_prob: float | int = 0.05, mask_time_length: int = 10, mask_time_min_masks: int = 2, mask_feature_prob: float | int = 0.0, mask_feature_length: int = 10, mask_feature_min_masks: int = 0, num_codevectors_per_group: int = 320, num_codevector_groups: int = 2, contrastive_logits_temperature: float = 0.1, num_negatives: int = 100, codevector_dim: int = 256, proj_codevector_dim: int = 256, diversity_loss_weight: float = 0.1, ctc_loss_reduction: str = 'mean', ctc_zero_infinity: bool = False, use_weighted_layer_sum: bool = False, classifier_proj_size: int = 256, tdnn_dim: list[int] | tuple[int, ...] = (512, 512, 512, 512, 1500), tdnn_kernel: list[int] | tuple[int, ...] = (5, 3, 3, 1, 1), tdnn_dilation: list[int] | tuple[int, ...] = (1, 2, 3, 1, 1), xvector_output_dim: int = 512, pad_token_id: int = 0, bos_token_id: int = 1, eos_token_id: int = 2, num_clusters: int = 504)
```

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

**Parametreler:**

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

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

num_hidden_layers (`int`, *isteğe bağlı*, varsayılan `12`) : Transformer decoder'ındaki gizli katman sayısı.

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

intermediate_size (`int`, *isteğe bağlı*, varsayılan `3072`) : MLP temsil boyutu.

hidden_act (`str`, *isteğe bağlı*, varsayılan `gelu`) : Çözücüdeki doğrusal olmayan aktivasyon fonksiyonu (fonksiyon veya dize). Örneğin, `"gelu"`, `"relu"`, `"silu"` vb.

hidden_dropout (`Union[float, int]`, *isteğe bağlı*, varsayılan `0.1`) : Gömme, kodlayıcı ve havuzlayıcıdaki tüm tam bağlı katmanlar için dropout olasılığı.

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

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

feat_proj_dropout (`float`, *opsiyonel*, varsayılan 0.0) : Özellik kodlayıcısının çıktısı için dropout olasılığı.

feat_quantizer_dropout (`float`, *opsiyonel*, varsayılan 0.0) : Kuantizatör tarafından kullanılan özellik kodlayıcısının çıktısı için dropout olasılığı.

final_dropout (`float`, *isteğe bağlı*, varsayılan 0.1) : [UniSpeechSatForCTC](/docs/transformers/main/tr/model_doc/unispeech-sat#transformers.UniSpeechSatForCTC)'nin son projeksiyon katmanı için dropout olasılığı.

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

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.

feat_extract_norm (`str`, *isteğe bağlı*, varsayılan `"group"`) : Özellik kodlayıcıdaki 1B konvolüsyonel katmanlara uygulanacak norm. Sadece ilk 1B konvolüsyonel katman için grup normalizasyonu olan `"group"` veya tüm 1B konvolüsyonel katmanlar için katman normalizasyonu olan `"layer"` değerlerinden biri.

feat_extract_activation (`str, *optional*, defaults to `"gelu"`) : The non-linear activation function (function or string) in the 1D convolutional layers of the feature extractor. If string, `"gelu"`, `"relu"`, `"selu"` and `"gelu_new"` are supported.

conv_dim (`tuple[int]` veya `list[int]`, *isteğe bağlı*, varsayılan `(512, 512, 512, 512, 512, 512, 512)`) : Özellik kodlayıcıdaki her 1D konvolüsyon katmanının giriş ve çıkış kanal sayısını tanımlayan tamsayılardan oluşan bir demet. *conv_dim*'in uzunluğu, 1D konvolüsyon katmanlarının sayısını belirler.

conv_stride (`tuple[int]` veya `list[int]`, *isteğe bağlı*, varsayılan `(5, 2, 2, 2, 2, 2, 2)`) : Özellik kodlayıcıdaki her 1D konvolüsyon katmanının adımını (stride) tanımlayan tamsayılardan oluşan bir demet. *conv_stride*'un uzunluğu, konvolüsyon katmanlarının sayısını belirler ve *conv_dim*'in uzunluğuyla eşleşmelidir.

conv_kernel (`tuple[int]` veya `list[int]`, *isteğe bağlı*, varsayılan `(10, 3, 3, 3, 3, 2, 2)`) : Özellik kodlayıcıdaki her 1D konvolüsyonel katmanın çekirdek boyutunu tanımlayan tamsayılar dizisi. *conv_kernel*'ın uzunluğu, konvolüsyonel katmanların sayısını belirler ve *conv_dim*'ın uzunluğuyla eşleşmelidir.

conv_bias (`bool`, *isteğe bağlı*, varsayılan `False`) : 1B konvolüsyonel katmanların bir sapma (bias) içerip içermediğini belirtir.

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

num_conv_pos_embedding_groups (`int`, *isteğe bağlı*, varsayılan 16) : 1D konvolüsyonel konumsal gömme katmanının grup sayısı.

do_stable_layer_norm (`bool`, *isteğe bağlı*, varsayılan `False`) : Transformer kodlayıcısının *kararlı* katman normu mimarisinin uygulanıp uygulanmayacağını belirtir. `do_stable_layer_norm is True`, katman normunun dikkat katmanından önce uygulanmasına karşılık gelirken, `do_stable_layer_norm is False` katman normunun dikkat katmanından sonra uygulanmasına karşılık gelir.

apply_spec_augment (`bool`, *isteğe bağlı*, varsayılan `True`) : Özellik kodlayıcısının çıktılarında *SpecAugment* veri artırma uygulamasının yapılıp yapılmayacağını belirtir. Referans için [SpecAugment: A Simple Data Augmentation Method for Automatic Speech Recognition](https://huggingface.co/papers/1904.08779) makalesine bakınız.

mask_time_prob (`float`, *opsiyonel*, varsayılan 0.05) : Zaman ekseni boyunca tüm özellik vektörlerinin, maskelenecek yüzdesi (0 ile 1 arasında). Maskeleme işlemi, eksen üzerinde ''mask_time_prob*len(time_axis)/mask_time_length'' adet bağımsız maske üretir. Maskelenecek vektör aralığının başlangıcı olarak seçilecek her özellik vektörünün olasılığından yola çıkarak akıl yürütülüyorsa, *mask_time_prob* değeri `prob_vector_start*mask_time_length` olmalıdır. Dikkat edin, örtüşme, maskelenen vektörlerin gerçek yüzdesini azaltabilir. Bu, yalnızca `apply_spec_augment is True` ise geçerlidir.

mask_time_length (`int`, *isteğe bağlı*, varsayılan 10) : Zaman ekseni boyunca vektör aralığının uzunluğu.

mask_time_min_masks (`int`, *opsiyonel*, varsayılan 2) : `mask_feature_prob` değerinden bağımsız olarak, zaman ekseninde üretilen, her zaman adımında, `mask_feature_length` uzunluğundaki maskelerin minimum sayısı. Yalnızca ''mask_time_prob*len(time_axis)/mask_time_length < mask_time_min_masks'' durumu geçerliyse ilgili.

mask_feature_prob (`float`, *opsiyonel*, varsayılan 0.0) : Özellik ekseni boyunca, maskeleme işlemine tabi tutulacak tüm özellik vektörlerinin yüzdesi (0 ile 1 arasında). Maskeleme işlemi, eksen üzerinde ''mask_feature_prob*len(feature_axis)/mask_time_length'' adet bağımsız maske üretir. Her bir özellik vektörünün, maskeleme işlemine tabi tutulacak vektör aralığının başlangıcı olarak seçilme olasılığından yola çıkarak akıl yürütülüyorsa, *mask_feature_prob* değeri `prob_vector_start*mask_feature_length` olmalıdır. Dikkat edin, örtüşme, maskeleme işlemine tabi tutulan vektörlerin gerçek yüzdesini azaltabilir. Bu, yalnızca `apply_spec_augment is True` ise geçerlidir.

mask_feature_length (`int`, *isteğe bağlı*, varsayılan 10) : Özellik ekseni boyunca vektör aralığının uzunluğu.

mask_feature_min_masks (`int`, *opsiyonel*, varsayılan 0) : `mask_feature_prob` değerinden bağımsız olarak, her zaman adımında, özellik ekseni boyunca üretilen, uzunluğu `mask_feature_length` olan maskelerin minimum sayısı. Yalnızca ''mask_feature_prob*len(feature_axis)/mask_feature_length < mask_feature_min_masks'' durumu geçerliyse ilgili.

num_codevectors_per_group (`int`, *isteğe bağlı*, varsayılan 320) : Her kuantizasyon kod kitabındaki (gruptaki) giriş sayısı.

num_codevector_groups (`int`, *isteğe bağlı*, varsayılan 2) : Ürün kod vektörü kuantizasyonu için kod vektörü gruplarının sayısı.

contrastive_logits_temperature (`float`, *isteğe bağlı*, varsayılan 0.1) : Karşıtlık kaybındaki *kappa* sıcaklığı.

num_negatives (`int`, *isteğe bağlı*, varsayılan 100) : Karşıtlık kaybı için negatif örnek sayısı.

codevector_dim (`int`, *isteğe bağlı*, varsayılan 256) : Kuantize edilmiş özellik vektörlerinin boyutluluğu.

proj_codevector_dim (`int`, *isteğe bağlı*, varsayılan 256) : Hem kuantize hem de dönüştürücü özelliklerinin son projeksiyonunun boyutluluğu.

diversity_loss_weight (`int`, *opsiyonel*, varsayılan 0.1) : Kod kitabı çeşitlilik kaybı bileşeninin ağırlığı.

ctc_loss_reduction (`str`, *isteğe bağlı*, varsayılan `mean`) : `torch.nn.CTCLoss` çıktısına uygulanacak indirgemeyi belirtir. Yalnızca eğitim sırasında geçerlidir.

ctc_zero_infinity (`bool`, *isteğe bağlı*, varsayılan `False`) : `torch.nn.CTCLoss`'ün sonsuz kayıplarını ve ilişkili gradyanlarını sıfırlayıp sıfırlamayacağını belirtir. Sonsuz kayıplar, girdilerin hedeflerle hizalanmak için çok kısa olması durumunda ortaya çıkar. Yalnızca [UniSpeechSatForCTC](/docs/transformers/main/tr/model_doc/unispeech-sat#transformers.UniSpeechSatForCTC) örneği eğitilirken geçerlidir.

use_weighted_layer_sum (`bool`, *isteğe bağlı*, varsayılan `False`) : Öğrenmiş ağırlıklara sahip katman çıktıları ağırlıklı ortalamasının kullanılıp kullanılmayacağını belirtir. Yalnızca [UniSpeechSatForSequenceClassification](/docs/transformers/main/tr/model_doc/unispeech-sat#transformers.UniSpeechSatForSequenceClassification) bir örneği kullanıldığında geçerlidir.

classifier_proj_size (`int`, *opsiyonel*, varsayılan 256) : Sınıflandırma için token ortalama havuzlamadan önceki projeksiyonun boyutluluğu.

tdnn_dim (`tuple[int]` veya `list[int]`, *isteğe bağlı*, varsayılan `(512, 512, 512, 512, 1500)`) : *XVector* modelinin *TDNN* modülündeki her bir 1D konvolüsyon katmanının çıktı kanal sayısını tanımlayan tamsayılardan oluşan bir demet. *tdnn_dim*'in uzunluğu, *TDNN* katmanlarının sayısını belirler.

tdnn_kernel (`tuple[int]` veya `list[int]`, *isteğe bağlı*, varsayılan `(5, 3, 3, 1, 1)`) : *XVector* modelinin *TDNN* modülündeki her bir 1D konvolüsyon katmanının çekirdek boyutunu tanımlayan tamsayılar dizisi. *tdnn_kernel*'ın uzunluğu, *tdnn_dim*'in uzunluğuyla eşleşmelidir.

tdnn_dilation (`tuple[int]` veya `list[int]`, *isteğe bağlı*, varsayılan `(1, 2, 3, 1, 1)`) : *XVector* modelinin *TDNN* modülündeki her bir 1D konvolüsyon katmanının dilasyon çarpanını tanımlayan tamsayılar dizisi. *tdnn_dilation*'ın uzunluğu, *tdnn_dim*'in uzunluğuyla eşleşmelidir.

xvector_output_dim (`int`, *isteğe bağlı*, varsayılan 512) : *XVector* gömme vektörlerinin boyutluluğu.

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 `1`) : Sözlükte akış başlangıcı için kullanılan token kimliği.

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

num_clusters (`int`, *isteğe bağlı*, varsayılan 504) : Zayıf etiketleme için küme sayısı. Yalnızca [UniSpeechSatForPreTraining](/docs/transformers/main/tr/model_doc/unispeech-sat#transformers.UniSpeechSatForPreTraining) örneği kullanıldığında geçerlidir.

Bu, bir Unispeech SatModel yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Unispeech Sat modelini örneklemek ve model mimarisini tanımlamak için kullanılır. Varsayılanlarla bir yapılandırma örneği oluşturmak, [microsoft/unispeech-sat-base-100h-libri-ft](https://huggingface.co/microsoft/unispeech-sat-base-100h-libri-ft) modelinin yapılandırmasına benzer bir yapılandırma üretir.

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

Örnek:

```python
>>> from transformers import UniSpeechSatModel, UniSpeechSatConfig

>>> # Initializing a UniSpeechSat microsoft/unispeech-sat-base-100h-libri-ft style configuration
>>> configuration = UniSpeechSatConfig()

>>> # Initializing a model from the microsoft/unispeech-sat-base-100h-libri-ft style configuration
>>> model = UniSpeechSatModel(configuration)

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

## UniSpeechSat'e özgü çıktılar[[transformers.models.unispeech_sat.modeling_unispeech_sat.UniSpeechSatForPreTrainingOutput]]

#### transformers.models.unispeech_sat.modeling_unispeech_sat.UniSpeechSatForPreTrainingOutput[[transformers.models.unispeech_sat.modeling_unispeech_sat.UniSpeechSatForPreTrainingOutput]]

```python
transformers.models.unispeech_sat.modeling_unispeech_sat.UniSpeechSatForPreTrainingOutput(loss: typing.Optional[torch.Tensor] = None, logits: typing.Optional[torch.Tensor] = None, projected_states: typing.Optional[torch.Tensor] = None, projected_quantized_states: typing.Optional[torch.Tensor] = None, codevector_perplexity: typing.Optional[torch.Tensor] = None, hidden_states: tuple[torch.Tensor] | None = None, attentions: tuple[torch.Tensor] | None = None)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/unispeech_sat/modeling_unispeech_sat.py#L65)

**Parametreler:**

loss (`*optional*`, model eğitim modundayken döndürülür, `(1,)` biçiminde `torch.Tensor`) : [resmî makalede](https://huggingface.co/papers/2006.11477) belirtildiği üzere, kontrastif kayıp (L_m) ile çeşitlilik kaybının (L_d) toplamı olarak toplam kayıp.

logits (`torch.Tensor`, şekli `(batch_size, sequence_length, config.proj_codevector_dim)`, *isteğe bağlı*) : Karşıtlı kayıp modelinin tahmin puanları, yani son softmax'tan önce modelin çıktısı.

projected_states (`torch.Tensor`, şekli `(batch_size, sequence_length, config.proj_codevector_dim)`) : Maskelenmiş projeksiyonlu kuantize durumları tahmin etmek için kullanılabilen, *config.proj_codevector_dim* boyutuna projekte edilmiş model gizli durumları.

projected_quantized_states (`torch.Tensor`, şekli `(batch_size, sequence_length, config.proj_codevector_dim)`) : Karşıtlı kayıp için pozitif hedef vektörleri temsil eden, *config.proj_codevector_dim*'ye yansıtılmış kuantize edilmiş çıkarılmış özellik vektörleri.

codevector_perplexity (`torch.Tensor`, şekli `(1,)`) : Kod kitabı çeşitliliğini ölçmek için kullanılan codevector dağılımının perplexity değeri.

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 bir demet, şekli `(batch_size, sequence_length, hidden_size)`. Modelin her katmanının çıktısındaki gizli durumlar ve isteğe bağlı başlangıç gömme çıktıları.

attentions (`tuple[torch.Tensor]`, *isteğe bağlı*, `output_attentions=True` geçirildiğinde veya `config.output_attentions=True` olduğunda döndürülür) : `torch.Tensor` (her katman için bir tane) içeren bir Tuple, şekli `(batch_size, num_heads, sequence_length, sequence_length)`. Dikkat softmax'ı sonrası dikkat ağırlıkları, öz-dikkat başlıklarında ağırlıklı ortalamanın hesaplanmasında kullanılır.

`UniSpeechSatForPreTrainingOutput`'un çıktı türü, olası gizli durumlar ve dikkatler içerir.

## UniSpeechSatModel[[transformers.UniSpeechSatModel]]

#### transformers.UniSpeechSatModel[[transformers.UniSpeechSatModel]]

```python
transformers.UniSpeechSatModel(config: UniSpeechSatConfig)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/unispeech_sat/modeling_unispeech_sat.py#L878)

**Parametreler:**

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

Üzerinde herhangi bir özel head olmadan ham hidden-state çıktısı üreten çıplak Unispeech Sat Model.

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

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

#### forward[[transformers.UniSpeechSatModel.forward]]

```python
forward(input_values: typing.Optional[torch.Tensor], attention_mask: typing.Optional[torch.Tensor] = None, mask_time_indices: typing.Optional[torch.Tensor] = None, **kwargs: *<class 'transformers.utils.generic.TransformersKwargs'>)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/unispeech_sat/modeling_unispeech_sat.py#L941)

**Parametreler:**

input_values (`torch.Tensor`, şekli `(batch_size, sequence_length)`, *isteğe bağlı*) : Girdi ham ses dalgasının float değerleri. Değerler, bir `.flac` veya `.wav` ses dosyasını `list[float]` tipinde bir diziye, `numpy.ndarray` veya `torch.Tensor` içine yükleyerek elde edilebilir; *örneğin* torchcodec kütüphanesi (`pip install torchcodec`) veya soundfile kütüphanesi (`pip install soundfile`) aracılığıyla. Diziyi `input_values` için hazırlamak için, `torch.Tensor` tipinde bir tensöre dolgu ve dönüştürme amacıyla [AutoProcessor](/docs/transformers/main/tr/model_doc/auto#transformers.AutoProcessor) kullanılmalıdır. Ayrıntılar için [Wav2Vec2Processor.__call__()](/docs/transformers/main/tr/model_doc/wav2vec2#transformers.Wav2Vec2Processor.__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)

mask_time_indices (`torch.BoolTensor`, şekli `(batch_size, sequence_length)`, *isteğe bağlı*) : Karşıtlı kayıp için çıkarılan özellikleri maskelemek üzere kullanılacak indeksler. Eğitim modundayken, model *config.proj_codevector_dim* uzayında maskelenmiş çıkarılan özellikleri tahmin etmeyi öğrenir.

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

[Wav2Vec2BaseModelOutput](/docs/transformers/main/tr/model_doc/wav2vec2#transformers.modeling_outputs.Wav2Vec2BaseModelOutput) veya bir `torch.Tensor` demeti (eğer `return_dict=False` geçirildiyse veya `config.return_dict=False` ise), yapılandırmaya ([UniSpeechSatConfig](/docs/transformers/main/tr/model_doc/unispeech-sat#transformers.UniSpeechSatConfig)) ve girdilere bağlı olarak çeşitli öğelerden oluşur.

[UniSpeechSatModel](/docs/transformers/main/tr/model_doc/unispeech-sat#transformers.UniSpeechSatModel) 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 son katmanının çıktısındaki gizli durumlar dizisi.
- **extract_features** (`torch.Tensor`, şekli `(batch_size, sequence_length, conv_dim[-1])`) -- Modelin son konvolüsyon katmanından çıkarılan özellik vektörlerinin dizisi.
- **hidden_states** (`tuple(torch.Tensor)`, *isteğe bağlı*, `output_hidden_states=True` geçirildiğinde veya `config.output_hidden_states=True` olduğunda döndürülür) -- `torch.Tensor` (gömme çıktısı için bir tane + her katman çıktısı için bir tane) içeren, `(batch_size, sequence_length, hidden_size)` biçiminde bir demet.

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

  Dikkat softmax'ı sonrası dikkat ağırlıkları, öz-dikkat kafalarında ağırlıklı ortalamanın hesaplanmasında kullanılır.

## UniSpeechSatForCTC[[transformers.UniSpeechSatForCTC]]

#### transformers.UniSpeechSatForCTC[[transformers.UniSpeechSatForCTC]]

```python
transformers.UniSpeechSatForCTC(config: UniSpeechSatConfig, target_lang: str | None = None)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/unispeech_sat/modeling_unispeech_sat.py#L1093)

**Parametreler:**

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

target_lang (`str`, *isteğe bağlı*) : Adaptör ağırlıklarının dil kimliği. Adaptör ağırlıkları adapter..safetensors veya adapter..bin biçiminde saklanır. Sadece adaptörlerle bir [UniSpeechSatForCTC](/docs/transformers/main/tr/model_doc/unispeech-sat#transformers.UniSpeechSatForCTC) örneği kullanıldığında geçerlidir. Varsayılan olarak 'eng' kullanılır.

Üzerinde Bağlantılı Zaman Sınıflandırması (CTC) için `language modeling` başlığı bulunan UniSpeechSat Modeli.

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

```python
forward(input_values: typing.Optional[torch.Tensor], attention_mask: typing.Optional[torch.Tensor] = None, labels: typing.Optional[torch.Tensor] = None, **kwargs: *<class 'transformers.utils.generic.TransformersKwargs'>)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/unispeech_sat/modeling_unispeech_sat.py#L1162)

**Parametreler:**

input_values (`torch.Tensor`, şekli `(batch_size, sequence_length)`, *isteğe bağlı*) : Girdi ham ses dalgasının float değerleri. Değerler, bir `.flac` veya `.wav` ses dosyasını `list[float]` tipinde bir diziye, `numpy.ndarray` veya `torch.Tensor` içine yükleyerek elde edilebilir; *örneğin* torchcodec kütüphanesi (`pip install torchcodec`) veya soundfile kütüphanesi (`pip install soundfile`) aracılığıyla. Diziyi `input_values` için hazırlamak için, `torch.Tensor` tipinde bir tensöre dolgu ve dönüştürme amacıyla [AutoProcessor](/docs/transformers/main/tr/model_doc/auto#transformers.AutoProcessor) kullanılmalıdır. Ayrıntılar için [Wav2Vec2Processor.__call__()](/docs/transformers/main/tr/model_doc/wav2vec2#transformers.Wav2Vec2Processor.__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)

labels (`torch.LongTensor`, şekli `(batch_size, target_length)`, *isteğe bağlı*) : Bağlantılı zaman sınıflandırması için etiketler. Not: `target_length`, çıktı logitlerinin dizi uzunluğundan küçük veya eşit olmalıdır. Endeksler `[-100, 0, ..., config.vocab_size - 1]` aralığından seçilir. `-100` olarak ayarlanan tüm etiketler yok sayılır (maske uygulanır), kayıp yalnızca `[0, ..., config.vocab_size - 1]` aralığındaki etiketler için hesaplanır.

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

[CausalLMOutput](/docs/transformers/main/tr/main_classes/output#transformers.modeling_outputs.CausalLMOutput) veya `torch.Tensor` bir demeti (`return_dict=False` geçirildiğinde veya `config.return_dict=False` olduğunda), yapılandırmaya ([UniSpeechSatConfig](/docs/transformers/main/tr/model_doc/unispeech-sat#transformers.UniSpeechSatConfig)) ve girdilere bağlı olarak çeşitli öğelerden oluşur.

[UniSpeechSatForCTC](/docs/transformers/main/tr/model_doc/unispeech-sat#transformers.UniSpeechSatForCTC) 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ı (sonraki token tahmini için).
- **logits** (`torch.Tensor`, şekli `(batch_size, sequence_length, config.vocab_size)`) -- Dil modelleme başlığının tahmin puanları (SoftMax öncesi her sözlük jetonu için puanlar).
- **hidden_states** (`tuple(torch.Tensor)`, *isteğe bağlı*, `output_hidden_states=True` geçirildiğinde veya `config.output_hidden_states=True` olduğunda döndürülür) -- `torch.Tensor` (gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için bir tane) içeren, `(batch_size, sequence_length, hidden_size)` biçiminde bir demet.

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

  Dikkat softmax'ı sonrası dikkat ağırlıkları, öz-dikkat kafalarında ağırlıklı ortalamanın hesaplanmasında kullanılır.

Örnek:

```python
>>> from transformers import AutoProcessor, UniSpeechSatForCTC
>>> 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("microsoft/unispeech-sat-base-100h-libri-ft")
>>> model = UniSpeechSatForCTC.from_pretrained("microsoft/unispeech-sat-base-100h-libri-ft")

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

## UniSpeechSatForSequenceClassification[[transformers.UniSpeechSatForSequenceClassification]]

#### transformers.UniSpeechSatForSequenceClassification[[transformers.UniSpeechSatForSequenceClassification]]

```python
transformers.UniSpeechSatForSequenceClassification(config: UniSpeechSatConfig)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/unispeech_sat/modeling_unispeech_sat.py#L1220)

**Parametreler:**

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

Üzerinde bir dizi sınıflandırma başlığı (toplanmış çıktı üzerinde doğrusal bir katman) bulunan ve SUPERB Keyword Spotting gibi görevler için kullanılan UniSpeechSat Modeli.

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

```python
forward(input_values: typing.Optional[torch.Tensor], attention_mask: typing.Optional[torch.Tensor] = None, labels: typing.Optional[torch.Tensor] = None, **kwargs: *<class 'transformers.utils.generic.TransformersKwargs'>)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/unispeech_sat/modeling_unispeech_sat.py#L1253)

**Parametreler:**

input_values (`torch.Tensor`, şekli `(batch_size, sequence_length)`) : Girdi ham ses dalgasının float değerleri. Değerler, bir `.flac` veya `.wav` ses dosyasını `list[float]` tipinde bir diziye, `numpy.ndarray` veya `torch.Tensor` içine yükleyerek elde edilebilir, *örneğin* torchcodec kütüphanesi (`pip install torchcodec`) veya soundfile kütüphanesi (`pip install soundfile`) aracılığıyla. Diziyi `input_values` için hazırlamak için, [AutoProcessor](/docs/transformers/main/tr/model_doc/auto#transformers.AutoProcessor) dolguyu (padding) ve `torch.Tensor` tipinde bir tensöre dönüştürmeyi uygulamak üzere kullanılmalıdır. Ayrıntılar için `UniSpeechSatProcessor.__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)

labels (`torch.LongTensor`, şekli `(batch_size,)`, *isteğe bağlı*) : Sınıflandırma/geri dönüş kaybını hesaplamak için etiketler. Endeksler `[0, ..., config.num_labels - 1]` aralığında olmalıdır. `config.num_labels == 1` ise bir geri dönüş kaybı (Ortalama Kare kaybı) hesaplanır, `config.num_labels > 1` ise bir sınıflandırma kaybı (Çapraz Entropi) hesaplanır.

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

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

[UniSpeechSatForSequenceClassification](/docs/transformers/main/tr/model_doc/unispeech-sat#transformers.UniSpeechSatForSequenceClassification) 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) -- Sınıflandırma (config.num_labels==1 ise regresyon) kaybı.
- **logits** (`torch.Tensor`, şekli `(batch_size, config.num_labels)`) -- Sınıflandırma (veya config.num_labels==1 ise regresyon) puanları (SoftMax öncesi).
- **hidden_states** (`tuple(torch.Tensor)`, *isteğe bağlı*, `output_hidden_states=True` geçirildiğinde veya `config.output_hidden_states=True` olduğunda döndürülür) -- `torch.Tensor` (gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için bir tane) içeren, `(batch_size, sequence_length, hidden_size)` biçiminde bir demet.

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

  Dikkat softmax'ı sonrası dikkat ağırlıkları, öz-dikkat kafalarında ağırlıklı ortalamanın hesaplanmasında kullanılır.

Tek etiketli sınıflandırma örneği:

```python
>>> import torch
>>> from transformers import AutoTokenizer, UniSpeechSatForSequenceClassification

>>> tokenizer = AutoTokenizer.from_pretrained("microsoft/unispeech-sat-base-100h-libri-ft")
>>> model = UniSpeechSatForSequenceClassification.from_pretrained("microsoft/unispeech-sat-base-100h-libri-ft")

>>> inputs = tokenizer("Hello, my dog is cute", return_tensors="pt")

>>> with torch.no_grad():
...     logits = model(**inputs).logits

>>> predicted_class_id = logits.argmax().item()
>>> model.config.id2label[predicted_class_id]
...

>>> # To train a model on `num_labels` classes, you can pass `num_labels=num_labels` to `.from_pretrained(...)`
>>> num_labels = len(model.config.id2label)
>>> model = UniSpeechSatForSequenceClassification.from_pretrained("microsoft/unispeech-sat-base-100h-libri-ft", num_labels=num_labels)

>>> labels = torch.tensor([1])
>>> loss = model(**inputs, labels=labels).loss
>>> round(loss.item(), 2)
...
```

Çok etiketli sınıflandırma örneği:

```python
>>> import torch
>>> from transformers import AutoTokenizer, UniSpeechSatForSequenceClassification

>>> tokenizer = AutoTokenizer.from_pretrained("microsoft/unispeech-sat-base-100h-libri-ft")
>>> model = UniSpeechSatForSequenceClassification.from_pretrained("microsoft/unispeech-sat-base-100h-libri-ft", problem_type="multi_label_classification")

>>> inputs = tokenizer("Hello, my dog is cute", return_tensors="pt")

>>> with torch.no_grad():
...     logits = model(**inputs).logits

>>> predicted_class_ids = torch.arange(0, logits.shape[-1])[torch.sigmoid(logits).squeeze(dim=0) > 0.5]

>>> # To train a model on `num_labels` classes, you can pass `num_labels=num_labels` to `.from_pretrained(...)`
>>> num_labels = len(model.config.id2label)
>>> model = UniSpeechSatForSequenceClassification.from_pretrained(
...     "microsoft/unispeech-sat-base-100h-libri-ft", num_labels=num_labels, problem_type="multi_label_classification"
... )

>>> labels = torch.sum(
...     torch.nn.functional.one_hot(predicted_class_ids[None, :].clone(), num_classes=num_labels), dim=1
... ).to(torch.float)
>>> loss = model(**inputs, labels=labels).loss
```

## UniSpeechSatForAudioFrameClassification[[transformers.UniSpeechSatForAudioFrameClassification]]

#### transformers.UniSpeechSatForAudioFrameClassification[[transformers.UniSpeechSatForAudioFrameClassification]]

```python
transformers.UniSpeechSatForAudioFrameClassification(config: UniSpeechSatConfig)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/unispeech_sat/modeling_unispeech_sat.py#L1313)

**Parametreler:**

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

Konuşmacı Ayırma gibi görevler için üstünde bir çerçeve sınıflandırma başlığı bulunan Unispeech Sat Modeli.

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

```python
forward(input_values: typing.Optional[torch.Tensor], attention_mask: typing.Optional[torch.Tensor] = None, labels: typing.Optional[torch.Tensor] = None, **kwargs: *<class 'transformers.utils.generic.TransformersKwargs'>)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/unispeech_sat/modeling_unispeech_sat.py#L1345)

**Parametreler:**

input_values (`torch.Tensor`, şekli `(batch_size, sequence_length)`) : Girdi ham ses dalgasının float değerleri. Değerler, bir `.flac` veya `.wav` ses dosyasını `list[float]` tipinde bir diziye, `numpy.ndarray` veya `torch.Tensor` içine yükleyerek elde edilebilir, *örneğin* torchcodec kütüphanesi (`pip install torchcodec`) veya soundfile kütüphanesi (`pip install soundfile`) aracılığıyla. Diziyi `input_values` için hazırlamak için, [AutoProcessor](/docs/transformers/main/tr/model_doc/auto#transformers.AutoProcessor) dolguyu (padding) ve `torch.Tensor` tipinde bir tensöre dönüştürmeyi uygulamak üzere kullanılmalıdır. Ayrıntılar için `UniSpeechSatProcessor.__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)

labels (`torch.LongTensor`, şekli `(batch_size,)`, *isteğe bağlı*) : Sınıflandırma/geri dönüş kaybını hesaplamak için etiketler. Endeksler `[0, ..., config.num_labels - 1]` aralığında olmalıdır. `config.num_labels == 1` ise bir geri dönüş kaybı (Ortalama Kare kaybı) hesaplanır, `config.num_labels > 1` ise bir sınıflandırma kaybı (Çapraz Entropi) hesaplanır.

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

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

[UniSpeechSatForAudioFrameClassification](/docs/transformers/main/tr/model_doc/unispeech-sat#transformers.UniSpeechSatForAudioFrameClassification) 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) -- Sınıflandırma kaybı.
- **logits** (`torch.Tensor`, şekli `(batch_size, sequence_length, config.num_labels)`) -- Sınıflandırma puanları (SoftMax öncesi).
- **hidden_states** (`tuple(torch.Tensor)`, *isteğe bağlı*, `output_hidden_states=True` geçirildiğinde veya `config.output_hidden_states=True` olduğunda döndürülür) -- `torch.Tensor` (gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için bir tane) içeren, `(batch_size, sequence_length, hidden_size)` biçiminde bir demet.

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

  Dikkat softmax'ı sonrası dikkat ağırlıkları, öz-dikkat kafalarında ağırlıklı ortalamanın hesaplanmasında kullanılır.

Örnek:

```python
>>> from transformers import AutoFeatureExtractor, UniSpeechSatForAudioFrameClassification
>>> 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

>>> feature_extractor = AutoFeatureExtractor.from_pretrained("microsoft/unispeech-sat-base-100h-libri-ft")
>>> model = UniSpeechSatForAudioFrameClassification.from_pretrained("microsoft/unispeech-sat-base-100h-libri-ft")

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

>>> probabilities = torch.sigmoid(logits[0])
>>> # labels is a one-hot array of shape (num_frames, num_speakers)
>>> labels = (probabilities > 0.5).long()
>>> labels[0].tolist()
...
```

## UniSpeechSatForXVector[[transformers.UniSpeechSatForXVector]]

#### transformers.UniSpeechSatForXVector[[transformers.UniSpeechSatForXVector]]

```python
transformers.UniSpeechSatForXVector(config: UniSpeechSatConfig)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/unispeech_sat/modeling_unispeech_sat.py#L1459)

**Parametreler:**

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

Konuşma Doğrulama gibi görevler için üstünde XVector özellik çıkarma kafası bulunan UniSpeechSat Modeli.

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

```python
forward(input_values: typing.Optional[torch.Tensor], attention_mask: typing.Optional[torch.Tensor] = None, labels: typing.Optional[torch.Tensor] = None, **kwargs: *<class 'transformers.utils.generic.TransformersKwargs'>)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/unispeech_sat/modeling_unispeech_sat.py#L1509)

**Parametreler:**

input_values (`torch.Tensor`, şekli `(batch_size, sequence_length)`) : Girdi ham ses dalgasının float değerleri. Değerler, bir `.flac` veya `.wav` ses dosyasını `list[float]` tipinde bir diziye, `numpy.ndarray` veya `torch.Tensor` içine yükleyerek elde edilebilir, *örneğin* torchcodec kütüphanesi (`pip install torchcodec`) veya soundfile kütüphanesi (`pip install soundfile`) aracılığıyla. Diziyi `input_values` için hazırlamak için, [AutoProcessor](/docs/transformers/main/tr/model_doc/auto#transformers.AutoProcessor) dolguyu (padding) ve `torch.Tensor` tipinde bir tensöre dönüştürmeyi uygulamak üzere kullanılmalıdır. Ayrıntılar için `UniSpeechSatProcessor.__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)

labels (`torch.LongTensor`, şekli `(batch_size,)`, *isteğe bağlı*) : Sınıflandırma/geri dönüş kaybını hesaplamak için etiketler. Endeksler `[0, ..., config.num_labels - 1]` aralığında olmalıdır. `config.num_labels == 1` ise bir geri dönüş kaybı (Ortalama Kare kaybı) hesaplanır, `config.num_labels > 1` ise bir sınıflandırma kaybı (Çapraz Entropi) hesaplanır.

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

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

[UniSpeechSatForXVector](/docs/transformers/main/tr/model_doc/unispeech-sat#transformers.UniSpeechSatForXVector) 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) -- Sınıflandırma kaybı.
- **logits** (`torch.Tensor`, şekli `(batch_size, config.xvector_output_dim)`) -- AMSoftmax öncesi sınıflandırma gizli durumları.
- **embeddings** (`torch.Tensor`, şekli `(batch_size, config.xvector_output_dim)`) -- Vektör benzerliğine dayalı geri getirme için kullanılan cümle gömme değerleri.
- **hidden_states** (`tuple(torch.Tensor)`, *isteğe bağlı*, `output_hidden_states=True` geçirildiğinde veya `config.output_hidden_states=True` olduğunda döndürülür) -- `torch.Tensor` (gömme çıktısı için bir tane + her katman çıktısı için bir tane) içeren, `(batch_size, sequence_length, hidden_size)` biçiminde bir demet.

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

  Dikkat softmax'ı sonrası dikkat ağırlıkları, öz-dikkat kafalarında ağırlıklı ortalamanın hesaplanmasında kullanılır.

Örnek:

```python
>>> from transformers import AutoFeatureExtractor, UniSpeechSatForXVector
>>> 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

>>> feature_extractor = AutoFeatureExtractor.from_pretrained("microsoft/unispeech-sat-base-100h-libri-ft")
>>> model = UniSpeechSatForXVector.from_pretrained("microsoft/unispeech-sat-base-100h-libri-ft")

>>> # audio file is decoded on the fly
>>> inputs = feature_extractor(
...     [d["array"] for d in dataset[:2]["audio"]], sampling_rate=sampling_rate, return_tensors="pt", padding=True
... )
>>> with torch.no_grad():
...     embeddings = model(**inputs).embeddings

>>> embeddings = torch.nn.functional.normalize(embeddings, dim=-1).cpu()

>>> # the resulting embeddings can be used for cosine similarity-based retrieval
>>> cosine_sim = torch.nn.CosineSimilarity(dim=-1)
>>> similarity = cosine_sim(embeddings[0], embeddings[1])
>>> threshold = 0.7  # the optimal threshold is dataset-dependent
>>> if similarity < threshold:
...     print("Speakers are not the same!")
>>> round(similarity.item(), 2)
...
```

## UniSpeechSatForPreTraining[[transformers.UniSpeechSatForPreTraining]]

#### transformers.UniSpeechSatForPreTraining[[transformers.UniSpeechSatForPreTraining]]

```python
transformers.UniSpeechSatForPreTraining(config: UniSpeechSatConfig)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/unispeech_sat/modeling_unispeech_sat.py#L987)

**Parametreler:**

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

Vektör kuantizasyonu modülü ve ön eğitim için ctc kaybına sahip UniSpeechSat Modeli.

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

```python
forward(input_values: typing.Optional[torch.Tensor], attention_mask: typing.Optional[torch.Tensor] = None, **kwargs: *<class 'transformers.utils.generic.TransformersKwargs'>)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/unispeech_sat/modeling_unispeech_sat.py#L1043)

**Parametreler:**

input_values (`torch.Tensor`, şekli `(batch_size, sequence_length)`, *isteğe bağlı*) : Girdi ham ses dalgasının float değerleri. Değerler, bir `.flac` veya `.wav` ses dosyasını `list[float]` tipinde bir diziye, `numpy.ndarray` veya `torch.Tensor` içine yükleyerek elde edilebilir; *örneğin* torchcodec kütüphanesi (`pip install torchcodec`) veya soundfile kütüphanesi (`pip install soundfile`) aracılığıyla. Diziyi `input_values` için hazırlamak için, `torch.Tensor` tipinde bir tensöre dolgu ve dönüştürme amacıyla [AutoProcessor](/docs/transformers/main/tr/model_doc/auto#transformers.AutoProcessor) kullanılmalıdır. Ayrıntılar için [Wav2Vec2Processor.__call__()](/docs/transformers/main/tr/model_doc/wav2vec2#transformers.Wav2Vec2Processor.__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)

**Dönüş:** [UniSpeechSatForPreTrainingOutput](/docs/transformers/main/tr/model_doc/unispeech-sat#transformers.models.unispeech_sat.modeling_unispeech_sat.UniSpeechSatForPreTrainingOutput) veya `tuple(torch.Tensor)`

[UniSpeechSatForPreTrainingOutput](/docs/transformers/main/tr/model_doc/unispeech-sat#transformers.models.unispeech_sat.modeling_unispeech_sat.UniSpeechSatForPreTrainingOutput) veya bir `torch.Tensor` demeti (eğer `return_dict=False` geçirildiyse veya `config.return_dict=False` ise), yapılandırma ([UniSpeechSatConfig](/docs/transformers/main/tr/model_doc/unispeech-sat#transformers.UniSpeechSatConfig)) ve girdilere bağlı olarak çeşitli öğelerden oluşur.

[UniSpeechSatForPreTraining](/docs/transformers/main/tr/model_doc/unispeech-sat#transformers.UniSpeechSatForPreTraining) 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** (`*optional*`, model eğitim modundayken döndürülür, `(1,)` biçiminde `torch.Tensor`) -- [resmi makalede](https://huggingface.co/papers/2006.11477) belirtildiği üzere, kontrastif kaybın (L_m) ve çeşitlilik kaybının (L_d) toplamı olarak toplam kayıp.
- **logits** (`torch.Tensor`, şekli `(batch_size, sequence_length, config.proj_codevector_dim)`, *isteğe bağlı*) -- Karşıtlı kayıp modelinin tahmin puanları, yani son softmax'tan önce modelin çıktısı.
- **projected_states** (`torch.Tensor`, şekli `(batch_size, sequence_length, config.proj_codevector_dim)`) -- Maskelenmiş projeksiyonlu kuantize durumları tahmin etmek için kullanılabilen, *config.proj_codevector_dim* boyutuna projekte edilmiş model gizli durumları.
- **projected_quantized_states** (`torch.Tensor`, şekli `(batch_size, sequence_length, config.proj_codevector_dim)`) -- Karşıtlı kayıp için pozitif hedef vektörleri temsil eden, çıkarılan öznitelik vektörlerinin *config.proj_codevector_dim* boyutuna yansıtılmış kuantize hali.
- **codevector_perplexity** (`torch.Tensor`, şekli `(1,)`) -- Kod kitabı çeşitliliğini ölçmek için kullanılan codevector dağılımının perplexity değeri.
- **hidden_states** (`tuple[torch.Tensor]`, *isteğe bağlı*, `output_hidden_states=True` geçirildiğinde veya `config.output_hidden_states=True` olduğunda döndürülür) -- `torch.Tensor` (gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için bir tane) içeren ve `(batch_size, sequence_length, hidden_size)` biçiminde bir demet.

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

  Dikkat softmax'ı sonrası dikkat ağırlıkları, öz-dikkat kafalarında ağırlıklı ortalamanın hesaplanmasında kullanılır.

Örnek:

```python
>>> import torch
>>> from transformers import AutoFeatureExtractor, UniSpeechSatForPreTraining
>>> from transformers.models.unispeech_sat.modeling_unispeech_sat import _compute_mask_indices

>>> feature_extractor = AutoFeatureExtractor.from_pretrained("microsoft/unispeech-sat-base")
>>> model = UniSpeechSatForPreTraining.from_pretrained("microsoft/unispeech-sat-base")
>>> # TODO: Add full pretraining example
```

