Transformers documentation

Аудиотокенизатор Pocket TTS

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

Эта модель была добавлена в Hugging Face Transformers 2026-10-20.

Аудиотокенизатор Pocket TTS

Обзор

Аудиотокенизатор Pocket TTS: кодек с архитектурой Mimi (свёртки SEANet и небольшой каузальный трансформер с каждой стороны), в котором остаточный векторный квантизатор заменён непрерывным 32-мерным бутылочным горлышком, VAE-GAN из Continuous Audio Language Models. Он преобразует аудио 24 кГц в латенты с частотой 12,5 Гц и обратно. Его энкодер и декодер можно загрузить по отдельности (PocketTTSAudioTokenizerEncoderModel, PocketTTSAudioTokenizerDecoderModel). Это audio_tokenizer в PocketTTSProcessor, общий для всех чекпоинтов Pocket TTS: процессор кодирует голосовые промпты с его помощью и декодирует сгенерированные латенты.

Эта модель была предоставлена Eustache Le Bihan. Исходный код — kyutai-labs/pocket-tts.

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

from datasets import Audio, load_dataset
from transformers import AutoFeatureExtractor, AutoModel

model = AutoModel.from_pretrained("eustlb/pocket-tts-audio-tokenizer", device_map="auto")
feature_extractor = AutoFeatureExtractor.from_pretrained("eustlb/pocket-tts-audio-tokenizer")

dataset = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
dataset = dataset.cast_column("audio", Audio(sampling_rate=24000))
inputs = feature_extractor(dataset[0]["audio"]["array"], sampling_rate=24000, return_tensors="pt").to(model.device)

latents = model.encode(**inputs).latents
audio_values = model.decode(latents).audio_values

PocketTTSAudioTokenizerConfig

класс transformers.PocketTTSAudioTokenizerConfig

< >

( 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 = Nonesampling_rate: int = 24000audio_channels: int = 1hidden_size: int = 512num_filters: int = 64num_residual_layers: int = 1upsampling_ratios: list[int] | None = Nonekernel_size: int = 7last_kernel_size: int = 3residual_kernel_size: int = 3dilation_growth_rate: int = 2use_causal_conv: bool = Truepad_mode: str = 'constant'compress: int = 2trim_right_ratio: float = 1.0use_conv_shortcut: bool = Falseupsample_groups: int = 512num_hidden_layers: int = 2intermediate_size: int = 2048num_attention_heads: int = 8num_key_value_heads: int = 8head_dim: int | None = Nonehidden_act: str = 'gelu_pytorch_tanh'max_position_embeddings: int = 8000initializer_range: float = 0.02norm_eps: float = 1e-05use_cache: bool = Falseuse_streaming: bool = Falserope_parameters: transformers.modeling_rope_utils.RopeParameters | dict | None = Nonesliding_window: int = 250attention_dropout: float | int = 0.0layer_scale_initial_scale: float = 0.01attention_bias: bool = Falselatent_stride: int = 16latent_dim: int = 32 )

Параметры

  • sampling_rate (int, необязательный, по умолчанию 24000) — Частота дискретизации, с которой аудиофайлы должны быть оцифрованы, выраженная в герцах (Гц).
  • audio_channels (int, необязательный, по умолчанию 1) — Количество каналов в аудиоданных; опубликованные контрольные точки и данная реализация используют моно.
  • hidden_size (int, необязательный, по умолчанию 512) — Размерность скрытых представлений.
  • num_filters (int, необязательный, по умолчанию 64) — Количество свёрточных ядер первого слоя PocketTTSAudioTokenizerConv1d в кодере.
  • num_residual_layers (int, необязательный, по умолчанию 1) — Количество остаточных слоёв.
  • upsampling_ratios (list[int], необязательный) — Соотношения размеров ядра и шага для транспонированных свёрток декодера; энкодер использует их в обратном порядке. Если не указано, по умолчанию [6, 5, 4].
  • kernel_size (int, необязательный, по умолчанию 7) — Размер свёрточного ядра.
  • last_kernel_size (int, необязательный, по умолчанию 3) — Размер ядра для последнего свёрточного слоя.
  • residual_kernel_size (int, необязательный, по умолчанию 3) — Размер ядра для остаточных слоёв.
  • dilation_growth_rate (int, необязательный, по умолчанию 2) — Во сколько раз увеличивать дилатацию на каждом слое.
  • use_causal_conv (bool, необязательный, по умолчанию True) — Использовать ли полностью каузальную свёртку.
  • pad_mode (str, необязательный, по умолчанию "constant") — Режим дополнения (padding) для свёрток.
  • compress (int, необязательный, по умолчанию 2) — Сокращённая размерность в остаточных ветвях.
  • trim_right_ratio (float, необязательный, по умолчанию 1.0) — Коэффициент обрезки справа для транспонированной свёртки при настройке use_causal_conv = True. Если равен 1.0, это означает, что вся обрезка выполняется справа.
  • use_conv_shortcut (bool, необязательный, по умолчанию False) — Использовать ли свёртку в качестве обходного соединения (skip connection) в остаточных блоках SEANet; в опубликованных контрольных точках это не используется.
  • upsample_groups (int, необязательный, по умолчанию 512) — Количество групп в транспонированной свёртке, которая повышает разрешение латентов до частоты SEANet.
  • num_hidden_layers (int, необязательный, по умолчанию 2) — Количество скрытых слоев в декодере Transformer.
  • intermediate_size (int, необязательный, по умолчанию 2048) — Размерность представлений MLP.
  • num_attention_heads (int, необязательный, по умолчанию 8) — Количество головок внимания в каждом слое внимания декодера Transformer.
  • num_key_value_heads (int, необязательный, по умолчанию 8) — Это количество ключевых и value-голов, используемых для реализации Grouped Query Attention. Если num_key_value_heads=num_attention_heads, модель использует Multi Head Attention (MHA); если num_key_value_heads=1 — Multi Query Attention (MQA); в остальных случаях применяется GQA. При конвертации мультиголовного чекпоинта в GQA-чекпоинт каждая групповая ключевая и value-голова должна конструироваться путем усреднения (meanpooling) всех исходных голов в этой группе. Дополнительные подробности — в этой статье. Если значение не указано, по умолчанию используется num_attention_heads.
  • head_dim (int, необязательный) — Размер измерения головы внимания. Если значение равно None, по умолчанию используется hidden_size // num_attention_heads
  • hidden_act (str, необязательный, по умолчанию gelu_pytorch_tanh) — Нелинейная функция активации (функция или строка) в декодере. Например, "gelu", "relu", "silu" и т. д.
  • max_position_embeddings (int, необязательный, по умолчанию 8000) — Максимальная длина последовательности, с которой может использоваться эта модель.
  • initializer_range (float, необязательный, по умолчанию 0.02) — Стандартное отклонение truncated_normal_initializer, используемое для инициализации всех матриц весов.
  • norm_eps (float, необязательный, по умолчанию 1e-05) — Значение epsilon, используемое слоями нормализации.
  • use_cache (bool, необязательный, по умолчанию False) — Указывает, должен ли модель возвращать последние ключи/значения внимания (не используется во всех моделях). Актуально только если config.is_decoder=True или если модель является генеративной моделью только с декодером.
  • use_streaming (bool, необязательный, по умолчанию False) — Указывает, включён ли по умолчанию режим потоковой обработки в кодировщике: в этом случае он возвращает кэш заполнителей и кэш ключей-значений для передачи в следующий вызов.
  • rope_parameters (Union[~modeling_rope_utils.RopeParameters, dict], необязательный) — Словарь, содержащий параметры конфигурации для эмбеддингов RoPE. Словарь должен содержать значение для rope_theta и, при необходимости, параметры, используемые для масштабирования, если вы хотите использовать RoPE с более длинными max_position_embeddings.
  • sliding_window (int, необязательный, по умолчанию 250) — Размер окна скользящего внимания. Если None, скользящее окно не применяется.
  • attention_dropout (Union[float, int], необязательный, по умолчанию 0.0) — Коэффициент dropout для вероятностей внимания.
  • layer_scale_initial_scale (float, необязательный, по умолчанию 0.01) — Масштаб, используемый в слоях само-внимания. 0.1 для базовой модели, 1e-6 для крупной. Установите 0, чтобы отключить масштабирование слоя.
  • attention_bias (bool, необязательный, по умолчанию False) — Использовать ли смещение (bias) в слоях проекции query, key, value и output при само-внимании.
  • latent_stride (int, необязательный, по умолчанию 16) — Число кадров SEANet на один латентный кадр: шаг свёртки энкодера, которая уменьшает размерность выходных данных SEANet до латентов, и шага транспонированной свёртки декодера, которая восстанавливает их обратно. Один латентный кадр покрывает prod(upsampling_ratios) * latent_stride аудиовыборок (frame_size, 1920 для опубликованных контрольных точек).
  • latent_dim (int, необязательный, по умолчанию 32) — Размерность непрерывных латентов. Резидуальный векторный квантизатор Mimi заменяется этим бутылочным горлышком: свёртка понижающей дискретизации в кодере выводит latent_dim каналов, а декодер проецирует их обратно в hidden_size перед повышающей дискретизацией.

Это класс конфигурации для хранения конфигурации модели PocketTTSAudioTokenizerModel. Он используется для создания модели Pocket Tts Audio Tokenizer в соответствии с указанными аргументами, определяя архитектуру модели. Создание конфигурации с параметрами по умолчанию даст конфигурацию, аналогичную конфигурации eustlb/pocket-tts-audio-tokenizer

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

Пример:

>>> from transformers import PocketTTSAudioTokenizerConfig, PocketTTSAudioTokenizerModel

>>> # a full codec, and its decoder alone
>>> model = PocketTTSAudioTokenizerModel(PocketTTSAudioTokenizerConfig())
>>> decoder_only = PocketTTSAudioTokenizerModel(PocketTTSAudioTokenizerConfig(encoder_config=None))

PocketTTSAudioTokenizerEncoderConfig

класс transformers.PocketTTSAudioTokenizerEncoderConfig

< >

( 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 = Nonesampling_rate: int = 24000audio_channels: int = 1hidden_size: int = 512num_filters: int = 64num_residual_layers: int = 1upsampling_ratios: list[int] | None = Nonekernel_size: int = 7last_kernel_size: int = 3residual_kernel_size: int = 3dilation_growth_rate: int = 2use_causal_conv: bool = Truepad_mode: str = 'constant'compress: int = 2trim_right_ratio: float = 1.0use_conv_shortcut: bool = Falseupsample_groups: int = 512num_hidden_layers: int = 2intermediate_size: int = 2048num_attention_heads: int = 8num_key_value_heads: int = 8head_dim: int | None = Nonehidden_act: str = 'gelu_pytorch_tanh'max_position_embeddings: int = 8000initializer_range: float = 0.02norm_eps: float = 1e-05use_cache: bool = Falseuse_streaming: bool = Falserope_parameters: transformers.modeling_rope_utils.RopeParameters | dict | None = Nonesliding_window: int = 250attention_dropout: float | int = 0.0layer_scale_initial_scale: float = 0.01attention_bias: bool = Falselatent_stride: int = 16latent_dim: int = 32 )

Конфигурация энкодерной части PocketTTSAudioTokenizer (энкодер SEANet, энкодер-трансформер и понижающая дискретизация). Она разделяет все поля с PocketTTSAudioTokenizerConfig (см. документацию для аргументов), поэтому её можно загрузить напрямую из полного чекпоинта PocketTTSAudioTokenizer.

PocketTTSAudioTokenizerDecoderConfig

класс transformers.PocketTTSAudioTokenizerDecoderConfig

< >

( 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 = Nonesampling_rate: int = 24000audio_channels: int = 1hidden_size: int = 512num_filters: int = 64num_residual_layers: int = 1upsampling_ratios: list[int] | None = Nonekernel_size: int = 7last_kernel_size: int = 3residual_kernel_size: int = 3dilation_growth_rate: int = 2use_causal_conv: bool = Truepad_mode: str = 'constant'compress: int = 2trim_right_ratio: float = 1.0use_conv_shortcut: bool = Falseupsample_groups: int = 512num_hidden_layers: int = 2intermediate_size: int = 2048num_attention_heads: int = 8num_key_value_heads: int = 8head_dim: int | None = Nonehidden_act: str = 'gelu_pytorch_tanh'max_position_embeddings: int = 8000initializer_range: float = 0.02norm_eps: float = 1e-05use_cache: bool = Falseuse_streaming: bool = Falserope_parameters: transformers.modeling_rope_utils.RopeParameters | dict | None = Nonesliding_window: int = 250attention_dropout: float | int = 0.0layer_scale_initial_scale: float = 0.01attention_bias: bool = Falselatent_stride: int = 16latent_dim: int = 32 )

Конфигурация декодерной части PocketTTSAudioTokenizer (апсемплинг, трансформер-декодер и декодер SEANet). Она разделяет все поля с PocketTTSAudioTokenizerConfig (см. документацию по аргументам), поэтому её можно загрузить напрямую из полного чекпоинта PocketTTSAudioTokenizer.

PocketTTSAudioTokenizerModel

класс transformers.PocketTTSAudioTokenizerModel

< >

( config: PocketTTSAudioTokenizerConfig )

Параметры

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

Аудиотокенизатор Pocket TTS: кодек с архитектурой Mimi, использующий непрерывное 32-мерное латентное пространство с частотой 12,5 Гц (VAE-GAN из Continuous Audio Language Models), который преобразует аудио с частотой 24 кГц в латенты и обратно.

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

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

encode

< >

( input_values: Tensorpadding_mask: typing.Optional[torch.Tensor] = Noneencoder_past_key_values: transformers.cache_utils.Cache | None = Nonepadding_cache: transformers.models.pocket_tts_audio_tokenizer.modeling_pocket_tts_audio_tokenizer.PocketTTSAudioTokenizerConv1dPaddingCache | None = Noneuse_streaming: bool | None = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> )

Параметры

  • input_values (torch.Tensor формы (batch_size, audio_channels, num_samples)) — Аудиосигнал, возвращаемый EncodecFeatureExtractor, который дополняет нулями до кратного config.frame_size выборок, как и в оригинале.
  • padding_mask (torch.Tensor формы (batch_size, num_samples), необязательный) — Маска аудиопризнаков (1) в отличие от заполнителей (0), на основе которой вычисляется latents_mask.
  • encoder_past_key_values (Cache, необязательный) — Кэш ключей и значений трансформера-энкодера, возвращаемый предыдущим вызовом при потоковой обработке.
  • padding_cache (PocketTTSAudioTokenizerConv1dPaddingCache, optional) — Кэш отступов для каузальных свёрток энкодера, возвращаемый предыдущим вызовом при потоковой обработке.
  • use_streaming (bool, необязательный) — Указывает, следует ли кодировать в потоковом режиме, возвращая кэши для передачи в следующий вызов.

Кодирует аудио в непрерывные латенты формы (batch_size, num_frames, latent_dim): латенты PocketTTSAudioTokenizerEncoderModel.forward(), сначала кадры.

decode

< >

( latents: Tensordecoder_past_key_values: transformers.cache_utils.Cache | None = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> )

Параметры

  • latents (torch.Tensor формы (batch_size, num_frames, latent_dim)) — Непрерывные латенты для декодирования, один кадр на config.frame_size аудиовыборок.
  • decoder_past_key_values (Cache, необязательный) — Кэш ключей и значений декодера трансформера, возвращаемый предыдущим вызовом при декодировании по частям.

Декодирует непрерывные латенты в аудио: латенты проецируются в hidden_size, после чего декодируются с помощью PocketTTSAudioTokenizerDecoderModel.forward().

forward

< >

( input_values: Tensorpadding_mask: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → PocketTTSAudioTokenizerOutput or tuple(torch.Tensor)

Параметры

  • input_values (torch.Tensor формы (batch_size, audio_channels, num_samples)) — Аудиосигнал, возвращаемый EncodecFeatureExtractor.
  • padding_mask (torch.Tensor формы (batch_size, num_samples), необязательный) — Маска аудиопризнаков (1) в отличие от заполнителей (0).

Возвращает

PocketTTSAudioTokenizerOutput или tuple(torch.Tensor)

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

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

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

  • latents (torch.Tensor формы (batch_size, num_frames, latent_dim)) — Непрерывные латенты аудио.
  • latents_mask (torch.LongTensor формы (batch_size, num_frames), необязательный) — Маска латентных кадров, вычисленная из аудиоданных (1), а не из заполнителей (0).
  • audio_values (torch.Tensor формы (batch_size, audio_channels, num_samples)) — Аудиосигнал, восстановленный из латентов.
  • hidden_states (tuple(torch.Tensor), необязательный, возвращается при output_hidden_states=True) — Скрытые состояния трансформера-кодировщика на выходе каждого слоя, включая его вход.
  • attentions (tuple(torch.Tensor), необязательный, возвращается при output_attentions=True) — Веса внимания каждого слоя трансформера-кодировщика.

PocketTTSAudioTokenizerEncoderModel

класс transformers.PocketTTSAudioTokenizerEncoderModel

< >

( config: PocketTTSAudioTokenizerEncoderConfig )

Параметры

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

Кодировательная часть PocketTTSAudioTokenizer: кодировщик SEANet, трансформер-кодировщик и понижающая дискретизация, преобразующие аудио в непрерывные латенты.

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

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

forward

< >

( input_values: Tensorpadding_mask: typing.Optional[torch.Tensor] = Nonepast_key_values: transformers.cache_utils.Cache | None = Nonepadding_cache: transformers.models.pocket_tts_audio_tokenizer.modeling_pocket_tts_audio_tokenizer.PocketTTSAudioTokenizerConv1dPaddingCache | None = Noneuse_streaming: bool | None = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → PocketTTSAudioTokenizerEncoderModelOutput or tuple(torch.Tensor)

Параметры

  • input_values (torch.Tensor формы (batch_size, channels, sequence_length)) — Значения типа float для входной аудиоволны.
  • padding_mask (torch.Tensor формы (batch_size, channels, sequence_length), необязательный) — Указывает, какие входные данные следует игнорировать из-за отступов (padding), где элементы равны 1 для не замаскированных или 0 для замаскированных.
  • past_key_values (Cache, необязательный) — Предвычисленные скрытые состояния (ключи и значения в блоках само-внимания) трансформера-кодировщика, используемые для ускорения потокового кодирования.
  • padding_cache (PocketTTSAudioTokenizerConv1dPaddingCache, optional) — Кэш отступов для каузальных свёрток, используемый для потокового кодирования.
  • use_streaming (bool, необязательный) — Указывает, следует ли кодировать в потоковом режиме, возвращая кэши для передачи в следующий вызов.
  • Encodes входную аудиоволну в непрерывные латенты формы (batch_size, latent_dim, frames). —

Возвращает

PocketTTSAudioTokenizerEncoderModelOutput или tuple(torch.Tensor)

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

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

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

  • latents (torch.Tensor формы (batch_size, latent_dim, frames)) — Непрерывные латенты аудио, один кадр на config.frame_size аудиовыборок.
  • past_key_values (Cache, необязательный) — предварительно вычисленные скрытые состояния (ключи и значения в блоках само-внимания) трансформера-кодировщика, возвращаемые при потоковой обработке.
  • padding_cache (PocketTTSAudioTokenizerConv1dPaddingCache, optional) — Кэш отступов для каузальных свёрток в PocketTTSAudioTokenizerConv1d, обеспечивающий поддержку потоковой обработки за счёт отступов в кэше.
  • hidden_states (tuple(torch.Tensor), необязательный, возвращается при output_hidden_states=True) — Скрытые состояния трансформера-кодировщика на выходе каждого слоя, включая его вход.
  • attentions (tuple(torch.Tensor), необязательный, возвращается при output_attentions=True) — Веса внимания каждого слоя трансформера-кодировщика.

PocketTTSAudioTokenizerDecoderModel

класс transformers.PocketTTSAudioTokenizerDecoderModel

< >

( config: PocketTTSAudioTokenizerDecoderConfig )

Параметры

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

Декодерская часть PocketTTSAudioTokenizer: апсемплинг, декодер-трансформер и декодер SEANet, преобразующие непрерывные латенты в аудио.

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

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

forward

< >

( latents: Tensorpadding_mask: typing.Optional[torch.Tensor] = Nonepast_key_values: transformers.cache_utils.Cache | None = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → PocketTTSAudioTokenizerDecoderOutput or tuple(torch.Tensor)

Параметры

  • latents (torch.Tensor формы (batch_size, hidden_size, frames)) — Непрерывные латенты для декодирования, вычисленные с помощью PocketTTSAudioTokenizerModel.decode().
  • padding_mask (torch.Tensor формы (batch_size, channels, sequence_length), необязательный) — Указывает, какие входные данные следует игнорировать из-за отступов (padding), где элементы равны 1 для не замаскированных или 0 для замаскированных.
  • past_key_values (Cache, необязательный) — Предвычисленные скрытые состояния (ключи и значения в блоках само-внимания) декодера-трансформера, используемые для ускорения потокового декодирования.
  • Decodes преобразует указанные кадры в выходную аудиоволну. Обратите внимание, что выходной сигнал может быть немного больше, чем —
  • input. В этом случае любые дополнительные шаги в конце можно отбросить. —

Возвращает

PocketTTSAudioTokenizerDecoderOutput или tuple(torch.Tensor)

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

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

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

  • audio_values (torch.Tensor формы (batch_size, audio_channels, num_samples), необязательный) — Декодированные значения аудио, полученные с помощью декодерной части PocketTTSAudioTokenizer.

  • decoder_past_key_values (Cache, необязательный) — заранее вычисленные скрытые состояния (ключи и значения в блоках само-внимания), которые можно использовать для ускорения последовательного декодирования декодерного трансформера. Обычно это past_key_values, возвращаемые моделью на предыдущем этапе декодирования, когда use_cache=True или config.use_cache=True.

    Модель будет выводить тот же формат кэша, который был передан на вход.

    Если используются past_key_values, пользователь может по желанию передать только последние audio_values или `audio_codes (те, для которых не заданы состояния прошлых ключевых значений в этой модели).

  • hidden_states (tuple(torch.Tensor), необязательный, возвращается при output_hidden_states=True) — Скрытые состояния декодера-трансформера на выходе каждого слоя, включая его вход.

  • attentions (tuple(torch.Tensor), необязательный, возвращается при output_attentions=True) — Веса внимания каждого слоя декодера трансформера.

Update on GitHub