Transformers documentation

FastSpeech2Conformer

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 2020-10-26 tarihinde HF papers'ta yayımlanmış ve 2024-01-03 tarihinde Hugging Face Transformers'a katkıda bulunmuştur.

FastSpeech2Conformer

Genel Bakış

FastSpeech2Conformer modeli, Pengcheng Guo, Florian Boyer, Xuankai Chang, Tomoki Hayashi, Yosuke Higuchi, Hirofumi Inaguma, Naoyuki Kamo, Chenda Li, Daniel Garcia-Romero, Jiatong Shi, Jing Shi, Shinji Watanabe, Kun Wei, Wangyou Zhang ve Yuekai Zhang tarafından Recent Developments On Espnet Toolkit Boosted By Conformer adlı makaleyle önerilmiştir.

Orijinal FastSpeech2 makalesinin özeti aşağıdaki gibidir:

FastSpeech (Ren ve ark., 2019) gibi otoregresif olmayan metinden konuşma (TTS) modelleri, benzer kalitede ses sentezini önceki otoregresif modellere kıyasla çok daha hızlı gerçekleştirebilir. FastSpeech modelinin eğitimi, süre tahmini için (daha fazla bilgi girdi olarak sağlamak amacıyla) otoregresif bir öğretmen modeline ve (çıktıdaki veri dağılımını basitleştirmek amacıyla) bilgi damıtmasına dayanır; bu da TTS'deki bire-bir-çoklu eşleme sorununu (yani, aynı metne birden fazla ses varyasyonunun karşılık gelmesi) hafifletebilir. Ancak FastSpeech'in birkaç dezavantajı vardır: 1) öğretmen-öğrenci damıtma hattı karmaşıktır ve zaman alıcıdır, 2) öğretmen modelinden çıkarılan süre yeterince doğru değildir ve öğretmen modelinden damıtılan hedef mel-spektrogramları, veri basitleştirmesi nedeniyle bilgi kaybına uğrar; her ikisi de ses kalitesini sınırlar. Bu makalede, FastSpeech 2'yi öneriyoruz; bu model, FastSpeech'teki sorunları ele alır ve TTS'deki bire-bir-çoklu eşleme sorununu daha iyi çözer: 1) basitleştirilmiş öğretmen çıktısı yerine doğrudan gerçek hedefle modeli eğiterek ve 2) konuşmanın daha fazla varyasyon bilgisini (ör. perde, enerji ve daha doğru süre) koşullu girdi olarak tanıtarak. Özellikle, süre, perde ve enerjiyi ses dalgasından çıkarır ve bunları eğitimde doğrudan koşullu girdi olarak kullanır, çıkarımda ise tahmin edilen değerleri kullanır. Ayrıca, tamamen uçtan uca çıkarımın avantajından yararlanarak metinden paralel olarak doğrudan ses dalgası üretmenin ilk denemesi olan FastSpeech 2s'yi tasarladık. Deneysel sonuçlar şunları göstermektedir: 1) FastSpeech 2, FastSpeech'e kıyasla 3 kat eğitim hızlanmasına ulaşır ve FastSpeech 2s daha da hızlı çıkarım hızından yararlanır; 2) FastSpeech 2 ve 2s, ses kalitesi açısından FastSpeech'i geride bırakır ve FastSpeech 2 otoregresif modelleri bile geçebilir. Ses örnekleri https://speechresearch.github.io/fastspeech2/ adresinde mevcuttur.

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

🤗 Model Mimarisi

FastSpeech2’nin Mel-spektrogram çözücüye sahip genel yapısı uygulandı ve ESPnet kütüphanesinde yapıldığı gibi geleneksel transformer blokları, conformer bloklarıyla değiştirildi.

FastSpeech2 Model Mimarisi

FastSpeech2 Model Architecture

Conformer Blokları

Conformer Blocks

Konvolüsyon Modülü

Convolution Module

🤗 Transformers Kullanımı

FastSpeech2Conformer modelini 🤗 Transformers kütüphanesiyle yerel olarak çalıştırabilirsiniz.

  1. Önce 🤗 Transformers kütüphanesini ve g2p-en'i yükleyin:
pip install --upgrade pip
pip install --upgrade transformers g2p-en
  1. Modeli ve hifigan'ı ayrı ayrı kullanarak Transformers modelleme kodu üzerinden çıkarım yapın
import soundfile as sf

from transformers import FastSpeech2ConformerHifiGan, FastSpeech2ConformerModel, FastSpeech2ConformerTokenizer


tokenizer = FastSpeech2ConformerTokenizer.from_pretrained("espnet/fastspeech2_conformer")
inputs = tokenizer("Hello, my dog is cute.", return_tensors="pt").to(model.device)
input_ids = inputs["input_ids"]

model = FastSpeech2ConformerModel.from_pretrained("espnet/fastspeech2_conformer", device_map="auto")
output_dict = model(input_ids, return_dict=True)
spectrogram = output_dict["spectrogram"]

hifigan = FastSpeech2ConformerHifiGan.from_pretrained("espnet/fastspeech2_conformer_hifigan")
waveform = hifigan(spectrogram)

sf.write("speech.wav", waveform.squeeze().detach().numpy(), samplerate=22050)
  1. Modeli ve hifigan'ı birleştirerek Transformers modelleme kodu üzerinden çıkarım yapın
import soundfile as sf

from transformers import FastSpeech2ConformerTokenizer, FastSpeech2ConformerWithHifiGan


tokenizer = FastSpeech2ConformerTokenizer.from_pretrained("espnet/fastspeech2_conformer")
inputs = tokenizer("Hello, my dog is cute.", return_tensors="pt").to(model.device)
input_ids = inputs["input_ids"]

model = FastSpeech2ConformerWithHifiGan.from_pretrained("espnet/fastspeech2_conformer_with_hifigan")
output_dict = model(input_ids, return_dict=True)
waveform = output_dict["waveform"]

sf.write("speech.wav", waveform.squeeze().detach().numpy(), samplerate=22050)
  1. Bir pipeline ile çıkarım çalıştırın ve kullanılacak vokoderi belirtin
import soundfile as sf

from transformers import FastSpeech2ConformerHifiGan, pipeline


vocoder = FastSpeech2ConformerHifiGan.from_pretrained("espnet/fastspeech2_conformer_hifigan")
synthesiser = pipeline(model="espnet/fastspeech2_conformer", vocoder=vocoder)

speech = synthesiser("Hello, my dog is cooler than you!")

sf.write("speech.wav", speech["audio"].squeeze(), samplerate=speech["sampling_rate"])

FastSpeech2ConformerConfig

sınıf transformers.FastSpeech2ConformerConfig

< >

( 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 = Truehidden_size: int = 384vocab_size: int = 78num_mel_bins: int = 80encoder_num_attention_heads: int = 2encoder_layers: int = 4encoder_linear_units: int = 1536decoder_layers: int = 4decoder_num_attention_heads: int = 2decoder_linear_units: int = 1536speech_decoder_postnet_layers: int = 5speech_decoder_postnet_units: int = 256speech_decoder_postnet_kernel: int = 5positionwise_conv_kernel_size: int = 3encoder_normalize_before: bool = Falsedecoder_normalize_before: bool = Falseencoder_concat_after: bool = Falsedecoder_concat_after: bool = Falsereduction_factor: int = 1speaking_speed: float = 1.0use_macaron_style_in_conformer: bool = Trueuse_cnn_in_conformer: bool = Trueencoder_kernel_size: int = 7decoder_kernel_size: int = 31duration_predictor_layers: int = 2duration_predictor_channels: int = 256duration_predictor_kernel_size: int = 3energy_predictor_layers: int = 2energy_predictor_channels: int = 256energy_predictor_kernel_size: int = 3energy_predictor_dropout: float | int = 0.5energy_embed_kernel_size: int = 1energy_embed_dropout: float | int = 0.0stop_gradient_from_energy_predictor: bool = Falsepitch_predictor_layers: int = 5pitch_predictor_channels: int = 256pitch_predictor_kernel_size: int = 5pitch_predictor_dropout: float | int = 0.5pitch_embed_kernel_size: int = 1pitch_embed_dropout: float | int = 0.0stop_gradient_from_pitch_predictor: bool = Trueencoder_dropout_rate: float | int = 0.2encoder_positional_dropout_rate: float | int = 0.2encoder_attention_dropout_rate: float | int = 0.2decoder_dropout_rate: float | int = 0.2decoder_positional_dropout_rate: float | int = 0.2decoder_attention_dropout_rate: float | int = 0.2duration_predictor_dropout_rate: float | int = 0.2speech_decoder_postnet_dropout: float | int = 0.5max_source_positions: int = 5000use_masking: bool = Trueuse_weighted_masking: bool = Falsenum_speakers: int | None = Nonenum_languages: int | None = Nonespeaker_embed_dim: int | None = Noneconvolution_bias: 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ığı.
  • hidden_size (int, isteğe bağlı, varsayılan 384) — Gizli temsillerin boyutu.
  • vocab_size (int, isteğe bağlı, varsayılan 78) — Modelin sözlük boyutu. input_ids ile temsil edilebilecek farklı token sayısını belirler.
  • 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.
  • encoder_num_attention_heads (int, isteğe bağlı, varsayılan 2) — Encoder'daki dikkat başlarının sayısı.
  • encoder_layers (int, isteğe bağlı, varsayılan 4) — Transformer kodlayıcısındaki gizli katman sayısı. Ayarlanmazsa num_layers ile aynı değeri kullanır.
  • encoder_linear_units (int, isteğe bağlı, varsayılan 1536) — Encoder'ın doğrusal katmanındaki birim sayısı.
  • decoder_layers (int, isteğe bağlı, varsayılan 4) — Transformer decoder'ındaki gizli katman sayısı. Ayarlanmazsa num_layers ile aynı değeri kullanır.
  • decoder_num_attention_heads (int, isteğe bağlı, varsayılan 2) — Transformer decoder'ındaki her dikkat katmanı için dikkat başı sayısı.
  • decoder_linear_units (int, isteğe bağlı, varsayılan 1536) — Çözücüdeki doğrusal katmanın birim sayısı.
  • speech_decoder_postnet_layers (int, isteğe bağlı, varsayılan 5) — Ses çözücüsünün post-net kısmındaki katman sayısı.
  • speech_decoder_postnet_units (int, isteğe bağlı, varsayılan 256) — Ses çözücüsünün post-net katmanlarındaki birim sayısı.
  • speech_decoder_postnet_kernel (int, isteğe bağlı, varsayılan 5) — Ses çözücüsünün post-net kısmındaki çekirdek boyutu.
  • positionwise_conv_kernel_size (int, isteğe bağlı, varsayılan 3) — Konum bazlı katmanda kullanılan konvolüsyon çekirdeğinin boyutu.
  • encoder_normalize_before (bool, isteğe bağlı, varsayılan False) — Encoder katmanlarından önce normalize edilecek olup olmadığını belirtir.
  • decoder_normalize_before (bool, isteğe bağlı, varsayılan False) — Decoder katmanlarından önce normalize edilecek olup olmadığını belirtir.
  • encoder_concat_after (bool, isteğe bağlı, varsayılan False) — Encoder katmanlarının ardından birleştirme yapılıp yapılmayacağını belirtir.
  • decoder_concat_after (bool, isteğe bağlı, varsayılan False) — Decoder katmanlarının ardından birleştirme yapılıp yapılmayacağını belirtir.
  • reduction_factor (int, isteğe bağlı, varsayılan 1) — Ses kare hızının azaltılma çarpanı.
  • speaking_speed (float, isteğe bağlı, varsayılan 1.0) — Üretilen sesin hızı.
  • use_macaron_style_in_conformer (bool, isteğe bağlı, varsayılan True) — Conformer'da macaron stilinin kullanılıp kullanılmayacağını belirtir.
  • use_cnn_in_conformer (bool, isteğe bağlı, varsayılan True) — Conformer'da konvolüsyonel sinir ağlarının kullanılıp kullanılmayacağını belirtir.
  • encoder_kernel_size (int, isteğe bağlı, varsayılan 7) — Kodlayıcıda kullanılan çekirdek boyutu.
  • decoder_kernel_size (int, isteğe bağlı, varsayılan 31) — Çözücüde kullanılan çekirdek boyutu.
  • duration_predictor_layers (int, isteğe bağlı, varsayılan 2) — Süre tahmincisinin katman sayısı.
  • duration_predictor_channels (int, isteğe bağlı, varsayılan 256) — Süre tahmin edicisindeki kanal sayısı.
  • duration_predictor_kernel_size (int, isteğe bağlı, varsayılan 3) — Süre tahmincisi (duration predictor) içinde kullanılan çekirdek boyutu.
  • energy_predictor_layers (int, isteğe bağlı, varsayılan 2) — Enerji tahmincisinin katman sayısı.
  • energy_predictor_channels (int, isteğe bağlı, varsayılan 256) — Enerji tahmin edicisindeki kanal sayısı.
  • energy_predictor_kernel_size (int, isteğe bağlı, varsayılan 3) — Enerji tahmincisi (energy predictor) kullanılan çekirdek boyutu.
  • energy_predictor_dropout (float, isteğe bağlı, varsayılan 0.5) — Enerji tahmincisinin dropout oranı.
  • energy_embed_kernel_size (int, isteğe bağlı, varsayılan 1) — Energy embed katmanında kullanılan çekirdek boyutu.
  • energy_embed_dropout (float, isteğe bağlı, varsayılan 0.0) — Energy embed katmanındaki dropout oranı.
  • stop_gradient_from_energy_predictor (bool, isteğe bağlı, varsayılan False) — Enerji tahmincisinden gelen gradyanların durdurulup durdurulmayacağını belirtir.
  • pitch_predictor_layers (int, isteğe bağlı, varsayılan 5) — Pitch predictor'daki katman sayısı.
  • pitch_predictor_channels (int, isteğe bağlı, varsayılan 256) — Pitch predictor'daki kanal sayısı.
  • pitch_predictor_kernel_size (int, isteğe bağlı, varsayılan 5) — Pitch predictor'da kullanılan çekirdek boyutu.
  • pitch_predictor_dropout (float, isteğe bağlı, varsayılan 0.5) — Pitch predictor'daki dropout oranı.
  • pitch_embed_kernel_size (int, isteğe bağlı, varsayılan 1) — Pitch embed katmanında kullanılan çekirdek boyutu.
  • pitch_embed_dropout (float, isteğe bağlı, varsayılan 0.0) — Pitch embed katmanındaki dropout oranı.
  • stop_gradient_from_pitch_predictor (bool, isteğe bağlı, varsayılan True) — Pitch predictor'den gelen gradyanların durdurulup durdurulmayacağını belirtir.
  • encoder_dropout_rate (float, isteğe bağlı, varsayılan 0.2) — Encoder'daki dropout oranı.
  • encoder_positional_dropout_rate (float, isteğe bağlı, varsayılan 0.2) — Encoder'daki konumsal dropout oranı.
  • encoder_attention_dropout_rate (float, isteğe bağlı, varsayılan 0.2) — Encoder'daki dikkat dropout oranı.
  • decoder_dropout_rate (float, isteğe bağlı, varsayılan 0.2) — Decoder'daki dropout oranı.
  • decoder_positional_dropout_rate (float, isteğe bağlı, varsayılan 0.2) — Decoder'daki konumsal dropout oranı.
  • decoder_attention_dropout_rate (float, isteğe bağlı, varsayılan 0.2) — Decoder'daki dikkat dropout oranı.
  • duration_predictor_dropout_rate (float, isteğe bağlı, varsayılan 0.2) — Süre tahmincisindeki dropout oranı.
  • speech_decoder_postnet_dropout (float, isteğe bağlı, varsayılan 0.5) — Ses çözücü postnet'indeki dropout oranı.
  • max_source_positions (int, isteğe bağlı, varsayılan 5000) — "relative" konum gömme kullanılıyorsa, maksimum kaynak giriş konumlarını tanımlar.
  • use_masking (bool, isteğe bağlı, varsayılan True) — Modelde maskelama kullanılıp kullanılmayacağını belirtir.
  • use_weighted_masking (bool, isteğe bağlı, varsayılan False) — Modelde ağırlıklı maskelendirmenin kullanılıp kullanılmayacağını belirtir.
  • num_speakers (int, isteğe bağlı) — Konuşmacı sayısı. > 1 olarak ayarlanırsa, konuşmacı kimliklerinin girdi olarak sağlanacağı varsayılır ve konuşmacı kimliği gömme katmanı kullanılır.
  • num_languages (int, isteğe bağlı) — Dil sayısı. > 1 olarak ayarlanırsa, dil kimliklerinin girdi olarak sağlanacağı varsayılır ve dil kimliği gömme katmanı kullanılır.
  • speaker_embed_dim (int, isteğe bağlı) — Konuşmacı gömme boyutu. > 0 olarak ayarlanırsa, speaker_embedding'in girdi olarak sağlanacağı varsayılır.
  • convolution_bias (bool, isteğe bağlı, varsayılan True) — Conformer'ün konvolüsyon modülündeki konvolüsyonlarda sapma (bias) kullanılıp kullanılmayacağını belirtir.

Bu, bir FastSpeech2ConformerModel yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Fastspeech2 Conformer modelinin örneklenmesinde, model mimarisini tanımlamak için kullanılır. Varsayılan değerlerle bir yapılandırma örneği oluşturmak, espnet/fastspeech2_conformer yapılandırmasına benzer bir yapılandırma elde edilmesini sağlar.

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 FastSpeech2ConformerModel, FastSpeech2ConformerConfig

>>> # Initializing a FastSpeech2Conformer style configuration
>>> configuration = FastSpeech2ConformerConfig()

>>> # Initializing a model from the FastSpeech2Conformer style configuration
>>> model = FastSpeech2ConformerModel(configuration)

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

FastSpeech2ConformerHifiGanConfig

sınıf transformers.FastSpeech2ConformerHifiGanConfig

< >

( 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 = 80upsample_initial_channel: int = 512upsample_rates: list[int] | tuple[int, ...] = (8, 8, 2, 2)upsample_kernel_sizes: list[int] | tuple[int, ...] = (16, 16, 4, 4)resblock_kernel_sizes: list[int] | tuple[int, ...] = (3, 7, 11)resblock_dilation_sizes: list | tuple | None = Noneinitializer_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ı.
  • 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 [8, 8, 2, 2]) — Yukarı örnekleme ağındaki her 1D konvolüsyonel katmanın stride değerini tanımlayan tamsayı bir demet. upsample_rates uzunluğu, konvolüsyonel katman sayısını belirler ve upsample_kernel_sizes uzunluğuyla eşleşmelidir.
  • upsample_kernel_sizes (tuple[int] veya list[int], isteğe bağlı, varsayılan [16, 16, 4, 4]) — Yukarı örneklemeli ağdaki her 1D konvolüsyon katmanının çekirdek boyutunu tanımlayan tamsayılar dizisi. upsample_kernel_sizes uzunluğu, konvolüsyon katmanlarının 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 FastSpeech2ConformerModel yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Fastspeech2 Conformer modelinin örneklenmesinde, model mimarisini tanımlamak için kullanılır. Varsayılan değerlerle bir yapılandırma örneklendiğinde, espnet/fastspeech2_conformer_with_hifigan 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 FastSpeech2ConformerHifiGan, FastSpeech2ConformerHifiGanConfig

>>> # Initializing a FastSpeech2ConformerHifiGan configuration
>>> configuration = FastSpeech2ConformerHifiGanConfig()

>>> # Initializing a model (with random weights) from the configuration
>>> model = FastSpeech2ConformerHifiGan(configuration)

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

FastSpeech2ConformerWithHifiGanConfig

sınıf transformers.FastSpeech2ConformerWithHifiGanConfig

< >

( 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_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonevocoder_config: dict | transformers.configuration_utils.PreTrainedConfig | None = None )

Parametreler

  • model_config (FastSpeech2ConformerConfig | dict, isteğe bağlı) — Metinden konuşmaya modelinin yapılandırması.
  • vocoder_config (FastSpeech2ConformerHiFiGanConfig | dict, isteğe bağlı) — Vocoder modelinin yapılandırması.

Bu, bir FastSpeech2ConformerModel yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Fastspeech2 Conformer modelinin örneklenmesinde, model mimarisini tanımlamak için kullanılır. Varsayılan değerlerle bir yapılandırma örneklendiğinde, espnet/fastspeech2_conformer_with_hifigan 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 (
...     FastSpeech2ConformerConfig,
...     FastSpeech2ConformerHifiGanConfig,
...     FastSpeech2ConformerWithHifiGanConfig,
...     FastSpeech2ConformerWithHifiGan,
... )

>>> # Initializing FastSpeech2ConformerWithHifiGan sub-modules configurations.
>>> model_config = FastSpeech2ConformerConfig()
>>> vocoder_config = FastSpeech2ConformerHifiGanConfig()

>>> # Initializing a FastSpeech2ConformerWithHifiGan module style configuration
>>> configuration = FastSpeech2ConformerWithHifiGanConfig(model_config.to_dict(), vocoder_config.to_dict())

>>> # Initializing a model (with random weights)
>>> model = FastSpeech2ConformerWithHifiGan(configuration)

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

FastSpeech2ConformerTokenizer

sınıf transformers.FastSpeech2ConformerTokenizer

< >

( vocab_filebos_token = '<sos/eos>'eos_token = '<sos/eos>'pad_token = '<blank>'unk_token = '<unk>'should_strip_spaces = False**kwargs )

Parametreler

  • vocab_file (str) — Sözlük dosyasının yolu.
  • bos_token (str, isteğe bağlı, varsayılan "<sos/eos>") — Dizinin başlangıç belirteci. Not: FastSpeech2 için bu, eos_token ile aynıdır.
  • eos_token (str, isteğe bağlı, varsayılan "<sos/eos>") — Dizi sonu belirteci. Not: FastSpeech2 için bu, bos_token ile aynıdır.
  • pad_token (str, isteğe bağlı, varsayılan "<blank>") — Doldurma için kullanılan token, örneğin farklı uzunluklardaki dizileri toplu işleme (batching) sırasında.
  • 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.
  • should_strip_spaces (bool, isteğe bağlı, varsayılan False) — Token listesinden boşlukların kaldırılıp kaldırılmayacağı.

FastSpeech2Conformer tokenizer'ı oluşturun.

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

Dönüş değeri

Tuple(str)

Kaydedilen dosyaların yolları.

Sözlüğü ve özel jeton dosyasını bir dizine kaydedin.

decode

< >

( token_ids**kwargs )

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.

FastSpeech2ConformerModel

sınıf transformers.FastSpeech2ConformerModel

< >

( config: FastSpeech2ConformerConfig )

Parametreler

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

FastSpeech2Conformer 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: LongTensorattention_mask: typing.Optional[torch.LongTensor] = Nonespectrogram_labels: typing.Optional[torch.Tensor] = Noneduration_labels: typing.Optional[torch.LongTensor] = Nonepitch_labels: typing.Optional[torch.Tensor] = Noneenergy_labels: typing.Optional[torch.Tensor] = Nonespeaker_ids: typing.Optional[torch.LongTensor] = Nonelang_ids: typing.Optional[torch.LongTensor] = Nonespeaker_embedding: typing.Optional[torch.Tensor] = Nonereturn_dict: bool | None = Noneoutput_attentions: bool | None = Noneoutput_hidden_states: bool | None = None**kwargs ) → FastSpeech2ConformerModelOutput or tuple(torch.Tensor)

Parametreler

  • input_ids (torch.LongTensor, şekli (batch_size, sequence_length)) — Girdi metin vektörleri dizisi.
  • 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?

  • spectrogram_labels (torch.Tensor, şekli (batch_size, max_spectrogram_length, num_mel_bins), isteğe bağlı, varsayılan None) — Doldurulmuş hedef özellikler partisi.
  • duration_labels (torch.LongTensor, şekli (batch_size, sequence_length + 1), isteğe bağlı, varsayılan None) — Doldurulmuş sürelerin bir partisi.
  • pitch_labels (torch.Tensor, şekli (batch_size, sequence_length + 1, 1), isteğe bağlı, varsayılan None) — Dolgu yapılmış, token-ortalama pitch değerlerinden oluşan bir batch.
  • energy_labels (torch.Tensor, şekli (batch_size, sequence_length + 1, 1), isteğe bağlı, varsayılan None) — Dolgu yapılmış, token-ortalama enerji değerlerinin bir partisi.
  • speaker_ids (torch.LongTensor, şekli (batch_size, 1), isteğe bağlı, varsayılan None) — Modelin ses çıktısının özelliklerini koşullandırmak için kullanılan konuşmacı kimlikleri.
  • lang_ids (torch.LongTensor, şekli (batch_size, 1), opsiyonel, varsayılan None) — Modelin ses çıktısının özelliklerini koşullandırmak için kullanılan dil kimlikleri.
  • speaker_embedding (torch.Tensor, şekli (batch_size, embedding_dim), isteğe bağlı, varsayılan None) — Ses özellikleri için koşullama sinyalleri içeren gömme.
  • return_dict (bool, isteğe bağlı) — Düz bir tuple yerine ModelOutput döndürülecek mi?
  • 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.

Dönüş değeri

FastSpeech2ConformerModelOutput veya tuple(torch.Tensor)

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

FastSpeech2ConformerModel 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), isteğe bağlı) — Tahmin edilen spektrogram.

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

  • 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 bir tuple, şekli (batch_size, sequence_length, hidden_size).

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

  • decoder_attentions (tuple[torch.Tensor], isteğe bağlı, output_attentions=True geçirildiğinde veya config.output_attentions=True olduğunda döndürülür) — torch.Tensor (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

  • duration_outputs (torch.LongTensor, şekli (batch_size, max_text_length + 1), opsiyonel) — Süre tahmincisinin çıktıları.

  • pitch_outputs (torch.Tensor, şekli (batch_size, max_text_length + 1, 1), isteğe bağlı) — Perde tahmincisinin çıktıları.

  • energy_outputs (torch.Tensor, şekli (batch_size, max_text_length + 1, 1), isteğe bağlı) — Enerji tahmincisinin çıktıları.

Örnek:

>>> from transformers import (
...     FastSpeech2ConformerTokenizer,
...     FastSpeech2ConformerModel,
...     FastSpeech2ConformerHifiGan,
... )

>>> tokenizer = FastSpeech2ConformerTokenizer.from_pretrained("espnet/fastspeech2_conformer")
>>> inputs = tokenizer("some text to convert to speech", return_tensors="pt")
>>> input_ids = inputs["input_ids"]

>>> model = FastSpeech2ConformerModel.from_pretrained("espnet/fastspeech2_conformer")
>>> output_dict = model(input_ids, return_dict=True)
>>> spectrogram = output_dict["spectrogram"]

>>> vocoder = FastSpeech2ConformerHifiGan.from_pretrained("espnet/fastspeech2_conformer_hifigan")
>>> waveform = vocoder(spectrogram)
>>> print(waveform.shape)
torch.Size([1, 49664])

FastSpeech2ConformerHifiGan

sınıf transformers.FastSpeech2ConformerHifiGan

< >

( config: FastSpeech2ConformerHifiGanConfig )

Parametreler

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

FastSpeech2ConformerWithHifiGan

sınıf transformers.FastSpeech2ConformerWithHifiGan

< >

( config: FastSpeech2ConformerWithHifiGanConfig )

Parametreler

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

Bir FastSpeech2ConformerHifiGan vokoder başlığına sahip ve metinden sese (dalga formu) dönüştürme işlemini gerçekleştiren FastSpeech2ConformerModel.

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: LongTensorattention_mask: typing.Optional[torch.LongTensor] = Nonespectrogram_labels: typing.Optional[torch.Tensor] = Noneduration_labels: typing.Optional[torch.LongTensor] = Nonepitch_labels: typing.Optional[torch.Tensor] = Noneenergy_labels: typing.Optional[torch.Tensor] = Nonespeaker_ids: typing.Optional[torch.LongTensor] = Nonelang_ids: typing.Optional[torch.LongTensor] = Nonespeaker_embedding: typing.Optional[torch.Tensor] = Nonereturn_dict: bool | None = Noneoutput_attentions: bool | None = Noneoutput_hidden_states: bool | None = None**kwargs ) → FastSpeech2ConformerModelOutput or tuple(torch.Tensor)

Parametreler

  • input_ids (torch.LongTensor, şekli (batch_size, sequence_length)) — Girdi metin vektörleri dizisi.
  • 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?

  • spectrogram_labels (torch.Tensor, şekli (batch_size, max_spectrogram_length, num_mel_bins), isteğe bağlı, varsayılan None) — Doldurulmuş hedef özellikler partisi.
  • duration_labels (torch.LongTensor, şekli (batch_size, sequence_length + 1), isteğe bağlı, varsayılan None) — Doldurulmuş sürelerin bir partisi.
  • pitch_labels (torch.Tensor, şekli (batch_size, sequence_length + 1, 1), isteğe bağlı, varsayılan None) — Dolgu yapılmış, token-ortalama pitch değerlerinden oluşan bir batch.
  • energy_labels (torch.Tensor, şekli (batch_size, sequence_length + 1, 1), isteğe bağlı, varsayılan None) — Dolgu yapılmış, token-ortalama enerji değerlerinin bir partisi.
  • speaker_ids (torch.LongTensor, şekli (batch_size, 1), isteğe bağlı, varsayılan None) — Modelin ses çıktısının özelliklerini koşullandırmak için kullanılan konuşmacı kimlikleri.
  • lang_ids (torch.LongTensor, şekli (batch_size, 1), opsiyonel, varsayılan None) — Modelin ses çıktısının özelliklerini koşullandırmak için kullanılan dil kimlikleri.
  • speaker_embedding (torch.Tensor, şekli (batch_size, embedding_dim), isteğe bağlı, varsayılan None) — Ses özellikleri için koşullama sinyalleri içeren gömme.
  • return_dict (bool, isteğe bağlı) — Düz bir tuple yerine ModelOutput döndürülecek mi?
  • 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.

Dönüş değeri

FastSpeech2ConformerModelOutput veya tuple(torch.Tensor)

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

FastSpeech2ConformerWithHifiGan 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), isteğe bağlı) — Tahmin edilen spektrogram.

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

  • 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 bir tuple, şekli (batch_size, sequence_length, hidden_size).

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

  • decoder_attentions (tuple[torch.Tensor], isteğe bağlı, output_attentions=True geçirildiğinde veya config.output_attentions=True olduğunda döndürülür) — torch.Tensor (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

  • duration_outputs (torch.LongTensor, şekli (batch_size, max_text_length + 1), opsiyonel) — Süre tahmincisinin çıktıları.

  • pitch_outputs (torch.Tensor, şekli (batch_size, max_text_length + 1, 1), isteğe bağlı) — Perde tahmincisinin çıktıları.

  • energy_outputs (torch.Tensor, şekli (batch_size, max_text_length + 1, 1), isteğe bağlı) — Enerji tahmincisinin çıktıları.

Örnek:

>>> from transformers import (
...     FastSpeech2ConformerTokenizer,
...     FastSpeech2ConformerWithHifiGan,
... )

>>> tokenizer = FastSpeech2ConformerTokenizer.from_pretrained("espnet/fastspeech2_conformer")
>>> inputs = tokenizer("some text to convert to speech", return_tensors="pt")
>>> input_ids = inputs["input_ids"]

>>> model = FastSpeech2ConformerWithHifiGan.from_pretrained("espnet/fastspeech2_conformer_with_hifigan")
>>> output_dict = model(input_ids, return_dict=True)
>>> waveform = output_dict["waveform"]
>>> print(waveform.shape)
torch.Size([1, 49664])
Update on GitHub