Transformers documentation

Wav2Vec2-BERT

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v5.22.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Bu model 2023-12-08 tarihinde HF papers'ta yayımlanmış ve 2024-01-18 tarihinde Hugging Face Transformers'a katkıda bulunmuştur.

SDPA

Wav2Vec2-BERT

Genel Bakış

Wav2Vec2-BERT modeli, Meta AI'dan Seamless Communication ekibi tarafından Seamless: Multilingual Expressive and Streaming Speech Translation makalesinde önerilmiştir.

Bu model, 143'ten fazla dili kapsayan 4,5 milyon saatlik etiketsiz ses verisi üzerinde ön eğitilmiştir. Otomatik Konuşma Tanıma (ASR) veya Ses Sınıflandırması gibi aşağı akış görevlerinde kullanılmak için ince ayar gerektirir.

Modelin resmi sonuçları, makalenin 3.2.1 bölümünde bulunabilir.

Makalenin özeti aşağıdaki gibidir:

Otomatik konuşma çevirisi alanındaki son gelişmeler, dil kapsamını dramatik biçimde genişletmiş, çok modlu yetenekleri iyileştirmiş ve geniş bir görev ve işlev yelpazesini mümkün kılmıştır. Bununla birlikte, günümüzdeki büyük ölçekli otomatik konuşma çevirisi sistemleri, insan-insan diyaloğuyla karşılaştırıldığında makine aracılı iletişimi kusursuz hissettiren temel özelliklerden yoksundur. Bu çalışmada, uçtan uca, ifade zengini ve çok dilli çevirileri akışkan (streaming) bir biçimde mümkün kılan bir model ailesi sunuyoruz. Öncelikle, kitlevi çok dilli ve çok modlu SeamlessM4T modelinin iyileştirilmiş bir sürümüne katkıda bulunuyoruz: SeamlessM4T v2. Güncellenmiş UnitY2 çerçevesini içeren bu yeni model, daha fazla düşük kaynaklı dil verisi üzerinde eğitildi. Genişletilmiş SeamlessAlign sürümü, toplamda 76 dil için 114.800 saatlik otomatik hizalı veri ekliyor. SeamlessM4T v2, en yeni iki modelimiz olan SeamlessExpressive ve SeamlessStreaming'in başlatıldığı temeli oluşturuyor. SeamlessExpressive, vokal stilleri ve prosodiyi koruyan çeviriyi mümkün kılıyor. İfade zengini konuşma araştırmalarındaki önceki çalışmalara kıyasla, çalışmamız konuşma hızı ve duraklamalar gibi prosodinin bazı az keşfedilmiş yönlerini ele alırken, aynı zamanda kişinin ses stilini de koruyor. SeamlessStreaming'e gelince, modelimiz, tam kaynak cümleleri beklemeksizin düşük gecikmeli hedef çeviriler üretmek için Efficient Monotonic Multihead Attention (EMMA) mekanizmasından yararlanıyor. Türünün ilk örneği olan SeamlessStreaming, birden fazla kaynak ve hedef dil için eşzamanlı konuşma-konuşma/metin çevirisini mümkün kılıyor. Bu modellerin performansını anlamak için, prosodi, gecikme ve sağlamlığı değerlendirmek üzere yeni ve mevcut otomatik metriklerin değiştirilmiş sürümlerini birleştirdik. İnsan değerlendirmeleri için, anlamın, doğallığın ve ifade zenginliğinin korunmasında en ilgili nitelikleri ölçmeye yönelik mevcut protokolleri uyarladık. Modellerimizin güvenli ve sorumlu bir şekilde kullanılmasını sağlamak için, çok modlu makine çevirisine yönelik bilinen ilk red-teaming (kırmızı takım) çabasını, eklenen toksisitenin tespiti ve azaltılması için bir sistemi, cinsiyet önyargısının sistematik değerlendirmesini ve deepfake'lerin etkisini azaltmak üzere tasarlanmış duyulamaz, yerelleştirilmiş bir filigranlama mekanizmasını uyguladık. Sonuç olarak, SeamlessExpressive ve SeamlessStreaming'in ana bileşenlerini bir araya getirerek, gerçek zamanlı olarak ifade zengini dil arası iletişimi kilidini açan ilk herkese açık sistem olan Seamless'i oluşturuyoruz. Kısacası, Seamless, Evrensel Konuşma Çevirmenini bilim kurgu kavramından gerçek dünya teknolojisine dönüştürmek için gereken teknik temele önemli bir bakış açısı sunuyor. Son olarak, bu çalışmadaki katkılar—modeller, kod ve filigran algılayıcı dahil olmak üzere—halka açık olarak yayınlanmış olup aşağıdaki bağlantıdan erişilebilir.

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

Kullanım ipuçları

  • Wav2Vec2-BERT, Wav2Vec2-Conformer ile aynı mimariyi izler; ancak ham dalga formu yerine sesin mel-spektrogram temsili girdi olarak kullanılır ve nedensel derinlikli konvolüsyonel bir katman kullanılır.
  • Wav2Vec2-BERT, doğru config.position_embeddings_type değerini ayarlayarak göreceli konum gömme kullanmayabilir, Shaw benzeri konum gömme, Transformer-XL benzeri konum gömme veya döner konum gömme kullanabilir.
  • Wav2Vec2-BERT, basit bir konvolüsyonel ağ yerine Conformer tabanlı bir adaptör ağı da tanıtır.

Kaynaklar

Automatic Speech Recognition
Audio Classification

Wav2Vec2BertConfig

sınıf transformers.Wav2Vec2BertConfig

< >

( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonevocab_size: int | None = Nonehidden_size: int = 1024num_hidden_layers: int = 24num_attention_heads: int = 16intermediate_size: int = 4096feature_projection_input_dim: int = 160hidden_act: str = 'swish'hidden_dropout: float | int = 0.0activation_dropout: float | int = 0.0attention_dropout: float | int = 0.0feat_proj_dropout: float | int = 0.0final_dropout: float | int = 0.1layerdrop: float | int = 0.1initializer_range: float = 0.02layer_norm_eps: float = 1e-05apply_spec_augment: bool = Truemask_time_prob: float | int = 0.05mask_time_length: int = 10mask_time_min_masks: int = 2mask_feature_prob: float | int = 0.0mask_feature_length: int = 10mask_feature_min_masks: int = 0ctc_loss_reduction: str = 'sum'ctc_zero_infinity: bool = Falseuse_weighted_layer_sum: bool = Falseclassifier_proj_size: int = 768tdnn_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 = 512pad_token_id: int | None = 0bos_token_id: int | None = 1eos_token_id: int | list[int] | None = 2add_adapter: bool = Falseadapter_kernel_size: int = 3adapter_stride: int = 2num_adapter_layers: int = 1adapter_act: str = 'relu'use_intermediate_ffn_before_adapter: bool = Falseoutput_hidden_size: int | None = Noneposition_embeddings_type: typing.Optional[typing.Literal['rotary', 'relative', 'relative_key']] = 'relative_key'rotary_embedding_base: int = 10000max_source_positions: int = 5000left_max_position_embeddings: int = 64right_max_position_embeddings: int = 8conv_depthwise_kernel_size: int = 31conformer_conv_dropout: float | int = 0.1 )

Parametreler

  • vocab_size (int, isteğe bağlı) — Modelin sözlük boyutu. input_ids ile temsil edilebilecek farklı token sayısını belirler.
  • hidden_size (int, isteğe bağlı, varsayılan 1024) — Gizli temsillerin boyutu.
  • num_hidden_layers (int, isteğe bağlı, varsayılan 24) — Transformer çözücüdeki gizli katman sayısı.
  • num_attention_heads (int, isteğe bağlı, varsayılan 16) — Transformer decoder'ındaki her dikkat katmanı için dikkat başı sayısı.
  • intermediate_size (int, isteğe bağlı, varsayılan 4096) — MLP temsillerinin boyutu.
  • feature_projection_input_dim (int, isteğe bağlı, varsayılan 160) — Bu modelin giriş boyutu, yani SeamlessM4TFeatureExtractor veya Wav2Vec2BertProcessor ile giriş sesleri işlendikten sonraki boyut.
  • hidden_act (str, isteğe bağlı, varsayılan swish) — Çö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.0) — 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.0) — Tamamen bağlı katmandaki aktivasyonlar için dropout oranı.
  • attention_dropout (Union[float, int], isteğe bağlı, varsayılan 0.0) — Dikkat olasılıkları için dropout oranı.
  • feat_proj_dropout (float, opsiyonel, varsayılan 0.0) — Özellik projeksiyonu için dropout olasılığı.
  • final_dropout (float, isteğe bağlı, varsayılan 0.1) — Wav2Vec2BertForCTC'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](bkz. https://huggingface.co/papers/1909.11556) bakın.
  • initializer_range (float, isteğe bağlı, varsayılan 0.02) — Tüm ağırlık matrislerini başlatmak için kullanılan truncated_normal_initializer'ın standart sapması.
  • layer_norm_eps (float, isteğe bağlı, varsayılan 1e-05) — Katman normalizasyon katmanları tarafından kullanılan epsilon.
  • apply_spec_augment (bool, isteğe bağlı, varsayılan True) — Özellik kodlayıcısının çıktılarında SpecAugment veri artırma uygulayıp uygulamayacağı. Referans için bkz. SpecAugment: A Simple Data Augmentation Method for Automatic Speech Recognition.
  • mask_time_prob (float, optional, defaults to 0.05) — Percentage (between 0 and 1) of all feature vectors along the time axis which will be masked. The masking procedure generates mask_time_prob*len(time_axis)/mask_time_length ``independent masks over the axis. If reasoning from the probability of each feature vector to be chosen as the start of the vector span to be masked, *mask_time_prob* should be prob_vector_start*mask_time_length. Note that overlap may decrease the actual percentage of masked vectors. This is only relevant if apply_spec_augment is True`.
  • 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, isteğe bağlı, varsayılan 2) — Zaman ekseninde, her zaman adımı için, mask_feature_prob değerinden bağımsız olarak, mask_feature_length uzunluğunda üretilen maskelerin minimum sayısı. Yalnızca mask_time_prob*len(time_axis)/mask_time_length < mask_time_min_masks durumunda geçerlidir.
  • mask_feature_prob (float, isteğe bağlı, varsayılan 0.0) — Özellik ekseni boyunca, maskelenmesi gereken 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. 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ürse, mask_feature_prob değeri prob_vector_start*mask_feature_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_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, isteğe bağlı, varsayılan 0) — Her zaman adımında, mask_feature_prob değerinden bağımsız olarak, özellik ekseni boyunca üretilen mask_feature_length uzunluğundaki maskelerin asgari sayısı. Yalnızca mask_feature_prob*len(feature_axis)/mask_feature_length < mask_feature_min_masks koşulu sağlandığında geçerlidir.
  • ctc_loss_reduction (str, isteğe bağlı, varsayılan sum) — torch.nn.CTCLoss çıktısına uygulanacak indirgeme yöntemini belirtir. Yalnızca eğitim sırasında geçerlidir.
  • ctc_zero_infinity (bool, isteğe bağlı, varsayılan False) — torch.nn.CTCLoss için sonsuz kayıpları ve ilişkili gradyanları sıfırlayıp sıfırlamayacağı. Sonsuz kayıplar, girdilerin hedeflerle hizalanmak için çok kısa olması durumunda ortaya çıkar. Yalnızca bir Wav2Vec2BertForCTC örneğinin eğitimiyle ilgilidir.
  • use_weighted_layer_sum (bool, isteğe bağlı, varsayılan False) — Öğrenilen ağırlıklarla katman çıktıları için ağırlıklı ortalama kullanılıp kullanılmayacağı. Yalnızca Wav2Vec2BertForSequenceClassification bir örneği kullanıldığında geçerlidir.
  • classifier_proj_size (int, isteğe bağlı, varsayılan 768) — Sınıflandırma için token ortalama havuzlamadan önceki projeksiyonun boyutluğ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] or list[int], isteğe bağlı, varsayılan (5, 3, 3, 1, 1)) — XVector modelinin TDNN modülündeki her 1D konvolüsyon katmanının çekirdek boyutunu tanımlayan tamsayılar dizisi. tdnn_kernel'in 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 genişleme (dilation) çarpanını tanımlayan tamsayı bir demet. tdnn_dilation'ın uzunluğu, tdnn_dim'ın 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 (Union[int, list[int]], isteğe bağlı, varsayılan 2) — Sözlükte akış sonu için kullanılan token kimliği.
  • add_adapter (bool, isteğe bağlı, varsayılan False) — Wav2Vec2Bert Encoder'ın üzerine konvolüsyonel dikkat ağı yığılmalı mı? SpeechEncoderDecoder modelleri için Wav2Vec2Bert'i ısıtmalı başlatmada (warm-start) çok faydalı olabilir.
  • adapter_kernel_size (int, isteğe bağlı, varsayılan 3) — Adapter ağındaki konvolüsyon katmanlarının çekirdek boyutu. Yalnızca add_adapter is True ise geçerlidir.
  • adapter_stride (int, isteğe bağlı, varsayılan 2) — Adapter ağındaki konvolüsyon katmanlarının stride değeri. Yalnızca add_adapter is True ise geçerlidir.
  • num_adapter_layers (int, isteğe bağlı, varsayılan 1) — Adapter ağında kullanılacak konvolüsyon katmanlarının sayısı. Yalnızca add_adapter is True ise geçerlidir.
  • adapter_act (str veya function, opsiyonel, varsayılan "relu") — Adapter katmanlarındaki doğrusal olmayan aktivasyon fonksiyonu (fonksiyon veya dize). Dize olarak verilirse "gelu", "relu", "selu", "swish" ve "gelu_new" desteklenir.
  • use_intermediate_ffn_before_adapter (bool, isteğe bağlı, varsayılan False) — Wav2Vec2Bert Encoder'ın üzerine ve adapter ağından önce ara bir ileri beslemeli (feed-forward) blok yığılmalı mı? Yalnızca add_adapter is True ise geçerlidir.
  • output_hidden_size (int, isteğe bağlı) — Kodlayıcı çıktı katmanının boyutluluğu. Tanımlanmamışsa, bu varsayılan olarak hidden-size değerini alır. Yalnızca add_adapter is True ise geçerlidir.
  • position_embeddings_type (str, isteğe bağlı, varsayılan olarak "relative_key") — şu değerlerden biri olarak belirtilebilir:
  • rotary_embedding_base (int, isteğe bağlı, varsayılan 10000) — "rotary" konum gömme kullanılıyorsa, gömme tabanının boyutunu tanımlar.
  • max_source_positions (int, isteğe bağlı, varsayılan 5000) — "relative" konum gömme kullanılıyorsa, maksimum kaynak giriş konumlarını tanımlar.
  • left_max_position_embeddings (int, isteğe bağlı, varsayılan 64) — "relative_key" (Shaw olarak da bilinir) konum gömme kullanılıyorsa, göreli konumlar için sol kırpma değerini tanımlar.
  • right_max_position_embeddings (int, isteğe bağlı, varsayılan 8) — "relative_key" (Shaw olarak da bilinir) konum gömme kullanılıyorsa, göreli konumlar için sağ kırpma değerini tanımlar.
  • conv_depthwise_kernel_size (int, isteğe bağlı, varsayılan 31) — Conformer bloklarındaki konvolüsyonel derinlik içi 1D katmanının çekirdek boyutu.
  • conformer_conv_dropout (float, isteğe bağlı, varsayılan 0.1) — Conformer bloklarındaki tüm konvolüsyon katmanları için dropout olasılığı.

Bu, bir Wav2Vec2 BertModel yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Wav2Vec2 Bert modelini örneklemek ve model mimarisini tanımlamak için kullanılır. Varsayılan değerlerle bir yapılandırma örneklendiğinde, facebook/w2v-bert-2.0 ile benzer bir yapılandırma elde edilir.

Yapılandırma nesneleri PreTrainedConfig sınıfından devralır ve model çıktılarını kontrol etmek için kullanılabilir. Daha fazla bilgi için PreTrainedConfig belgesini okuyun.

Örnek:

>>> from transformers import Wav2Vec2BertConfig, Wav2Vec2BertModel

>>> # Initializing a Wav2Vec2Bert facebook/wav2vec2-bert-rel-pos-large style configuration
>>> configuration = Wav2Vec2BertConfig()

>>> # Initializing a model (with random weights) from the facebook/wav2vec2-bert-rel-pos-large style configuration
>>> model = Wav2Vec2BertModel(configuration)

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

Wav2Vec2BertProcessor

sınıf transformers.Wav2Vec2BertProcessor

< >

( feature_extractortokenizer )

Parametreler

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

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

Wav2Vec2BertProcessor, Wav2Vec2FeatureExtractor ve Wav2Vec2CTCTokenizer işlevlerinin tümünü sunar. Daha fazla bilgi için ~Wav2Vec2FeatureExtractor ve ~Wav2Vec2CTCTokenizer belgelerine bakın.

__call__

< >

( audio: typing.Union[numpy.ndarray, ForwardRef('torch.Tensor'), list[numpy.ndarray], list['torch.Tensor'], NoneType] = Nonetext: str | list[str] | None = None**kwargs: *<class 'transformers.models.wav2vec2_bert.processing_wav2vec2_bert.Wav2Vec2BertProcessorKwargs'> ) → BatchEncoding

Parametreler

  • audio (Union[numpy.ndarray, torch.Tensor, list[numpy.ndarray], list[torch.Tensor]], isteğe bağlı) — Hazırlanacak ses veya ses partisi. Her ses, bir NumPy dizisi veya PyTorch tensörü olabilir. NumPy dizisi/PyTorch tensörü durumunda, her sesin şekli (C, T) olmalıdır; burada C kanal sayısı, T ise sesin örnek uzunluğudur.
  • text (Union[str, list[str]], isteğe bağlı) — Kodlanacak dizi veya dizi grubu. Her dizi bir metin veya metin listesi (önceden tokenize edilmiş metin) olabilir. Önceden tokenize edilmiş bir girdi geçirirseniz, gruplu girdilerle karışıklığı önlemek için is_split_into_words=True değerini ayarlayın.
  • return_tensors (str veya TensorType, isteğe bağlı) — Belirlenirse, belirli bir çerçeveye ait tensörler döndürülür. Kabul edilen değerler şunlardır:
    • 'pt': PyTorch torch.Tensor nesnelerini döndürür.
    • 'np': NumPy np.ndarray nesnelerini döndürür.
  • **kwargs (ProcessingKwargs, isteğe bağlı) — 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üş değeri

BatchEncoding

Aşağıdaki alanlara sahip bir BatchEncoding:

  • input_features — Bir modele verilecek ses giriş özellikleri. audio değeri None olmadığında döndürülür.
  • attention_mask — audio None olmadığında, modelin hangi zaman damgalarına dikkat etmesi gerektiğini belirleyen indeks listesi. Yalnızca text belirtildiğinde, token dikkat maskesini döndürür.
  • labels — Bir modele girdi olarak verilecek token kimliklerinin listesi. Hem text hem de audio None olmadığında döndürülür.
  • input_ids — Bir modele verilecek token kimliklerinin listesi. text değeri None değil ve audio değeri None olduğunda döndürülür.

pad

< >

( input_features = Nonelabels = None**kwargs )

input_features None değilse, bu yöntem input_features ve kwargs argümanlarını, giriş özelliklerini doldurmak için SeamlessM4TFeatureExtractor'ın pad() yöntemine iletir. labels None değilse, bu yöntem labels ve kwargs argümanlarını, etiket(ler)i doldurmak için PreTrainedTokenizer'ın pad() yöntemine iletir. Daha fazla bilgi için yukarıdaki iki yöntemin docstring'ine başvurun.

from_pretrained

< >

( pretrained_model_name_or_path: str | os.PathLikecache_dir: str | os.PathLike | None = Noneforce_download: bool = Falselocal_files_only: bool = Falsetoken: str | bool | None = Nonerevision: str = 'main'**kwargs )

Parametreler

  • pretrained_model_name_or_path (str veya os.PathLike) — Bunlardan biri olabilir:
    • bir dize, huggingface.co'daki bir model deposunda barındırılan ön eğitilmiş bir feature_extractor'ın model kimliği.
    • save_pretrained() yöntemi kullanılarak kaydedilmiş bir özellik çıkarıcı dosyası içeren bir dizinin yolunu, örneğin ./my_model_directory/.
    • kaydedilmiş bir özellik çıkarıcı JSON dosyasına giden bir yol, örneğin ./my_model_directory/preprocessor_config.json.
  • **kwargs — Hem from_pretrained() hem de ~tokenization_utils_base.PreTrainedTokenizer.from_pretrained fonksiyonlarına iletilen ek anahtar kelime argümanları.

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

Bu sınıf metodu, yalnızca özellik çıkarıcının from_pretrained(), görüntü işleyicinin ImageProcessingMixin ve belirteçleştiricinin ~tokenization_utils_base.PreTrainedTokenizer.from_pretrained metotlarını çağırır. Daha fazla bilgi için yukarıdaki metotların dokümantasyon dizelerine (docstring) başvurun.

save_pretrained

< >

( save_directorypush_to_hub: bool = False**kwargs )

Parametreler

  • save_directory (str veya os.PathLike) — Özellik çıkarıcısının JSON dosyasının ve tokenizer dosyalarının kaydedileceği dizin (dizin mevcut değilse oluşturulur).
  • push_to_hub (bool, isteğe bağlı, varsayılan False) — Modelinizi kaydettikten sonra Hugging Face model hub'ına gönderip göndermeyeceğinizi belirtir. Göndermek istediğiniz depoyu repo_id ile belirtebilirsiniz (varsayılan olarak ad alanınızdaki save_directory adını kullanır).
  • kwargs (dict[str, Any], isteğe bağlı) — push_to_hub() yöntemine iletilen ek anahtar kelime argümanları.

Bu işleyicinin (özellik çıkarıcı, sınıflandırıcı…) özniteliklerini, from_pretrained() yöntemiyle yeniden yüklenebilmesi için belirtilen dizinde kaydeder.

Bu sınıf metodu yalnızca save_pretrained() ve save_pretrained() çağrılarını yapar. Daha fazla bilgi için yukarıdaki metodların dokümantasyon dizelerine (docstring) başvurun.

batch_decode

< >

( *args**kwargs )

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

decode

< >

( *args**kwargs )

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

Wav2Vec2BertModel

sınıf transformers.Wav2Vec2BertModel

< >

( config: Wav2Vec2BertConfig )

Parametreler

  • config (Wav2Vec2BertConfig) — Modelin tüm parametrelerini içeren model yapılandırma sınıfı. Bir yapılandırma dosyasıyla başlatmak, modelle ilişkili ağırlıkları yüklemez, yalnızca yapılandırmayı yükler. Model ağırlıklarını yüklemek için from_pretrained() yöntemine bakın.

Üzerinde herhangi bir özel başlık olmadan ham gizli durumlar (hidden-states) üreten çıplak Wav2Vec2 Bert Modeli.

Bu model PreTrainedModel sınıfından devralır. Kütüphanenin tüm modelleri için uyguladığı genel yöntemler (indirme veya kaydetme, giriş gömme boyutlarını yeniden boyutlandırma, başları budama vb.) için üst sınıf belgelendirmesine bakın.

Bu model aynı zamanda bir PyTorch torch.nn.Module alt sınıfıdır. Bunu standart bir PyTorch Module olarak kullanın ve genel kullanım ve davranışla ilgili tüm konular için PyTorch dokümantasyonuna başvurun.

forward

< >

( input_features: typing.Optional[torch.Tensor]attention_mask: typing.Optional[torch.Tensor] = Nonemask_time_indices: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → Wav2Vec2BaseModelOutput or tuple(torch.Tensor)

Parametreler

  • input_features (torch.Tensor, şekli (batch_size, sequence_length, feature_dim), isteğe bağlı) — Giriş ses özelliklerine karşılık gelen tensörler. Ses özellikleri Wav2Vec2FeatureExtractor kullanılarak elde edilebilir. Ayrıntılar için Wav2Vec2FeatureExtractor.call() bölümüne bakın (Wav2Vec2BertProcessor, sesleri işlemek için Wav2Vec2FeatureExtractor kullanır).
  • attention_mask (torch.Tensor şeklinde (batch_size, sequence_length), isteğe bağlı) — Doldurma (padding) token indekslerinde dikkat (attention) işlemi yapmaktan kaçınmak için kullanılan maske. Seçilen maske değerleri [0, 1]:
    • 1, maskelenmemiş jetonlar için,
    • maskelenmiş jetonlar için 0.

    Dikkat maskeleri nedir?

  • 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üş değeri

Wav2Vec2BaseModelOutput veya tuple(torch.Tensor)

Bir Wav2Vec2BaseModelOutput veya bir torch.Tensor demeti (return_dict=False geçirildiğinde veya config.return_dict=False olduğunda), yapılandırmaya (Wav2Vec2BertConfig) ve girdilere bağlı olarak çeşitli öğelerden oluşur.

Wav2Vec2BertModel forward metodu, __call__ özel metodunu geçersiz kılar.

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

  • last_hidden_state (torch.Tensor, şekli (batch_size, sequence_length, hidden_size)) — Modelin son katmanının çıktısındaki gizli durumlar dizisi.

  • extract_features (torch.Tensor, şekli (batch_size, sequence_length, conv_dim[-1])) — Modelin son konvolüsyon katmanının çıkarılmış ö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 bir tuple, şekli (batch_size, sequence_length, hidden_size).

    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 (katman başına bir tane) içeren bir tuple, şekli (batch_size, num_heads, sequence_length, sequence_length).

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

Wav2Vec2BertForCTC

sınıf transformers.Wav2Vec2BertForCTC

< >

( config: Wav2Vec2BertConfigtarget_lang: str | None = None )

Parametreler

  • config (Wav2Vec2BertConfig) — Modelin tüm parametrelerini içeren model yapılandırma sınıfı. Bir yapılandırma dosyasıyla başlatmak, modelle ilişkili ağırlıkları yüklemez, yalnızca yapılandırmayı yükler. Model ağırlıklarını yüklemek için from_pretrained() yöntemine bakın.
  • target_lang (str, isteğe bağlı) — Adapter ağırlıklarının dil kimliği. Adapter ağırlıkları adapter..safetensors veya adapter..bin biçiminde saklanır. Sadece adapter'larla bir UniSpeechSatForCTC örneği kullanılırken geçerlidir. Varsayılan olarak ‘eng’ kullanılır.

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

Bu model PreTrainedModel sınıfından devralır. Kütüphanenin tüm modelleri için uyguladığı genel yöntemler (indirme veya kaydetme, giriş gömme boyutlarını yeniden boyutlandırma, başları budama vb.) için üst sınıf belgelendirmesine bakın.

Bu model aynı zamanda bir PyTorch torch.nn.Module alt sınıfıdır. Bunu standart bir PyTorch Module olarak kullanın ve genel kullanım ve davranışla ilgili tüm konular için PyTorch dokümantasyonuna başvurun.

forward

< >

( input_features: typing.Optional[torch.Tensor]attention_mask: typing.Optional[torch.Tensor] = Nonelabels: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → CausalLMOutput or tuple(torch.Tensor)

Parametreler

  • input_features (torch.Tensor, şekli (batch_size, sequence_length, feature_dim), isteğe bağlı) — Giriş ses özelliklerine karşılık gelen tensörler. Ses özellikleri Wav2Vec2FeatureExtractor kullanılarak elde edilebilir. Ayrıntılar için Wav2Vec2FeatureExtractor.call() bölümüne bakın (Wav2Vec2BertProcessor, sesleri işlemek için Wav2Vec2FeatureExtractor kullanır).
  • attention_mask (torch.Tensor şeklinde (batch_size, sequence_length), isteğe bağlı) — Doldurma (padding) token indekslerinde dikkat (attention) işlemi yapmaktan kaçınmak için kullanılan maske. Seçilen maske değerleri [0, 1]:
    • 1, maskelenmemiş jetonlar için,
    • maskelenmiş jetonlar için 0.

    Dikkat maskeleri nedir?

  • 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. İndeksler [-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üş değeri

CausalLMOutput veya tuple(torch.Tensor)

Bir CausalLMOutput veya bir torch.Tensor demeti (return_dict=False geçirildiğinde veya config.return_dict=False olduğunda), yapılandırmaya (Wav2Vec2BertConfig) ve girdilere bağlı olarak çeşitli öğelerden oluşur.

Wav2Vec2BertForCTC forward metodu, __call__ özel metodunu geçersiz kılar.

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

  • loss (torch.Tensor, şekli (1,), isteğe bağlı, labels sağlandığında döndürülür) — Dil modelleme kaybı (sonraki token tahmini için).

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

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

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

  • attentions (tuple(torch.Tensor), isteğe bağlı, output_attentions=True geçirildiğinde veya config.output_attentions=True olduğunda döndürülür) — torch.Tensor (katman başına bir tane) içeren bir tuple, şekli (batch_size, num_heads, sequence_length, sequence_length).

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

Örnek:

>>> from transformers import AutoProcessor, Wav2Vec2BertForCTC
>>> 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/w2v-bert-2.0")
>>> model = Wav2Vec2BertForCTC.from_pretrained("facebook/w2v-bert-2.0")

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

Wav2Vec2BertForSequenceClassification

sınıf transformers.Wav2Vec2BertForSequenceClassification

< >

( config: Wav2Vec2BertConfig )

Parametreler

  • config (Wav2Vec2BertConfig) — Modelin tüm parametrelerini içeren model yapılandırma sınıfı. Bir yapılandırma dosyasıyla başlatmak, modelle ilişkili ağırlıkları yüklemez, yalnızca yapılandırmayı yükler. Model ağırlıklarını yüklemek için from_pretrained() yöntemine bakın.

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

Bu model PreTrainedModel sınıfından devralır. Kütüphanenin tüm modelleri için uyguladığı genel yöntemler (indirme veya kaydetme, giriş gömme boyutlarını yeniden boyutlandırma, başları budama vb.) için üst sınıf belgelendirmesine bakın.

Bu model aynı zamanda bir PyTorch torch.nn.Module alt sınıfıdır. Bunu standart bir PyTorch Module olarak kullanın ve genel kullanım ve davranışla ilgili tüm konular için PyTorch dokümantasyonuna başvurun.

forward

< >

( input_features: typing.Optional[torch.Tensor]attention_mask: typing.Optional[torch.Tensor] = Nonelabels: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → SequenceClassifierOutput or tuple(torch.Tensor)

Parametreler

  • input_features (torch.Tensor, şekli (batch_size, sequence_length, feature_dim), isteğe bağlı) — Giriş ses özelliklerine karşılık gelen tensörler. Ses özellikleri Wav2Vec2FeatureExtractor kullanılarak elde edilebilir. Ayrıntılar için Wav2Vec2FeatureExtractor.call() bölümüne bakın (Wav2Vec2BertProcessor, sesleri işlemek için Wav2Vec2FeatureExtractor kullanır).
  • attention_mask (torch.Tensor şeklinde (batch_size, sequence_length), isteğe bağlı) — Doldurma (padding) token indekslerinde dikkat (attention) işlemi yapmaktan kaçınmak için kullanılan maske. Seçilen maske değerleri [0, 1]:
    • 1, maskelenmemiş jetonlar için,
    • maskelenmiş jetonlar için 0.

    Dikkat maskeleri nedir?

  • 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üş değeri

SequenceClassifierOutput veya tuple(torch.Tensor)

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

Wav2Vec2BertForSequenceClassification forward metodu, __call__ özel metodunu geçersiz kılar.

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

  • loss (torch.Tensor, şekli (1,), isteğe bağlı, labels sağlandığında döndürülür) — 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 (modelin bir gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için birer tane) içeren, (batch_size, sequence_length, hidden_size) biçiminde bir demet.

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

  • attentions (tuple(torch.Tensor), isteğe bağlı, output_attentions=True geçirildiğinde veya config.output_attentions=True olduğunda döndürülür) — torch.Tensor (katman başına bir tane) içeren bir tuple, şekli (batch_size, num_heads, sequence_length, sequence_length).

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

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

>>> import torch
>>> from transformers import AutoTokenizer, Wav2Vec2BertForSequenceClassification

>>> tokenizer = AutoTokenizer.from_pretrained("facebook/w2v-bert-2.0")
>>> model = Wav2Vec2BertForSequenceClassification.from_pretrained("facebook/w2v-bert-2.0")

>>> 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 = Wav2Vec2BertForSequenceClassification.from_pretrained("facebook/w2v-bert-2.0", 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:

>>> import torch
>>> from transformers import AutoTokenizer, Wav2Vec2BertForSequenceClassification

>>> tokenizer = AutoTokenizer.from_pretrained("facebook/w2v-bert-2.0")
>>> model = Wav2Vec2BertForSequenceClassification.from_pretrained("facebook/w2v-bert-2.0", 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 = Wav2Vec2BertForSequenceClassification.from_pretrained(
...     "facebook/w2v-bert-2.0", 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

Wav2Vec2BertForAudioFrameClassification

sınıf transformers.Wav2Vec2BertForAudioFrameClassification

< >

( config: Wav2Vec2BertConfig )

Parametreler

  • config (Wav2Vec2BertConfig) — Modelin tüm parametrelerini içeren model yapılandırma sınıfı. Bir yapılandırma dosyasıyla başlatmak, modelle ilişkili ağırlıkları yüklemez, yalnızca yapılandırmayı yükler. Model ağırlıklarını yüklemek için from_pretrained() yöntemine bakın.

Konuşmacı Ayrıştırma gibi görevler için üstünde bir çerçeve sınıflandırma başlığı bulunan Wav2Vec2 Bert Modeli.

Bu model PreTrainedModel sınıfından devralır. Kütüphanenin tüm modelleri için uyguladığı genel yöntemler (indirme veya kaydetme, giriş gömme boyutlarını yeniden boyutlandırma, başları budama vb.) için üst sınıf belgelendirmesine bakın.

Bu model aynı zamanda bir PyTorch torch.nn.Module alt sınıfıdır. Bunu standart bir PyTorch Module olarak kullanın ve genel kullanım ve davranışla ilgili tüm konular için PyTorch dokümantasyonuna başvurun.

forward

< >

( input_features: typing.Optional[torch.Tensor]attention_mask: typing.Optional[torch.Tensor] = Nonelabels: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → TokenClassifierOutput or tuple(torch.Tensor)

Parametreler

  • input_features (torch.Tensor, şekli (batch_size, sequence_length, feature_dim), isteğe bağlı) — Giriş ses özelliklerine karşılık gelen tensörler. Ses özellikleri Wav2Vec2FeatureExtractor kullanılarak elde edilebilir. Ayrıntılar için Wav2Vec2FeatureExtractor.call() bölümüne bakın (Wav2Vec2BertProcessor, sesleri işlemek için Wav2Vec2FeatureExtractor kullanır).
  • attention_mask (torch.Tensor şeklinde (batch_size, sequence_length), isteğe bağlı) — Doldurma (padding) token indekslerinde dikkat (attention) işlemi yapmaktan kaçınmak için kullanılan maske. Seçilen maske değerleri [0, 1]:
    • 1, maskelenmemiş jetonlar için,
    • maskelenmiş jetonlar için 0.

    Dikkat maskeleri nedir?

  • 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üş değeri

TokenClassifierOutput veya tuple(torch.Tensor)

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

Wav2Vec2BertForAudioFrameClassification forward metodu, __call__ özel metodunu geçersiz kılar.

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

  • loss (torch.Tensor, şekli (1,), isteğe bağlı, labels sağlandığında döndürülür) — 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 (modelin bir gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için birer tane) içeren, (batch_size, sequence_length, hidden_size) biçiminde bir demet.

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

  • attentions (tuple(torch.Tensor), isteğe bağlı, output_attentions=True geçirildiğinde veya config.output_attentions=True olduğunda döndürülür) — torch.Tensor (katman başına bir tane) içeren bir tuple, şekli (batch_size, num_heads, sequence_length, sequence_length).

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

Örnek:

>>> from transformers import AutoFeatureExtractor, Wav2Vec2BertForAudioFrameClassification
>>> 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("facebook/w2v-bert-2.0")
>>> model = Wav2Vec2BertForAudioFrameClassification.from_pretrained("facebook/w2v-bert-2.0")

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

Wav2Vec2BertForXVector

sınıf transformers.Wav2Vec2BertForXVector

< >

( config: Wav2Vec2BertConfig )

Parametreler

  • config (Wav2Vec2BertConfig) — Modelin tüm parametrelerini içeren model yapılandırma sınıfı. Bir yapılandırma dosyasıyla başlatmak, modelle ilişkili ağırlıkları yüklemez, yalnızca yapılandırmayı yükler. Model ağırlıklarını yüklemek için from_pretrained() yöntemine bakın.

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

Bu model PreTrainedModel sınıfından devralır. Kütüphanenin tüm modelleri için uyguladığı genel yöntemler (indirme veya kaydetme, giriş gömme boyutlarını yeniden boyutlandırma, başları budama vb.) için üst sınıf belgelendirmesine bakın.

Bu model aynı zamanda bir PyTorch torch.nn.Module alt sınıfıdır. Bunu standart bir PyTorch Module olarak kullanın ve genel kullanım ve davranışla ilgili tüm konular için PyTorch dokümantasyonuna başvurun.

forward

< >

( input_features: typing.Optional[torch.Tensor]attention_mask: typing.Optional[torch.Tensor] = Nonelabels: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → XVectorOutput or tuple(torch.Tensor)

Parametreler

  • input_features (torch.Tensor, şekli (batch_size, sequence_length, feature_dim), isteğe bağlı) — Giriş ses özelliklerine karşılık gelen tensörler. Ses özellikleri Wav2Vec2FeatureExtractor kullanılarak elde edilebilir. Ayrıntılar için Wav2Vec2FeatureExtractor.call() bölümüne bakın (Wav2Vec2BertProcessor, sesleri işlemek için Wav2Vec2FeatureExtractor kullanır).
  • attention_mask (torch.Tensor şeklinde (batch_size, sequence_length), isteğe bağlı) — Doldurma (padding) token indekslerinde dikkat (attention) işlemi yapmaktan kaçınmak için kullanılan maske. Seçilen maske değerleri [0, 1]:
    • 1, maskelenmemiş jetonlar için,
    • maskelenmiş jetonlar için 0.

    Dikkat maskeleri nedir?

  • 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üş değeri

XVectorOutput veya tuple(torch.Tensor)

XVectorOutput veya bir torch.Tensor demeti (return_dict=False geçirildiğinde veya config.return_dict=False olduğunda), yapılandırmaya (Wav2Vec2BertConfig) ve girdilere bağlı olarak çeşitli öğelerden oluşur.

Wav2Vec2BertForXVector forward metodu, __call__ özel metodunu geçersiz kılar.

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

  • loss (torch.Tensor, şekli (1,), isteğe bağlı, labels sağlandığında döndürülür) — 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 bir tuple, şekli (batch_size, sequence_length, hidden_size).

    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 (katman başına bir tane) içeren bir tuple, şekli (batch_size, num_heads, sequence_length, sequence_length).

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

Örnek:

>>> from transformers import AutoFeatureExtractor, Wav2Vec2BertForXVector
>>> 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("facebook/w2v-bert-2.0")
>>> model = Wav2Vec2BertForXVector.from_pretrained("facebook/w2v-bert-2.0")

>>> # 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)
...
Update on GitHub