Transformers documentation

SpeechT5

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

and get access to the augmented documentation experience

to get started

Bu model 2021-10-14 tarihinde HF papers'ta yayımlandı ve 2023-02-03 tarihinde Hugging Face Transformers'a katkıda bulunuldu.

SpeechT5

Genel Bakış

SpeechT5 modeli, Junyi Ao, Rui Wang, Long Zhou, Chengyi Wang, Shuo Ren, Yu Wu, Shujie Liu, Tom Ko, Qing Li, Yu Zhang, Zhihua Wei, Yao Qian, Jinyu Li ve Furu Wei tarafından SpeechT5: Unified-Modal Encoder-Decoder Pre-Training for Spoken Language Processing makalesinde önerilmiştir.

Makalenin özeti aşağıdaki gibidir:

Önceden eğitilmiş doğal dil işleme modellerinde T5 (Text-To-Text Transfer Transformer)'ın başarısından ilham alarak, kendinden denetimli konuşma/metin temsil öğrenimi için kodlayıcı-çözücü ön eğitimi keşfeden, birleşik modlu bir SpeechT5 çerçevesi öneriyoruz. SpeechT5 çerçevesi, paylaşılan bir kodlayıcı-çözücü ağı ve altı moddan bağımsız (konuşma/metin) ön/son ağlardan oluşur. Girdi konuşma/metni ön ağlar aracılığıyla ön işlendikten sonra, paylaşılan kodlayıcı-çözücü ağı diziden-diziye dönüşümü modellemeye başlar ve ardından son ağlar, çözücünün çıktısına dayanarak çıktıyı konuşma/metin modalitesinde üretir. Büyük ölçekli etiketsiz konuşma ve metin verilerini kullanarak, hem konuşma hem de metin için modelleme yeteneğini artırmayı umut ederek, birleşik modlu bir temsil öğrenmek üzere SpeechT5'i ön eğitiyoruz. Metinsel ve konuşma bilgisini bu birleşik anlamsal uzaya hizalamak için, kodlayıcı ile çözücü arasındaki arayüz olarak gizli birimleri, konuşma/metin durumlarıyla rastgele karıştıran bir modlar arası vektör kuantizasyonu yaklaşımı öneriyoruz. Kapsamlı değerlendirmeler, otomatik konuşma tanıma, konuşma sentezi, konuşma çevirisi, ses dönüşümü, konuşma iyileştirme ve konuşmacı tanıma dahil olmak üzere çeşitli sözlü dil işleme görevlerinde önerilen SpeechT5 çerçevesinin üstünlüğünü göstermektedir.

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

from_pretrained() içinde use_kernels=True değerini ayarlayarak desteklenen katmanları Hub'daki optimize edilmiş çekirdeklerle değiştirin. Daha fazla bilgi için Çekirdekleri yükleme bölümüne bakın.

SpeechT5Config

sınıf transformers.SpeechT5Config

< >

( 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 = 0id2label: 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 = Noneis_encoder_decoder: bool = Truevocab_size: int = 81hidden_size: int = 768encoder_layers: int = 12encoder_attention_heads: int = 12encoder_ffn_dim: int = 3072encoder_layerdrop: float | int = 0.1decoder_layers: int = 6decoder_ffn_dim: int = 3072decoder_attention_heads: int = 12decoder_layerdrop: float | int = 0.1hidden_act: str = 'gelu'positional_dropout: float | int = 0.1hidden_dropout: float | int = 0.1attention_dropout: float | int = 0.1activation_dropout: float | int = 0.1initializer_range: float = 0.02layer_norm_eps: float = 1e-05scale_embedding: bool = Falsefeat_extract_norm: str = 'group'feat_proj_dropout: float | int = 0.0feat_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 = Falsenum_conv_pos_embeddings: int = 128num_conv_pos_embedding_groups: int = 16apply_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 = 0pad_token_id: int | None = 1bos_token_id: int | None = 0eos_token_id: int | list[int] | None = 2decoder_start_token_id: int | None = 2num_mel_bins: int = 80speech_decoder_prenet_layers: int = 2speech_decoder_prenet_units: int = 256speech_decoder_prenet_dropout: float | int = 0.5speaker_embedding_dim: int = 512speech_decoder_postnet_layers: int = 5speech_decoder_postnet_units: int = 256speech_decoder_postnet_kernel: int = 5speech_decoder_postnet_dropout: float | int = 0.5reduction_factor: int = 2max_speech_positions: int = 4000max_text_positions: int = 450encoder_max_relative_position: int = 160use_guided_attention_loss: bool = Trueguided_attention_loss_num_heads: int = 2guided_attention_loss_sigma: float = 0.4guided_attention_loss_scale: float = 10.0use_cache: bool = Truetie_word_embeddings: bool = True )

Parametreler

  • is_encoder_decoder (bool, isteğe bağlı, varsayılan True) — Modelin bir kodlayıcı/çözücü olarak kullanılıp kullanılmadığı.
  • vocab_size (int, isteğe bağlı, varsayılan 81) — Modelin sözlük boyutu. input_ids ile temsil edilebilecek farklı token sayısını tanımlar.
  • hidden_size (int, isteğe bağlı, varsayılan 768) — Gizli temsillerin boyutu.
  • encoder_layers (int, isteğe bağlı, varsayılan 12) — Transformer kodlayıcısındaki gizli katman sayısı. Ayarlanmazsa num_layers ile aynı değeri kullanır.
  • encoder_attention_heads (int, isteğe bağlı, varsayılan 12) — Transformer kodlayıcısındaki her dikkat katmanı için dikkat başı sayısı.
  • encoder_ffn_dim (int, isteğe bağlı, varsayılan 3072) — Encoder'daki "ara" (genellikle feed-forward olarak adlandırılan) katmanın boyutu.
  • encoder_layerdrop (Union[float, int], isteğe bağlı, varsayılan 0.1) — Encoder için LayerDrop olasılığı. Daha fazla ayrıntı için [LayerDrop makalesine](bkz. https://huggingface.co/papers/1909.11556) bakın.
  • decoder_layers (int, isteğe bağlı, varsayılan 6) — Transformer decoder'ındaki gizli katman sayısı. Ayarlanmazsa num_layers ile aynı değeri kullanır.
  • decoder_ffn_dim (int, isteğe bağlı, varsayılan 3072) — Decoder'daki "ara" (genellikle feed-forward olarak adlandırılan) katmanın boyutluluğu.
  • decoder_attention_heads (int, isteğe bağlı, varsayılan 12) — Transformer decoder'ındaki her dikkat katmanı için dikkat başı sayısı.
  • decoder_layerdrop (Union[float, int], isteğe bağlı, varsayılan 0.1) — Çözücü için LayerDrop olasılığı. Daha fazla ayrıntı için [LayerDrop makalesine](bkz. https://huggingface.co/papers/1909.11556) bakın.
  • 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.
  • positional_dropout (float, isteğe bağlı, varsayılan 0.1) — Metin konum kodlama katmanları için dropout olasılığı.
  • 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ığı.
  • attention_dropout (Union[float, int], isteğe bağlı, varsayılan 0.1) — Dikkat olasılıkları için dropout oranı.
  • activation_dropout (Union[float, int], isteğe bağlı, varsayılan 0.1) — Tamamen bağlı katmandaki aktivasyonlar için dropout oranı.
  • 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.
  • scale_embedding (bool, isteğe bağlı, varsayılan False) — Gömme değerlerinin sqrt(d_model) ile bölünerek ölçeklendirilip ölçeklendirilmeyeceğini belirtir.
  • feat_extract_norm (str, isteğe bağlı, varsayılan "group") — Ses kodlayıcı ön ağındaki 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_proj_dropout (float, isteğe bağlı, varsayılan 0.0) — Ses kodlayıcı ön ağı çıktısı için dropout olasılığı.
  • 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)) — Ses kodlayıcı ön-ağında (pre-net) bulunan her 1D konvolüsyon katmanının giriş ve çıkış kanal sayısını tanımlayan tamsayı bir demeti. 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)) — Ses kodlayıcı ön ağındaki her 1D konvolüsyon katmanının stride değerini tanımlayan tamsayı bir demet. conv_stride'nin 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, 3, 3)) — Ses kodlayıcı ön-ağında her 1D konvolüsyon katmanının çekirdek boyutunu tanımlayan tamsayılar dizisi. conv_kernel'in uzunluğu, konvolüsyon katmanlarının sayısını belirler ve conv_dim'in uzunluğuyla eşleşmelidir.
  • conv_bias (bool, isteğe bağlı, varsayılan False) — 1D 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ı.
  • apply_spec_augment (bool, isteğe bağlı, varsayılan True) — Konuşma kodlayıcı ön-ağının çıktılarında SpecAugment veri artırma uygulamasının yapılıp yapılmayacağını belirtir. 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_problen(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_startmask_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 üretilen, 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, optional, defaults to 0.0) — Percentage (between 0 and 1) of all feature vectors along the feature axis which will be masked. The masking procedure generates ”mask_feature_problen(feature_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_feature_prob should be `prob_vector_startmask_feature_length. Note that overlap may decrease the actual percentage of masked vectors. This is only relevant if apply_spec_augment is True`.
  • mask_feature_prob (Union[float, int], isteğe bağlı, varsayılan 0.0) — Özellik ekseni boyunca maskelenecek 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 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_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 değeri 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 minimum sayısı. Yalnızca ”mask_feature_prob*len(feature_axis)/mask_feature_length < mask_feature_min_masks” koşulu sağlandığında geçerlidir.
  • num_mel_bins (int, isteğe bağlı, varsayılan 80) — Girdi özellikleri başına kullanılan mel özellik sayısı. Ses decoder ön-ağ tarafından kullanılır. SpeechT5Processor sınıfında kullanılan değerle eşleşmelidir.
  • pad_token_id (int, isteğe bağlı, varsayılan 1) — Sözlükte dolgu için kullanılan token kimliği.
  • bos_token_id (int, isteğe bağlı, varsayılan 0) — Sözlükte akış başlangıcı için kullanılan token kimliği.
  • eos_token_id (Union[int, list[int]], isteğe bağlı, varsayılan 2) — Sözlükte akış sonu için kullanılan token kimliği.
  • decoder_start_token_id (int, isteğe bağlı, varsayılan 2) — Bir kodlayıcı-çözücü modeli, bos ile farklı bir token ile çözümlemeye başlıyorsa, o token'ın kimliği.
  • num_mel_bins (int, isteğe bağlı, varsayılan 80) — Giriş başına kullanılan mel özellik sayısı. AutoFeatureExtractor sınıfında kullanılan değerle eşleşmelidir.
  • speech_decoder_prenet_layers (int, isteğe bağlı, varsayılan 2) — Ses çözücü ön ağındaki katman sayısı.
  • speech_decoder_prenet_units (int, isteğe bağlı, varsayılan 256) — Ses kodlayıcı ön ağındaki katmanların boyutluluğu.
  • speech_decoder_prenet_dropout (float, isteğe bağlı, varsayılan 0.5) — Ses kodlayıcı ön-ağ katmanları için dropout olasılığı.
  • speaker_embedding_dim (int, isteğe bağlı, varsayılan 512) — XVector gömme vektörlerinin boyutluluğu.
  • speech_decoder_postnet_layers (int, isteğe bağlı, varsayılan 5) — Ses çözücü post-net'indeki katman sayısı.
  • speech_decoder_postnet_units (int, isteğe bağlı, varsayılan 256) — Ses çözücü post-net katmanlarının boyutluluğu.
  • speech_decoder_postnet_kernel (int, isteğe bağlı, varsayılan 5) — Ses çözücü post-net'indeki konvolüsyon filtre kanallarının sayısı.
  • speech_decoder_postnet_dropout (float, isteğe bağlı, varsayılan 0.5) — Ses çözücü post-net katmanları için dropout olasılığı.
  • reduction_factor (int, isteğe bağlı, varsayılan 2) — Konuşma çözücü girdileri için spektrogram uzunluğu azaltma çarpanı.
  • max_speech_positions (int, isteğe bağlı, varsayılan 4000) — Bu modelin kullanılabileceği ses özelliklerinin maksimum dizin uzunluğu.
  • max_text_positions (int, isteğe bağlı, varsayılan 450) — Bu modelin kullanılabileceği metin özelliklerinin maksimum dizin uzunluğu.
  • encoder_max_relative_position (int, isteğe bağlı, varsayılan 160) — Encoder'da göreli konum gömme için maksimum mesafe.
  • use_guided_attention_loss (bool, isteğe bağlı, varsayılan True) — TTS modeli eğitilirken yönlendirilmiş dikkat kaybının uygulanıp uygulanmayacağı.
  • guided_attention_loss_num_heads (int, isteğe bağlı, varsayılan 2) — Guided attention loss'un uygulanacağı attention head sayısı. Bu loss'un tüm attention head'lere uygulanması için -1 kullanın.
  • guided_attention_loss_sigma (float, isteğe bağlı, varsayılan 0.4) — Yönlendirilmiş dikkat kaybı için standart sapma.
  • guided_attention_loss_scale (float, isteğe bağlı, varsayılan 10.0) — Yönlendirilmiş dikkat kaybı için ölçekleme katsayısı (lambda olarak da bilinir).
  • use_cache (bool, isteğe bağlı, varsayılan True) — Modelin son anahtar/değer dikkatlerini (tüm modellerde kullanılmaz) döndürüp döndürmeyeceği. Yalnızca config.is_decoder=True olduğunda veya model yalnızca çözücü tabanlı üretken bir model olduğunda geçerlidir.
  • tie_word_embeddings (bool, isteğe bağlı, varsayılan True) — Modelin tied_weights_keys eşlemesine göre ağırlık gömme bağlamalarının yapılıp yapılmayacağı.

Bu, bir SpeechT5Model yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Speecht5 modelinin örneklenmesi ve model mimarisinin tanımlanması için kullanılır. Varsayılan değerlerle bir yapılandırma örneklendiğinde, microsoft/speecht5_asr 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 SpeechT5Model, SpeechT5Config

>>> # Initializing a "microsoft/speecht5_asr" style configuration
>>> configuration = SpeechT5Config()

>>> # Initializing a model (with random weights) from the "microsoft/speecht5_asr" style configuration
>>> model = SpeechT5Model(configuration)

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

SpeechT5HifiGanConfig

sınıf transformers.SpeechT5HifiGanConfig

< >

( 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 = Nonemodel_in_dim: int = 80sampling_rate: int = 16000upsample_initial_channel: int = 512upsample_rates: list[int] | tuple[int, ...] = (4, 4, 4, 4)upsample_kernel_sizes: list[int] | tuple[int, ...] = (8, 8, 8, 8)resblock_kernel_sizes: list[int] | tuple[int, ...] = (3, 7, 11)resblock_dilation_sizes: list | tuple = ((1, 3, 5), (1, 3, 5), (1, 3, 5))initializer_range: float = 0.01leaky_relu_slope: float = 0.1normalize_before: bool = True )

Parametreler

  • model_in_dim (int, isteğe bağlı, varsayılan 80) — Girdi log-mel spektrogramundaki frekans bini sayısı.
  • sampling_rate (int, isteğe bağlı, varsayılan 16000) — Ses dosyalarının dijitalleştirilmesi gereken örnekleme hızı, hertz (Hz) cinsinden ifade edilir.
  • upsample_initial_channel (int, isteğe bağlı, varsayılan 512) — Yukarı örnekleme ağına giren giriş kanalı sayısı.
  • upsample_rates (tuple[int] veya list[int], isteğe bağlı, varsayılan [4, 4, 4, 4]) — Yukarı örneklemeye (upsampling) ağında her 1D konvolüsyon katmanının adımını (stride) tanımlayan tamsayı bir demet. upsample_rates'in uzunluğu, konvolüsyon katmanlarının sayısını belirler ve upsample_kernel_sizes'in uzunluğuyla eşleşmelidir.
  • upsample_kernel_sizes (tuple[int] veya list[int], opsiyonel, varsayılan [8, 8, 8, 8]) — Yukarı örneklemeli ağdaki her 1D konvolüsyonel katmanının çekirdek boyutunu tanımlayan tamsayı bir demeti. upsample_kernel_sizes uzunluğu, konvolüsyonel katman sayısını belirler ve upsample_rates uzunluğuyla eşleşmelidir.
  • resblock_kernel_sizes (tuple[int] veya list[int], isteğe bağlı, varsayılan [3, 7, 11]) — Çoklu algı alanı füzyonu (MRF) modülündeki 1D konvolüsyon katmanlarının çekirdek boyutlarını tanımlayan tamsayılar dizisi.
  • resblock_dilation_sizes (tuple[tuple[int]] veya list[list[int]], isteğe bağlı, varsayılan [[1, 3, 5], [1, 3, 5], [1, 3, 5]]) — Çoklu algı alanı füzyonu (MRF) modülündeki seyreltilmiş 1D konvolüsyonlu katmanların seyreltme oranlarını tanımlayan iç içe geçmiş tamsayı demeti.
  • initializer_range (float, isteğe bağlı, varsayılan 0.01) — Tüm ağırlık matrislerini başlatmak için kullanılan truncated_normal_initializer'ın standart sapması.
  • leaky_relu_slope (float, isteğe bağlı, varsayılan 0.1) — Leaky ReLU aktivasyonunun kullandığı negatif eğimin açısı.
  • normalize_before (bool, isteğe bağlı, varsayılan True) — Vokoderin öğrenilen ortalama ve varyans değerlerini kullanarak vokoding öncesinde spektrogramu normalize edip etmeyeceğini belirtir.

Bu, bir SpeechT5Model yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Speecht5 modelinin örneklenmesi ve model mimarisinin tanımlanması için kullanılır. Varsayılan değerlerle bir yapılandırma örneklendiğinde, microsoft/speecht5_asr 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 SpeechT5HifiGan, SpeechT5HifiGanConfig

>>> # Initializing a "microsoft/speecht5_hifigan" style configuration
>>> configuration = SpeechT5HifiGanConfig()

>>> # Initializing a model (with random weights) from the "microsoft/speecht5_hifigan" style configuration
>>> model = SpeechT5HifiGan(configuration)

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

SpeechT5Tokenizer

sınıf transformers.SpeechT5Tokenizer

< >

( vocab_filebos_token = '<s>'eos_token = '</s>'unk_token = '<unk>'pad_token = '<pad>'normalize = Falsesp_model_kwargs: dict[str, typing.Any] | None = None**kwargs )

Parametreler

  • vocab_file (str) — Bir tokenizer örneği oluşturmak için gerekli sözlüğü içeren SentencePiece dosyası (genellikle .spm uzantısına sahiptir).
  • bos_token (str, isteğe bağlı, varsayılan "<s>") — Dizinin başlangıç jetonu.
  • eos_token (str, isteğe bağlı, varsayılan "</s>") — Dizi sonu belirteci.
  • unk_token (str, isteğe bağlı, varsayılan "<unk>") — Bilinmeyen token. Sözlükte yer almayan bir token, bir kimliğe dönüştürülemez ve bunun yerine bu token olarak ayarlanır.
  • pad_token (str, isteğe bağlı, varsayılan "<pad>") — Doldurma için kullanılan jeton, örneğin farklı uzunluklardaki dizileri toplu işleme (batching) sırasında.
  • normalize (bool, isteğe bağlı, varsayılan False) — Metindeki sayısal niceliklerin İngilizce karşılıklarına dönüştürülüp dönüştürülmeyeceğini belirtir.
  • sp_model_kwargs (dict, isteğe bağlı) — şuna aktarılacak: SentencePieceProcessor.__init__() metodu. SentencePiece için Python sarmalayıcısı arasında şunları ayarlamak için kullanılabilir:
    • enable_sampling: Alt kelime düzenlemesini etkinleştirir.

    • nbest_size: Unigram için örneklem parametreleri. BPE-Dropout için geçersizdir.

      • nbest_size = {0,1}: Örnekleme yapılmaz.
      • nbest_size > 1: nbest_size sonuçlarından örnekler.
      • nbest_size < 0: nbest_size'in sonsuz olduğu varsayılır ve tüm hipotezlerden (lattice) forward-filtering-and-backward-sampling algoritması kullanılarak örneklemeler yapılır.
    • alpha: Unigram örneklemesi için düzeltme parametresi ve BPE-dropout için birleştirme işlemlerinin atılma olasılığı.

  • sp_model (SentencePieceProcessor) — Her dönüştürme (dize, jeton ve kimlikler) için kullanılan SentencePiece işleyicisi.

Bir SpeechT5 tokenizer'ı oluşturun. SentencePiece tabanlıdır.

Bu tokenizer, ana yöntemlerin çoğunu içeren PreTrainedTokenizer sınıfından devralır. Kullanıcıların bu yöntemler hakkında daha fazla bilgi için bu üst sınıfa başvurması gerekir.

__call__

< >

( text: TextInput | PreTokenizedInput | list[TextInput] | list[PreTokenizedInput] | None = Nonetext_pair: TextInput | PreTokenizedInput | list[TextInput] | list[PreTokenizedInput] | None = Nonetext_target: TextInput | PreTokenizedInput | list[TextInput] | list[PreTokenizedInput] | None = Nonetext_pair_target: TextInput | PreTokenizedInput | list[TextInput] | list[PreTokenizedInput] | None = Noneadd_special_tokens: bool = Truepadding: bool | str | PaddingStrategy = Falsetruncation: bool | str | TruncationStrategy | None = Nonemax_length: int | None = Nonestride: int = 0is_split_into_words: bool = Falsepad_to_multiple_of: int | None = Nonepadding_side: str | None = Nonereturn_tensors: str | TensorType | None = Nonereturn_token_type_ids: bool | None = Nonereturn_attention_mask: bool | None = Nonereturn_overflowing_tokens: bool = Falsereturn_special_tokens_mask: bool = Falsereturn_offsets_mapping: bool = Falsereturn_length: bool = Falseverbose: bool = Truetokenizer_kwargs: dict[str, Any] | None = None**kwargs ) → BatchEncoding

Parametreler

  • text (str, list[str], list[list[str]], isteğe bağlı) — Kodlanacak dizi veya dizi grubu. Her dizi bir metin veya metin listesi (önceden tokenize edilmiş metin) olabilir. Diziler metin listesi olarak (önceden tokenize edilmiş) sağlanıyorsa, is_split_into_words=True değerini ayarlamalısınız (dizi grubu ile karışıklığı önlemek için).
  • text_pair (str, list[str], list[list[str]], isteğe bağlı) — Kodlanacak dizi veya dizi grubu. Her dizi bir metin veya metin listesi (önceden tokenize edilmiş metin) olabilir. Diziler metin listesi olarak (önceden tokenize edilmiş) sağlanıyorsa, is_split_into_words=True değerini ayarlamalısınız (dizi grubu ile belirsizliği gidermek için).
  • text_target (str, list[str], list[list[str]], isteğe bağlı) — Hedef metin olarak kodlanacak dizi veya dizi grubu. Her dizi bir dize veya dize listesi (önceden tokenize edilmiş dize) olabilir. Diziler dize listesi (önceden tokenize edilmiş) olarak sağlanıyorsa, is_split_into_words=True değerini ayarlamanız gerekir (dizi grubu ile belirsizliği gidermek için).
  • text_pair_target (str, list[str], list[list[str]], isteğe bağlı) — Hedef metinler olarak kodlanacak dizi veya dizi partisi. Her dizi bir dize veya dize listesi (önceden tokenize edilmiş dize) olabilir. Diziler dize listesi (önceden tokenize edilmiş) olarak sağlanıyorsa, is_split_into_words=True değerini ayarlamanız gerekir (dizi partisiyle olan belirsizliği gidermek için).
  • tokenizer_kwargs (dict[str, Any], isteğe bağlı) — Tokenizöre iletilecek ek kwargs. Bunlar, açık parametreler ve diğer kwargs ile birleştirilir; açık parametreler önceliklidir.
  • add_special_tokens (bool, isteğe bağlı, varsayılan True) — Dizileri kodlarken özel token eklenip eklenmeyeceğini belirtir. Bu, girdi kimliklerine otomatik olarak hangi tokenların ekleneceğini tanımlayan alttaki PretrainedTokenizerBase.build_inputs_with_special_tokens işlevini kullanır. bos veya eos tokenlarını otomatik olarak eklemek istiyorsanız bu işe yarar.
  • padding (bool, str veya PaddingStrategy, isteğe bağlı, varsayılan olarak False) — Dolgu işlemini etkinleştirir ve kontrol eder. Aşağıdaki değerleri kabul eder:
    • True veya 'longest': Toplu işlemdeki en uzun dizinin uzunluğuna kadar dolgu yapılır (yalnızca tek bir dizi sağlanırsa dolgu yapılmaz).
    • 'max_length': max_length argümanı ile belirtilen maksimum uzunluğa veya bu argüman sağlanmadıysa modelin kabul edebileceği maksimum giriş uzunluğuna kadar doldurur.
    • False veya 'do_not_pad' (varsayılan): Dolgu yok (yani, farklı uzunluklarda diziler içeren bir parti çıktı olarak üretilebilir).
  • truncation (bool, str veya TruncationStrategy, isteğe bağlı, varsayılan olarak False) — Kesmeyi (truncation) etkinleştirir ve kontrol eder. Aşağıdaki değerleri kabul eder:
    • True veya 'longest_first': max_length argümanı ile belirtilen maksimum uzunluğa veya bu argüman sağlanmadıysa modelin kabul edebileceği maksimum giriş uzunluğuna kısaltılır. Bu işlem, token bazında kısaltma yapar; bir çift dizi (veya çift dizilerden oluşan bir batch) sağlandığında, çiftteki en uzun diziden bir token kaldırılır.
    • 'only_first': max_length argümanı ile belirtilen maksimum uzunluğa veya bu argüman sağlanmadıysa modelin kabul edebileceği maksimum giriş uzunluğuna kısaltır. Bir çift dizi (veya çiftlerin bir partisi) sağlandığında, yalnızca çiftin ilk dizisini kısaltır.
    • 'only_second': max_length argümanı ile belirtilen maksimum uzunluğa veya bu argüman sağlanmadıysa modelin kabul edebileceği maksimum girdi uzunluğuna kısaltılır. Bu, bir dizi çifti (veya çiftlerin bir partisi) sağlandığında yalnızca çiftin ikinci dizisini kısaltır.
    • False veya 'do_not_truncate' (varsayılan): Kesme yapılmaz (yani, modelin kabul edebileceği maksimum giriş boyutundan daha uzun dizi uzunluklarına sahip bir çıktı partisi üretilebilir).
  • max_length (int, isteğe bağlı) — Bir kesme/doldurma parametresi tarafından kullanılacak maksimum uzunluğu kontrol eder.

    Eğer ayarlanmazsa veya None olarak ayarlanırsa, kırpma/dolgu parametrelerinden biri tarafından bir maksimum uzunluk gerekiyorsa, bu, önceden tanımlanmış modelin maksimum uzunluğunu kullanır. Modelin belirli bir maksimum giriş uzunluğu yoksa (XLNet gibi), maksimum uzunluğa kırpma/dolgu devre dışı bırakılır.

  • stride (int, isteğe bağlı, varsayılan 0) — max_length ile birlikte bir sayıya ayarlanırsa, return_overflowing_tokens=True olduğunda döndürülen taşan jetonlar, kısaltılmış ve taşan diziler arasında bazı örtüşme sağlamak için kısaltılmış dizinin sonundan bazı jetonları içerir. Bu argümanın değeri, örtüşen jeton sayısını tanımlar.
  • is_split_into_words (bool, isteğe bağlı, varsayılan False) — Girdinin zaten önceden tokenize edilip edilmediğini (örneğin, kelimelere ayrılmış olup olmadığını) belirtir. True olarak ayarlanırsa, tokenizer, girdinin zaten kelimelere ayrılmış olduğunu (örneğin, boşluklara göre bölünerek) ve bunları tokenize edeceğini varsayar. Bu, NER veya token sınıflandırma için faydalıdır.
  • pad_to_multiple_of (int, isteğe bağlı) — Belirlenirse, diziyi verilen değerin katına kadar doldurur. Bunun için padding etkinleştirilmelidir. Bu, hesaplama yeteneği >= 7.5 (Volta) olan NVIDIA donanımlarında Tensor Çekirdeklerinin kullanımını etkinleştirmek için özellikle faydalıdır.
  • padding_side (str, isteğe bağlı) — Modelin padding uygulanması gereken tarafı. [‘right’, ‘left’] arasından seçilmelidir. Varsayılan değer, aynı ada sahip sınıf özelliğinden seçilir.
  • return_tensors (str veya TensorType, isteğe bağlı) — Belirlenirse, Python tamsayı listesi yerine 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.
  • return_token_type_ids (bool, isteğe bağlı) — Token type ID'lerinin döndürülüp döndürülmeyeceğini belirtir. Varsayılan bırakılırsa, ilgili tokenizer'ın varsayılanına göre token type ID'lerini döndürür; bu, return_outputs özniteliği tarafından tanımlanır.

    Token type ID'leri nelerdir?

  • return_attention_mask (bool, isteğe bağlı) — Dikkat maskesinin (attention mask) döndürülüp döndürülmeyeceğini belirtir. Varsayılan bırakılırsa, ilgili tokenizer'ın varsayılanına göre dikkat maskesini döndürür; bu, return_outputs özniteliği ile tanımlanır.

    Dikkat maskeleri nedir?

  • return_overflowing_tokens (bool, isteğe bağlı, varsayılan False) — Taşan token dizilerinin döndürülüp döndürülmeyeceği. Girdi kimlikleri çiftlerinden (veya çiftlerden oluşan bir partiden) truncation_strategy = longest_first veya True ile sağlanırsa, taşan tokenlar döndürülmek yerine bir hata oluşturulur.
  • return_special_tokens_mask (bool, isteğe bağlı, varsayılan False) — Özel jeton maskesi bilgisinin döndürülüp döndürülmemesi.
  • return_offsets_mapping (bool, isteğe bağlı, varsayılan olarak False) — Her token için (char_start, char_end) dönüp döndürmeyeceğini belirtir.

    Bu özellik yalnızca PreTrainedTokenizerFast sınıfından türeyen hızlı tokenizörlerde kullanılabilir; Python tokenizörü kullanılırsa bu yöntem NotImplementedError hatası fırlatır.

  • return_length (bool, isteğe bağlı, varsayılan False) — Kodlanmış girdilerin uzunluklarının döndürülüp döndürülmeyeceği.
  • verbose (bool, isteğe bağlı, varsayılan True) — Daha fazla bilgi ve uyarı basılıp basılmayacağı.
  • **kwargs — self.tokenize() yöntemine iletilir

Dönüş değeri

BatchEncoding

Aşağıdaki alanlara sahip bir BatchEncoding:

  • input_ids — Bir modele verilecek token kimliklerinin listesi.

    Girdi kimlikleri nelerdir?

  • token_type_ids — Bir modele verilecek token türü kimlikleri listesi (return_token_type_ids=True olduğunda veya “token_type_ids”, self.model_input_names içinde olduğunda).

    Token type ID'leri nelerdir?

  • attention_mask — Modelin hangi jetonlara dikkat etmesi gerektiğini belirleyen indeks listesi (return_attention_mask=True olduğunda veya self.model_input_names içinde “attention_mask” varsa).

    Dikkat maskeleri nedir?

  • overflowing_tokens — Taşan token dizileri listesi (max_length belirtildiğinde ve return_overflowing_tokens=True olduğunda).

  • num_truncated_tokens — Kırpılan token sayısı (max_length belirtildiğinde ve return_overflowing_tokens=True olduğunda).

  • special_tokens_mask — 0 ve 1'lerden oluşan liste; 1 eklenen özel tokenları, 0 ise normal dizi tokenlarını belirtir (add_special_tokens=True ve return_special_tokens_mask=True olduğunda).

  • length — Girdilerin uzunluğu (return_length=True olduğunda)

Bir veya birden fazla diziyi veya bir veya birden fazla dizi çiftini belirteçlere ayırmak ve model için hazırlamak için ana yöntem.

save_vocabulary

< >

( save_directory: strfilename_prefix: str | None = None ) → tuple(str)

Parametreler

  • save_directory (str) — Sözlüğün kaydedileceği dizin.
  • filename_prefix (str, isteğe bağlı) — Kaydedilen dosyaların adlarına eklenecek isteğe bağlı bir önek.

Dönüş değeri

tuple(str)

Kaydedilen dosyaların yolları.

Sentencepiece sözlüğünü (orijinal dosyanın kopyası) bir dizine kaydedin.

decode

< >

( token_ids: int | list[int] | list[list[int]] | np.ndarray | torch.Tensorskip_special_tokens: bool = False**kwargs ) → Union[str, list[str]]

Parametreler

  • token_ids (Union[int, list[int], list[list[int]], np.ndarray, torch.Tensor]) — Tek bir dizi veya tokenize edilmiş girdi kimliklerinin bir partisi (dizilerin listesi). __call__ yöntemi kullanılarak elde edilebilir.
  • skip_special_tokens (bool, isteğe bağlı, varsayılan False) — Çözümleme sırasında özel tokenların kaldırılıp kaldırılmayacağı.
  • kwargs (ek anahtar kelime argümanları, isteğe bağlı) — Altta yatan modele özgü decode yöntemine aktarılacaktır.

Dönüş değeri

Union[str, list[str]]

Tek bir dizi için çözümlenmiş dize veya bir dizi grubu için çözümlenmiş dizeler listesi.

Özel tokenları kaldırma ve tokenizasyon boşluklarını temizleme seçenekleriyle, tokenizer ve sözlük kullanarak bir kimlik dizisini bir dizeye, veya diziler listesini diziler listesine dönüştürür.

self.convert_tokens_to_string(self.convert_ids_to_tokens(token_ids)) işlemine benzer.

batch_decode

< >

( sequences: list[int] | list[list[int]] | np.ndarray | torch.Tensorskip_special_tokens: bool = Falseclean_up_tokenization_spaces: bool | None = None**kwargs ) → list[str]

Parametreler

  • sequences (Union[list[int], list[list[int]], np.ndarray, torch.Tensor]) — Tokenize edilmiş girdi kimliklerinin listesi. __call__ yöntemi kullanılarak elde edilebilir.
  • skip_special_tokens (bool, isteğe bağlı, varsayılan False) — Çözümleme sırasında özel tokenların kaldırılıp kaldırılmayacağı.
  • clean_up_tokenization_spaces (bool, isteğe bağlı) — Tokenizasyon boşluklarının temizlenip temizlenmeyeceğini belirtir. None ise, varsayılan olarak self.clean_up_tokenization_spaces kullanılır.
  • kwargs (ek anahtar kelime argümanları, isteğe bağlı) — Altta yatan modele özgü decode yöntemine aktarılacaktır.

Dönüş değeri

list[str]

Çözümlenmiş cümlelerin listesi.

decode çağrısı yaparak token kimlikleri içeren listelerin listesini, dizelerin listesine dönüştürün.

Bu yöntem geriye dönük uyumluluk için sağlanmıştır. decode yöntemi artık toplu girdileri yerel olarak işler, bu nedenle batch_decode yerine doğrudan decode kullanabilirsiniz.

SpeechT5FeatureExtractor

sınıf transformers.SpeechT5FeatureExtractor

< >

( feature_size: int = 1sampling_rate: int = 16000padding_value: float = 0.0do_normalize: bool = Falsenum_mel_bins: int = 80hop_length: int = 16win_length: int = 64win_function: str = 'hann_window'fmin: float = 80fmax: float = 7600mel_floor: float = 1e-10return_attention_mask: bool = True**kwargs )

Parametreler

  • feature_size (int, isteğe bağlı, varsayılan 1) — Çıkarılan özelliklerin boyutu.
  • sampling_rate (int, isteğe bağlı, varsayılan 16000) — Ses dosyalarının dijitalleştirilmesi gereken örnekleme hızı, hertz (Hz) cinsinden ifade edilir.
  • padding_value (float, isteğe bağlı, varsayılan 0.0) — Doldurma değerlerini doldurmak için kullanılan değer.
  • do_normalize (bool, isteğe bağlı, varsayılan False) — Girdinin sıfır ortalama ve birim varyans normalize edilip edilmeyeceğini belirtir. Normalizasyon, bazı modellerde performansı önemli ölçüde iyileştirebilir.
  • num_mel_bins (int, isteğe bağlı, varsayılan 80) — Çıkarılan spektrogram özelliklerindeki mel frekans bini sayısı.
  • hop_length (int, isteğe bağlı, varsayılan 16) — Pencereler arasındaki ms sayısı. Birçok makalede “shift” olarak da adlandırılır.
  • win_length (int, isteğe bağlı, varsayılan 64) — Pencere başına ms sayısı.
  • win_function (str, opsiyonel, varsayılan "hann_window") — Pencereleme için kullanılan pencere fonksiyonunun adı, torch.{win_function} üzerinden erişilebilir olmalıdır
  • fmin (float, isteğe bağlı, varsayılan 80) — Hz cinsinden minimum mel frekansı.
  • fmax (float, isteğe bağlı, varsayılan 7600) — Hz cinsinden maksimum mel frekansı.
  • mel_floor (float, isteğe bağlı, varsayılan 1e-10) — Mel frekans bankalarının minimum değeri.
  • return_attention_mask (bool, isteğe bağlı, varsayılan True) — call() attention_mask değerini döndürmeli mi?

Bir SpeechT5 özellik çıkarıcı oluşturur.

Bu sınıf, SpeechT5 konuşma kodlayıcı ön ağı tarafından kullanılmak üzere ham bir konuşma sinyalini (isteğe bağlı olarak) sıfır ortalama ve birim varyansa normalize ederek ön işleme yapabilir.

Bu sınıf, ham konuşma verisinden log-mel filtre bankası özelliklerini de çıkarabilir; bu özellikler SpeechT5 konuşma çözücüsünün prenet bileşeni tarafından kullanılır.

Bu özellik çıkarıcı, ana yöntemlerin çoğunu içeren SequenceFeatureExtractor sınıfından devralır. Kullanıcıların bu yöntemler hakkında daha fazla bilgi için bu üst sınıfa başvurması gerekir.

__call__

< >

( audio: numpy.ndarray | list[float] | list[numpy.ndarray] | list[list[float]] | None = Noneaudio_target: numpy.ndarray | list[float] | list[numpy.ndarray] | list[list[float]] | None = Nonepadding: bool | str | transformers.utils.generic.PaddingStrategy = Falsemax_length: int | None = Nonetruncation: bool = Falsepad_to_multiple_of: int | None = Nonereturn_attention_mask: bool | None = Nonereturn_tensors: str | transformers.utils.generic.TensorType | None = Nonesampling_rate: int | None = None**kwargs )

Parametreler

  • audio (np.ndarray, list[float], list[np.ndarray], list[list[float]], isteğe bağlı) — İşlenecek dizi veya dizi partisi. Her dizi, bir numpy dizisi, bir float değerleri listesi, bir numpy dizileri listesi veya float değerleri listesi listesi olabilir. Bu, dalga formu özelliklerini üretir. Tek kanallı (mono) ses olmalıdır, stereo değil; yani her zaman adımı için tek bir float değeri içermelidir.
  • audio_target (np.ndarray, list[float], list[np.ndarray], list[list[float]], isteğe bağlı) — Hedef olarak işlenecek dizi veya dizi grubu. Her dizi, bir numpy dizisi, bir float değerleri listesi, bir numpy dizileri listesi veya float değerleri listelerinin listesi olabilir. Bu, log-mel spektrogram özelliklerini üretir.
  • padding (bool, str veya PaddingStrategy, isteğe bağlı, varsayılan olarak False) — Dönen dizilere dolgu uygulanacak stratejiyi seçin (modelin dolgu yönüne ve dolgu indeksine göre):
    • True veya 'longest': Toplu işlemdeki en uzun dizinin uzunluğuna kadar dolgu yapılır (yalnızca tek bir dizi sağlandıysa dolgu yapılmaz).
    • 'max_length': max_length argümanı ile belirtilen maksimum uzunluğa veya bu argüman sağlanmadıysa modelin kabul edebileceği maksimum giriş uzunluğuna kadar doldurur.
    • False veya 'do_not_pad' (varsayılan): Dolgu yok (yani, farklı uzunluklarda diziler içeren bir parti çıktı olarak üretilebilir).
  • max_length (int, isteğe bağlı) — Döndürülen listenin ve isteğe bağlı dolgu uzunluğunun (bkz. yukarı) maksimum uzunluğu.
  • truncation (bool) — max_length'den uzun olan girdi dizilerini max_length değerine kısaltmak için kesme işlemini etkinleştirir.
  • pad_to_multiple_of (int, isteğe bağlı) — Belirlenirse, diziyi verilen değerin katına kadar doldurur.

    Bu, hesaplama yeteneği >= 7.5 (Volta) olan NVIDIA donanımlarında Tensor Core kullanımını etkinleştirmek veya 128'in katları olan dizi uzunluklarından faydalanan TPU'lar için özellikle faydalıdır.

  • return_attention_mask (bool, isteğe bağlı) — Dikkat maskesinin (attention mask) döndürülüp döndürülmeyeceğini belirtir. Varsayılan bırakılırsa, ilgili feature_extractor'ın varsayılanına göre dikkat maskesi döndürülür.

    Dikkat maskeleri nedir?

  • return_tensors (str veya TensorType, isteğe bağlı) — Belirlenirse, Python tamsayı listesi yerine 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.
  • sampling_rate (int, isteğe bağlı) — audio veya audio_target girdisinin örneklenmiş olduğu örneklem hızı. Sessiz hataları önlemek için sampling_rate değerini forward çağrısında geçmek şiddetle önerilir.

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

Dalga formu özelliklerini çıkarmak için audio parametresine bir değer aktarın. Log-mel spektrogram özelliklerini çıkarmak için audio_target parametresine bir değer aktarın.

SpeechT5Processor

sınıf transformers.SpeechT5Processor

< >

( feature_extractortokenizer )

Parametreler

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

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

SpeechT5Processor, SpeechT5FeatureExtractor ve SpeechT5Tokenizer sınıflarının tüm işlevlerini sunar. Daha fazla bilgi için ~SpeechT5FeatureExtractor ve ~SpeechT5Tokenizer belgelerine bakın.

__call__

< >

( *args**kwargs )

Parametreler

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

pad

< >

( *args**kwargs )

Ses ve metin girdilerini, ayrıca hedeflerini, dolgulu bir partiye (batch) birleştirir.

Ses girdileri SpeechT5FeatureExtractor'ın pad() tarafından, metin girdileri ise SpeechT5Tokenizer'ın pad() tarafından doldurulur.

Geçerli girdi kombinasyonları şunlardır:

  • sadece input_ids
  • sadece input_values
  • sadece labels, yani log-mel spektrogramlar veya metin jetonları
  • input_ids ve log-mel spektrogram labels
  • input_values ve metin labels

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.

SpeechT5Model

sınıf transformers.SpeechT5Model

< >

( config: SpeechT5Configencoder: typing.Optional[torch.nn.Module] = Nonedecoder: typing.Optional[torch.nn.Module] = None )

Parametreler

  • config (SpeechT5Config) — 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.
  • encoder (PreTrainedModel, opsiyonel) — Kullanılacak kodlayıcı modeli.
  • decoder (PreTrainedModel, opsiyonel) — Kullanılacak decoder modeli.

Herhangi bir özel ön veya son ağı olmadan ham gizli durumları üreten çıplak SpeechT5 Encoder-Decoder 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_values: typing.Optional[torch.Tensor] = Noneattention_mask: typing.Optional[torch.LongTensor] = Nonedecoder_input_values: typing.Optional[torch.Tensor] = Nonedecoder_attention_mask: typing.Optional[torch.LongTensor] = Noneencoder_outputs: tuple[tuple[torch.Tensor]] | None = Nonepast_key_values: transformers.cache_utils.Cache | None = Noneuse_cache: bool | None = Nonespeaker_embeddings: typing.Optional[torch.Tensor] = Noneoutput_attentions: bool | None = Noneoutput_hidden_states: bool | None = Nonereturn_dict: bool | None = None**kwargs ) → Seq2SeqModelOutput or tuple(torch.Tensor)

Parametreler

  • input_values (torch.Tensor, şekli (batch_size, sequence_length)) — Kullanılan kodlayıcıya (encoder) bağlı olarak input_values, girdi ham ses dalgasının (raw speech waveform) ondalık (float) değerleri, sözlükteki girdi dizisi tokenlarının indeksleri veya gizli durumlar (hidden states) olabilir.
  • attention_mask (torch.LongTensor şeklinde (batch_size, sequence_length), isteğe bağlı) — Doldurma (padding) token indekslerinde dikkat (attention) işlemi yapmaktan kaçınmak için kullanılan maske. Seçilen maske değerleri [0, 1]:
    • 1, maskelenmemiş jetonlar için,
    • maskelenmiş jetonlar için 0.

    Dikkat maskeleri nedir?

  • decoder_input_values (torch.Tensor, şekli (batch_size, target_sequence_length), isteğe bağlı) — Kullanılan decoder'e bağlı olarak decoder_input_values şunlardan biridir: ham ses dalgasından çıkarılan log-mel filterbank özelliklerinin ondalık değerleri, sözlükteki decoder giriş dizisi tokenlarının indeksleri veya gizli durumlar.
  • decoder_attention_mask (torch.LongTensor şeklinde (batch_size, target_sequence_length), isteğe bağlı) — Varsayılan davranış: decoder_input_values. pad token'larını yok sayan bir tensör oluşturur. Varsayılan olarak nedensel maske de kullanılır. Dolgu davranışını değiştirmek istiyorsanız, varsayılan strateji hakkında daha fazla bilgi için makaledeki 1 numaralı diyagrama bakın ve ihtiyacınıza göre düzenleyin.

    Eğer padding davranışını değiştirmek istiyorsanız, SpeechT5Decoder._prepare_decoder_attention_mask fonksiyonunu okuyup ihtiyaçlarınıza göre düzenlemelisiniz. Varsayılan strateji hakkında daha fazla bilgi için makaledeki 1 numaralı diyagrama bakın.

  • encoder_outputs (tuple[tuple[torch.Tensor]], isteğe bağlı) — (last_hidden_state, isteğe bağlı: hidden_states, isteğe bağlı: attentions) içeren bir tuple last_hidden_state, (batch_size, sequence_length, hidden_size) boyutunda, isteğe bağlı) encoder'ın son katmanının çıktısındaki gizli durumlar dizisidir. Decoder'ın çapraz dikkat (cross-attention) mekanizmasında kullanılır.
  • past_key_values (~cache_utils.Cache, isteğe bağlı) — Sıralı çözümlemeyi hızlandırmak için kullanılabilen önceden hesaplanmış gizli durumlar (self-attention ve cross-attention bloklarındaki anahtar ve değerler). Bu genellikle past_key_values değerinin, çözümlemenin önceki bir aşamasında model tarafından döndürülen use_cache=True veya config.use_cache=True.

    Girdi olarak yalnızca Cache örneği kabul edilir, kv cache kılavuzumuza bakın. past_key_values geçirilmezse, varsayılan olarak DynamicCache başlatılır.

    Model, girdi olarak verilen aynı önbellek biçimini çıktı olarak üretecektir.

    past_key_values kullanılıyorsa, kullanıcının tüm input_ids (şekli (batch_size, sequence_length)) yerine, bu modele geçmiş anahtar değer durumları verilmemiş olan, işlenmemiş input_ids (şekli (batch_size, unprocessed_length)) girmesi beklenir.

  • use_cache (bool, isteğe bağlı) — True olarak ayarlanırsa, past_key_values anahtar değer durumları döndürülür ve çözümlemeyi hızlandırmak için kullanılabilir (bkz. past_key_values).
  • speaker_embeddings (torch.Tensor, şekli (batch_size, config.speaker_embedding_dim), isteğe bağlı) — Konuşmacı gömlemelerini içeren tensör.
  • output_attentions (bool, isteğe bağlı) — Tüm dikkat katmanlarının dikkat tensörlerinin döndürülüp döndürülmeyeceğini belirtir. Daha fazla ayrıntı için döndürülen tensörler altındaki attentions bölümüne bakın.
  • output_hidden_states (bool, isteğe bağlı) — Tüm katmanların gizli durumlarının (hidden states) döndürülüp döndürülmeyeceğini belirtir. Daha fazla ayrıntı için döndürülen tensörler altındaki hidden_states bölümüne bakın.
  • return_dict (bool, isteğe bağlı) — Düz bir tuple yerine ModelOutput döndürülecek mi?

Dönüş değeri

Seq2SeqModelOutput veya tuple(torch.Tensor)

A Seq2SeqModelOutput veya bir torch.Tensor demeti (eğer return_dict=False geçirildiyse veya config.return_dict=False ise), yapılandırmaya (SpeechT5Config) ve girdilere bağlı olarak çeşitli öğelerden oluşur.

SpeechT5Model 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 decoder'ının son katmanının çıktısındaki gizli durumlar dizisi.

    past_key_values kullanılırsa, yalnızca (batch_size, 1, hidden_size) biçimindeki dizilerin son gizli durumu (hidden-state) çıktı olarak verilir.

  • past_key_values (EncoderDecoderCache, isteğe bağlı, use_cache=True geçirildiğinde veya config.use_cache=True olduğunda döndürülür) — Bir EncoderDecoderCache örneğidir. Daha fazla ayrıntı için kv önbellek kılavuzumuza bakın.

    Sıralı çözümlemeyi hızlandırmak için (bkz. past_key_values girdisi) kullanılabilen, önceden hesaplanmış gizli durumları (self-attention bloklarındaki ve cross-attention bloklarındaki anahtar ve değerler) içerir.

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

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

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

    Dikkat ağırlıkları, dikkat softmax'ından sonra, öz-dikkat kafalarında ağırlıklı ortalamanın hesaplanmasında kullanılan dekoderin

  • cross_attentions (tuple(torch.Tensor), isteğe bağlı, output_attentions=True geçirildiğinde veya config.output_attentions=True olduğunda döndürülür) — (batch_size, num_heads, sequence_length, sequence_length) biçiminde, her katman için bir adet içeren torch.Tensor demeti.

    Dekoderin çapraz dikkat katmanının dikkat ağırlıkları, dikkat softmax'ından sonra, çapraz dikkat başlıklarında ağırlıklı ortalamanın hesaplanmasında kullanılır.

  • encoder_last_hidden_state (torch.Tensor, şekli (batch_size, sequence_length, hidden_size), isteğe bağlı) — Modelin kodlayıcısının son katmanının çıktısındaki gizli durumlar dizisi.

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

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

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

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

SpeechT5ForSpeechToText

sınıf transformers.SpeechT5ForSpeechToText

< >

( config: SpeechT5Config )

Parametreler

  • config (SpeechT5Config) — 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.

Ses kodlayıcı ve metin çözücüye sahip SpeechT5 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_values: typing.Optional[torch.Tensor] = Noneattention_mask: typing.Optional[torch.LongTensor] = Nonedecoder_input_ids: typing.Optional[torch.LongTensor] = Nonedecoder_attention_mask: typing.Optional[torch.LongTensor] = Noneencoder_outputs: tuple[tuple[torch.Tensor]] | None = Nonepast_key_values: transformers.cache_utils.Cache | None = Noneuse_cache: bool | None = Noneoutput_attentions: bool | None = Noneoutput_hidden_states: bool | None = Nonereturn_dict: bool | None = Nonelabels: typing.Optional[torch.LongTensor] = None**kwargs ) → Seq2SeqLMOutput or tuple(torch.Tensor)

Parametreler

  • input_values (torch.Tensor, şekli (batch_size, sequence_length)) — Giriş ham ses dalgasının kayan değerleri. Değerler, bir .flac veya .wav ses dosyasını list[float] türünde 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, dolgu ve torch.Tensor türünde bir tensöre dönüştürme işlemleri için SpeechT5Processor kullanılmalıdır. Ayrıntılar için SpeechT5Processor.call() bölümüne bakın.
  • attention_mask (torch.LongTensor şeklinde (batch_size, sequence_length), isteğe bağlı) — Doldurma (padding) token indekslerinde dikkat (attention) işlemi yapmaktan kaçınmak için kullanılan maske. Seçilen maske değerleri [0, 1]:
    • 1, maskelenmemiş jetonlar için,
    • maskelenmiş jetonlar için 0.

    Dikkat maskeleri nedir?

  • decoder_input_ids (torch.LongTensor şeklinde (batch_size, target_sequence_length), isteğe bağlı) — Sözlükteki decoder giriş dizisi tokenlarının indeksleri. İndeksler SpeechT5Tokenizer kullanılarak elde edilebilir. Ayrıntılar için PreTrainedTokenizer.encode() ve PreTrainedTokenizer.call() yöntemlerine bakın. Decoder giriş ID'leri nelerdir? SpeechT5, decoder_input_ids üretimi için başlangıç tokenı olarak eos_token_id kullanır. past_key_values kullanılıyorsa, isteğe bağlı olarak yalnızca son decoder_input_ids girdisi sağlanmalıdır (bkz. past_key_values).

    Dizinler SpeechT5Tokenizer kullanılarak elde edilebilir. Ayrıntılar için PreTrainedTokenizer.encode() ve PreTrainedTokenizer.call() konularına bakın.

    Çözücü girdi kimlikleri nelerdir?

    SpeechT5, decoder_input_ids üretimi için başlangıç jetonu olarak eos_token_id kullanır. past_key_values kullanılıyorsa, isteğe bağlı olarak yalnızca son decoder_input_ids girdi olarak verilmelidir (bkz. past_key_values).

  • decoder_attention_mask (torch.LongTensor şeklinde (batch_size, target_sequence_length), isteğe bağlı) — Varsayılan davranış: decoder_input_values. pad token'larını yok sayan bir tensör oluşturur. Varsayılan olarak nedensel maske de kullanılır. Dolgu davranışını değiştirmek istiyorsanız, varsayılan strateji hakkında daha fazla bilgi için makaledeki 1 numaralı diyagrama bakın ve ihtiyacınıza göre düzenleyin.

    Eğer padding davranışını değiştirmek istiyorsanız, SpeechT5Decoder._prepare_decoder_attention_mask fonksiyonunu okuyup ihtiyaçlarınıza göre düzenlemelisiniz. Varsayılan strateji hakkında daha fazla bilgi için makaledeki 1 numaralı diyagrama bakın.

  • encoder_outputs (tuple[tuple[torch.Tensor]], isteğe bağlı) — (last_hidden_state, isteğe bağlı: hidden_states, isteğe bağlı: attentions) içeren bir tuple last_hidden_state, (batch_size, sequence_length, hidden_size) boyutunda, isteğe bağlı) encoder'ın son katmanının çıktısındaki gizli durumlar dizisidir. Decoder'ın çapraz dikkat (cross-attention) mekanizmasında kullanılır.
  • past_key_values (~cache_utils.Cache, isteğe bağlı) — Sıralı çözümlemeyi hızlandırmak için kullanılabilen önceden hesaplanmış gizli durumlar (self-attention ve cross-attention bloklarındaki anahtar ve değerler). Bu genellikle past_key_values değerinin, çözümlemenin önceki bir aşamasında model tarafından döndürülen use_cache=True veya config.use_cache=True.

    Girdi olarak yalnızca Cache örneği kabul edilir, kv cache kılavuzumuza bakın. past_key_values geçirilmezse, varsayılan olarak DynamicCache başlatılır.

    Model, girdi olarak verilen aynı önbellek biçimini çıktı olarak üretecektir.

    past_key_values kullanılıyorsa, kullanıcının tüm input_ids (şekli (batch_size, sequence_length)) yerine, bu modele geçmiş anahtar değer durumları verilmemiş olan, işlenmemiş input_ids (şekli (batch_size, unprocessed_length)) girmesi beklenir.

  • use_cache (bool, isteğe bağlı) — True olarak ayarlanırsa, past_key_values anahtar değer durumları döndürülür ve çözümlemeyi hızlandırmak için kullanılabilir (bkz. past_key_values).
  • output_attentions (bool, isteğe bağlı) — Tüm dikkat katmanlarının dikkat tensörlerinin döndürülüp döndürülmeyeceğini belirtir. Daha fazla ayrıntı için döndürülen tensörler altındaki attentions bölümüne bakın.
  • output_hidden_states (bool, isteğe bağlı) — Tüm katmanların gizli durumlarının (hidden states) döndürülüp döndürülmeyeceğini belirtir. Daha fazla ayrıntı için döndürülen tensörler altındaki hidden_states bölümüne bakın.
  • return_dict (bool, isteğe bağlı) — Düz bir tuple yerine ModelOutput döndürülecek mi?
  • labels (torch.LongTensor şeklinde (batch_size, sequence_length), isteğe bağlı) — Dil modelleme kaybını hesaplamak için etiketler. Dizinler ya [0, ..., config.vocab_size] aralığında ya da -100 olmalıdır (bkz. input_ids docstring). Dizinleri -100 olarak ayarlanan tokenlar yok sayılır (maskelenir); kayıp yalnızca etiketleri [0, ..., config.vocab_size].

    Etiket dizinleri SpeechT5Tokenizer kullanılarak elde edilebilir. Ayrıntılar için PreTrainedTokenizer.encode() ve PreTrainedTokenizer.call() yöntemlerine bakın.

Dönüş değeri

Seq2SeqLMOutput veya tuple(torch.Tensor)

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

SpeechT5ForSpeechToText 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ı.

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

  • past_key_values (EncoderDecoderCache, isteğe bağlı, use_cache=True geçirildiğinde veya config.use_cache=True olduğunda döndürülür) — Bir EncoderDecoderCache örneğidir. Daha fazla ayrıntı için kv önbellek kılavuzumuza bakın.

    Sıralı çözümlemeyi hızlandırmak için (bkz. past_key_values girdisi) kullanılabilen, önceden hesaplanmış gizli durumları (self-attention bloklarındaki ve cross-attention bloklarındaki anahtar ve değerler) içerir.

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

    Her katmanın çıktısında ve başlangıç gömme çıktılarında dekodlayıcının gizli durumları.

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

    Dikkat ağırlıkları, dikkat softmax'ından sonra, öz-dikkat kafalarında ağırlıklı ortalamanın hesaplanmasında kullanılan dekoderin

  • cross_attentions (tuple(torch.Tensor), isteğe bağlı, output_attentions=True geçirildiğinde veya config.output_attentions=True olduğunda döndürülür) — (batch_size, num_heads, sequence_length, sequence_length) biçiminde, her katman için bir adet içeren torch.Tensor demeti.

    Dekoderin çapraz dikkat katmanının dikkat ağırlıkları, dikkat softmax'ından sonra, çapraz dikkat başlıklarında ağırlıklı ortalamanın hesaplanmasında kullanılır.

  • encoder_last_hidden_state (torch.Tensor, şekli (batch_size, sequence_length, hidden_size), isteğe bağlı) — Modelin kodlayıcısının son katmanının çıktısındaki gizli durumlar dizisi.

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

    Her katmanın çıktısında ve başlangıç gömme çıktılarında kodlayıcının gizli durumları.

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

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

Örnek:

>>> from transformers import SpeechT5Processor, SpeechT5ForSpeechToText
>>> from datasets import load_dataset

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

>>> processor = SpeechT5Processor.from_pretrained("microsoft/speecht5_asr")
>>> model = SpeechT5ForSpeechToText.from_pretrained("microsoft/speecht5_asr")

>>> # audio file is decoded on the fly
>>> inputs = processor(audio=dataset[0]["audio"]["array"], sampling_rate=sampling_rate, return_tensors="pt")
>>> predicted_ids = model.generate(**inputs, max_length=100)

>>> # transcribe speech
>>> transcription = processor.batch_decode(predicted_ids, skip_special_tokens=True)
>>> transcription[0]
'mister quilter is the apostle of the middle classes and we are glad to welcome his gospel'
>>> inputs["labels"] = processor(text_target=dataset[0]["text"], return_tensors="pt").input_ids

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

SpeechT5ForTextToSpeech

sınıf transformers.SpeechT5ForTextToSpeech

< >

( config: SpeechT5Config )

Parametreler

  • config (SpeechT5Config) — 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.

Metin kodlayıcı ve konuşma çözücüye sahip SpeechT5 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_ids: typing.Optional[torch.LongTensor] = Noneattention_mask: typing.Optional[torch.LongTensor] = Nonedecoder_input_values: typing.Optional[torch.Tensor] = Nonedecoder_attention_mask: typing.Optional[torch.LongTensor] = Noneencoder_outputs: tuple[tuple[torch.Tensor]] | None = Nonepast_key_values: transformers.cache_utils.Cache | None = Noneuse_cache: bool | None = Noneoutput_attentions: bool | None = Noneoutput_hidden_states: bool | None = Nonereturn_dict: bool | None = Nonespeaker_embeddings: typing.Optional[torch.Tensor] = Nonelabels: typing.Optional[torch.Tensor] = Nonestop_labels: typing.Optional[torch.Tensor] = None**kwargs ) → Seq2SeqSpectrogramOutput or tuple(torch.Tensor)

Parametreler

  • input_ids (torch.LongTensor şeklinde (batch_size, sequence_length)) — Girdi dizisi token'larının sözlükteki indeksleri.

    Dizinler SpeechT5Tokenizer kullanılarak elde edilebilir. Ayrıntılar için encode() ve call() yöntemlerine bakın.

    Girdi kimlikleri nelerdir?

  • attention_mask (torch.LongTensor şeklinde (batch_size, sequence_length), isteğe bağlı) — Doldurma (padding) token indekslerinde dikkat (attention) işlemi yapmaktan kaçınmak için kullanılan maske. Seçilen maske değerleri [0, 1]:
    • 1, maskelenmemiş jetonlar için,
    • maskelenmiş jetonlar için 0.

    Dikkat maskeleri nedir?

  • decoder_input_values (torch.Tensor şeklinde (batch_size, sequence_length, config.num_mel_bins)) — Girdi mel spektrogramunun ondalık değerleri.

    SpeechT5, decoder_input_values üretimi için başlangıç jetonu olarak tümü sıfır olan bir spektrum kullanır. past_key_values kullanılıyorsa, isteğe bağlı olarak yalnızca son decoder_input_values girdi olarak verilmelidir (bkz. past_key_values).

  • decoder_attention_mask (torch.LongTensor şeklinde (batch_size, target_sequence_length), isteğe bağlı) — Varsayılan davranış: decoder_input_values. pad token'larını yok sayan bir tensör oluşturur. Varsayılan olarak nedensel maske de kullanılır. Dolgu davranışını değiştirmek istiyorsanız, varsayılan strateji hakkında daha fazla bilgi için makaledeki 1 numaralı diyagrama bakın ve ihtiyacınıza göre düzenleyin.

    Eğer padding davranışını değiştirmek istiyorsanız, SpeechT5Decoder._prepare_decoder_attention_mask fonksiyonunu okuyup ihtiyaçlarınıza göre düzenlemelisiniz. Varsayılan strateji hakkında daha fazla bilgi için makaledeki 1 numaralı diyagrama bakın.

  • encoder_outputs (tuple[tuple[torch.Tensor]], isteğe bağlı) — (last_hidden_state, isteğe bağlı: hidden_states, isteğe bağlı: attentions) içeren bir tuple last_hidden_state, (batch_size, sequence_length, hidden_size) boyutunda, isteğe bağlı) encoder'ın son katmanının çıktısındaki gizli durumlar dizisidir. Decoder'ın çapraz dikkat (cross-attention) mekanizmasında kullanılır.
  • past_key_values (~cache_utils.Cache, isteğe bağlı) — Sıralı çözümlemeyi hızlandırmak için kullanılabilen önceden hesaplanmış gizli durumlar (self-attention ve cross-attention bloklarındaki anahtar ve değerler). Bu genellikle past_key_values değerinin, çözümlemenin önceki bir aşamasında model tarafından döndürülen use_cache=True veya config.use_cache=True.

    Girdi olarak yalnızca Cache örneği kabul edilir, kv cache kılavuzumuza bakın. past_key_values geçirilmezse, varsayılan olarak DynamicCache başlatılır.

    Model, girdi olarak verilen aynı önbellek biçimini çıktı olarak üretecektir.

    past_key_values kullanılıyorsa, kullanıcının tüm input_ids (şekli (batch_size, sequence_length)) yerine, bu modele geçmiş anahtar değer durumları verilmemiş olan, işlenmemiş input_ids (şekli (batch_size, unprocessed_length)) girmesi beklenir.

  • use_cache (bool, isteğe bağlı) — True olarak ayarlanırsa, past_key_values anahtar değer durumları döndürülür ve çözümlemeyi hızlandırmak için kullanılabilir (bkz. past_key_values).
  • output_attentions (bool, isteğe bağlı) — Tüm dikkat katmanlarının dikkat tensörlerinin döndürülüp döndürülmeyeceğini belirtir. Daha fazla ayrıntı için döndürülen tensörler altındaki attentions bölümüne bakın.
  • output_hidden_states (bool, isteğe bağlı) — Tüm katmanların gizli durumlarının (hidden states) döndürülüp döndürülmeyeceğini belirtir. Daha fazla ayrıntı için döndürülen tensörler altındaki hidden_states bölümüne bakın.
  • return_dict (bool, isteğe bağlı) — Düz bir tuple yerine ModelOutput döndürülecek mi?
  • speaker_embeddings (torch.Tensor, şekli (batch_size, config.speaker_embedding_dim), isteğe bağlı) — Konuşmacı gömlemelerini içeren tensör.
  • labels (torch.Tensor, şekli (batch_size, sequence_length, config.num_mel_bins), isteğe bağlı) — Hedef mel spektrogramunun kayan değerleri. Kayıp hesabı için -100.0 olarak ayarlanan zaman adımları yok sayılır (maskelenir). Spektrogramlar SpeechT5Processor kullanılarak elde edilebilir. Ayrıntılar için SpeechT5Processor.call() bölümüne bakın.
  • stop_labels (torch.Tensor, şekli (batch_size, sequence_length), isteğe bağlı) — Dizideki durdurma token'ının konumunu gösteren ikili tensör.

Dönüş değeri

Seq2SeqSpectrogramOutput veya tuple(torch.Tensor)

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

SpeechT5ForTextToSpeech 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) — Spektrogram üretme kaybı.

  • spectrogram (torch.Tensor, şekli (batch_size, sequence_length, num_bins)) — Tahmin edilen spektrogram.

  • past_key_values (EncoderDecoderCache, isteğe bağlı, use_cache=True geçirildiğinde veya config.use_cache=True olduğunda döndürülür) — Bir EncoderDecoderCache örneğidir. Daha fazla ayrıntı için kv önbellek kılavuzumuza bakın.

    Sıralı çözümlemeyi hızlandırmak için (bkz. past_key_values girdisi) kullanılabilen, önceden hesaplanmış gizli durumları (self-attention bloklarındaki ve cross-attention bloklarındaki anahtar ve değerler) içerir.

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

    Her katmanın çıktısında ve başlangıç gömme çıktılarında dekodlayıcının gizli durumları.

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

    Dikkat ağırlıkları, dikkat softmax'ından sonra, öz-dikkat kafalarında ağırlıklı ortalamanın hesaplanmasında kullanılan dekoderin

  • cross_attentions (tuple(torch.Tensor), isteğe bağlı, output_attentions=True geçirildiğinde veya config.output_attentions=True olduğunda döndürülür) — (batch_size, num_heads, sequence_length, sequence_length) biçiminde, her katman için bir adet içeren torch.Tensor demeti.

    Dekoderin çapraz dikkat katmanının dikkat ağırlıkları, dikkat softmax'ından sonra, çapraz dikkat başlıklarında ağırlıklı ortalamanın hesaplanmasında kullanılır.

  • encoder_last_hidden_state (torch.Tensor, şekli (batch_size, sequence_length, hidden_size), isteğe bağlı) — Modelin kodlayıcısının son katmanının çıktısındaki gizli durumlar dizisi.

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

    Her katmanın çıktısında ve başlangıç gömme çıktılarında kodlayıcının gizli durumları.

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

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

Örnek:

>>> from transformers import SpeechT5Processor, SpeechT5ForTextToSpeech, SpeechT5HifiGan, set_seed
>>> import torch

>>> processor = SpeechT5Processor.from_pretrained("microsoft/speecht5_tts")
>>> model = SpeechT5ForTextToSpeech.from_pretrained("microsoft/speecht5_tts")
>>> vocoder = SpeechT5HifiGan.from_pretrained("microsoft/speecht5_hifigan")

>>> inputs = processor(text="Hello, my dog is cute", return_tensors="pt")
>>> speaker_embeddings = torch.zeros((1, 512))  # or load xvectors from a file

>>> set_seed(555)  # make deterministic

>>> # generate speech
>>> speech = model.generate(inputs["input_ids"], speaker_embeddings=speaker_embeddings, vocoder=vocoder)
>>> speech.shape
torch.Size([15872])

generate

< >

( input_ids: LongTensorattention_mask: typing.Optional[torch.LongTensor] = Nonespeaker_embeddings: typing.Optional[torch.Tensor] = Nonethreshold: float = 0.5minlenratio: float = 0.0maxlenratio: float = 20.0vocoder: typing.Optional[torch.nn.Module] = Noneoutput_cross_attentions: bool = Falsereturn_output_lengths: bool = False**kwargs ) → tuple(torch.Tensor) comprising various elements depending on the inputs

Parametreler

  • input_ids (torch.LongTensor şeklinde (batch_size, sequence_length)) — Girdi dizisi token'larının sözlükteki indeksleri.

    Dizinler SpeechT5Tokenizer kullanılarak elde edilebilir. Ayrıntılar için encode() ve call() yöntemlerine bakın.

    Girdi kimlikleri nelerdir?

  • attention_mask (torch.LongTensor of shape (batch_size, sequence_length)) — Attention mask from the tokenizer, required for batched inference to signal to the model where to ignore padded tokens from the input_ids.
  • speaker_embeddings (torch.Tensor, şekli (batch_size, config.speaker_embedding_dim), isteğe bağlı) — Konuşmacı gömlemelerini içeren tensör.
  • threshold (float, isteğe bağlı, varsayılan 0.5) — Oluşturulan dizi, tahmin edilen durdurma belirteci olasılığı bu değeri aştığında sona erer.
  • minlenratio (float, isteğe bağlı, varsayılan 0.0) — Çıktı dizisi için gereken minimum uzunluğu hesaplamakta kullanılır.
  • maxlenratio (float, isteğe bağlı, varsayılan 20.0) — Çıktı dizisi için izin verilen maksimum uzunluğu hesaplamak için kullanılır.
  • vocoder (nn.Module, opsiyonel) — Mel spektrogramu ses dalgasına dönüştüren vokoder. None ise çıktı mel spektrogramudur.
  • output_cross_attentions (bool, isteğe bağlı, varsayılan False) — Çözücünün çapraz dikkat katmanlarının dikkat tensörlerinin döndürülüp döndürülmeyeceğini belirtir.
  • return_output_lengths (bool, isteğe bağlı, varsayılan False) — Somut spektrogram/dalga formu uzunluklarının döndürülüp döndürülmeyeceği.

Dönüş değeri

Girişlere bağlı olarak çeşitli öğeler içeren tuple(torch.Tensor)

  • olduğunda return_output_lengths False ise
    • spectrogram (isteğe bağlı, vocoder sağlanmadığında döndürülür) torch.Tensor şekli (output_sequence_length, config.num_mel_bins) — Tahmin edilen log-mel spektrogramı.
    • waveform (isteğe bağlı, bir vocoder sağlandığında döndürülür) torch.Tensor şekli (num_frames,) — Tahmin edilen konuşma dalgası.
    • cross_attentions (isteğe bağlı, output_cross_attentions True olduğunda döndürülür) torch.Tensor, şekli (config.decoder_layers, config.decoder_attention_heads, output_sequence_length, input_sequence_length) — Dekoderin çapraz dikkat katmanlarının çıktıları.
  • olduğunda return_output_lengths True ise
    • spektrogramlar (isteğe bağlı, vocoder sağlanmadığında döndürülür) torch.Tensor şekli (batch_size, output_sequence_length, config.num_mel_bins) — En uzun uzunluğa kadar doldurulmuş tahmini log-mel spektrogramları.
    • spectrogram_lengths (isteğe bağlı, vocoder sağlanmadığında döndürülür) list[Int] — Her spektrogram için somut uzunlukların listesi.
    • dalga formları (isteğe bağlı, bir vocoder sağlandığında döndürülür) torch.Tensor şekli (batch_size, num_frames) — Maksimum uzunluğa kadar doldurulan tahmini konuşma dalga formları.
    • waveform_lengths (isteğe bağlı, bir vocoder sağlandığında döndürülür) list[Int] — Her dalga formu için somut uzunlukların listesi.
    • cross_attentions (isteğe bağlı, output_cross_attentions True olduğunda döndürülür) torch.Tensor, şekli (batch_size, config.decoder_layers, config.decoder_attention_heads, output_sequence_length, input_sequence_length) — Dekoderin çapraz dikkat katmanlarının çıktıları.

Girdi token dizisini mel spektrogramlarına dönüştürür; bu spektrogramlar daha sonra bir vokoder kullanılarak ses dalgasına çevrilir.

SpeechT5ForSpeechToSpeech

sınıf transformers.SpeechT5ForSpeechToSpeech

< >

( config: SpeechT5Config )

Parametreler

  • config (SpeechT5Config) — 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.

Ses kodlayıcı ve ses çözücüye sahip SpeechT5 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_values: typing.Optional[torch.Tensor] = Noneattention_mask: typing.Optional[torch.LongTensor] = Nonedecoder_input_values: typing.Optional[torch.Tensor] = Nonedecoder_attention_mask: typing.Optional[torch.LongTensor] = Noneencoder_outputs: tuple[tuple[torch.Tensor]] | None = Nonepast_key_values: transformers.cache_utils.Cache | None = Noneuse_cache: bool | None = Noneoutput_attentions: bool | None = Noneoutput_hidden_states: bool | None = Nonereturn_dict: bool | None = Nonespeaker_embeddings: typing.Optional[torch.Tensor] = Nonelabels: typing.Optional[torch.Tensor] = Nonestop_labels: typing.Optional[torch.Tensor] = None**kwargs ) → Seq2SeqSpectrogramOutput or tuple(torch.Tensor)

Parametreler

  • input_values (torch.Tensor, şekli (batch_size, sequence_length)) — Giriş ham ses dalgasının ondalık sayı değerleri. Değerler, bir .flac veya .wav ses dosyasını list[float] türünde 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, dolgu ve torch.Tensor türünde bir tensöre dönüştürme işlemleri için SpeechT5Processor kullanılmalıdır. Ayrıntılar için SpeechT5Processor.call() bölümüne bakın.
  • attention_mask (torch.LongTensor şeklinde (batch_size, sequence_length), isteğe bağlı) — Doldurma (padding) token indekslerinde dikkat (attention) işlemi yapmaktan kaçınmak için kullanılan maske. Seçilen maske değerleri [0, 1]:
    • 1, maskelenmemiş jetonlar için,
    • maskelenmiş jetonlar için 0.

    Dikkat maskeleri nedir?

  • decoder_input_values (torch.Tensor şeklinde (batch_size, sequence_length, config.num_mel_bins)) — Girdi mel spektrogramunun ondalık değerleri.

    SpeechT5, decoder_input_values üretimi için başlangıç jetonu olarak tümü sıfır olan bir spektrum kullanır. past_key_values kullanılıyorsa, isteğe bağlı olarak yalnızca son decoder_input_values girdi olarak verilmelidir (bkz. past_key_values).

  • decoder_attention_mask (torch.LongTensor şeklinde (batch_size, target_sequence_length), isteğe bağlı) — Varsayılan davranış: decoder_input_values. pad token'larını yok sayan bir tensör oluşturur. Varsayılan olarak nedensel maske de kullanılır. Dolgu davranışını değiştirmek istiyorsanız, varsayılan strateji hakkında daha fazla bilgi için makaledeki 1 numaralı diyagrama bakın ve ihtiyacınıza göre düzenleyin.

    Eğer padding davranışını değiştirmek istiyorsanız, SpeechT5Decoder._prepare_decoder_attention_mask fonksiyonunu okuyup ihtiyaçlarınıza göre düzenlemelisiniz. Varsayılan strateji hakkında daha fazla bilgi için makaledeki 1 numaralı diyagrama bakın.

  • encoder_outputs (tuple[tuple[torch.Tensor]], isteğe bağlı) — (last_hidden_state, isteğe bağlı: hidden_states, isteğe bağlı: attentions) içeren bir tuple last_hidden_state, (batch_size, sequence_length, hidden_size) boyutunda, isteğe bağlı) encoder'ın son katmanının çıktısındaki gizli durumlar dizisidir. Decoder'ın çapraz dikkat (cross-attention) mekanizmasında kullanılır.
  • past_key_values (~cache_utils.Cache, isteğe bağlı) — Sıralı çözümlemeyi hızlandırmak için kullanılabilen önceden hesaplanmış gizli durumlar (self-attention ve cross-attention bloklarındaki anahtar ve değerler). Bu genellikle past_key_values değerinin, çözümlemenin önceki bir aşamasında model tarafından döndürülen use_cache=True veya config.use_cache=True.

    Girdi olarak yalnızca Cache örneği kabul edilir, kv cache kılavuzumuza bakın. past_key_values geçirilmezse, varsayılan olarak DynamicCache başlatılır.

    Model, girdi olarak verilen aynı önbellek biçimini çıktı olarak üretecektir.

    past_key_values kullanılıyorsa, kullanıcının tüm input_ids (şekli (batch_size, sequence_length)) yerine, bu modele geçmiş anahtar değer durumları verilmemiş olan, işlenmemiş input_ids (şekli (batch_size, unprocessed_length)) girmesi beklenir.

  • use_cache (bool, isteğe bağlı) — True olarak ayarlanırsa, past_key_values anahtar değer durumları döndürülür ve çözümlemeyi hızlandırmak için kullanılabilir (bkz. past_key_values).
  • output_attentions (bool, isteğe bağlı) — Tüm dikkat katmanlarının dikkat tensörlerinin döndürülüp döndürülmeyeceğini belirtir. Daha fazla ayrıntı için döndürülen tensörler altındaki attentions bölümüne bakın.
  • output_hidden_states (bool, isteğe bağlı) — Tüm katmanların gizli durumlarının (hidden states) döndürülüp döndürülmeyeceğini belirtir. Daha fazla ayrıntı için döndürülen tensörler altındaki hidden_states bölümüne bakın.
  • return_dict (bool, isteğe bağlı) — Düz bir tuple yerine ModelOutput döndürülecek mi?
  • speaker_embeddings (torch.Tensor, şekli (batch_size, config.speaker_embedding_dim), isteğe bağlı) — Konuşmacı gömlemelerini içeren tensör.
  • labels (torch.Tensor, şekli (batch_size, sequence_length, config.num_mel_bins), isteğe bağlı) — Hedef mel spektrogramunun kayan nokta değerleri. Spektrogramlar SpeechT5Processor kullanılarak elde edilebilir. Ayrıntılar için bkz. SpeechT5Processor.call().
  • stop_labels (torch.Tensor, şekli (batch_size, sequence_length), isteğe bağlı) — Dizideki durdurma token'ının konumunu gösteren ikili tensör.

Dönüş değeri

Seq2SeqSpectrogramOutput veya tuple(torch.Tensor)

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

SpeechT5ForSpeechToSpeech 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) — Spektrogram üretme kaybı.

  • spectrogram (torch.Tensor, şekli (batch_size, sequence_length, num_bins)) — Tahmin edilen spektrogram.

  • past_key_values (EncoderDecoderCache, isteğe bağlı, use_cache=True geçirildiğinde veya config.use_cache=True olduğunda döndürülür) — Bir EncoderDecoderCache örneğidir. Daha fazla ayrıntı için kv önbellek kılavuzumuza bakın.

    Sıralı çözümlemeyi hızlandırmak için (bkz. past_key_values girdisi) kullanılabilen, önceden hesaplanmış gizli durumları (self-attention bloklarındaki ve cross-attention bloklarındaki anahtar ve değerler) içerir.

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

    Her katmanın çıktısında ve başlangıç gömme çıktılarında dekodlayıcının gizli durumları.

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

    Dikkat ağırlıkları, dikkat softmax'ından sonra, öz-dikkat kafalarında ağırlıklı ortalamanın hesaplanmasında kullanılan dekoderin

  • cross_attentions (tuple(torch.Tensor), isteğe bağlı, output_attentions=True geçirildiğinde veya config.output_attentions=True olduğunda döndürülür) — (batch_size, num_heads, sequence_length, sequence_length) biçiminde, her katman için bir adet içeren torch.Tensor demeti.

    Dekoderin çapraz dikkat katmanının dikkat ağırlıkları, dikkat softmax'ından sonra, çapraz dikkat başlıklarında ağırlıklı ortalamanın hesaplanmasında kullanılır.

  • encoder_last_hidden_state (torch.Tensor, şekli (batch_size, sequence_length, hidden_size), isteğe bağlı) — Modelin kodlayıcısının son katmanının çıktısındaki gizli durumlar dizisi.

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

    Her katmanın çıktısında ve başlangıç gömme çıktılarında kodlayıcının gizli durumları.

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

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

Örnek:

>>> from transformers import SpeechT5Processor, SpeechT5ForSpeechToSpeech, SpeechT5HifiGan, set_seed
>>> from datasets import load_dataset
>>> import torch

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

>>> processor = SpeechT5Processor.from_pretrained("microsoft/speecht5_vc")
>>> model = SpeechT5ForSpeechToSpeech.from_pretrained("microsoft/speecht5_vc")
>>> vocoder = SpeechT5HifiGan.from_pretrained("microsoft/speecht5_hifigan")

>>> # audio file is decoded on the fly
>>> inputs = processor(audio=dataset[0]["audio"]["array"], sampling_rate=sampling_rate, return_tensors="pt")

>>> speaker_embeddings = torch.zeros((1, 512))  # or load xvectors from a file

>>> set_seed(555)  # make deterministic

>>> # generate speech
>>> speech = model.generate_speech(inputs["input_values"], speaker_embeddings, vocoder=vocoder)
>>> speech.shape
torch.Size([77824])

generate_speech

< >

( input_values: Tensorspeaker_embeddings: typing.Optional[torch.Tensor] = Noneattention_mask: typing.Optional[torch.LongTensor] = Nonethreshold: float = 0.5minlenratio: float = 0.0maxlenratio: float = 20.0vocoder: typing.Optional[torch.nn.Module] = Noneoutput_cross_attentions: bool = Falsereturn_output_lengths: bool = False ) → tuple(torch.Tensor) comprising various elements depending on the inputs

Parametreler

  • input_values (torch.Tensor şeklinde (batch_size, sequence_length)) — Giriş ham ses dalgasının ondalık sayı değerleri. Değerler, bir .flac veya .wav ses dosyasını list[float], numpy.ndarray veya torch.Tensor tipinde bir diziye 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 dolgu ve torch.Tensor tipinde bir tensöre dönüştürme amacıyla SpeechT5Processor kullanılmalıdır. Ayrıntılar için SpeechT5Processor.call() bölümüne bakın.

    Değerler, bir .flac veya .wav ses dosyasını list[float] tipinde bir diziye, numpy.ndarray veya torch.Tensor tipine yükleyerek elde edilebilir; örneğin torchcodec kütüphanesi (pip install torchcodec) veya soundfile kütüphanesi (pip install soundfile) kullanılarak. Diziyi input_values için hazırlamak için, padding ve torch.Tensor tipinde bir tensöre dönüştürme işlemleri için SpeechT5Processor kullanılmalıdır. Ayrıntılar için SpeechT5Processor.call() bölümüne bakın.

  • speaker_embeddings (torch.Tensor, şekli (batch_size, config.speaker_embedding_dim), isteğe bağlı) — Konuşmacı gömlemelerini içeren tensör.
  • attention_mask (torch.LongTensor şeklinde (batch_size, sequence_length), isteğe bağlı) — Doldurma (padding) token indekslerinde konvolüsyon ve dikkat (attention) işlemlerinin uygulanmasını önlemek için maske. Seçilen maske değerleri [0, 1]:
    • 1, maskelenmemiş jetonlar için,
    • maskelenmiş jetonlar için 0.

    Dikkat maskeleri nedir?

  • threshold (float, isteğe bağlı, varsayılan 0.5) — Oluşturulan dizi, tahmin edilen durdurma belirteci olasılığı bu değeri aştığında sona erer.
  • minlenratio (float, isteğe bağlı, varsayılan 0.0) — Çıktı dizisi için gereken minimum uzunluğu hesaplamakta kullanılır.
  • maxlenratio (float, isteğe bağlı, varsayılan 20.0) — Çıktı dizisi için izin verilen maksimum uzunluğu hesaplamak için kullanılır.
  • vocoder (nn.Module, opsiyonel, varsayılan None) — Mel spektrogramu ses dalgasına dönüştüren vokoder. None ise çıktı mel spektrogramdur.
  • output_cross_attentions (bool, isteğe bağlı, varsayılan False) — Çözücünün çapraz dikkat katmanlarının dikkat tensörlerinin döndürülüp döndürülmeyeceğini belirtir.
  • return_output_lengths (bool, isteğe bağlı, varsayılan False) — Somut spektrogram/dalga formu uzunluklarının döndürülüp döndürülmeyeceği.

Dönüş değeri

Girişlere bağlı olarak çeşitli öğeler içeren tuple(torch.Tensor)

  • olduğunda return_output_lengths False ise
    • spectrogram (isteğe bağlı, vocoder sağlanmadığında döndürülür) torch.Tensor şekli (output_sequence_length, config.num_mel_bins) — Tahmin edilen log-mel spektrogramı.
    • waveform (isteğe bağlı, bir vocoder sağlandığında döndürülür) torch.Tensor şekli (num_frames,) — Tahmin edilen konuşma dalgası.
    • cross_attentions (isteğe bağlı, output_cross_attentions True olduğunda döndürülür) torch.Tensor, şekli (config.decoder_layers, config.decoder_attention_heads, output_sequence_length, input_sequence_length) — Dekoderin çapraz dikkat katmanlarının çıktıları.
  • olduğunda return_output_lengths True ise
    • spektrogramlar (isteğe bağlı, vocoder sağlanmadığında döndürülür) torch.Tensor şekli (batch_size, output_sequence_length, config.num_mel_bins) — En uzun uzunluğa kadar doldurulmuş tahmini log-mel spektrogramları.
    • spectrogram_lengths (isteğe bağlı, vocoder sağlanmadığında döndürülür) list[Int] — Her spektrogram için somut uzunlukların listesi.
    • dalga formları (isteğe bağlı, bir vocoder sağlandığında döndürülür) torch.Tensor şekli (batch_size, num_frames) — Maksimum uzunluğa kadar doldurulan tahmini konuşma dalga formları.
    • waveform_lengths (isteğe bağlı, bir vocoder sağlandığında döndürülür) list[Int] — Her dalga formu için somut uzunlukların listesi.
    • cross_attentions (isteğe bağlı, output_cross_attentions True olduğunda döndürülür) torch.Tensor, şekli (batch_size, config.decoder_layers, config.decoder_attention_heads, output_sequence_length, input_sequence_length) — Dekoderin çapraz dikkat katmanlarının çıktıları.

Ham bir ses dalgasını mel spektrogramları dizisine dönüştürür; bu spektrogramlar daha sonra bir vokoder kullanılarak yeniden ses dalgasına çevrilir.

SpeechT5HifiGan

sınıf transformers.SpeechT5HifiGan

< >

( config: SpeechT5HifiGanConfig )

Parametreler

  • config (SpeechT5HifiGanConfig) — 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.

HiFi-GAN vokoderi.

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

< >

( spectrogram: Tensor**kwargs ) → torch.Tensor

Parametreler

  • spectrogram (torch.Tensor) — Log-mel spektrogramları içeren tensör. Toplu (batched) olarak (batch_size, sequence_length, config.model_in_dim) biçiminde veya toplu olmayan (un-batched) olarak (sequence_length, config.model_in_dim) biçiminde olabilir.

Dönüş değeri

torch.Tensor

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

Log-mel spektrogramunu konuşma dalgacığına dönüştürür. Bir log-mel spektrogramu partisi geçirildiğinde, bir konuşma dalgacığı partisi döndürülür. Tek bir, partilendirilmemiş log-mel spektrogramu geçirildiğinde, tek bir, partilendirilmemiş konuşma dalgacığı döndürülür.

Update on GitHub