Transformers documentation
Tokenizer audio Pocket TTS
Model ini disumbangkan ke Hugging Face Transformers pada 2026-10-20.
Tokenizer audio Pocket TTS
Ikhtisar
Audio tokenizer dari Pocket TTS: sebuah codec dengan arsitektur Mimi (konvolusi SEANet dan transformer kausal kecil di setiap sisi) di mana residual vector quantizer-nya diganti dengan bottleneck kontinu 32 dimensi, yaitu VAE-GAN dari Continuous Audio Language Models. Ia mengubah audio 24 kHz menjadi latents pada 12,5 Hz dan sebaliknya. Encoder dan decoder-nya dapat dimuat secara terpisah (PocketTTSAudioTokenizerEncoderModel, PocketTTSAudioTokenizerDecoderModel). Ini adalah audio_tokenizer dari PocketTTSProcessor, yang dibagikan oleh setiap checkpoint Pocket TTS: prosesor meng-encode voice prompt dengannya dan meng-decode latents yang dihasilkan.
Model ini disumbangkan oleh Eustache Le Bihan. Kode aslinya adalah kyutai-labs/pocket-tts.
Penggunaan
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_valuesPocketTTSAudioTokenizerConfig
kelas transformers.PocketTTSAudioTokenizerConfig
< source >( 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 )
Parameter
- sampling_rate (
int, opsional, default24000) — Laju sampling di mana file audio harus didigitalisasi, dinyatakan dalam hertz (Hz). - audio_channels (
int, opsional, default 1) — Jumlah channel dalam data audio; checkpoint yang dirilis, dan implementasi ini, adalah mono. - hidden_size (
int, opsional, default512) — Dimensi dari representasi tersembunyi. - num_filters (
int, opsional, default 64) — Jumlah kernel konvolusi dari lapisanPocketTTSAudioTokenizerConv1dpertama pada encoder. - num_residual_layers (
int, opsional, default 1) — Jumlah lapisan residual. - upsampling_ratios (
list[int], opsional) — Rasio ukuran kernel dan stride dari konvolusi transposed pada decoder; encoder menggunakannya dalam urutan terbalik. Jika tidak ditentukan, defaultnya adalah[6, 5, 4]. - kernel_size (
int, opsional, defaultnya7) — Ukuran kernel konvolusi. - last_kernel_size (
int, opsional, default 3) — Ukuran kernel untuk lapisan konvolusi terakhir. - residual_kernel_size (
int, opsional, default 3) — Ukuran kernel untuk lapisan residual. - dilation_growth_rate (
int, opsional, defaultnya 2) — Seberapa besar peningkatan dilation pada setiap layer. - use_causal_conv (
bool, opsional, defaultTrue) — Apakah akan menggunakan konvolusi kausal penuh. - pad_mode (
str, opsional, defaultnya"constant") — Mode padding untuk konvolusi. - compress (
int, opsional, default 2) — Dimensi yang dikurangi pada cabang residual. - trim_right_ratio (
float, opsional, default 1.0) — Rasio untuk pemotongan di sisi kanan dari transposed convolution di bawah setupuse_causal_conv = True. Jika sama dengan 1.0, artinya semua pemotongan dilakukan di sisi kanan. - use_conv_shortcut (
bool, opsional, defaultFalse) — Apakah akan menggunakan konvolusi sebagai koneksi skip dari blok residual SEANet; checkpoint yang dirilis tidak melakukannya. - upsample_groups (
int, opsional, default 512) — Jumlah grup dari konvolusi transposed yang melakukan upsample pada latents ke laju SEANet. - num_hidden_layers (
int, opsional, default2) — Jumlah lapisan tersembunyi dalam decoder Transformer. - intermediate_size (
int, opsional, default2048) — Dimensi representasi MLP. - num_attention_heads (
int, opsional, default8) — Jumlah attention heads untuk setiap lapisan attention di decoder Transformer. - num_key_value_heads (
int, opsional, default8) — Ini adalah jumlah key_value heads yang harus digunakan untuk mengimplementasikan Grouped Query Attention. Jikanum_key_value_heads=num_attention_heads, model akan menggunakan Multi Head Attention (MHA), jikanum_key_value_heads=1model akan menggunakan Multi Query Attention (MQA), selain itu GQA yang digunakan. Saat mengkonversi checkpoint multi-head menjadi checkpoint GQA, setiap group key dan value head harus dibangun dengan meanpooling semua head asli di dalam grup tersebut. Untuk detail lebih lanjut, lihat paper ini. Jika tidak ditentukan, akan default kenum_attention_heads. - head_dim (
int, opsional) — Dimensi head perhatian. Jika None, nilainya akan secara default menjadi hidden_size // num_attention_heads - hidden_act (
str, opsional, defaultnyagelu_pytorch_tanh) — Fungsi aktivasi non-linear (fungsi atau string) di decoder. Misalnya,"gelu","relu","silu", dan sebagainya. - max_position_embeddings (
int, opsional, default8000) — Panjang maksimum urutan yang mungkin digunakan dengan model ini. - initializer_range (
float, opsional, defaultnya0.02) — Standar deviasi dari truncated_normal_initializer untuk menginisialisasi semua matriks bobot. - norm_eps (
float, opsional, default1e-05) — Epsilon yang digunakan oleh lapisan normalisasi lapisan. - use_cache (
bool, opsional, defaultFalse) — Apakah model harus mengembalikan perhatian kunci/nilai terakhir (tidak digunakan oleh semua model). Hanya relevan jikaconfig.is_decoder=Trueatau ketika model adalah model generatif yang hanya decoder. - use_streaming (
bool, opsional, defaultFalse) — Apakah encoder secara default melakukan streaming: jika ya, encoder akan mengembalikan padding cache dan key-value cache untuk diteruskan ke pemanggilan berikutnya. - rope_parameters (
Union[~modeling_rope_utils.RopeParameters, dict], opsional) — Kamus yang berisi parameter konfigurasi untuk embedding RoPE. Kamus tersebut harus berisi nilai untukrope_thetadan secara opsional parameter yang digunakan untuk penskalaan jika Anda ingin menggunakan RoPE denganmax_position_embeddingsyang lebih panjang. - sliding_window (
int, opsional, default250) — Ukuran jendela untuk sliding window attention. JikaNone, sliding window tidak diterapkan. - attention_dropout (
Union[float, int], opsional, default0.0) — Rasio dropout untuk probabilitas perhatian. - layer_scale_initial_scale (
float, opsional, default0.01) — Skala yang digunakan pada lapisan self-attention. 0.1 untuk base, 1e-6 untuk large. Setel 0 untuk menonaktifkan layer scale. - attention_bias (
bool, opsional, defaultFalse) — Apakah akan menggunakan bias pada lapisan proyeksi query, key, value, dan output selama self-attention. - latent_stride (
int, opsional, default 16) — Jumlah frame SEANet per frame laten: stride dari konvolusi encoder yang menurunkan sampel output SEANet menjadi laten, dan dari konvolusi transposed decoder yang menaikkan sampelnya kembali. Satu frame laten mencakupprod(upsampling_ratios) * latent_stridesampel audio (frame_size, 1920 untuk checkpoint yang dirilis). - latent_dim (
int, opsional, default 32) — Dimensi dari latens kontinu. Residual vector quantizer dari Mimi diganti dengan bottleneck ini: konvolusi downsampling dari encoder menghasilkanlatent_dimchannel, dan decoder memproyeksikannya kembali kehidden_sizesebelum upsampling.
Ini adalah kelas konfigurasi untuk menyimpan konfigurasi dari PocketTTSAudioTokenizerModel. Kelas ini digunakan untuk membuat model Pocket Tts Audio Tokenizer sesuai dengan argumen yang ditentukan, yang mendefinisikan arsitektur model. Membuat konfigurasi dengan nilai bawaan akan menghasilkan konfigurasi yang serupa dengan konfigurasi dari eustlb/pocket-tts-audio-tokenizer
Objek konfigurasi mewarisi dari PreTrainedConfig dan dapat digunakan untuk mengontrol output model. Baca dokumentasi dari PreTrainedConfig untuk informasi lebih lanjut.
Contoh:
>>> from transformers import PocketTTSAudioTokenizerConfig, PocketTTSAudioTokenizerModel
>>> # a full codec, and its decoder alone
>>> model = PocketTTSAudioTokenizerModel(PocketTTSAudioTokenizerConfig())
>>> decoder_only = PocketTTSAudioTokenizerModel(PocketTTSAudioTokenizerConfig(encoder_config=None))PocketTTSAudioTokenizerEncoderConfig
kelas transformers.PocketTTSAudioTokenizerEncoderConfig
< source >( 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 )
Konfigurasi bagian encoder dari PocketTTSAudioTokenizer (encoder SEANet, transformer encoder, dan downsampling). Ini berbagi setiap field dengan PocketTTSAudioTokenizerConfig (lihat dokumentasinya untuk argumennya), sehingga dapat dimuat langsung dari checkpoint PocketTTSAudioTokenizer lengkap.
PocketTTSAudioTokenizerDecoderConfig
kelas transformers.PocketTTSAudioTokenizerDecoderConfig
< source >( 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 )
Konfigurasi bagian decoder dari PocketTTSAudioTokenizer (upsampling, transformer decoder, dan decoder SEANet). Ini berbagi setiap field dengan PocketTTSAudioTokenizerConfig (lihat dokumentasinya untuk argumennya), sehingga dapat dimuat langsung dari checkpoint PocketTTSAudioTokenizer lengkap.
PocketTTSAudioTokenizerModel
kelas transformers.PocketTTSAudioTokenizerModel
< source >( config: PocketTTSAudioTokenizerConfig )
Parameter
- config (PocketTTSAudioTokenizerConfig) — Kelas konfigurasi model dengan semua parameter model. Inisialisasi dengan file konfigurasi tidak memuat bobot yang terkait dengan model, hanya konfigurasinya. Lihat metode from_pretrained() untuk memuat bobot model.
Tokenizer audio Pocket TTS: codec dengan arsitektur Mimi yang memiliki latensi kontinu 32 dimensi pada 12,5 Hz (VAE-GAN dari Continuous Audio Language Models), mengubah audio 24 kHz menjadi latensi dan sebaliknya.
Model ini mewarisi dari PreTrainedModel. Periksa dokumentasi kelas induk untuk metode generik yang diimplementasikan oleh pustaka untuk semua model (seperti mengunduh atau menyimpan, mengubah ukuran embedding input, memangkas kepala, dll.)
Model ini juga merupakan subclass dari torch.nn.Module PyTorch. Gunakan sebagai PyTorch Module biasa dan merujuk ke dokumentasi PyTorch untuk semua hal yang berkaitan dengan penggunaan dan perilaku umum.
encode
< source >( 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'> )
Parameter
- input_values (
torch.Tensordengan bentuk(batch_size, audio_channels, num_samples)) — Gelombang audio, sebagaimana dikembalikan oleh EncodecFeatureExtractor, yang melakukan zero-padding hingga kelipatanconfig.frame_sizesampel seperti pada implementasi aslinya. - padding_mask (
torch.Tensordengan bentuk(batch_size, num_samples), opsional) — Mask dari sampel audio (1) berbanding padding (0), yang digunakan untuk menghitunglatents_mask. - encoder_past_key_values (
Cache, optional) — Key-value cache of the encoder transformer, returned by the previous call when streaming. - padding_cache (
PocketTTSAudioTokenizerConv1dPaddingCache, opsional) — Cache padding untuk konvolusi kausal encoder, yang dikembalikan oleh panggilan sebelumnya saat streaming. - use_streaming (
bool, opsional) — Apakah akan mengodekan dalam mode streaming, mengembalikan cache untuk diteruskan ke panggilan berikutnya.
Mengkodekan audio menjadi latens kontinu dengan bentuk (batch_size, num_frames, latent_dim): latens dari PocketTTSAudioTokenizerEncoderModel.forward(), dengan frame di depan.
decode
< source >( latents: Tensordecoder_past_key_values: transformers.cache_utils.Cache | None = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> )
Parameter
Mendekodekan latens kontinu menjadi audio: latens diproyeksikan ke hidden_size, kemudian didekodekan oleh PocketTTSAudioTokenizerDecoderModel.forward().
forward
< source >( input_values: Tensorpadding_mask: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → PocketTTSAudioTokenizerOutput or tuple(torch.Tensor)
Parameter
- input_values (
torch.Tensordengan bentuk(batch_size, audio_channels, num_samples)) — Gelombang audio, sebagaimana dikembalikan oleh EncodecFeatureExtractor. - padding_mask (
torch.Tensordengan bentuk(batch_size, num_samples), opsional) — Mask dari sampel audio (1) berbanding padding (0).
Mengembalikan
PocketTTSAudioTokenizerOutput atau tuple(torch.Tensor)
PocketTTSAudioTokenizerOutput atau tuple dari
torch.Tensor (jika return_dict=False dilewatkan atau ketika config.return_dict=False) yang terdiri dari berbagai
elemen tergantung pada konfigurasi (PocketTTSAudioTokenizerConfig) dan input.
Metode forward dari PocketTTSAudioTokenizerModel menimpa metode khusus __call__.
Meskipun resep untuk forward pass perlu didefinisikan di dalam fungsi ini, sebaiknya panggil instance
Modulesetelahnya alih-alih fungsi ini, karena yang pertama menangani langkah-langkah pra-pemrosesan dan pasca-pemrosesan, sedangkan yang kedua mengabaikannya secara diam-diam.
- latents (
torch.Tensordengan bentuk(batch_size, num_frames, latent_dim)) — Laten kontinu dari audio. - latents_mask (
torch.LongTensordengan bentuk(batch_size, num_frames), opsional) — Mask dari frame laten yang dihitung dari sampel audio (1) alih-alih padding (0). - audio_values (
torch.Tensordengan bentuk(batch_size, audio_channels, num_samples)) — Gelombang audio yang direkonstruksi dari latents. - hidden_states (
tuple(torch.Tensor), opsional, dikembalikan saatoutput_hidden_states=True) — Hidden states dari transformer encoder pada output setiap layer beserta inputnya. - attentions (
tuple(torch.Tensor), opsional, dikembalikan saatoutput_attentions=True) — Bobot perhatian dari setiap lapisan transformer encoder.
PocketTTSAudioTokenizerEncoderModel
kelas transformers.PocketTTSAudioTokenizerEncoderModel
< source >( config: PocketTTSAudioTokenizerEncoderConfig )
Parameter
- config (PocketTTSAudioTokenizerEncoderConfig) — Kelas konfigurasi model dengan semua parameter model. Inisialisasi dengan file konfigurasi tidak memuat bobot yang terkait dengan model, hanya konfigurasinya. Lihat metode from_pretrained() untuk memuat bobot model.
Setengah encoder dari PocketTTSAudioTokenizer: encoder SEANet, transformer encoder, dan downsampling, dari audio ke latens kontinu.
Model ini mewarisi dari PreTrainedModel. Periksa dokumentasi kelas induk untuk metode generik yang diimplementasikan oleh pustaka untuk semua model (seperti mengunduh atau menyimpan, mengubah ukuran embedding input, memangkas kepala, dll.)
Model ini juga merupakan subclass dari torch.nn.Module PyTorch. Gunakan sebagai PyTorch Module biasa dan merujuk ke dokumentasi PyTorch untuk semua hal yang berkaitan dengan penggunaan dan perilaku umum.
forward
< source >( 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)
Parameter
- input_values (
torch.Tensordengan bentuk(batch_size, channels, sequence_length)) — Nilai float dari waveform audio input. - padding_mask (
torch.Tensordengan bentuk(batch_size, channels, sequence_length), opsional) — Menunjukkan input mana yang harus diabaikan karena padding, di mana elemennya adalah 1 untuk tidak dimasker atau 0 untuk dimasker. - past_key_values (
Cache, opsional) — Hidden-states (key dan values di blok self-attention) yang sudah dihitung sebelumnya dari encoder transformer, digunakan untuk mempercepat streaming encoding. - padding_cache (
PocketTTSAudioTokenizerConv1dPaddingCache, opsional) — Cache padding untuk konvolusi kausal, digunakan untuk pengkodean streaming. - use_streaming (
bool, opsional) — Apakah akan mengodekan dalam mode streaming, mengembalikan cache untuk diteruskan ke panggilan berikutnya. - Encodes waveform audio input menjadi latens kontinu dengan bentuk
(batch_size, latent_dim, frames). —
Mengembalikan
PocketTTSAudioTokenizerEncoderModelOutput atau tuple(torch.Tensor)
PocketTTSAudioTokenizerEncoderModelOutput atau tuple dari
torch.Tensor (jika return_dict=False diteruskan atau ketika config.return_dict=False) yang terdiri dari berbagai
elemen tergantung pada konfigurasi (PocketTTSAudioTokenizerConfig) dan input.
Metode forward dari PocketTTSAudioTokenizerEncoderModel menimpa metode khusus __call__.
Meskipun resep untuk forward pass perlu didefinisikan di dalam fungsi ini, sebaiknya panggil instance
Modulesetelahnya alih-alih fungsi ini, karena yang pertama menangani langkah-langkah pra-pemrosesan dan pasca-pemrosesan, sedangkan yang kedua mengabaikannya secara diam-diam.
- latents (
torch.Tensordengan bentuk(batch_size, latent_dim, frames)) — Laten kontinu dari audio, satu frame perconfig.frame_sizesampel audio. - past_key_values (
Cache, opsional) — hidden-states (key dan values di blok self-attention) yang telah dihitung sebelumnya dari encoder transformer, dikembalikan saat streaming. - padding_cache (
PocketTTSAudioTokenizerConv1dPaddingCache, opsional) — Cache padding untuk konvolusi kausal PocketTTSAudioTokenizerConv1d guna mendukung streaming melalui padding cache. - hidden_states (
tuple(torch.Tensor), opsional, dikembalikan saatoutput_hidden_states=True) — Hidden states dari transformer encoder pada output setiap layer beserta inputnya. - attentions (
tuple(torch.Tensor), opsional, dikembalikan saatoutput_attentions=True) — Bobot perhatian dari setiap lapisan transformer encoder.
PocketTTSAudioTokenizerDecoderModel
kelas transformers.PocketTTSAudioTokenizerDecoderModel
< source >( config: PocketTTSAudioTokenizerDecoderConfig )
Parameter
- config (PocketTTSAudioTokenizerDecoderConfig) — Kelas konfigurasi model dengan semua parameter model. Inisialisasi dengan file konfigurasi tidak memuat bobot yang terkait dengan model, hanya konfigurasinya. Lihat metode from_pretrained() untuk memuat bobot model.
Setengah bagian decoder dari PocketTTSAudioTokenizer: upsampling, transformer decoder, dan decoder SEANet, dari latens kontinu ke audio.
Model ini mewarisi dari PreTrainedModel. Periksa dokumentasi kelas induk untuk metode generik yang diimplementasikan oleh pustaka untuk semua model (seperti mengunduh atau menyimpan, mengubah ukuran embedding input, memangkas kepala, dll.)
Model ini juga merupakan subclass dari torch.nn.Module PyTorch. Gunakan sebagai PyTorch Module biasa dan merujuk ke dokumentasi PyTorch untuk semua hal yang berkaitan dengan penggunaan dan perilaku umum.
forward
< source >( 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)
Parameter
- latents (
torch.Tensordengan bentuk(batch_size, hidden_size, frames)) — Latens kontinu untuk didekodekan, sebagaimana dihitung oleh PocketTTSAudioTokenizerModel.decode(). - padding_mask (
torch.Tensordengan bentuk(batch_size, channels, sequence_length), opsional) — Menunjukkan input mana yang harus diabaikan karena padding, di mana elemennya adalah 1 untuk tidak dimasker atau 0 untuk dimasker. - past_key_values (
Cache, opsional) — Hidden-states (key dan values di blok self-attention) yang sudah dihitung sebelumnya dari decoder transformer, digunakan untuk mempercepat decoding streaming. - Decodes frame yang diberikan menjadi waveform audio keluaran. Perhatikan bahwa keluaran mungkin sedikit lebih besar dari —
- input. Dalam hal itu, langkah-langkah tambahan di akhir dapat dipangkas. —
Mengembalikan
PocketTTSAudioTokenizerDecoderOutput atau tuple(torch.Tensor)
PocketTTSAudioTokenizerDecoderOutput atau tuple dari
torch.Tensor (jika return_dict=False diteruskan atau ketika config.return_dict=False) yang terdiri dari berbagai
elemen tergantung pada konfigurasi (PocketTTSAudioTokenizerConfig) dan input.
Metode forward dari PocketTTSAudioTokenizerDecoderModel menimpa metode khusus __call__.
Meskipun resep untuk forward pass perlu didefinisikan di dalam fungsi ini, sebaiknya panggil instance
Modulesetelahnya alih-alih fungsi ini, karena yang pertama menangani langkah-langkah pra-pemrosesan dan pasca-pemrosesan, sedangkan yang kedua mengabaikannya secara diam-diam.
audio_values (
torch.Tensordengan bentuk(batch_size, audio_channels, num_samples), opsional) — Nilai audio yang telah didekodekan, diperoleh menggunakan bagian decoder dari PocketTTSAudioTokenizer.decoder_past_key_values (
Cache, opsional) — Hidden-states yang telah dihitung sebelumnya (key dan values dalam blok self-attention) yang dapat digunakan untuk mempercepat decoding berurutan dari decoder transformer. Ini biasanya terdiri daripast_key_valuesyang dikembalikan oleh model pada tahap decoding sebelumnya, ketikause_cache=Trueatauconfig.use_cache=True.Model akan menghasilkan format cache yang sama dengan yang diberikan sebagai input.
Jika
past_key_valuesdigunakan, pengguna dapat secara opsional hanya memasukkanaudio_valuesatau `audio_codes terakhir (yang tidak memiliki state past key value yang diberikan ke model ini).hidden_states (
tuple(torch.Tensor), opsional, dikembalikan saatoutput_hidden_states=True) — Hidden states dari transformer decoder pada output setiap layer beserta inputnya.attentions (
tuple(torch.Tensor), opsional, dikembalikan saatoutput_attentions=True) — Bobot perhatian dari setiap lapisan transformer decoder.