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

Эта модель была опубликована в HF papers 26.10.2020 и добавлена в Hugging Face Transformers 03.01.2024.

FastSpeech2Conformer

Обзор

Модель FastSpeech2Conformer была предложена в статье Recent Developments On Espnet Toolkit Boosted By Conformer авторов 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 и Yuekai Zhang.

Аннотация из оригинальной статьи FastSpeech2 гласит следующее:

Неавто регрессионные модели синтеза речи (TTS), такие как FastSpeech (Ren et al., 2019), способны синтезировать речь значительно быстрее предыдущих авто регрессионных моделей при сопоставимом качестве. Обучение модели FastSpeech опирается на авто регрессионную модель-учителя для предсказания длительности (чтобы предоставить больше информации на входе) и дистилляцию знаний (чтобы упростить распределение данных на выходе), что позволяет смягчить проблему отображения «один ко многим» (то есть нескольким вариантам речи соответствует один и тот же текст) в TTS. Однако у FastSpeech есть несколько недостатков: 1) конвейер дистилляции «учитель-ученик» сложен и требует много времени, 2) длительность, извлеченная из модели-учителя, недостаточно точна, а целевые мел-спектрограммы, полученные из модели-учителя путем дистилляции, страдают от потери информации из-за упрощения данных, что ограничивает качество голоса. В данной статье мы предлагаем FastSpeech 2, который решает проблемы FastSpeech и лучше справляется с проблемой отображения «один ко многим» в TTS за счет 1) прямого обучения модели с использованием целевых значений ground-truth вместо упрощенного вывода модели-учителя и 2) введения дополнительной информации о вариациях речи (например, высота тона, энергия и более точная длительность) в качестве условных входных данных. В частности, мы извлекаем длительность, высоту тона и энергию из аудиосигнала и напрямую используем их в качестве условных входных данных при обучении, а при инференсе используем предсказанные значения. Мы также разработали FastSpeech 2s, который является первой попыткой напрямую генерировать аудиосигнал из текста параллельно, что позволяет получить преимущества полностью end-to-end инференса. Экспериментальные результаты показывают, что 1) FastSpeech 2 обеспечивает ускорение обучения в 3 раза по сравнению с FastSpeech, а FastSpeech 2s обладает еще более высокой скоростью инференса; 2) FastSpeech 2 и 2s превосходят FastSpeech по качеству голоса, а FastSpeech 2 может даже превзойти авто регрессионные модели. Аудиопримеры доступны по адресу https://speechresearch.github.io/fastspeech2/.

Эта модель была предоставлена Connor Henderson. Исходный код можно найти здесь.

🤗 Архитектура модели

Была реализована общая структура FastSpeech2 с декодером мел-спектрограммы, при этом традиционные блоки трансформера были заменены на блоки конформера, как это сделано в библиотеке ESPnet.

Архитектура модели FastSpeech2

FastSpeech2 Model Architecture

Блоки Conformer

Conformer Blocks

Модуль свёртки

Convolution Module

🤗 Использование Transformers

Вы можете запускать FastSpeech2Conformer локально с помощью библиотеки 🤗 Transformers.

  1. Сначала установите библиотеку 🤗 Transformers и g2p-en:
pip install --upgrade pip
pip install --upgrade transformers g2p-en
  1. Выполните инференс с помощью кода моделирования Transformers, используя модель и hifigan по отдельности
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. Выполните инференс с помощью кода моделирования Transformers, объединив модель и hifigan
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. Выполните инференс с помощью pipeline и укажите, какой вокодер использовать
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

класс 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 )

Параметры

  • is_encoder_decoder (bool, необязательный, по умолчанию True) — Указывает, используется ли модель в качестве энкодера/декодера.
  • hidden_size (int, необязательный, по умолчанию 384) — Размерность скрытых представлений.
  • vocab_size (int, необязательный, по умолчанию 78) — Размер словаря модели. Определяет количество различных токенов, которые могут быть представлены в input_ids.
  • num_mel_bins (int, необязательный, по умолчанию 80) — Количество mel-признаков, используемых на входной кадр. Должно соответствовать значению, применяемому в классе AutoFeatureExtractor.
  • encoder_num_attention_heads (int, необязательный, по умолчанию 2) — Количество головок внимания в кодере.
  • encoder_layers (int, необязательный, по умолчанию 4) — Количество скрытых слоев в кодере Transformer. Если не задано, используется то же значение, что и у num_layers.
  • encoder_linear_units (int, необязательный, по умолчанию 1536) — Количество нейронов в линейном слое энкодера.
  • decoder_layers (int, необязательный, по умолчанию 4) — Количество скрытых слоев в декодере Transformer. Если не задано, используется то же значение, что и у num_layers.
  • decoder_num_attention_heads (int, необязательный, по умолчанию 2) — Количество головок внимания в каждом слое внимания декодера Transformer.
  • decoder_linear_units (int, необязательный, по умолчанию 1536) — Количество нейронов в линейном слое декодера.
  • speech_decoder_postnet_layers (int, необязательный, по умолчанию 5) — Количество слоев в пост-сети речевого декодера.
  • speech_decoder_postnet_units (int, необязательный, по умолчанию 256) — Количество единиц в слоях post-net речевого декодера.
  • speech_decoder_postnet_kernel (int, необязательный, по умолчанию 5) — Размер ядра в post-net речевого декодера.
  • positionwise_conv_kernel_size (int, необязательный, по умолчанию 3) — Размер ядра свёртки, используемого в поэлементном слое.
  • encoder_normalize_before (bool, необязательный, по умолчанию False) — Определяет, следует ли нормализовать данные перед слоями энкодера.
  • decoder_normalize_before (bool, необязательный, по умолчанию False) — Определяет, следует ли выполнять нормализацию перед слоями декодера.
  • encoder_concat_after (bool, необязательный, по умолчанию False) — Определяет, нужно ли выполнять конкатенацию после слоев энкодера.
  • decoder_concat_after (bool, необязательный, по умолчанию False) — Определяет, нужно ли выполнять конкатенацию после слоев декодера.
  • reduction_factor (int, необязательный, по умолчанию 1) — Коэффициент, на который снижается частота кадров речи.
  • speaking_speed (float, необязательный, по умолчанию 1.0) — Скорость произносимой речи.
  • use_macaron_style_in_conformer (bool, необязательный, по умолчанию True) — Определяет, следует ли использовать macaron style в conformer.
  • use_cnn_in_conformer (bool, необязательный, по умолчанию True) — Определяет, следует ли использовать свёрточные нейронные сети в conformer.
  • encoder_kernel_size (int, необязательный, по умолчанию 7) — Размер ядра, используемого в кодере.
  • decoder_kernel_size (int, необязательный, по умолчанию 31) — Размер ядра, используемый в декодере.
  • duration_predictor_layers (int, необязательный, по умолчанию 2) — Количество слоев в предикторе длительности.
  • duration_predictor_channels (int, необязательный, по умолчанию 256) — Количество каналов в предикторе длительности.
  • duration_predictor_kernel_size (int, необязательный, по умолчанию 3) — Размер ядра, используемый в предикторе длительности.
  • energy_predictor_layers (int, необязательный, по умолчанию 2) — Количество слоев в предикторе энергии.
  • energy_predictor_channels (int, необязательный, по умолчанию 256) — Количество каналов в предикторе энергии.
  • energy_predictor_kernel_size (int, необязательный, по умолчанию 3) — Размер ядра, используемый в предикторе энергии.
  • energy_predictor_dropout (float, необязательный, по умолчанию 0.5) — Коэффициент dropout в предикторе энергии.
  • energy_embed_kernel_size (int, необязательный, по умолчанию 1) — Размер ядра, используемый в слое energy embed.
  • energy_embed_dropout (float, необязательный, по умолчанию 0.0) — Коэффициент dropout в слое energy embed.
  • stop_gradient_from_energy_predictor (bool, необязательный, по умолчанию False) — Определяет, следует ли останавливать распространение градиентов от предиктора энергии.
  • pitch_predictor_layers (int, необязательный, по умолчанию 5) — Количество слоёв в предикторе высоты тона.
  • pitch_predictor_channels (int, необязательный, по умолчанию 256) — Количество каналов в предикторе питча.
  • pitch_predictor_kernel_size (int, необязательный, по умолчанию 5) — Размер ядра, используемый в предсказателе высоты тона.
  • pitch_predictor_dropout (float, необязательный, по умолчанию 0.5) — Коэффициент dropout в предсказателе высоты тона.
  • pitch_embed_kernel_size (int, необязательный, по умолчанию 1) — Размер ядра, используемый в слое pitch embed.
  • pitch_embed_dropout (float, необязательный, по умолчанию 0.0) — Коэффициент dropout в слое pitch embed.
  • stop_gradient_from_pitch_predictor (bool, необязательный, по умолчанию True) — Определяет, следует ли останавливать распространение градиентов от предиктора высоты тона.
  • encoder_dropout_rate (float, необязательный, по умолчанию 0.2) — Коэффициент dropout в энкодере.
  • encoder_positional_dropout_rate (float, необязательный, по умолчанию 0.2) — Коэффициент dropout для позиционных эмбеддингов в энкодере.
  • encoder_attention_dropout_rate (float, необязательный, по умолчанию 0.2) — Коэффициент dropout для механизма внимания в энкодере.
  • decoder_dropout_rate (float, необязательный, по умолчанию 0.2) — Коэффициент dropout в декодере.
  • decoder_positional_dropout_rate (float, необязательный, по умолчанию 0.2) — Коэффициент dropout для позиционных эмбеддингов в декодере.
  • decoder_attention_dropout_rate (float, необязательный, по умолчанию 0.2) — Коэффициент dropout для механизма внимания в декодере.
  • duration_predictor_dropout_rate (float, необязательный, по умолчанию 0.2) — Коэффициент dropout в предикторе длительности.
  • speech_decoder_postnet_dropout (float, необязательный, по умолчанию 0.5) — Коэффициент dropout в постсети декодера речи.
  • max_source_positions (int, необязательный, по умолчанию 5000) — если используются позиционные эмбеддинги "relative", определяет максимальные позиции входных данных источника.
  • use_masking (bool, необязательный, по умолчанию True) — Определяет, следует ли использовать маскирование в модели.
  • use_weighted_masking (bool, необязательный, по умолчанию False) — Определяет, следует ли использовать взвешенное маскирование в модели.
  • num_speakers (int, необязательный) — Количество говорящих. Если установлено значение > 1, предполагается, что идентификаторы говорящих будут переданы на вход, и используется слой встраивания идентификаторов говорящих.
  • num_languages (int, необязательный) — Количество языков. Если установлено значение > 1, предполагается, что идентификаторы языков будут переданы на вход, и используется слой встраивания идентификаторов языков.
  • speaker_embed_dim (int, необязательный) — Размерность спикер-эмбеддинга. Если значение больше 0, предполагается, что speaker_embedding будет передан в качестве входных данных.
  • convolution_bias (bool, необязательный, по умолчанию True) — Определяет, следует ли использовать смещение (bias) в свёртках модуля свёртки conformer.

Это класс конфигурации для хранения конфигурации модели FastSpeech2ConformerModel. Он используется для создания модели Fastspeech2 Conformer в соответствии с указанными аргументами, определяя архитектуру модели. Создание конфигурации с параметрами по умолчанию даст конфигурацию, аналогичную конфигурации espnet/fastspeech2_conformer

Объекты конфигурации наследуются от PreTrainedConfig и могут использоваться для управления выводами модели. Подробнее читайте в документации PreTrainedConfig.

Пример:

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

класс 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 )

Параметры

  • model_in_dim (int, необязательный, по умолчанию 80) — Количество частотных бинов во входной лог-мел-спектрограмме.
  • upsample_initial_channel (int, необязательный, по умолчанию 512) — Количество входных каналов в сети апсемплинга.
  • upsample_rates (tuple[int] или list[int], необязательный, по умолчанию [8, 8, 2, 2]) — Кортеж целых чисел, определяющий шаг каждого слоя одномерной свёртки в сети апсемплинга. Длина upsample_rates определяет количество свёрточных слоёв и должна совпадать с длиной upsample_kernel_sizes.
  • upsample_kernel_sizes (tuple[int] или list[int], необязательный, по умолчанию [16, 16, 4, 4]) — Кортеж целых чисел, определяющий размер ядра каждого одномерного свёрточного слоя в сети апсемплинга. Длина upsample_kernel_sizes определяет количество свёрточных слоёв и должна совпадать с длиной upsample_rates.
  • resblock_kernel_sizes (tuple[int] или list[int], необязательный, по умолчанию [3, 7, 11]) — Кортеж целых чисел, определяющий размеры ядер одномерных свёрточных слоёв в модуле многомасштабного слияния (MRF).
  • resblock_dilation_sizes (tuple[tuple[int]] или list[list[int]], необязательный, по умолчанию [[1, 3, 5], [1, 3, 5], [1, 3, 5]]) — Вложенный кортеж целых чисел, определяющий коэффициенты дилатации для дилатационных одномерных свёрточных слоёв в модуле multi-receptive field fusion (MRF).
  • initializer_range (float, необязательный, по умолчанию 0.01) — Стандартное отклонение truncated_normal_initializer, используемое для инициализации всех матриц весов.
  • leaky_relu_slope (float, необязательный, по умолчанию 0.1) — Угол отрицательного наклона, используемого активацией leaky ReLU.
  • normalize_before (bool, необязательный, по умолчанию True) — Указывает, следует ли нормализовать спектрограмму перед вокодером, используя усреднённые значения и дисперсию, выученные вокодером.

Это класс конфигурации для хранения конфигурации модели FastSpeech2ConformerModel. Он используется для создания модели Fastspeech2 Conformer в соответствии с указанными аргументами, определяя архитектуру модели. Создание конфигурации с параметрами по умолчанию даст конфигурацию, аналогичную конфигурации espnet/fastspeech2_conformer_with_hifigan

Объекты конфигурации наследуются от PreTrainedConfig и могут использоваться для управления выводами модели. Подробнее читайте в документации PreTrainedConfig.

Пример:

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

класс 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 )

Параметры

  • model_config (FastSpeech2ConformerConfig | dict, необязательный) — Конфигурация модели синтеза речи.
  • vocoder_config (FastSpeech2ConformerHiFiGanConfig | dict, необязательный) — Конфигурация модели вокодера.

Это класс конфигурации для хранения конфигурации модели FastSpeech2ConformerModel. Он используется для создания модели Fastspeech2 Conformer в соответствии с указанными аргументами, определяя архитектуру модели. Создание конфигурации с параметрами по умолчанию даст конфигурацию, аналогичную конфигурации espnet/fastspeech2_conformer_with_hifigan

Объекты конфигурации наследуются от PreTrainedConfig и могут использоваться для управления выводами модели. Подробнее читайте в документации PreTrainedConfig.

Пример:

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

класс transformers.FastSpeech2ConformerTokenizer

< >

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

Параметры

  • vocab_file (str) — Путь к файлу словаря.
  • bos_token (str, необязательный, по умолчанию "<sos/eos>") — Токен начала последовательности. Обратите внимание, что для FastSpeech2 он совпадает с eos_token.
  • eos_token (str, необязательный, по умолчанию "<sos/eos>") — Токен конца последовательности. Обратите внимание, что для FastSpeech2 он совпадает с bos_token.
  • pad_token (str, необязательный, по умолчанию "<blank>") — Токен, используемый для выравнивания (padding), например, при пакетной обработке последовательностей разной длины.
  • unk_token (str, необязательный, по умолчанию "<unk>") — Токен неизвестного слова. Токен, отсутствующий в словаре, не может быть преобразован в ID, поэтому вместо него используется этот токен.
  • should_strip_spaces (bool, необязательный, по умолчанию False) — Удалять ли пробелы из списка токенов.

Создайте токенизатор FastSpeech2Conformer.

__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

Параметры

  • text (str, list[str], list[list[str]], необязательный) — Последовательность или батч последовательностей для кодирования. Каждая последовательность может быть строкой или списком строк (предварительно токенизированная строка). Если последовательности предоставлены в виде списка строк (предварительно токенизированных), необходимо установить is_split_into_words=True (чтобы устранить неоднозначность с батчем последовательностей).
  • text_pair (str, list[str], list[list[str]], необязательный) — Последовательность или батч последовательностей для кодирования. Каждая последовательность может быть строкой или списком строк (предварительно токенизированная строка). Если последовательности предоставлены в виде списка строк (предварительно токенизированных), необходимо установить is_split_into_words=True (чтобы устранить неоднозначность с батчем последовательностей).
  • text_target (str, list[str], list[list[str]], необязательный) — Последовательность или батч последовательностей, которые будут закодированы как целевые тексты. Каждая последовательность может быть строкой или списком строк (предтокенизированная строка). Если последовательности предоставлены в виде списка строк (предтокенизированных), необходимо установить is_split_into_words=True (чтобы устранить неоднозначность с батчем последовательностей).
  • text_pair_target (str, list[str], list[list[str]], необязательный) — Последовательность или батч последовательностей, которые будут закодированы как целевые тексты. Каждая последовательность может быть строкой или списком строк (предтокенизированная строка). Если последовательности предоставлены в виде списка строк (предтокенизированных), необходимо установить is_split_into_words=True (чтобы устранить неоднозначность с батчем последовательностей).
  • tokenizer_kwargs (dict[str, Any], необязательный) — Дополнительные kwargs для передачи в токенизатор. Они будут объединены с явными параметрами и другими kwargs, при этом явные параметры имеют приоритет.
  • add_special_tokens (bool, необязательный, по умолчанию True) — Указывает, следует ли добавлять специальные токены при кодировании последовательностей. Для этого используется базовая функция PretrainedTokenizerBase.build_inputs_with_special_tokens, которая определяет, какие токены автоматически добавляются к входным идентификаторам. Это полезно, если вы хотите автоматически добавлять токены bos или eos.
  • padding (bool, str или PaddingStrategy, необязательный, по умолчанию False) — Включает и управляет выравниванием. Принимает следующие значения:
    • True или 'longest': дополнить до самой длинной последовательности в батче (или не дополнять, если предоставлена только одна последовательность).
    • 'max_length': Дополнить до максимальной длины, указанной аргументом max_length, или до максимально допустимой длины входных данных для модели, если этот аргумент не указан.
    • False или 'do_not_pad' (по умолчанию): без дополнения нулями (т. е. может выводить батч с последовательностями разной длины).
  • truncation (bool, str или TruncationStrategy, необязательный, по умолчанию False) — Включает и управляет усечением. Принимает следующие значения:
    • True или 'longest_first': обрезка до максимальной длины, заданной аргументом max_length, или до максимально допустимой длины входа для модели, если этот аргумент не указан. Обрезка выполняется посимвольно: если предоставлена пара последовательностей (или батч пар), то токен удаляется из самой длинной последовательности в паре.
    • 'only_first': Обрезка до максимальной длины, указанной аргументом max_length, или до максимально допустимой длины входа для модели, если этот аргумент не задан. Если предоставлена пара последовательностей (или батч пар), будет обрезана только первая последовательность пары.
    • 'only_second': Обрезка до максимальной длины, указанной аргументом max_length, или до максимальной допустимой длины входа для модели, если этот аргумент не задан. Это приводит к обрезке только второй последовательности в паре, если предоставлена пара последовательностей (или батч пар).
    • False или 'do_not_truncate' (по умолчанию): без усечения (т.е. может выдать батч с длиной последовательности, превышающей максимальный допустимый размер входа модели).
  • max_length (int, необязательный) — Управляет максимальной длиной, используемой одним из параметров усечения/дополнения.

    Если параметр не задан или установлен в None, будет использована предопределённая максимальная длина модели, если одна из параметров усечения/дополнения требует указания максимальной длины. Если у модели нет конкретной максимальной длины входных данных (как у XLNet), усечение/дополнение до максимальной длины будет отключено.

  • stride (int, необязательный, по умолчанию 0) — Если задано число вместе с max_length, то переполненные токены, возвращаемые при return_overflowing_tokens=True, будут содержать некоторые токены из конца усечённой последовательности, чтобы обеспечить перекрытие между усечённой и переполненной последовательностями. Значение этого аргумента определяет количество перекрывающихся токенов.
  • is_split_into_words (bool, необязательный, по умолчанию False) — Указывает, является ли вход уже предтокенизированным (например, разбитым на слова). Если установлено в True, токенизатор предполагает, что вход уже разбит на слова (например, по пробелам), и токенизирует их. Это полезно для NER или классификации токенов.
  • pad_to_multiple_of (int, необязательный) — Если задано, последовательность будет дополнена до кратного указанного значения. Требуется, чтобы padding был активирован. Это особенно полезно для использования Tensor Cores на оборудовании NVIDIA с вычислительной способностью >= 7.5 (Volta).
  • padding_side (str, необязательный) — Сторона, на которой модель должна применять отступы. Следует выбрать одно из значений [‘right’, ‘left’]. Значение по умолчанию выбирается из атрибута класса с тем же именем.
  • return_tensors (str или TensorType, необязательный) — Если задано, возвращает тензоры вместо списка целых чисел Python. Допустимые значения:
    • 'pt': возвращает объекты torch.Tensor PyTorch.
    • 'np': возвращает объекты Numpy np.ndarray.
  • return_token_type_ids (bool, необязательный) — Возвращать ли идентификаторы типов токенов. Если значение не указано, идентификаторы типов токенов будут возвращены в соответствии со значением по умолчанию для конкретного токенизатора, заданным атрибутом return_outputs .

    Что такое идентификаторы типов токенов?

  • return_attention_mask (bool, необязательный) — Возвращать ли маску внимания. Если значение не указано, маска внимания будет возвращена в соответствии со значением по умолчанию для конкретного токенизатора, определяемым атрибутом return_outputs .

    Что такое маски внимания?

  • return_overflowing_tokens (bool, необязательный, по умолчанию False) — Возвращать ли последовательности токенов, выходящие за пределы длины. Если передается пара последовательностей входных идентификаторов (или батч пар) с truncation_strategy = longest_first или True, вместо возврата переполненных токенов будет выброшена ошибка.
  • return_special_tokens_mask (bool, необязательный, по умолчанию False) — Возвращать ли информацию о маске специальных токенов.
  • return_offsets_mapping (bool, необязательный, по умолчанию False) — Возвращать ли (char_start, char_end) для каждого токена.

    Это доступно только для быстрых токенизаторов, наследующих от PreTrainedTokenizerFast. Если используется токенизатор на Python, этот метод вызовет NotImplementedError.

  • return_length (bool, необязательный, по умолчанию False) — Возвращать ли длины закодированных входных данных.
  • verbose (bool, необязательный, по умолчанию True) — Выводить ли дополнительную информацию и предупреждения.
  • **kwargs — передаются в метод self.tokenize()

Возвращает

BatchEncoding

BatchEncoding со следующими полями:

  • input_ids — список идентификаторов токенов, которые передаются в модель.

    Что такое входные идентификаторы?

  • token_type_ids — список идентификаторов типов токенов, передаваемых в модель (если return_token_type_ids=True или если “token_type_ids” входит в self.model_input_names).

    Что такое идентификаторы типов токенов?

  • attention_mask — список индексов, указывающих, на какие токены модель должна обращать внимание (когда return_attention_mask=True или если “attention_mask” входит в self.model_input_names).

    Что такое маски внимания?

  • overflowing_tokens — список переполненных последовательностей токенов (если указано max_length и return_overflowing_tokens=True).

  • num_truncated_tokens — количество отсечённых токенов (если указано max_length и return_overflowing_tokens=True).

  • special_tokens_mask — список нулей и единиц, где 1 указывает на добавленные специальные токены, а 0 — на обычные токены последовательности (когда add_special_tokens=True и return_special_tokens_mask=True).

  • length — длина входных данных (когда return_length=True)

Основной метод для токенизации и подготовки одной или нескольких последовательностей или одной или нескольких пар последовательностей для модели.

save_vocabulary

< >

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

Параметры

  • save_directory (str) — Каталог, в котором сохраняется словарь.

Возвращает

Tuple(str)

Пути к сохранённым файлам.

Сохраните файл словаря и специальных токенов в каталог.

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]

Параметры

  • sequences (Union[list[int], list[list[int]], np.ndarray, torch.Tensor]) — Список токенизированных входных идентификаторов. Может быть получен с помощью метода __call__.
  • skip_special_tokens (bool, необязательный, по умолчанию False) — Удалять ли специальные токены при декодировании.
  • clean_up_tokenization_spaces (bool, необязательный) — Определяет, следует ли очищать пробелы токенизации. Если None, по умолчанию используется self.clean_up_tokenization_spaces.
  • kwargs (дополнительные именованные аргументы, необязательный) — Будут переданы в метод декодирования, специфичный для базовой модели.

Возвращает

list[str]

Список декодированных предложений.

Преобразуйте список списков идентификаторов токенов в список строк, вызвав decode.

Этот метод предоставляется для обратной совместимости. Метод decode теперь нативно обрабатывает пакетный ввод, поэтому вы можете использовать decode напрямую вместо batch_decode.

FastSpeech2ConformerModel

класс transformers.FastSpeech2ConformerModel

< >

( config: FastSpeech2ConformerConfig )

Параметры

  • config (FastSpeech2ConformerConfig) — Класс конфигурации модели, содержащий все параметры модели. Инициализация с помощью файла конфигурации не загружает веса, связанные с моделью, а только конфигурацию. Используйте метод from_pretrained() для загрузки весов модели.

Модель FastSpeech2Conformer.

Эта модель наследуется от PreTrainedModel. См. документацию родительского класса для общих методов, которые библиотека реализует для всех своих моделей (например, загрузка или сохранение, изменение размера входных эмбеддингов, обрезка голов и т. д.)

Эта модель также является подклассом torch.nn.Module в PyTorch. Используйте её как обычный модуль PyTorch и обращайтесь к документации PyTorch по всем вопросам, связанным с общим использованием и поведением.

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)

Параметры

  • input_ids (torch.LongTensor формы (batch_size, sequence_length)) — Входная последовательность текстовых векторов.
  • attention_mask (torch.LongTensor формы (batch_size, sequence_length), , необязательный) — Маска для исключения токенов-заполнителей из внимания. Значения маски из диапазона [0, 1]:
    • 1 для токенов, которые не замаскированы,
    • 0 для токенов, которые замаскированы.

    Что такое маски внимания?

  • spectrogram_labels (torch.Tensor формы (batch_size, max_spectrogram_length, num_mel_bins), необязательный, по умолчанию None) — Партия дополненных целевых признаков.
  • duration_labels (torch.LongTensor формы (batch_size, sequence_length + 1), необязательный, по умолчанию None) — Партия дополненных длительностей.
  • pitch_labels (torch.Tensor формы (batch_size, sequence_length + 1, 1), необязательный, по умолчанию None) — Пакет дополненных усреднённых по токенам значений высоты тона.
  • energy_labels (torch.Tensor формы (batch_size, sequence_length + 1, 1), необязательный, по умолчанию None) — Пакет усреднённых по токенам значений энергии с дополнением.
  • speaker_ids (torch.LongTensor формы (batch_size, 1), необязательный, по умолчанию None) — Идентификаторы говорящих, используемые для условного формирования признаков речевого вывода модели.
  • lang_ids (torch.LongTensor формы (batch_size, 1), необязательный, по умолчанию None) — Идентификаторы языка, используемые для условного формирования признаков речевого вывода модели.
  • speaker_embedding (torch.Tensor формы (batch_size, embedding_dim), необязательный, по умолчанию None) — Векторное представление, содержащее сигналы для условного формирования признаков речи.
  • return_dict (bool, необязательный) — Указывает, следует ли возвращать ModelOutput вместо обычного кортежа.
  • output_attentions (bool, необязательный) — Указывает, следует ли возвращать тензоры внимания всех слоев внимания. Подробности см. в описании attentions в разделе возвращаемых тензоров.
  • output_hidden_states (bool, необязательный) — Указывает, следует ли возвращать скрытые состояния всех слоев. Подробности см. в описании hidden_states среди возвращаемых тензоров.

Возвращает

FastSpeech2ConformerModelOutput или tuple(torch.Tensor)

FastSpeech2ConformerModelOutput или кортеж из torch.Tensor (если передано return_dict=False или если config.return_dict=False), содержащий различные элементы в зависимости от конфигурации (FastSpeech2ConformerConfig) и входных данных.

Метод forward модели FastSpeech2ConformerModel переопределяет специальный метод __call__.

Хотя рецепт для прямого прохода должен быть определён внутри этой функции, после этого следует вызывать экземпляр Module, а не эту функцию, поскольку первый вариант обеспечивает выполнение шагов предварительной и последующей обработки, тогда как второй молча их игнорирует.

  • loss (torch.Tensor формы (1,), необязательный, возвращается, если задан labels) — Потеря генерации спектрограммы.

  • спектрограмма (torch.Tensor формы (batch_size, sequence_length, num_bins), необязательный) — Предсказанная спектрограмма.

  • encoder_last_hidden_state (torch.Tensor формы (batch_size, sequence_length, hidden_size), необязательный) — Последовательность скрытых состояний на выходе последнего слоя энкодера модели.

  • encoder_hidden_states (tuple[torch.Tensor], необязательный, возвращается, если передано output_hidden_states=True или если config.output_hidden_states=True) — Кортеж torch.Tensor (один для вывода слоя встраиваний, если модель имеет слой встраиваний, + один для вывода каждого слоя) формы (batch_size, sequence_length, hidden_size).

    Скрытые состояния кодировщика на выходе каждого слоя, а также выходные значения начального слоя встраиваний.

  • encoder_attentions (tuple[torch.Tensor], необязательный, возвращается при передаче output_attentions=True или когда config.output_attentions=True) — Кортеж torch.Tensor (по одному на каждый слой) формы (batch_size, num_heads, sequence_length, sequence_length).

    Веса внимания энкодера после softmax внимания, используемые для вычисления взвешенного среднего в головах само-внимания.

  • decoder_hidden_states (tuple[torch.Tensor], необязательный, возвращается при передаче output_hidden_states=True или при config.output_hidden_states=True) — Кортеж torch.Tensor (один для вывода эмбеддингов, если у модели есть слой эмбеддингов, + один для вывода каждого слоя) формы (batch_size, sequence_length, hidden_size).

    Скрытые состояния декодера на выходе каждого слоя, а также выходные значения начального слоя встраивания.

  • decoder_attentions (tuple[torch.Tensor], необязательный, возвращается при передаче output_attentions=True или когда config.output_attentions=True) — Кортеж torch.Tensor (по одному на каждый слой) формы (batch_size, num_heads, sequence_length, sequence_length).

    Веса внимания декодера после softmax внимания, используемые для вычисления взвешенного среднего в головах само-внимания.

  • duration_outputs (torch.LongTensor формы (batch_size, max_text_length + 1), необязательный) — Выходы предиктора длительности.

  • pitch_outputs (torch.Tensor формы (batch_size, max_text_length + 1, 1), необязательный) — Выходы предиктора высоты тона.

  • energy_outputs (torch.Tensor формы (batch_size, max_text_length + 1, 1), необязательный) — Выходы предиктора энергии.

Пример:

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

класс transformers.FastSpeech2ConformerHifiGan

< >

( config: FastSpeech2ConformerHifiGanConfig )

Параметры

  • config (FastSpeech2ConformerHifiGanConfig) — Класс конфигурации модели, содержащий все параметры модели. Инициализация с помощью файла конфигурации не загружает веса, связанные с моделью, а только конфигурацию. Используйте метод from_pretrained() для загрузки весов модели.

Вокодер HiFi-GAN.

Эта модель наследуется от PreTrainedModel. См. документацию родительского класса для общих методов, которые библиотека реализует для всех своих моделей (например, загрузка или сохранение, изменение размера входных эмбеддингов, обрезка голов и т. д.)

Эта модель также является подклассом torch.nn.Module в PyTorch. Используйте её как обычный модуль PyTorch и обращайтесь к документации PyTorch по всем вопросам, связанным с общим использованием и поведением.

forward

< >

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

Параметры

  • spectrogram (torch.Tensor) — Тензор, содержащий лог-мел-спектрограммы. Может быть батчевым с формой (batch_size, sequence_length, config.model_in_dim) или небатчевым с формой (sequence_length, config.model_in_dim).

Возвращает

torch.Tensor

Тензор, содержащий звуковую волну. Если входная спектрограмма имеет батч, форма будет (batch_size, num_frames,). Если без батча, форма будет (num_frames,).

Преобразует лог-мел-спектрограмму в речевую волну. Передача батча лог-мел-спектрограмм возвращает батч речевых волн. Передача одной, не сгруппированной в батч лог-мел-спектрограммы возвращает одну, не сгруппированную в батч речевую волну.

FastSpeech2ConformerWithHifiGan

class transformers.FastSpeech2ConformerWithHifiGan

< >

( config: FastSpeech2ConformerWithHifiGanConfig )

Параметры

  • config (FastSpeech2ConformerWithHifiGanConfig) — Класс конфигурации модели, содержащий все параметры модели. Инициализация с помощью файла конфигурации не загружает веса, связанные с моделью, а только конфигурацию. Используйте метод from_pretrained() для загрузки весов модели.

Модель FastSpeech2ConformerModel с головой вокодера FastSpeech2ConformerHifiGan, выполняющей синтез речи из текста (генерацию аудиосигнала).

Эта модель наследуется от PreTrainedModel. См. документацию родительского класса для общих методов, которые библиотека реализует для всех своих моделей (например, загрузка или сохранение, изменение размера входных эмбеддингов, обрезка голов и т. д.)

Эта модель также является подклассом torch.nn.Module в PyTorch. Используйте её как обычный модуль PyTorch и обращайтесь к документации PyTorch по всем вопросам, связанным с общим использованием и поведением.

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)

Параметры

  • input_ids (torch.LongTensor формы (batch_size, sequence_length)) — Входная последовательность текстовых векторов.
  • attention_mask (torch.LongTensor формы (batch_size, sequence_length), , необязательный) — Маска для исключения токенов-заполнителей из внимания. Значения маски из диапазона [0, 1]:
    • 1 для токенов, которые не замаскированы,
    • 0 для токенов, которые замаскированы.

    Что такое маски внимания?

  • spectrogram_labels (torch.Tensor формы (batch_size, max_spectrogram_length, num_mel_bins), необязательный, по умолчанию None) — Партия дополненных целевых признаков.
  • duration_labels (torch.LongTensor формы (batch_size, sequence_length + 1), необязательный, по умолчанию None) — Партия дополненных длительностей.
  • pitch_labels (torch.Tensor формы (batch_size, sequence_length + 1, 1), необязательный, по умолчанию None) — Пакет дополненных усреднённых по токенам значений высоты тона.
  • energy_labels (torch.Tensor формы (batch_size, sequence_length + 1, 1), необязательный, по умолчанию None) — Пакет усреднённых по токенам значений энергии с дополнением.
  • speaker_ids (torch.LongTensor формы (batch_size, 1), необязательный, по умолчанию None) — Идентификаторы говорящих, используемые для условного формирования признаков речевого вывода модели.
  • lang_ids (torch.LongTensor формы (batch_size, 1), необязательный, по умолчанию None) — Идентификаторы языка, используемые для условного формирования признаков речевого вывода модели.
  • speaker_embedding (torch.Tensor формы (batch_size, embedding_dim), необязательный, по умолчанию None) — Векторное представление, содержащее сигналы для условного формирования признаков речи.
  • return_dict (bool, необязательный) — Указывает, следует ли возвращать ModelOutput вместо обычного кортежа.
  • output_attentions (bool, необязательный) — Указывает, следует ли возвращать тензоры внимания всех слоев внимания. Подробности см. в описании attentions в разделе возвращаемых тензоров.
  • output_hidden_states (bool, необязательный) — Указывает, следует ли возвращать скрытые состояния всех слоев. Подробности см. в описании hidden_states среди возвращаемых тензоров.

Возвращает

FastSpeech2ConformerModelOutput или tuple(torch.Tensor)

FastSpeech2ConformerModelOutput или кортеж из torch.Tensor (если передано return_dict=False или если config.return_dict=False), содержащий различные элементы в зависимости от конфигурации (FastSpeech2ConformerConfig) и входных данных.

Метод forward класса FastSpeech2ConformerWithHifiGan переопределяет специальный метод __call__.

Хотя рецепт для прямого прохода должен быть определён внутри этой функции, после этого следует вызывать экземпляр Module, а не эту функцию, поскольку первый вариант обеспечивает выполнение шагов предварительной и последующей обработки, тогда как второй молча их игнорирует.

  • loss (torch.Tensor формы (1,), необязательный, возвращается, если задан labels) — Потеря генерации спектрограммы.

  • спектрограмма (torch.Tensor формы (batch_size, sequence_length, num_bins), необязательный) — Предсказанная спектрограмма.

  • encoder_last_hidden_state (torch.Tensor формы (batch_size, sequence_length, hidden_size), необязательный) — Последовательность скрытых состояний на выходе последнего слоя энкодера модели.

  • encoder_hidden_states (tuple[torch.Tensor], необязательный, возвращается, если передано output_hidden_states=True или если config.output_hidden_states=True) — Кортеж torch.Tensor (один для вывода слоя встраиваний, если модель имеет слой встраиваний, + один для вывода каждого слоя) формы (batch_size, sequence_length, hidden_size).

    Скрытые состояния кодировщика на выходе каждого слоя, а также выходные значения начального слоя встраиваний.

  • encoder_attentions (tuple[torch.Tensor], необязательный, возвращается при передаче output_attentions=True или когда config.output_attentions=True) — Кортеж torch.Tensor (по одному на каждый слой) формы (batch_size, num_heads, sequence_length, sequence_length).

    Веса внимания энкодера после softmax внимания, используемые для вычисления взвешенного среднего в головах само-внимания.

  • decoder_hidden_states (tuple[torch.Tensor], необязательный, возвращается при передаче output_hidden_states=True или при config.output_hidden_states=True) — Кортеж torch.Tensor (один для вывода эмбеддингов, если у модели есть слой эмбеддингов, + один для вывода каждого слоя) формы (batch_size, sequence_length, hidden_size).

    Скрытые состояния декодера на выходе каждого слоя, а также выходные значения начального слоя встраивания.

  • decoder_attentions (tuple[torch.Tensor], необязательный, возвращается при передаче output_attentions=True или когда config.output_attentions=True) — Кортеж torch.Tensor (по одному на каждый слой) формы (batch_size, num_heads, sequence_length, sequence_length).

    Веса внимания декодера после softmax внимания, используемые для вычисления взвешенного среднего в головах само-внимания.

  • duration_outputs (torch.LongTensor формы (batch_size, max_text_length + 1), необязательный) — Выходы предиктора длительности.

  • pitch_outputs (torch.Tensor формы (batch_size, max_text_length + 1, 1), необязательный) — Выходы предиктора высоты тона.

  • energy_outputs (torch.Tensor формы (batch_size, max_text_length + 1, 1), необязательный) — Выходы предиктора энергии.

Пример:

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