Transformers documentation
SpeechT5
Model ini dipublikasikan di HF papers pada 2021-10-14 dan disumbangkan ke Hugging Face Transformers pada 2023-02-03.
SpeechT5
Ikhtisar
Model SpeechT5 diusulkan dalam SpeechT5: Unified-Modal Encoder-Decoder Pre-Training for Spoken Language Processing oleh Junyi Ao, Rui Wang, Long Zhou, Chengyi Wang, Shuo Ren, Yu Wu, Shujie Liu, Tom Ko, Qing Li, Yu Zhang, Zhihua Wei, Yao Qian, Jinyu Li, Furu Wei.
Abstrak dari makalah tersebut adalah sebagai berikut:
Dengan motivasi dari keberhasilan T5 (Text-To-Text Transfer Transformer) pada model pemrosesan bahasa alami yang telah dilatih sebelumnya, kami mengusulkan kerangka kerja SpeechT5 yang terintegrasi lintas modal, yang mengeksplorasi pre-training encoder-decoder untuk pembelajaran representasi ucapan/teks yang self-supervised. Kerangka kerja SpeechT5 terdiri dari jaringan encoder-decoder bersama dan enam pre/post-nets yang spesifik untuk masing-masing modal (ucapan/teks). Setelah prapemrosesan input ucapan/teks melalui pre-nets, jaringan encoder-decoder bersama memodelkan transformasi sequence-to-sequence, kemudian post-nets menghasilkan output dalam modal ucapan/teks berdasarkan output dari decoder. Dengan memanfaatkan data ucapan dan teks berskala besar yang tidak berlabel, kami melakukan pre-training SpeechT5 untuk mempelajari representasi lintas modal yang terintegrasi, dengan harapan meningkatkan kemampuan pemodelan untuk baik ucapan maupun teks. Untuk menyelaraskan informasi teks dan ucapan ke dalam ruang semantik terintegrasi ini, kami mengusulkan pendekatan kuantisasi vektor lintas modal yang secara acak mencampur keadaan ucapan/teks dengan unit laten sebagai antarmuka antara encoder dan decoder. Evaluasi yang luas menunjukkan keunggulan kerangka kerja SpeechT5 yang diusulkan pada berbagai tugas pemrosesan bahasa lisan, termasuk pengenalan ucapan otomatis, sintesis ucapan, penerjemahan ucapan, konversi suara, peningkatan kualitas ucapan, dan identifikasi pembicara.
Model ini disumbangkan oleh Matthijs. Kode aslinya dapat ditemukan di sini.
Setel
use_kernels=Truedi from_pretrained() untuk mengganti lapisan yang didukung dengan kernel yang dioptimalkan dari Hub. Lihat Memuat kernel untuk mempelajari lebih lanjut.
SpeechT5Config
kelas transformers.SpeechT5Config
< 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 = 0id2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Noneis_encoder_decoder: bool = Truevocab_size: int = 81hidden_size: int = 768encoder_layers: int = 12encoder_attention_heads: int = 12encoder_ffn_dim: int = 3072encoder_layerdrop: float | int = 0.1decoder_layers: int = 6decoder_ffn_dim: int = 3072decoder_attention_heads: int = 12decoder_layerdrop: float | int = 0.1hidden_act: str = 'gelu'positional_dropout: float | int = 0.1hidden_dropout: float | int = 0.1attention_dropout: float | int = 0.1activation_dropout: float | int = 0.1initializer_range: float = 0.02layer_norm_eps: float = 1e-05scale_embedding: bool = Falsefeat_extract_norm: str = 'group'feat_proj_dropout: float | int = 0.0feat_extract_activation: str = 'gelu'conv_dim: list[int] | tuple[int, ...] = (512, 512, 512, 512, 512, 512, 512)conv_stride: list[int] | tuple[int, ...] = (5, 2, 2, 2, 2, 2, 2)conv_kernel: list[int] | tuple[int, ...] = (10, 3, 3, 3, 3, 2, 2)conv_bias: bool = Falsenum_conv_pos_embeddings: int = 128num_conv_pos_embedding_groups: int = 16apply_spec_augment: bool = Truemask_time_prob: float | int = 0.05mask_time_length: int = 10mask_time_min_masks: int = 2mask_feature_prob: float | int = 0.0mask_feature_length: int = 10mask_feature_min_masks: int = 0pad_token_id: int | None = 1bos_token_id: int | None = 0eos_token_id: int | list[int] | None = 2decoder_start_token_id: int | None = 2num_mel_bins: int = 80speech_decoder_prenet_layers: int = 2speech_decoder_prenet_units: int = 256speech_decoder_prenet_dropout: float | int = 0.5speaker_embedding_dim: int = 512speech_decoder_postnet_layers: int = 5speech_decoder_postnet_units: int = 256speech_decoder_postnet_kernel: int = 5speech_decoder_postnet_dropout: float | int = 0.5reduction_factor: int = 2max_speech_positions: int = 4000max_text_positions: int = 450encoder_max_relative_position: int = 160use_guided_attention_loss: bool = Trueguided_attention_loss_num_heads: int = 2guided_attention_loss_sigma: float = 0.4guided_attention_loss_scale: float = 10.0use_cache: bool = Truetie_word_embeddings: bool = True )
Parameter
- is_encoder_decoder (
bool, opsional, defaultnyaTrue) — Apakah model digunakan sebagai encoder/decoder atau tidak. - vocab_size (
int, opsional, default81) — Ukuran kosakata model. Menentukan jumlah token berbeda yang dapat direpresentasikan olehinput_ids. - hidden_size (
int, opsional, default768) — Dimensi dari representasi tersembunyi. - encoder_layers (
int, opsional, default12) — Jumlah lapisan tersembunyi dalam encoder Transformer. Akan menggunakan nilai yang sama dengannum_layersjika tidak diatur. - encoder_attention_heads (
int, opsional, default12) — Jumlah kepala perhatian untuk setiap lapisan perhatian dalam encoder Transformer. - encoder_ffn_dim (
int, opsional, defaultnya3072) — Dimensi dari lapisan “intermediate” (sering disebut feed-forward) di encoder. - encoder_layerdrop (
Union[float, int], opsional, default0.1) — Probabilitas LayerDrop untuk encoder. Lihat [makalah LayerDrop](lihat https://huggingface.co/papers/1909.11556) untuk detail lebih lanjut. - decoder_layers (
int, opsional, default6) — Jumlah lapisan tersembunyi dalam decoder Transformer. Akan menggunakan nilai yang sama dengannum_layersjika tidak diatur. - decoder_ffn_dim (
int, opsional, defaultnya3072) — Dimensi dari lapisan “intermediate” (sering disebut feed-forward) di decoder. - decoder_attention_heads (
int, opsional, default12) — Jumlah kepala perhatian untuk setiap lapisan perhatian dalam decoder Transformer. - decoder_layerdrop (
Union[float, int], opsional, default0.1) — Probabilitas LayerDrop untuk decoder. Lihat [makalah LayerDrop](lihat https://huggingface.co/papers/1909.11556) untuk detail lebih lanjut. - hidden_act (
str, opsional, defaultnyagelu) — Fungsi aktivasi non-linear (fungsi atau string) di decoder. Misalnya,"gelu","relu","silu", dan sebagainya. - positional_dropout (
float, opsional, default 0.1) — Probabilitas dropout untuk lapisan encoding posisi teks. - hidden_dropout (
Union[float, int], opsional, default0.1) — Probabilitas dropout untuk semua lapisan fully connected di embeddings, encoder, dan pooler. - attention_dropout (
Union[float, int], opsional, default0.1) — Rasio dropout untuk probabilitas perhatian. - activation_dropout (
Union[float, int], opsional, defaultnya0.1) — Rasio dropout untuk aktivasi di dalam lapisan fully connected. - initializer_range (
float, opsional, defaultnya0.02) — Standar deviasi dari truncated_normal_initializer untuk menginisialisasi semua matriks bobot. - layer_norm_eps (
float, opsional, defaultnya1e-05) — Epsilon yang digunakan oleh lapisan normalisasi lapisan. - scale_embedding (
bool, opsional, defaultFalse) — Apakah akan menskalakan embedding dengan membaginya oleh sqrt(d_model). - feat_extract_norm (
str, opsional, default"group") — Norm yang diterapkan pada lapisan konvolusional 1D di pre-net encoder ucapan. Salah satu dari"group"untuk normalisasi grup hanya pada lapisan konvolusional 1D pertama, atau"layer"untuk normalisasi lapisan pada semua lapisan konvolusional 1D. - feat_proj_dropout (
float, opsional, default 0.0) — Probabilitas dropout untuk output pre-net encoder ucapan. - feat_extract_activation (
str,optional, defaults to“gelu”) -- The non-linear activation function (function or string) in the 1D convolutional layers of the feature extractor. If string,“gelu”,“relu”,“selu”and“gelu_new”` are supported. - conv_dim (
tuple[int]ataulist[int], opsional, default(512, 512, 512, 512, 512, 512, 512)) — Tuple dari bilangan bulat yang mendefinisikan jumlah saluran input dan output dari setiap lapisan konvolusional 1D dalam pre-net encoder ucapan. Panjang dari conv_dim mendefinisikan jumlah lapisan konvolusional 1D. - conv_stride (
tuple[int]ataulist[int], opsional, default(5, 2, 2, 2, 2, 2, 2)) — Tuple berisi bilangan bulat yang mendefinisikan stride dari setiap lapisan konvolusi 1D di pre-net encoder ucapan. Panjang conv_stride menentukan jumlah lapisan konvolusi dan harus sesuai dengan panjang conv_dim. - conv_kernel (
tuple[int]ataulist[int], opsional, default(10, 3, 3, 3, 3, 3, 3)) — Tuple berisi bilangan bulat yang mendefinisikan ukuran kernel dari setiap lapisan konvolusi 1D di pre-net encoder ucapan. Panjang dari conv_kernel menentukan jumlah lapisan konvolusi dan harus sesuai dengan panjang dari conv_dim. - conv_bias (
bool, opsional, defaultnyaFalse) — Apakah lapisan konvolusional 1D memiliki bias. - num_conv_pos_embeddings (
int, opsional, default 128) — Jumlah embedding posisi konvolusional. Menentukan ukuran kernel dari lapisan embedding posisi konvolusional 1D. - num_conv_pos_embedding_groups (
int, opsional, default 16) — Jumlah grup dari lapisan embedding posisional konvolusional 1D. - apply_spec_augment (
bool, opsional, defaultTrue) — Apakah akan menerapkan augmentasi data SpecAugment pada keluaran pre-net encoder ucapan. Untuk referensi, lihat SpecAugment: A Simple Data Augmentation Method for Automatic Speech Recognition. - mask_time_prob (
float, optional, defaults to 0.05) — Percentage (between 0 and 1) of all feature vectors along the time axis which will be masked. The masking procedure generates ”mask_time_problen(time_axis)/mask_time_length” independent masks over the axis. If reasoning from the probability of each feature vector to be chosen as the start of the vector span to be masked, mask_time_prob should be `prob_vector_startmask_time_length. Note that overlap may decrease the actual percentage of masked vectors. This is only relevant ifapply_spec_augment is True`. - mask_time_length (
int, opsional, default 10) — Panjang rentang vektor sepanjang sumbu waktu. - mask_time_min_masks (
int, opsional, default 2), — Jumlah minimum masker dengan panjangmask_feature_lengthyang dihasilkan di sepanjang sumbu waktu, untuk setiap langkah waktu, tanpa memperhatikanmask_feature_prob. Hanya relevan jika ”mask_time_prob*len(time_axis)/mask_time_length < mask_time_min_masks” - mask_feature_prob (
float, optional, defaults to 0.0) — Percentage (between 0 and 1) of all feature vectors along the feature axis which will be masked. The masking procedure generates ”mask_feature_problen(feature_axis)/mask_time_length” independent masks over the axis. If reasoning from the probability of each feature vector to be chosen as the start of the vector span to be masked, mask_feature_prob should be `prob_vector_startmask_feature_length. Note that overlap may decrease the actual percentage of masked vectors. This is only relevant ifapply_spec_augment is True`. - mask_feature_prob (
Union[float, int], opsional, default0.0) — Persentase (antara 0 dan 1) dari semua vektor fitur di sepanjang sumbu fitur yang akan di-mask. Prosedur masking menghasilkanmask_feature_prob*len(feature_axis)/mask_time_lengthmask independen di sepanjang sumbu tersebut. Jika beralasan dari probabilitas setiap vektor fitur untuk dipilih sebagai awal dari rentang vektor yang akan di-mask, mask_feature_prob seharusnyaprob_vector_start*mask_feature_length. Perhatikan bahwa tumpang tindih dapat mengurangi persentase vektor yang di-mask secara aktual. Hal ini hanya relevan jikaapply_spec_augmentadalahTrue. - mask_feature_length (
int, opsional, default 10) — Panjang rentang vektor di sepanjang sumbu fitur. - mask_feature_min_masks (
int, opsional, default 0), — Jumlah minimum masker dengan panjangmask_feature_lengthyang dihasilkan di sepanjang sumbu fitur, setiap langkah waktu, terlepas darimask_feature_prob. Hanya relevan jika ”mask_feature_prob*len(feature_axis)/mask_feature_length < mask_feature_min_masks” - num_mel_bins (
int, opsional, default 80) — Jumlah fitur mel yang digunakan per fitur input. Digunakan oleh pre-net decoder ucapan. Seharusnya sesuai dengan nilai yang digunakan di kelas SpeechT5Processor. - pad_token_id (
int, opsional, default1) — ID token yang digunakan untuk padding dalam kosakata. - bos_token_id (
int, opsional, default0) — ID token yang digunakan untuk awal aliran (beginning-of-stream) dalam kosakata. - eos_token_id (
Union[int, list[int]], opsional, default2) — ID token yang digunakan untuk end-of-stream dalam kosakata. - decoder_start_token_id (
int, opsional, defaultnya2) — Jika model encoder-decoder memulai decoding dengan token yang berbeda daribos, id dari token tersebut. - num_mel_bins (
int, opsional, default80) — Jumlah fitur mel yang digunakan per frame input. Seharusnya sesuai dengan nilai yang digunakan di kelasAutoFeatureExtractor. - speech_decoder_prenet_layers (
int, opsional, default 2) — Jumlah lapisan pada pre-net decoder ucapan. - speech_decoder_prenet_units (
int, opsional, default 256) — Dimensi dari lapisan di pre-net decoder ucapan. - speech_decoder_prenet_dropout (
float, opsional, default 0.5) — Probabilitas dropout untuk lapisan pre-net decoder ucapan. - speaker_embedding_dim (
int, opsional, default 512) — Dimensi dari vektor embedding XVector. - speech_decoder_postnet_layers (
int, opsional, default 5) — Jumlah lapisan pada post-net decoder ucapan. - speech_decoder_postnet_units (
int, opsional, default 256) — Dimensi dari lapisan di post-net decoder ucapan. - speech_decoder_postnet_kernel (
int, opsional, default 5) — Jumlah kanal filter konvolusional pada post-net decoder ucapan. - speech_decoder_postnet_dropout (
float, opsional, default 0.5) — Probabilitas dropout untuk lapisan post-net dari speech decoder. - reduction_factor (
int, opsional, default 2) — Faktor reduksi panjang spektrogram untuk input decoder ucapan. - max_speech_positions (
int, opsional, default 4000) — Panjang maksimum sekuens fitur ucapan yang mungkin digunakan dengan model ini. - max_text_positions (
int, opsional, default 450) — Panjang maksimum sekuens dari fitur teks yang mungkin digunakan dengan model ini. - encoder_max_relative_position (
int, opsional, default 160) — Jarak maksimum untuk relative position embedding di encoder. - use_guided_attention_loss (
bool, opsional, defaultTrue) — Apakah akan menerapkan guided attention loss saat melatih model TTS. - guided_attention_loss_num_heads (
int, opsional, default 2) — Jumlah attention head yang akan diterapkan guided attention loss. Gunakan -1 untuk menerapkan loss ini ke semua attention head. - guided_attention_loss_sigma (
float, opsional, default 0.4) — Standar deviasi untuk guided attention loss. - guided_attention_loss_scale (
float, opsional, default 10.0) — Koefisien penskalaan untuk guided attention loss (juga dikenal sebagai lambda). - use_cache (
bool, opsional, defaultnyaTrue) — 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. - tie_word_embeddings (
bool, opsional, defaultTrue) — Apakah akan mengikat bobot embedding sesuai dengan pemetaantied_weights_keysmodel.
Ini adalah kelas konfigurasi untuk menyimpan konfigurasi dari SpeechT5Model. Kelas ini digunakan untuk membuat instans model Speecht5 berdasarkan argumen yang ditentukan, sehingga mendefinisikan arsitektur model. Membuat instans konfigurasi dengan nilai bawaan akan menghasilkan konfigurasi yang serupa dengan konfigurasi dari microsoft/speecht5_asr
Objek konfigurasi mewarisi dari PreTrainedConfig dan dapat digunakan untuk mengontrol output model. Baca dokumentasi dari PreTrainedConfig untuk informasi lebih lanjut.
Contoh:
>>> from transformers import SpeechT5Model, SpeechT5Config
>>> # Initializing a "microsoft/speecht5_asr" style configuration
>>> configuration = SpeechT5Config()
>>> # Initializing a model (with random weights) from the "microsoft/speecht5_asr" style configuration
>>> model = SpeechT5Model(configuration)
>>> # Accessing the model configuration
>>> configuration = model.configSpeechT5HifiGanConfig
kelas transformers.SpeechT5HifiGanConfig
< 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 = Nonemodel_in_dim: int = 80sampling_rate: int = 16000upsample_initial_channel: int = 512upsample_rates: list[int] | tuple[int, ...] = (4, 4, 4, 4)upsample_kernel_sizes: list[int] | tuple[int, ...] = (8, 8, 8, 8)resblock_kernel_sizes: list[int] | tuple[int, ...] = (3, 7, 11)resblock_dilation_sizes: list | tuple = ((1, 3, 5), (1, 3, 5), (1, 3, 5))initializer_range: float = 0.01leaky_relu_slope: float = 0.1normalize_before: bool = True )
Parameter
- model_in_dim (
int, opsional, defaultnya 80) — Jumlah bin frekuensi dalam spektrogram log-mel input. - sampling_rate (
int, opsional, default16000) — Laju sampling di mana file audio harus didigitalisasi, dinyatakan dalam hertz (Hz). - upsample_initial_channel (
int, opsional, default 512) — Jumlah saluran input ke jaringan upsampling. - upsample_rates (
tuple[int]ataulist[int], opsional, default[4, 4, 4, 4]) — Tuple bilangan bulat yang mendefinisikan stride dari setiap lapisan konvolusi 1D dalam jaringan upsampling. Panjang upsample_rates menentukan jumlah lapisan konvolusi dan harus sesuai dengan panjang upsample_kernel_sizes. - upsample_kernel_sizes (
tuple[int]ataulist[int], opsional, default[8, 8, 8, 8]) — Tuple dari bilangan bulat yang mendefinisikan ukuran kernel dari setiap lapisan konvolusi 1D dalam jaringan upsampling. Panjang upsample_kernel_sizes menentukan jumlah lapisan konvolusi dan harus sesuai dengan panjang upsample_rates. - resblock_kernel_sizes (
tuple[int]ataulist[int], opsional, defaultnya[3, 7, 11]) — Tuple dari bilangan bulat yang mendefinisikan ukuran kernel dari lapisan konvolusi 1D dalam modul multi-receptive field fusion (MRF). - resblock_dilation_sizes (
tuple[tuple[int]]ataulist[list[int]], opsional, defaultnya[[1, 3, 5], [1, 3, 5], [1, 3, 5]]) — Tuple bersarang dari bilangan bulat yang mendefinisikan laju dilasi dari lapisan konvolusional 1D yang berdilasi dalam modul multi-receptive field fusion (MRF). - initializer_range (
float, opsional, defaultnya0.01) — Standar deviasi dari truncated_normal_initializer untuk menginisialisasi semua matriks bobot. - leaky_relu_slope (
float, opsional, default 0.1) — Sudut kemiringan negatif yang digunakan oleh aktivasi leaky ReLU. - normalize_before (
bool, opsional, defaultTrue) — Apakah akan menormalisasi spektrogram sebelum vokoding menggunakan mean dan variance yang dipelajari oleh vokoder.
Ini adalah kelas konfigurasi untuk menyimpan konfigurasi dari SpeechT5Model. Kelas ini digunakan untuk membuat instans model Speecht5 berdasarkan argumen yang ditentukan, sehingga mendefinisikan arsitektur model. Membuat instans konfigurasi dengan nilai bawaan akan menghasilkan konfigurasi yang serupa dengan konfigurasi dari microsoft/speecht5_asr
Objek konfigurasi mewarisi dari PreTrainedConfig dan dapat digunakan untuk mengontrol output model. Baca dokumentasi dari PreTrainedConfig untuk informasi lebih lanjut.
Contoh:
>>> from transformers import SpeechT5HifiGan, SpeechT5HifiGanConfig
>>> # Initializing a "microsoft/speecht5_hifigan" style configuration
>>> configuration = SpeechT5HifiGanConfig()
>>> # Initializing a model (with random weights) from the "microsoft/speecht5_hifigan" style configuration
>>> model = SpeechT5HifiGan(configuration)
>>> # Accessing the model configuration
>>> configuration = model.configSpeechT5Tokenizer
kelas transformers.SpeechT5Tokenizer
< source >( vocab_filebos_token = '<s>'eos_token = '</s>'unk_token = '<unk>'pad_token = '<pad>'normalize = Falsesp_model_kwargs: dict[str, typing.Any] | None = None**kwargs )
Parameter
- vocab_file (
str) — file SentencePiece (umumnya berekstensi .spm) yang mengandung kosakata yang diperlukan untuk menginstansiasi tokenizer. - bos_token (
str, opsional, defaultnya"<s>") — Token awal urutan. - eos_token (
str, opsional, default"</s>") — Token akhir urutan. - unk_token (
str, opsional, default"<unk>") — Token yang tidak diketahui. Token yang tidak ada dalam kosakata tidak dapat dikonversi menjadi ID dan akan diset sebagai token ini sebagai gantinya. - pad_token (
str, opsional, defaultnya"<pad>") — Token yang digunakan untuk padding, misalnya saat membatching urutan dengan panjang yang berbeda. - normalize (
bool, opsional, defaultFalse) — Apakah akan mengonversi kuantitas numerik dalam teks ke padanan kata dalam bahasa Inggris. - sp_model_kwargs (
dict, opsional) — Akan diteruskan keSentencePieceProcessor.__init__()metode. Python wrapper untuk SentencePiece dapat digunakan, di antara hal-hal lain, untuk mengatur:-
enable_sampling: Aktifkan regularisasi subword. -
nbest_size: Parameter sampling untuk unigram. Tidak valid untuk BPE-Dropout.nbest_size = {0,1}: Tidak ada sampling yang dilakukan.nbest_size > 1: mengambil sampel dari hasil nbest_size.nbest_size < 0: diasumsikan bahwa nbest_size tak hingga dan mengambil sampel dari semua hipotesis (lattice) menggunakan algoritma forward-filtering-and-backward-sampling.
-
alpha: Parameter penghalusan untuk pengambilan sampel unigram, dan probabilitas dropout untuk operasi penggabungan pada BPE-dropout.
-
- sp_model (
SentencePieceProcessor) — Pemroses SentencePiece yang digunakan untuk setiap konversi (string, token, dan ID).
Konstruksi tokenizer SpeechT5. Berbasis pada SentencePiece.
Tokenizer ini mewarisi dari PreTrainedTokenizer yang berisi sebagian besar metode utama. Pengguna harus merujuk ke superclass ini untuk informasi lebih lanjut mengenai metode-metode tersebut.
__call__
< source >( 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
Parameter
- text (
str,list[str],list[list[str]], opsional) — Sequens atau batch dari sequens yang akan dienkod. Setiap sequens dapat berupa string atau daftar string (string yang sudah dipretokenisasi). Jika sequens diberikan sebagai daftar string (pretokenized), Anda harus mengaturis_split_into_words=True(untuk menghilangkan ambiguitas dengan batch dari sequens). - text_pair (
str,list[str],list[list[str]], opsional) — Urutan atau batch dari urutan yang akan dienkod. Setiap urutan dapat berupa string atau daftar string (string yang sudah dipretokenisasi). Jika urutan diberikan sebagai daftar string (pretokenized), Anda harus mengaturis_split_into_words=True(untuk menghilangkan ambiguitas dengan batch dari urutan). - text_target (
str,list[str],list[list[str]], opsional) — Sequens atau batch sequens yang akan dikodekan sebagai teks target. Setiap sequens dapat berupa string atau daftar string (string pretokenized). Jika sequens diberikan sebagai daftar string (pretokenized), Anda harus mengaturis_split_into_words=True(untuk menghilangkan ambiguitas dengan batch sequens). - text_pair_target (
str,list[str],list[list[str]], opsional) — Urutan atau batch urutan yang akan dikodekan sebagai teks target. Setiap urutan dapat berupa string atau daftar string (string pretokenized). Jika urutan diberikan sebagai daftar string (pretokenized), Anda harus mengaturis_split_into_words=True(untuk menghilangkan ambiguitas dengan batch urutan). - tokenizer_kwargs (
dict[str, Any], opsional) — Kwargs tambahan untuk diteruskan ke tokenizer. Kwargs ini akan digabungkan dengan parameter eksplisit dan kwargs lainnya, dengan parameter eksplisit memiliki prioritas lebih tinggi. - add_special_tokens (
bool, opsional, defaultTrue) — Apakah akan menambahkan token khusus saat meng-encode urutan. Ini akan menggunakan fungsiPretrainedTokenizerBase.build_inputs_with_special_tokensyang mendasarinya, yang mendefinisikan token mana yang ditambahkan secara otomatis ke input ids. Ini berguna jika Anda ingin menambahkan tokenbosataueossecara otomatis. - padding (
bool,stratau PaddingStrategy, opsional, defaultnyaFalse) — Mengaktifkan dan mengontrol padding. Menerima nilai-nilai berikut:Trueatau'longest': Pad hingga urutan terpanjang dalam batch (atau tanpa padding jika hanya satu urutan yang diberikan).'max_length': Pad hingga panjang maksimum yang ditentukan dengan argumenmax_lengthatau hingga panjang input maksimum yang dapat diterima oleh model jika argumen tersebut tidak diberikan.Falseatau'do_not_pad'(default): Tidak ada padding (yaitu, dapat menghasilkan batch dengan urutan yang panjangnya berbeda).
- truncation (
bool,stratau TruncationStrategy, opsional, defaultnyaFalse) — Mengaktifkan dan mengontrol pemotongan. Menerima nilai-nilai berikut:Trueatau'longest_first': Memotong hingga panjang maksimum yang ditentukan dengan argumenmax_lengthatau hingga panjang input maksimum yang dapat diterima oleh model jika argumen tersebut tidak diberikan. Ini akan memotong per token, dengan menghapus satu token dari urutan terpanjang dalam pasangan jika sepasang urutan (atau batch pasangan) diberikan.'only_first': Potong hingga panjang maksimum yang ditentukan dengan argumenmax_lengthatau hingga panjang input maksimum yang dapat diterima oleh model jika argumen tersebut tidak diberikan. Ini hanya akan memotong urutan pertama dari sebuah pasangan jika sepasang urutan (atau batch dari pasangan) diberikan.'only_second': Potong hingga panjang maksimum yang ditentukan dengan argumenmax_lengthatau hingga panjang input maksimum yang dapat diterima oleh model jika argumen tersebut tidak diberikan. Ini hanya akan memotong urutan kedua dari sebuah pasangan jika sepasang urutan (atau batch dari pasangan) diberikan.Falseatau'do_not_truncate'(default): Tidak ada pemotongan (yaitu, dapat menghasilkan batch dengan panjang sekuens yang lebih besar dari ukuran input maksimum yang diizinkan model).
- max_length (
int, opsional) — Mengontrol panjang maksimum yang digunakan oleh salah satu parameter truncation/padding.Jika tidak disetel atau disetel ke
None, ini akan menggunakan panjang maksimum model yang telah didefinisikan sebelumnya jika panjang maksimum diperlukan oleh salah satu parameter truncation/padding. Jika model tidak memiliki panjang input maksimum yang spesifik (seperti XLNet), truncation/padding ke panjang maksimum akan dinonaktifkan. - stride (
int, opsional, default 0) — Jika diatur ke sebuah angka bersama denganmax_length, token yang meluap yang dikembalikan saatreturn_overflowing_tokens=Trueakan berisi beberapa token dari akhir urutan terpotong yang dikembalikan untuk menyediakan beberapa tumpang tindih antara urutan terpotong dan urutan yang meluap. Nilai argumen ini menentukan jumlah token yang tumpang tindih. - is_split_into_words (
bool, opsional, defaultFalse) — Apakah input sudah di-pre-tokenisasi (misalnya, dipecah menjadi kata). Jika disetel keTrue, tokenizer mengasumsikan input sudah dipecah menjadi kata (misalnya, dengan memisahkannya berdasarkan spasi) yang akan ditokenisasi. Ini berguna untuk NER atau klasifikasi token. - pad_to_multiple_of (
int, opsional) — Jika diset, akan melakukanpaddingpada urutan hingga menjadi kelipatan dari nilai yang diberikan. Memerlukanpaddinguntuk diaktifkan. Ini sangat berguna untuk memungkinkan penggunaan Tensor Cores pada perangkat keras NVIDIA dengan kemampuan komputasi>= 7.5(Volta). - padding_side (
str, opsional) — Sisi tempat model harus menerapkan padding. Harus dipilih antara [‘right’, ‘left’]. Nilai default diambil dari atribut kelas dengan nama yang sama. - return_tensors (
stratau TensorType, opsional) — Jika diset, akan mengembalikan tensor alih-alih daftar integer Python. Nilai yang dapat diterima adalah:'pt': Mengembalikan objek PyTorchtorch.Tensor.'np': Mengembalikan objek Numpynp.ndarray.
- return_token_type_ids (
bool, opsional) — Apakah akan mengembalikan token type ID. Jika dibiarkan pada nilai default, akan mengembalikan token type ID sesuai dengan default tokenizer tertentu, yang ditentukan olehreturn_outputsatribut. - return_attention_mask (
bool, opsional) — Apakah akan mengembalikan attention mask. Jika dibiarkan pada nilai default, akan mengembalikan attention mask sesuai dengan default tokenizer tertentu, yang didefinisikan olehreturn_outputsatribut. - return_overflowing_tokens (
bool, opsional, defaultFalse) — Apakah akan mengembalikan urutan token yang meluap. Jika sepasang urutan id input (atau batch dari pasangan) diberikan dengantruncation_strategy = longest_firstatauTrue, error akan dilemparkan alih-alih mengembalikan token yang meluap. - return_special_tokens_mask (
bool, opsional, defaultFalse) — Apakah akan mengembalikan informasi mask token khusus. - return_offsets_mapping (
bool, opsional, defaultnyaFalse) — Apakah akan mengembalikan(char_start, char_end)untuk setiap token.Ini hanya tersedia pada fast tokenizer yang mewarisi dari PreTrainedTokenizerFast, jika menggunakan tokenizer Python, metode ini akan memicu
NotImplementedError. - return_length (
bool, opsional, defaultFalse) — Apakah akan mengembalikan panjang dari input yang dikodekan. - verbose (
bool, opsional, defaultnyaTrue) — Apakah akan mencetak lebih banyak informasi dan peringatan. - **kwargs — diteruskan ke metode
self.tokenize()
Mengembalikan
BatchEncoding dengan bidang berikut:
-
input_ids — Daftar id token yang akan diberikan ke model.
-
token_type_ids — Daftar token type id yang akan diberikan ke model (ketika
return_token_type_ids=Trueatau jika “token_type_ids” ada diself.model_input_names). -
attention_mask — Daftar indeks yang menentukan token mana yang harus diperhatikan oleh model (ketika
return_attention_mask=Trueatau jika “attention_mask” ada diself.model_input_names). -
overflowing_tokens — Daftar sekuens token yang meluap (ketika
max_lengthditentukan danreturn_overflowing_tokens=True). -
num_truncated_tokens — Jumlah token yang dipangkas (ketika
max_lengthditentukan danreturn_overflowing_tokens=True). -
special_tokens_mask — Daftar angka 0 dan 1, di mana 1 menandakan token khusus yang ditambahkan dan 0 menandakan token urutan reguler (ketika
add_special_tokens=Truedanreturn_special_tokens_mask=True). -
length — Panjang dari input (ketika
return_length=True)
Metode utama untuk melakukan tokenisasi dan persiapan satu atau beberapa urutan atau satu atau beberapa pasangan urutan untuk model.
save_vocabulary
< source >( save_directory: strfilename_prefix: str | None = None ) → tuple(str)
Simpan kosakata sentencepiece (salin file asli) ke sebuah direktori.
decode
< source >( token_ids: int | list[int] | list[list[int]] | np.ndarray | torch.Tensorskip_special_tokens: bool = False**kwargs ) → Union[str, list[str]]
Parameter
- token_ids (
Union[int, list[int], list[list[int]], np.ndarray, torch.Tensor]) — Satu sekuens atau batch (daftar sekuens) dari id input yang telah ditokenisasi. Dapat diperoleh menggunakan metode__call__. - skip_special_tokens (
bool, opsional, defaultnyaFalse) — Apakah token khusus akan dihapus saat decoding. - kwargs (argumen kata kunci tambahan, opsional) — Akan diteruskan ke metode decode spesifik model yang mendasarinya.
Mengembalikan
Union[str, list[str]]
String yang didekode untuk satu urutan, atau daftar string yang didekode untuk batch urutan.
Mengonversi urutan id menjadi string, atau daftar urutan menjadi daftar string, menggunakan tokenizer dan kosakata dengan opsi untuk menghapus token khusus dan merapikan spasi tokenisasi.
Mirip dengan melakukan self.convert_tokens_to_string(self.convert_ids_to_tokens(token_ids)).
batch_decode
< source >( sequences: list[int] | list[list[int]] | np.ndarray | torch.Tensorskip_special_tokens: bool = Falseclean_up_tokenization_spaces: bool | None = None**kwargs ) → list[str]
Parameter
- sequences (
Union[list[int], list[list[int]], np.ndarray, torch.Tensor]) — Daftar id input yang telah ditokenisasi. Dapat diperoleh menggunakan metode__call__. - skip_special_tokens (
bool, opsional, defaultnyaFalse) — Apakah token khusus akan dihapus saat decoding. - clean_up_tokenization_spaces (
bool, opsional) — Apakah akan membersihkan spasi tokenisasi. JikaNone, akan menggunakan nilai defaultself.clean_up_tokenization_spaces. - kwargs (argumen kata kunci tambahan, opsional) — Akan diteruskan ke metode decode spesifik model yang mendasarinya.
Mengembalikan
list[str]
Daftar kalimat yang telah didekode.
Konversi daftar dari daftar id token menjadi daftar string dengan memanggil decode.
Metode ini disediakan untuk kompatibilitas mundur. Metode decode sekarang menangani input batch secara native,
sehingga Anda dapat menggunakan decode secara langsung alih-alih batch_decode.
SpeechT5FeatureExtractor
kelas transformers.SpeechT5FeatureExtractor
< source >( feature_size: int = 1sampling_rate: int = 16000padding_value: float = 0.0do_normalize: bool = Falsenum_mel_bins: int = 80hop_length: int = 16win_length: int = 64win_function: str = 'hann_window'fmin: float = 80fmax: float = 7600mel_floor: float = 1e-10return_attention_mask: bool = True**kwargs )
Parameter
- feature_size (
int, opsional, default 1) — Dimensi fitur dari fitur yang diekstrak. - sampling_rate (
int, opsional, default 16000) — Laju sampling di mana file audio harus didigitalisasi, dinyatakan dalam hertz (Hz). - padding_value (
float, opsional, default 0.0) — Nilai yang digunakan untuk mengisi nilai padding. - do_normalize (
bool, opsional, defaultFalse) — Apakah akan menormalisasi input menjadi nol-rata-rata dan varians-satuan. Normalisasi dapat membantu meningkatkan performa secara signifikan untuk beberapa model. - num_mel_bins (
int, opsional, default 80) — Jumlah bin frekuensi mel pada fitur spektrogram yang diekstrak. - hop_length (
int, opsional, default 16) — Jumlah ms antar jendela. Istilah lain yang sering digunakan dalam banyak paper adalah “shift”. - win_length (
int, opsional, default 64) — Jumlah ms per jendela. - win_function (
str, opsional, default"hann_window") — Nama untuk fungsi window yang digunakan untuk windowing, harus dapat diakses melaluitorch.{win_function} - fmin (
float, opsional, default 80) — Frekuensi mel minimum dalam Hz. - fmax (
float, opsional, default 7600) — Frekuensi mel maksimum dalam Hz. - mel_floor (
float, opsional, default 1e-10) — Nilai minimum dari bank frekuensi mel. - return_attention_mask (
bool, opsional, defaultTrue) — Apakah call() harus mengembalikanattention_mask.
Membangun feature extractor SpeechT5.
Kelas ini dapat memproses pra sinyal ucapan mentah dengan (secara opsional) menormalisasi ke rata-rata nol dan varians satu, untuk digunakan oleh prenet encoder ucapan SpeechT5.
Kelas ini juga dapat mengekstrak fitur log-mel filter bank dari ucapan mentah, untuk digunakan oleh prenet decoder ucapan SpeechT5.
Feature extractor ini mewarisi dari SequenceFeatureExtractor yang berisi sebagian besar metode utama. Pengguna harus merujuk ke superclass ini untuk informasi lebih lanjut mengenai metode-metode tersebut.
__call__
< source >( audio: numpy.ndarray | list[float] | list[numpy.ndarray] | list[list[float]] | None = Noneaudio_target: numpy.ndarray | list[float] | list[numpy.ndarray] | list[list[float]] | None = Nonepadding: bool | str | transformers.utils.generic.PaddingStrategy = Falsemax_length: int | None = Nonetruncation: bool = Falsepad_to_multiple_of: int | None = Nonereturn_attention_mask: bool | None = Nonereturn_tensors: str | transformers.utils.generic.TensorType | None = Nonesampling_rate: int | None = None**kwargs )
Parameter
- audio (
np.ndarray,list[float],list[np.ndarray],list[list[float]], opsional) — Urutan atau batch dari urutan yang akan diproses. Setiap urutan dapat berupa array numpy, daftar nilai float, daftar array numpy, atau daftar dari daftar nilai float. Ini menghasilkan fitur waveform. Harus berupa audio mono channel, bukan stereo, yaitu satu float per timestep. - audio_target (
np.ndarray,list[float],list[np.ndarray],list[list[float]], opsional) — Urutan atau batch urutan yang akan diproses sebagai target. Setiap urutan dapat berupa array numpy, daftar nilai float, daftar array numpy, atau daftar dari daftar nilai float. Ini menghasilkan fitur log-mel spectrogram. - padding (
bool,stratau PaddingStrategy, opsional, defaultnyaFalse) — Pilih strategi untuk melakukan padding pada urutan yang dikembalikan (sesuai sisi padding dan indeks padding model) di antara:Trueatau'longest': Pad hingga urutan terpanjang dalam batch (atau tanpa padding jika hanya satu urutan yang diberikan).'max_length': Pad hingga panjang maksimum yang ditentukan dengan argumenmax_lengthatau hingga panjang input maksimum yang dapat diterima oleh model jika argumen tersebut tidak diberikan.Falseatau'do_not_pad'(default): Tidak ada padding (yaitu, dapat menghasilkan batch dengan urutan yang panjangnya berbeda).
- max_length (
int, opsional) — Panjang maksimum dari daftar yang dikembalikan dan secara opsional panjang padding (lihat di atas). - truncation (
bool) — Mengaktifkan pemotongan untuk memotong urutan input yang lebih panjang dari max_length menjadi max_length. - pad_to_multiple_of (
int, opsional) — Jika diset, akan melakukan padding pada urutan hingga menjadi kelipatan dari nilai yang diberikan.Ini sangat berguna untuk memungkinkan penggunaan Tensor Cores pada perangkat keras NVIDIA dengan compute capability
>= 7.5(Volta), atau pada TPU yang diuntungkan dari panjang sekuens yang merupakan kelipatan 128. - return_attention_mask (
bool, opsional) — Apakah akan mengembalikan attention mask. Jika dibiarkan pada nilai default, akan mengembalikan attention mask sesuai dengan default feature_extractor tertentu. - return_tensors (
stratau TensorType, opsional) — Jika diset, akan mengembalikan tensor alih-alih daftar integer Python. Nilai yang dapat diterima adalah:'pt': Mengembalikan objek PyTorchtorch.Tensor.'np': Mengembalikan objek Numpynp.ndarray.
- sampling_rate (
int, opsional) — Laju sampling di mana inputaudioatauaudio_targetdisampelkan. Sangat disarankan untuk meneruskansampling_ratepada panggilan forward untuk mencegah kesalahan yang tidak terdeteksi.
Metode utama untuk melakukan featurisasi dan persiapan satu atau beberapa sekuens untuk model.
Lewati nilai untuk audio untuk mengekstrak fitur waveform. Lewati nilai untuk audio_target untuk mengekstrak fitur log-mel spectrogram.
SpeechT5Processor
kelas transformers.SpeechT5Processor
< source >( feature_extractortokenizer )
Membangun SpeechT5Processor yang membungkus feature extractor dan tokenizer menjadi satu processor.
SpeechT5Processor menyediakan semua fungsionalitas dari SpeechT5FeatureExtractor dan SpeechT5Tokenizer. Lihat ~SpeechT5FeatureExtractor dan ~SpeechT5Tokenizer untuk informasi lebih lanjut.
__call__
< source >( *args**kwargs )
Parameter
- return_tensors (
stratau TensorType, opsional) — Jika diset, akan mengembalikan tensor dari framework tertentu. Nilai yang dapat diterima adalah:'pt': Mengembalikan objek PyTorchtorch.Tensor.'np': Mengembalikan objek NumPynp.ndarray.
Mengelompokkan input audio dan teks, beserta targetnya, menjadi batch yang di-*pad*.
Input audio di-*pad* oleh pad() dari SpeechT5FeatureExtractor. Input teks di-*pad* oleh pad() dari SpeechT5Tokenizer.
Kombinasi input yang valid adalah:
- hanya
input_ids - hanya
input_values labelssaja, berupa log-mel spectrogram atau token teksinput_idsdan log-mel spectrogramlabelsinput_valuesdan tekslabels
Silakan merujuk pada docstring dari dua metode di atas untuk informasi lebih lanjut.
from_pretrained
< source >( pretrained_model_name_or_path: str | os.PathLikecache_dir: str | os.PathLike | None = Noneforce_download: bool = Falselocal_files_only: bool = Falsetoken: str | bool | None = Nonerevision: str = 'main'**kwargs )
Parameter
- pretrained_model_name_or_path (
stratauos.PathLike) — Ini bisa berupa:- sebuah string, model id dari feature_extractor pretrained yang dihosting di dalam repo model di huggingface.co.
- path ke direktori yang berisi file feature extractor yang disimpan menggunakan metode
save_pretrained(), misalnya
./my_model_directory/. - path ke file JSON feature extractor yang disimpan file, misalnya
./my_model_directory/preprocessor_config.json.
- **kwargs —
Argumen kata kunci tambahan yang diteruskan ke
from_pretrained() dan
~tokenization_utils_base.PreTrainedTokenizer.from_pretrained.
Instansiasi prosesor yang terkait dengan model pretrained.
Metode kelas ini hanya memanggil metode from_pretrained() dari feature extractor, ImageProcessingMixin dari image processor, dan
~tokenization_utils_base.PreTrainedTokenizer.from_pretraineddari tokenizer. Silakan merujuk ke docstring dari metode-metode di atas untuk informasi lebih lanjut.
save_pretrained
< source >( save_directorypush_to_hub: bool = False**kwargs )
Parameter
- save_directory (
stratauos.PathLike) — Direktori tempat file JSON feature extractor dan file tokenizer akan disimpan (direktori akan dibuat jika belum ada). - push_to_hub (
bool, opsional, defaultFalse) — Apakah model Anda akan didorong ke Hugging Face model hub setelah disimpan. Anda dapat menentukan repository yang ingin Anda tuju denganrepo_id(defaultnya adalah namasave_directorydi namespace Anda). - kwargs (
dict[str, Any], opsional) — Argumen kata kunci tambahan yang diteruskan ke metode push_to_hub().
Menyimpan atribut prosesor ini (feature extractor, tokenizer…) ke dalam direktori yang ditentukan sehingga dapat dimuat ulang menggunakan metode from_pretrained().
Metode kelas ini hanya memanggil save_pretrained() dan save_pretrained(). Silakan merujuk ke docstring dari metode di atas untuk informasi lebih lanjut.
Metode ini meneruskan semua argumennya ke batch_decode() dari PreTrainedTokenizer. Silakan merujuk ke docstring metode ini untuk informasi lebih lanjut.
Metode ini meneruskan semua argumennya ke decode() dari PreTrainedTokenizer. Silakan lihat docstring dari metode ini untuk informasi lebih lanjut.
SpeechT5Model
kelas transformers.SpeechT5Model
< source >( config: SpeechT5Configencoder: typing.Optional[torch.nn.Module] = Nonedecoder: typing.Optional[torch.nn.Module] = None )
Parameter
- config (SpeechT5Config) — Kelas konfigurasi model dengan semua parameter model. Inisialisasi dengan file konfigurasi tidak memuat bobot yang terkait dengan model, hanya konfigurasinya saja. Lihat metode from_pretrained() untuk memuat bobot model.
- encoder (
PreTrainedModel, opsional) — Model encoder yang akan digunakan. - decoder (
PreTrainedModel, opsional) — Model decoder yang akan digunakan.
Model SpeechT5 Encoder-Decoder murni yang menghasilkan hidden-states mentah tanpa pre-net atau post-net tertentu.
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: typing.Optional[torch.Tensor] = Noneattention_mask: typing.Optional[torch.LongTensor] = Nonedecoder_input_values: typing.Optional[torch.Tensor] = Nonedecoder_attention_mask: typing.Optional[torch.LongTensor] = Noneencoder_outputs: tuple[tuple[torch.Tensor]] | None = Nonepast_key_values: transformers.cache_utils.Cache | None = Noneuse_cache: bool | None = Nonespeaker_embeddings: typing.Optional[torch.Tensor] = Noneoutput_attentions: bool | None = Noneoutput_hidden_states: bool | None = Nonereturn_dict: bool | None = None**kwargs ) → Seq2SeqModelOutput or tuple(torch.Tensor)
Parameter
- input_values (
torch.Tensordengan bentuk(batch_size, sequence_length)) — Tergantung pada encoder yang digunakan,input_valuesberupa: nilai float dari waveform ucapan mentah, atau indeks token urutan input dalam kosakata, atau hidden states. - attention_mask (
torch.LongTensordengan bentuk(batch_size, sequence_length), opsional) — Mask untuk menghindari eksekusi attention pada indeks token padding. Nilai mask dipilih dari[0, 1]:- 1 untuk token yang tidak dimasker,
- 0 untuk token yang dimasker.
- decoder_input_values (
torch.Tensordengan bentuk(batch_size, target_sequence_length), opsional) — Tergantung pada decoder yang digunakan,decoder_input_valuesberupa salah satu dari: nilai float dari fitur log-mel filterbank yang diekstrak dari gelombang suara mentah, atau indeks token urutan input decoder dalam kosakata, atau hidden states. - decoder_attention_mask (
torch.LongTensorberbentuk(batch_size, target_sequence_length), opsional) — Perilaku bawaan: menghasilkan tensor yang mengabaikan token pad didecoder_input_values. Mask kausal juga akan digunakan secara bawaan. Jika Anda ingin mengubah perilaku padding, Anda harus membaca SpeechT5Decoder._prepare_decoder_attention_mask dan memodifikasinya sesuai kebutuhan. Lihat diagram 1 di makalah untuk informasi lebih lanjut tentang strategi bawaan.Jika Anda ingin mengubah perilaku padding, Anda harus membaca
SpeechT5Decoder._prepare_decoder_attention_maskdan memodifikasinya sesuai kebutuhan Anda. Lihat diagram 1 di makalah untuk informasi lebih lanjut tentang strategi default. - encoder_outputs (
tuple[tuple[torch.Tensor]], opsional) — Tuple terdiri dari (last_hidden_state, opsional:hidden_states, opsional:attentions)last_hidden_statedengan bentuk(batch_size, sequence_length, hidden_size), opsional) adalah rangkaian hidden-states pada keluaran lapisan terakhir encoder. Digunakan dalam cross-attention decoder. - past_key_values (
~cache_utils.Cache, opsional) — Hidden-states yang sudah dihitung sebelumnya (key dan values di blok self-attention dan di blok cross-attention) yang dapat digunakan untuk mempercepat decoding berurutan. Ini biasanya terdiri daripast_key_valuesyang dikembalikan oleh model pada tahap decoding sebelumnya, ketikause_cache=Trueatauconfig.use_cache=True.Hanya instance Cache yang diizinkan sebagai input, lihat panduan kv cache kami. Jika tidak ada
past_key_valuesyang diteruskan, DynamicCache akan diinisialisasi secara default.Model akan menghasilkan format cache yang sama dengan yang diberikan sebagai input.
Jika
past_key_valuesdigunakan, pengguna diharapkan hanya memasukkaninput_idsyang belum diproses (yang tidak memiliki state past key value yang diberikan ke model ini) dengan bentuk(batch_size, unprocessed_length)alih-alih semuainput_idsdengan bentuk(batch_size, sequence_length). - use_cache (
bool, opsional) — Jika diset keTrue, state kunci-nilaipast_key_valuesakan dikembalikan dan dapat digunakan untuk mempercepat decoding (lihatpast_key_values). - speaker_embeddings (
torch.Tensordengan bentuk(batch_size, config.speaker_embedding_dim), opsional) — Tensor yang berisi speaker embeddings. - output_attentions (
bool, opsional) — Apakah akan mengembalikan tensor attentions dari semua lapisan attention. Lihatattentionsdi bawah tensor yang dikembalikan untuk detail lebih lanjut. - output_hidden_states (
bool, opsional) — Apakah akan mengembalikan hidden states dari semua lapisan. Lihathidden_statesdi bawah tensor yang dikembalikan untuk detail lebih lanjut. - return_dict (
bool, opsional) — Apakah akan mengembalikan ModelOutput alih-alih tuple biasa.
Mengembalikan
Seq2SeqModelOutput atau tuple(torch.Tensor)
A Seq2SeqModelOutput atau tuple dari
torch.Tensor (jika return_dict=False dilewatkan atau ketika config.return_dict=False) yang terdiri dari berbagai
elemen tergantung pada konfigurasi (SpeechT5Config) dan input.
Metode forward dari SpeechT5Model 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.
last_hidden_state (
torch.Tensordengan bentuk(batch_size, sequence_length, hidden_size)) — Urutan hidden-states pada keluaran lapisan terakhir dari decoder model.Jika
past_key_valuesdigunakan, hanya hidden-state terakhir dari sekuens dengan bentuk(batch_size, 1, hidden_size)yang dioutput.past_key_values (
EncoderDecoderCache, opsional, dikembalikan ketikause_cache=Truediteruskan atau ketikaconfig.use_cache=True) — Ini adalah instance EncoderDecoderCache. Untuk detail lebih lanjut, lihat panduan kv cache kami.Mengandung hidden-states yang telah dihitung sebelumnya (key dan values di blok self-attention dan di blok cross-attention) yang dapat digunakan (lihat input
past_key_values) untuk mempercepat decoding berurutan.decoder_hidden_states (
tuple(torch.Tensor), opsional, dikembalikan saatoutput_hidden_states=Truedilewatkan atau saatconfig.output_hidden_states=True) — Tuple daritorch.Tensor(satu untuk output dari embeddings, jika model memiliki lapisan embedding, + satu untuk output dari setiap lapisan) dengan bentuk(batch_size, sequence_length, hidden_size).Hidden-states dari decoder pada output setiap layer ditambah output embedding awal yang opsional.
decoder_attentions (
tuple(torch.Tensor), opsional, dikembalikan saatoutput_attentions=Truedilewatkan atau saatconfig.output_attentions=True) — Tuple daritorch.Tensor(satu untuk setiap lapisan) dengan bentuk(batch_size, num_heads, sequence_length, sequence_length).Bobot perhatian dari decoder, setelah softmax perhatian, yang digunakan untuk menghitung rata-rata berbobot di kepala self-attention.
cross_attentions (
tuple(torch.Tensor), opsional, dikembalikan saatoutput_attentions=Truedilewatkan atau saatconfig.output_attentions=True) — Tuple daritorch.Tensor(satu untuk setiap layer) dengan bentuk(batch_size, num_heads, sequence_length, sequence_length).Bobot perhatian dari lapisan cross-attention decoder, setelah softmax perhatian, yang digunakan untuk menghitung rata-rata berbobot di kepala cross-attention.
encoder_last_hidden_state (
torch.Tensordengan bentuk(batch_size, sequence_length, hidden_size), opsional) — Urutan hidden-states pada keluaran lapisan terakhir dari encoder model.encoder_hidden_states (
tuple(torch.Tensor), opsional, dikembalikan ketikaoutput_hidden_states=Truedilewatkan atau ketikaconfig.output_hidden_states=True) — Tuple daritorch.Tensor(satu untuk output dari embeddings, jika model memiliki lapisan embedding, + satu untuk output dari setiap lapisan) dengan bentuk(batch_size, sequence_length, hidden_size).Hidden-states dari encoder pada output setiap layer ditambah output embedding awal yang opsional.
encoder_attentions (
tuple(torch.Tensor), opsional, dikembalikan saatoutput_attentions=Truedilewatkan atau saatconfig.output_attentions=True) — Tuple daritorch.Tensor(satu untuk setiap lapisan) dengan bentuk(batch_size, num_heads, sequence_length, sequence_length).Bobot perhatian dari encoder, setelah softmax perhatian, yang digunakan untuk menghitung rata-rata berbobot di kepala self-attention.
SpeechT5ForSpeechToText
kelas transformers.SpeechT5ForSpeechToText
< source >( config: SpeechT5Config )
Parameter
- config (SpeechT5Config) — Kelas konfigurasi model dengan semua parameter model. Inisialisasi dengan file konfigurasi tidak memuat bobot yang terkait dengan model, hanya konfigurasinya saja. Lihat metode from_pretrained() untuk memuat bobot model.
Model SpeechT5 dengan encoder ucapan dan decoder teks.
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: typing.Optional[torch.Tensor] = Noneattention_mask: typing.Optional[torch.LongTensor] = Nonedecoder_input_ids: typing.Optional[torch.LongTensor] = Nonedecoder_attention_mask: typing.Optional[torch.LongTensor] = Noneencoder_outputs: tuple[tuple[torch.Tensor]] | None = Nonepast_key_values: transformers.cache_utils.Cache | None = Noneuse_cache: bool | None = Noneoutput_attentions: bool | None = Noneoutput_hidden_states: bool | None = Nonereturn_dict: bool | None = Nonelabels: typing.Optional[torch.LongTensor] = None**kwargs ) → Seq2SeqLMOutput or tuple(torch.Tensor)
Parameter
- input_values (
torch.Tensordengan bentuk(batch_size, sequence_length)) — Nilai float dari waveform ucapan mentah input. Nilai dapat diperoleh dengan memuat file audio .flac atau .wav ke dalam array bertipelist[float],numpy.ndarrayatautorch.Tensor, misalnya melalui pustaka torchcodec (pip install torchcodec) atau pustaka soundfile (pip install soundfile). Untuk menyiapkan array menjadiinput_values, gunakan SpeechT5Processor untuk padding dan konversi menjadi tensor bertipetorch.Tensor. Lihat SpeechT5Processor.call() untuk detailnya. - attention_mask (
torch.LongTensordengan bentuk(batch_size, sequence_length), opsional) — Mask untuk menghindari eksekusi attention pada indeks token padding. Nilai mask dipilih dari[0, 1]:- 1 untuk token yang tidak dimasker,
- 0 untuk token yang dimasker.
- decoder_input_ids (
torch.LongTensordengan bentuk(batch_size, target_sequence_length), opsional) — Indeks token dari urutan input decoder dalam kosakata. Indeks dapat diperoleh menggunakan SpeechT5Tokenizer. Lihat PreTrainedTokenizer.encode() dan PreTrainedTokenizer.call() untuk detailnya. Apa itu decoder input ID? SpeechT5 menggunakan eos_token_id sebagai token awal untuk generasi decoder_input_ids. Jika past_key_values digunakan, secara opsional hanya decoder_input_ids terakhir yang perlu diinput (lihat past_key_values).Indeks dapat diperoleh menggunakan SpeechT5Tokenizer. Lihat PreTrainedTokenizer.encode() dan PreTrainedTokenizer.call() untuk detailnya.
SpeechT5 menggunakan
eos_token_idsebagai token awal untuk generasidecoder_input_ids. Jikapast_key_valuesdigunakan, secara opsional hanyadecoder_input_idsterakhir yang perlu diinput (lihatpast_key_values). - decoder_attention_mask (
torch.LongTensorberbentuk(batch_size, target_sequence_length), opsional) — Perilaku bawaan: menghasilkan tensor yang mengabaikan token pad didecoder_input_values. Mask kausal juga akan digunakan secara bawaan. Jika Anda ingin mengubah perilaku padding, Anda harus membaca SpeechT5Decoder._prepare_decoder_attention_mask dan memodifikasinya sesuai kebutuhan. Lihat diagram 1 di makalah untuk informasi lebih lanjut tentang strategi bawaan.Jika Anda ingin mengubah perilaku padding, Anda harus membaca
SpeechT5Decoder._prepare_decoder_attention_maskdan memodifikasinya sesuai kebutuhan Anda. Lihat diagram 1 di makalah untuk informasi lebih lanjut tentang strategi default. - encoder_outputs (
tuple[tuple[torch.Tensor]], opsional) — Tuple terdiri dari (last_hidden_state, opsional:hidden_states, opsional:attentions)last_hidden_statedengan bentuk(batch_size, sequence_length, hidden_size), opsional) adalah rangkaian hidden-states pada keluaran lapisan terakhir encoder. Digunakan dalam cross-attention decoder. - past_key_values (
~cache_utils.Cache, opsional) — Hidden-states yang sudah dihitung sebelumnya (key dan values di blok self-attention dan di blok cross-attention) yang dapat digunakan untuk mempercepat decoding berurutan. Ini biasanya terdiri daripast_key_valuesyang dikembalikan oleh model pada tahap decoding sebelumnya, ketikause_cache=Trueatauconfig.use_cache=True.Hanya instance Cache yang diizinkan sebagai input, lihat panduan kv cache kami. Jika tidak ada
past_key_valuesyang diteruskan, DynamicCache akan diinisialisasi secara default.Model akan menghasilkan format cache yang sama dengan yang diberikan sebagai input.
Jika
past_key_valuesdigunakan, pengguna diharapkan hanya memasukkaninput_idsyang belum diproses (yang tidak memiliki state past key value yang diberikan ke model ini) dengan bentuk(batch_size, unprocessed_length)alih-alih semuainput_idsdengan bentuk(batch_size, sequence_length). - use_cache (
bool, opsional) — Jika diset keTrue, state kunci-nilaipast_key_valuesakan dikembalikan dan dapat digunakan untuk mempercepat decoding (lihatpast_key_values). - output_attentions (
bool, opsional) — Apakah akan mengembalikan tensor attentions dari semua lapisan attention. Lihatattentionsdi bawah tensor yang dikembalikan untuk detail lebih lanjut. - output_hidden_states (
bool, opsional) — Apakah akan mengembalikan hidden states dari semua lapisan. Lihathidden_statesdi bawah tensor yang dikembalikan untuk detail lebih lanjut. - return_dict (
bool, opsional) — Apakah akan mengembalikan ModelOutput alih-alih tuple biasa. - labels (
torch.LongTensordengan bentuk(batch_size, sequence_length), opsional) — Label untuk menghitung loss pemodelan bahasa. Indeks harus berada dalam[0, ..., config.vocab_size]atau -100 (lihatinput_idsdocstring). Token dengan indeks yang diatur ke-100diabaikan (diberi mask), loss hanya dihitung untuk token dengan label dalam[0, ..., config.vocab_size].Indeks label dapat diperoleh menggunakan SpeechT5Tokenizer. Lihat PreTrainedTokenizer.encode() dan PreTrainedTokenizer.call() untuk detailnya.
Mengembalikan
Seq2SeqLMOutput atau tuple(torch.Tensor)
Sebuah Seq2SeqLMOutput atau tuple dari
torch.Tensor (jika return_dict=False diteruskan atau ketika config.return_dict=False) yang terdiri dari berbagai
elemen tergantung pada konfigurasi (SpeechT5Config) dan input.
Metode forward dari SpeechT5ForSpeechToText 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.
loss (
torch.Tensordengan bentuk(1,), opsional, dikembalikan saatlabelsdisediakan) — Loss pemodelan bahasa.logits (
torch.Tensordengan bentuk(batch_size, sequence_length, config.vocab_size)) — Skor prediksi dari kepala pemodelan bahasa (skor untuk setiap token kosakata sebelum SoftMax).past_key_values (
EncoderDecoderCache, opsional, dikembalikan ketikause_cache=Truediteruskan atau ketikaconfig.use_cache=True) — Ini adalah instance EncoderDecoderCache. Untuk detail lebih lanjut, lihat panduan kv cache kami.Mengandung hidden-states yang telah dihitung sebelumnya (key dan values di blok self-attention dan di blok cross-attention) yang dapat digunakan (lihat input
past_key_values) untuk mempercepat decoding berurutan.decoder_hidden_states (
tuple(torch.Tensor), opsional, dikembalikan saatoutput_hidden_states=Truedilewatkan atau saatconfig.output_hidden_states=True) — Tuple daritorch.Tensor(satu untuk output dari embeddings, jika model memiliki lapisan embedding, + satu untuk output dari setiap lapisan) dengan bentuk(batch_size, sequence_length, hidden_size).Hidden-states dari decoder pada output setiap layer ditambah output embedding awal.
decoder_attentions (
tuple(torch.Tensor), opsional, dikembalikan saatoutput_attentions=Truedilewatkan atau saatconfig.output_attentions=True) — Tuple daritorch.Tensor(satu untuk setiap lapisan) dengan bentuk(batch_size, num_heads, sequence_length, sequence_length).Bobot perhatian dari decoder, setelah softmax perhatian, yang digunakan untuk menghitung rata-rata berbobot di kepala self-attention.
cross_attentions (
tuple(torch.Tensor), opsional, dikembalikan saatoutput_attentions=Truedilewatkan atau saatconfig.output_attentions=True) — Tuple daritorch.Tensor(satu untuk setiap layer) dengan bentuk(batch_size, num_heads, sequence_length, sequence_length).Bobot perhatian dari lapisan cross-attention decoder, setelah softmax perhatian, yang digunakan untuk menghitung rata-rata berbobot di kepala cross-attention.
encoder_last_hidden_state (
torch.Tensordengan bentuk(batch_size, sequence_length, hidden_size), opsional) — Urutan hidden-states pada keluaran lapisan terakhir dari encoder model.encoder_hidden_states (
tuple(torch.Tensor), opsional, dikembalikan ketikaoutput_hidden_states=Truedilewatkan atau ketikaconfig.output_hidden_states=True) — Tuple daritorch.Tensor(satu untuk output dari embeddings, jika model memiliki lapisan embedding, + satu untuk output dari setiap lapisan) dengan bentuk(batch_size, sequence_length, hidden_size).Hidden-states dari encoder pada output setiap layer ditambah output embedding awal.
encoder_attentions (
tuple(torch.Tensor), opsional, dikembalikan saatoutput_attentions=Truedilewatkan atau saatconfig.output_attentions=True) — Tuple daritorch.Tensor(satu untuk setiap lapisan) dengan bentuk(batch_size, num_heads, sequence_length, sequence_length).Bobot perhatian dari encoder, setelah softmax perhatian, yang digunakan untuk menghitung rata-rata berbobot di kepala self-attention.
Contoh:
>>> from transformers import SpeechT5Processor, SpeechT5ForSpeechToText
>>> from datasets import load_dataset
>>> dataset = load_dataset(
... "hf-internal-testing/librispeech_asr_demo", "clean", split="validation"
... ) # doctest: +IGNORE_RESULT
>>> dataset = dataset.sort("id")
>>> sampling_rate = dataset.features["audio"].sampling_rate
>>> processor = SpeechT5Processor.from_pretrained("microsoft/speecht5_asr")
>>> model = SpeechT5ForSpeechToText.from_pretrained("microsoft/speecht5_asr")
>>> # audio file is decoded on the fly
>>> inputs = processor(audio=dataset[0]["audio"]["array"], sampling_rate=sampling_rate, return_tensors="pt")
>>> predicted_ids = model.generate(**inputs, max_length=100)
>>> # transcribe speech
>>> transcription = processor.batch_decode(predicted_ids, skip_special_tokens=True)
>>> transcription[0]
'mister quilter is the apostle of the middle classes and we are glad to welcome his gospel'SpeechT5ForTextToSpeech
kelas transformers.SpeechT5ForTextToSpeech
< source >( config: SpeechT5Config )
Parameter
- config (SpeechT5Config) — Kelas konfigurasi model dengan semua parameter model. Inisialisasi dengan file konfigurasi tidak memuat bobot yang terkait dengan model, hanya konfigurasinya saja. Lihat metode from_pretrained() untuk memuat bobot model.
Model SpeechT5 dengan encoder teks dan decoder ucapan.
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_ids: typing.Optional[torch.LongTensor] = Noneattention_mask: typing.Optional[torch.LongTensor] = Nonedecoder_input_values: typing.Optional[torch.Tensor] = Nonedecoder_attention_mask: typing.Optional[torch.LongTensor] = Noneencoder_outputs: tuple[tuple[torch.Tensor]] | None = Nonepast_key_values: transformers.cache_utils.Cache | None = Noneuse_cache: bool | None = Noneoutput_attentions: bool | None = Noneoutput_hidden_states: bool | None = Nonereturn_dict: bool | None = Nonespeaker_embeddings: typing.Optional[torch.Tensor] = Nonelabels: typing.Optional[torch.Tensor] = Nonestop_labels: typing.Optional[torch.Tensor] = None**kwargs ) → Seq2SeqSpectrogramOutput or tuple(torch.Tensor)
Parameter
- input_ids (
torch.LongTensordengan bentuk(batch_size, sequence_length)) — Indeks token urutan input dalam kosakata. Indeks dapat diperoleh menggunakan SpeechT5Tokenizer. Lihat encode() dan call() untuk detail. Apa itu input ID?Indeks dapat diperoleh menggunakan SpeechT5Tokenizer. Lihat encode() dan call() untuk detailnya.
- attention_mask (
torch.LongTensordengan bentuk(batch_size, sequence_length), opsional) — Mask untuk menghindari eksekusi attention pada indeks token padding. Nilai mask dipilih dari[0, 1]:- 1 untuk token yang tidak dimasker,
- 0 untuk token yang dimasker.
- decoder_input_values (
torch.Tensordengan bentuk(batch_size, sequence_length, config.num_mel_bins)) — Nilai float dari mel spectrogram input.SpeechT5 menggunakan spektrum nol sebagai token awal untuk generasi
decoder_input_values. Jikapast_key_valuesdigunakan, secara opsional hanyadecoder_input_valuesterakhir yang perlu diinput (lihatpast_key_values). - decoder_attention_mask (
torch.LongTensorberbentuk(batch_size, target_sequence_length), opsional) — Perilaku bawaan: menghasilkan tensor yang mengabaikan token pad didecoder_input_values. Mask kausal juga akan digunakan secara bawaan. Jika Anda ingin mengubah perilaku padding, Anda harus membaca SpeechT5Decoder._prepare_decoder_attention_mask dan memodifikasinya sesuai kebutuhan. Lihat diagram 1 di makalah untuk informasi lebih lanjut tentang strategi bawaan.Jika Anda ingin mengubah perilaku padding, Anda harus membaca
SpeechT5Decoder._prepare_decoder_attention_maskdan memodifikasinya sesuai kebutuhan Anda. Lihat diagram 1 di makalah untuk informasi lebih lanjut tentang strategi default. - encoder_outputs (
tuple[tuple[torch.Tensor]], opsional) — Tuple terdiri dari (last_hidden_state, opsional:hidden_states, opsional:attentions)last_hidden_statedengan bentuk(batch_size, sequence_length, hidden_size), opsional) adalah rangkaian hidden-states pada keluaran lapisan terakhir encoder. Digunakan dalam cross-attention decoder. - past_key_values (
~cache_utils.Cache, opsional) — Hidden-states yang sudah dihitung sebelumnya (key dan values di blok self-attention dan di blok cross-attention) yang dapat digunakan untuk mempercepat decoding berurutan. Ini biasanya terdiri daripast_key_valuesyang dikembalikan oleh model pada tahap decoding sebelumnya, ketikause_cache=Trueatauconfig.use_cache=True.Hanya instance Cache yang diizinkan sebagai input, lihat panduan kv cache kami. Jika tidak ada
past_key_valuesyang diteruskan, DynamicCache akan diinisialisasi secara default.Model akan menghasilkan format cache yang sama dengan yang diberikan sebagai input.
Jika
past_key_valuesdigunakan, pengguna diharapkan hanya memasukkaninput_idsyang belum diproses (yang tidak memiliki state past key value yang diberikan ke model ini) dengan bentuk(batch_size, unprocessed_length)alih-alih semuainput_idsdengan bentuk(batch_size, sequence_length). - use_cache (
bool, opsional) — Jika diset keTrue, state kunci-nilaipast_key_valuesakan dikembalikan dan dapat digunakan untuk mempercepat decoding (lihatpast_key_values). - output_attentions (
bool, opsional) — Apakah akan mengembalikan tensor attentions dari semua lapisan attention. Lihatattentionsdi bawah tensor yang dikembalikan untuk detail lebih lanjut. - output_hidden_states (
bool, opsional) — Apakah akan mengembalikan hidden states dari semua lapisan. Lihathidden_statesdi bawah tensor yang dikembalikan untuk detail lebih lanjut. - return_dict (
bool, opsional) — Apakah akan mengembalikan ModelOutput alih-alih tuple biasa. - speaker_embeddings (
torch.Tensordengan bentuk(batch_size, config.speaker_embedding_dim), opsional) — Tensor yang berisi speaker embeddings. - labels (
torch.Tensordengan bentuk(batch_size, sequence_length, config.num_mel_bins), opsional) — Nilai float dari target mel spectrogram. Timestep yang diset ke-100.0akan diabaikan (diberi mask) untuk perhitungan loss. Spectrogram dapat diperoleh menggunakan SpeechT5Processor. Lihat SpeechT5Processor.call() untuk detailnya. - stop_labels (
torch.Tensordengan bentuk(batch_size, sequence_length), opsional) — Tensor biner yang menunjukkan posisi token stop dalam urutan.
Mengembalikan
Seq2SeqSpectrogramOutput atau tuple(torch.Tensor)
Sebuah Seq2SeqSpectrogramOutput atau tuple dari
torch.Tensor (jika return_dict=False dilewatkan atau ketika config.return_dict=False) yang terdiri dari berbagai
elemen tergantung pada konfigurasi (SpeechT5Config) dan input.
Metode forward dari SpeechT5ForTextToSpeech 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.
loss (
torch.Tensordengan bentuk(1,), opsional, dikembalikan saatlabelsdisediakan) — Loss generasi spektrogram.spectrogram (
torch.Tensordengan bentuk(batch_size, sequence_length, num_bins)) — Spektrogram yang diprediksi.past_key_values (
EncoderDecoderCache, opsional, dikembalikan ketikause_cache=Truediteruskan atau ketikaconfig.use_cache=True) — Ini adalah instance EncoderDecoderCache. Untuk detail lebih lanjut, lihat panduan kv cache kami.Mengandung hidden-states yang telah dihitung sebelumnya (key dan values di blok self-attention dan di blok cross-attention) yang dapat digunakan (lihat input
past_key_values) untuk mempercepat decoding berurutan.decoder_hidden_states (
tuple(torch.Tensor), opsional, dikembalikan saatoutput_hidden_states=Truedilewatkan atau saatconfig.output_hidden_states=True) — Tuple daritorch.Tensor(satu untuk output dari embeddings, jika model memiliki lapisan embedding, + satu untuk output dari setiap lapisan) dengan bentuk(batch_size, sequence_length, hidden_size).Hidden-states dari decoder pada output setiap layer ditambah output embedding awal.
decoder_attentions (
tuple(torch.Tensor), opsional, dikembalikan saatoutput_attentions=Truedilewatkan atau saatconfig.output_attentions=True) — Tuple daritorch.Tensor(satu untuk setiap lapisan) dengan bentuk(batch_size, num_heads, sequence_length, sequence_length).Bobot perhatian dari decoder, setelah softmax perhatian, yang digunakan untuk menghitung rata-rata berbobot di kepala self-attention.
cross_attentions (
tuple(torch.Tensor), opsional, dikembalikan saatoutput_attentions=Truedilewatkan atau saatconfig.output_attentions=True) — Tuple daritorch.Tensor(satu untuk setiap layer) dengan bentuk(batch_size, num_heads, sequence_length, sequence_length).Bobot perhatian dari lapisan cross-attention decoder, setelah softmax perhatian, yang digunakan untuk menghitung rata-rata berbobot di kepala cross-attention.
encoder_last_hidden_state (
torch.Tensordengan bentuk(batch_size, sequence_length, hidden_size), opsional) — Urutan hidden-states pada keluaran lapisan terakhir dari encoder model.encoder_hidden_states (
tuple(torch.Tensor), opsional, dikembalikan ketikaoutput_hidden_states=Truedilewatkan atau ketikaconfig.output_hidden_states=True) — Tuple daritorch.Tensor(satu untuk output dari embeddings, jika model memiliki lapisan embedding, + satu untuk output dari setiap lapisan) dengan bentuk(batch_size, sequence_length, hidden_size).Hidden-states dari encoder pada output setiap layer ditambah output embedding awal.
encoder_attentions (
tuple(torch.Tensor), opsional, dikembalikan saatoutput_attentions=Truedilewatkan atau saatconfig.output_attentions=True) — Tuple daritorch.Tensor(satu untuk setiap lapisan) dengan bentuk(batch_size, num_heads, sequence_length, sequence_length).Bobot perhatian dari encoder, setelah softmax perhatian, yang digunakan untuk menghitung rata-rata berbobot di kepala self-attention.
Contoh:
>>> from transformers import SpeechT5Processor, SpeechT5ForTextToSpeech, SpeechT5HifiGan, set_seed
>>> import torch
>>> processor = SpeechT5Processor.from_pretrained("microsoft/speecht5_tts")
>>> model = SpeechT5ForTextToSpeech.from_pretrained("microsoft/speecht5_tts")
>>> vocoder = SpeechT5HifiGan.from_pretrained("microsoft/speecht5_hifigan")
>>> inputs = processor(text="Hello, my dog is cute", return_tensors="pt")
>>> speaker_embeddings = torch.zeros((1, 512)) # or load xvectors from a file
>>> set_seed(555) # make deterministic
>>> # generate speech
>>> speech = model.generate(inputs["input_ids"], speaker_embeddings=speaker_embeddings, vocoder=vocoder)
>>> speech.shape
torch.Size([15872])generate
< source >( input_ids: LongTensorattention_mask: typing.Optional[torch.LongTensor] = Nonespeaker_embeddings: typing.Optional[torch.Tensor] = Nonethreshold: float = 0.5minlenratio: float = 0.0maxlenratio: float = 20.0vocoder: typing.Optional[torch.nn.Module] = Noneoutput_cross_attentions: bool = Falsereturn_output_lengths: bool = False**kwargs ) → tuple(torch.Tensor) comprising various elements depending on the inputs
Parameter
- input_ids (
torch.LongTensordengan bentuk(batch_size, sequence_length)) — Indeks token urutan input dalam kosakata. Indeks dapat diperoleh menggunakan SpeechT5Tokenizer. Lihat encode() dan call() untuk detail. Apa itu input ID?Indeks dapat diperoleh menggunakan SpeechT5Tokenizer. Lihat encode() dan call() untuk detailnya.
- attention_mask (
torch.LongTensordengan bentuk(batch_size, sequence_length)) — Attention mask dari tokenizer, diperlukan untuk inferensi batched untuk memberi sinyal ke model di mana token bantalan (padded) dari input_ids harus diabaikan. - speaker_embeddings (
torch.Tensordengan bentuk(batch_size, config.speaker_embedding_dim), opsional) — Tensor yang berisi speaker embeddings. - threshold (
float, opsional, default 0.5) — Urutan yang dihasilkan berakhir ketika probabilitas token stop yang diprediksi melebihi nilai ini. - minlenratio (
float, opsional, default 0.0) — Digunakan untuk menghitung panjang minimum yang diperlukan untuk sekuens output. - maxlenratio (
float, opsional, default 20.0) — Digunakan untuk menghitung panjang maksimum yang diizinkan untuk sekuens output. - vocoder (
nn.Module, opsional) — Vocoder yang mengubah mel spectrogram menjadi waveform ucapan. JikaNone, outputnya adalah mel spectrogram. - output_cross_attentions (
bool, opsional, defaultFalse) — Apakah akan mengembalikan tensor perhatian dari lapisan cross-attention decoder. - return_output_lengths (
bool, opsional, defaultFalse) — Apakah akan mengembalikan panjang spektrum/waveform yang konkret.
Mengembalikan
tuple(torch.Tensor) yang terdiri dari berbagai elemen tergantung pada input
- ketika
return_output_lengthsbernilai False- spectrogram (opsional, dikembalikan ketika tidak ada
vocoderyang diberikan)torch.Tensordengan bentuk(output_sequence_length, config.num_mel_bins)— Spektrum log-mel yang diprediksi. - waveform (opsional, dikembalikan ketika
vocoderdisediakan)torch.Tensordengan bentuk(num_frames,)— Gelombang suara yang diprediksi. - cross_attentions (opsional, dikembalikan ketika
output_cross_attentionsbernilaiTrue)torch.Tensordengan bentuk(config.decoder_layers, config.decoder_attention_heads, output_sequence_length, input_sequence_length)— Hasil keluaran dari lapisan cross-attention decoder.
- spectrogram (opsional, dikembalikan ketika tidak ada
- ketika
return_output_lengthsbernilai True- spectrogram (opsional, dikembalikan jika tidak ada
vocoderyang diberikan)torch.Tensordengan bentuk(batch_size, output_sequence_length, config.num_mel_bins)— Spectrogram log-mel yang diprediksi dan di-pad hingga panjang maksimum. - spectrogram_lengths (opsional, dikembalikan ketika tidak ada
vocoderyang diberikan)list[Int]— Daftar dari semua panjang konkret untuk setiap spectrogram. - gelombang suara (opsional, dikembalikan ketika
vocoderdisediakan)torch.Tensordengan bentuk(batch_size, num_frames)— Gelombang suara ucapan yang diprediksi dan di-*pad* hingga panjang maksimum. - waveform_lengths (opsional, dikembalikan saat
vocoderdisediakan)list[Int]— Daftar panjang konkret untuk setiap waveform. - cross_attentions (opsional, dikembalikan ketika
output_cross_attentionsbernilaiTrue)torch.Tensordengan bentuk(batch_size, config.decoder_layers, config.decoder_attention_heads, output_sequence_length, input_sequence_length)— Hasil keluaran dari lapisan cross-attention decoder.
- spectrogram (opsional, dikembalikan jika tidak ada
Mengonversi urutan token input menjadi urutan spektrogram mel, yang kemudian diubah menjadi gelombang suara menggunakan voder.
SpeechT5ForSpeechToSpeech
kelas transformers.SpeechT5ForSpeechToSpeech
< source >( config: SpeechT5Config )
Parameter
- config (SpeechT5Config) — Kelas konfigurasi model dengan semua parameter model. Inisialisasi dengan file konfigurasi tidak memuat bobot yang terkait dengan model, hanya konfigurasinya saja. Lihat metode from_pretrained() untuk memuat bobot model.
Model SpeechT5 dengan encoder ucapan dan decoder ucapan.
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: typing.Optional[torch.Tensor] = Noneattention_mask: typing.Optional[torch.LongTensor] = Nonedecoder_input_values: typing.Optional[torch.Tensor] = Nonedecoder_attention_mask: typing.Optional[torch.LongTensor] = Noneencoder_outputs: tuple[tuple[torch.Tensor]] | None = Nonepast_key_values: transformers.cache_utils.Cache | None = Noneuse_cache: bool | None = Noneoutput_attentions: bool | None = Noneoutput_hidden_states: bool | None = Nonereturn_dict: bool | None = Nonespeaker_embeddings: typing.Optional[torch.Tensor] = Nonelabels: typing.Optional[torch.Tensor] = Nonestop_labels: typing.Optional[torch.Tensor] = None**kwargs ) → Seq2SeqSpectrogramOutput or tuple(torch.Tensor)
Parameter
- input_values (
torch.Tensordengan bentuk(batch_size, sequence_length)) — Nilai float dari gelombang suara mentah input. Nilai dapat diperoleh dengan memuat file audio .flac atau .wav ke dalam array bertipelist[float],numpy.ndarrayatautorch.Tensor, misalnya melalui pustaka torchcodec (pip install torchcodec) atau pustaka soundfile (pip install soundfile). Untuk menyiapkan array menjadiinput_values, gunakan SpeechT5Processor untuk padding dan konversi menjadi tensor bertipetorch.Tensor. Lihat SpeechT5Processor.call() untuk detailnya. - attention_mask (
torch.LongTensordengan bentuk(batch_size, sequence_length), opsional) — Mask untuk menghindari eksekusi attention pada indeks token padding. Nilai mask dipilih dari[0, 1]:- 1 untuk token yang tidak dimasker,
- 0 untuk token yang dimasker.
- decoder_input_values (
torch.Tensordengan bentuk(batch_size, sequence_length, config.num_mel_bins)) — Nilai float dari mel spectrogram input.SpeechT5 menggunakan spektrum nol sebagai token awal untuk generasi
decoder_input_values. Jikapast_key_valuesdigunakan, secara opsional hanyadecoder_input_valuesterakhir yang perlu diinput (lihatpast_key_values). - decoder_attention_mask (
torch.LongTensorberbentuk(batch_size, target_sequence_length), opsional) — Perilaku bawaan: menghasilkan tensor yang mengabaikan token pad didecoder_input_values. Mask kausal juga akan digunakan secara bawaan. Jika Anda ingin mengubah perilaku padding, Anda harus membaca SpeechT5Decoder._prepare_decoder_attention_mask dan memodifikasinya sesuai kebutuhan. Lihat diagram 1 di makalah untuk informasi lebih lanjut tentang strategi bawaan.Jika Anda ingin mengubah perilaku padding, Anda harus membaca
SpeechT5Decoder._prepare_decoder_attention_maskdan memodifikasinya sesuai kebutuhan Anda. Lihat diagram 1 di makalah untuk informasi lebih lanjut tentang strategi default. - encoder_outputs (
tuple[tuple[torch.Tensor]], opsional) — Tuple terdiri dari (last_hidden_state, opsional:hidden_states, opsional:attentions)last_hidden_statedengan bentuk(batch_size, sequence_length, hidden_size), opsional) adalah rangkaian hidden-states pada keluaran lapisan terakhir encoder. Digunakan dalam cross-attention decoder. - past_key_values (
~cache_utils.Cache, opsional) — Hidden-states yang sudah dihitung sebelumnya (key dan values di blok self-attention dan di blok cross-attention) yang dapat digunakan untuk mempercepat decoding berurutan. Ini biasanya terdiri daripast_key_valuesyang dikembalikan oleh model pada tahap decoding sebelumnya, ketikause_cache=Trueatauconfig.use_cache=True.Hanya instance Cache yang diizinkan sebagai input, lihat panduan kv cache kami. Jika tidak ada
past_key_valuesyang diteruskan, DynamicCache akan diinisialisasi secara default.Model akan menghasilkan format cache yang sama dengan yang diberikan sebagai input.
Jika
past_key_valuesdigunakan, pengguna diharapkan hanya memasukkaninput_idsyang belum diproses (yang tidak memiliki state past key value yang diberikan ke model ini) dengan bentuk(batch_size, unprocessed_length)alih-alih semuainput_idsdengan bentuk(batch_size, sequence_length). - use_cache (
bool, opsional) — Jika diset keTrue, state kunci-nilaipast_key_valuesakan dikembalikan dan dapat digunakan untuk mempercepat decoding (lihatpast_key_values). - output_attentions (
bool, opsional) — Apakah akan mengembalikan tensor attentions dari semua lapisan attention. Lihatattentionsdi bawah tensor yang dikembalikan untuk detail lebih lanjut. - output_hidden_states (
bool, opsional) — Apakah akan mengembalikan hidden states dari semua lapisan. Lihathidden_statesdi bawah tensor yang dikembalikan untuk detail lebih lanjut. - return_dict (
bool, opsional) — Apakah akan mengembalikan ModelOutput alih-alih tuple biasa. - speaker_embeddings (
torch.Tensordengan bentuk(batch_size, config.speaker_embedding_dim), opsional) — Tensor yang berisi speaker embeddings. - labels (
torch.Tensordengan bentuk(batch_size, sequence_length, config.num_mel_bins), opsional) — Nilai float dari target mel spectrogram. Spectrogram dapat diperoleh menggunakan SpeechT5Processor. Lihat SpeechT5Processor.call() untuk detailnya. - stop_labels (
torch.Tensordengan bentuk(batch_size, sequence_length), opsional) — Tensor biner yang menunjukkan posisi token stop dalam urutan.
Mengembalikan
Seq2SeqSpectrogramOutput atau tuple(torch.Tensor)
Sebuah Seq2SeqSpectrogramOutput atau tuple dari
torch.Tensor (jika return_dict=False dilewatkan atau ketika config.return_dict=False) yang terdiri dari berbagai
elemen tergantung pada konfigurasi (SpeechT5Config) dan input.
Metode forward dari SpeechT5ForSpeechToSpeech 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.
loss (
torch.Tensordengan bentuk(1,), opsional, dikembalikan saatlabelsdisediakan) — Loss generasi spektrogram.spectrogram (
torch.Tensordengan bentuk(batch_size, sequence_length, num_bins)) — Spektrogram yang diprediksi.past_key_values (
EncoderDecoderCache, opsional, dikembalikan ketikause_cache=Truediteruskan atau ketikaconfig.use_cache=True) — Ini adalah instance EncoderDecoderCache. Untuk detail lebih lanjut, lihat panduan kv cache kami.Mengandung hidden-states yang telah dihitung sebelumnya (key dan values di blok self-attention dan di blok cross-attention) yang dapat digunakan (lihat input
past_key_values) untuk mempercepat decoding berurutan.decoder_hidden_states (
tuple(torch.Tensor), opsional, dikembalikan saatoutput_hidden_states=Truedilewatkan atau saatconfig.output_hidden_states=True) — Tuple daritorch.Tensor(satu untuk output dari embeddings, jika model memiliki lapisan embedding, + satu untuk output dari setiap lapisan) dengan bentuk(batch_size, sequence_length, hidden_size).Hidden-states dari decoder pada output setiap layer ditambah output embedding awal.
decoder_attentions (
tuple(torch.Tensor), opsional, dikembalikan saatoutput_attentions=Truedilewatkan atau saatconfig.output_attentions=True) — Tuple daritorch.Tensor(satu untuk setiap lapisan) dengan bentuk(batch_size, num_heads, sequence_length, sequence_length).Bobot perhatian dari decoder, setelah softmax perhatian, yang digunakan untuk menghitung rata-rata berbobot di kepala self-attention.
cross_attentions (
tuple(torch.Tensor), opsional, dikembalikan saatoutput_attentions=Truedilewatkan atau saatconfig.output_attentions=True) — Tuple daritorch.Tensor(satu untuk setiap layer) dengan bentuk(batch_size, num_heads, sequence_length, sequence_length).Bobot perhatian dari lapisan cross-attention decoder, setelah softmax perhatian, yang digunakan untuk menghitung rata-rata berbobot di kepala cross-attention.
encoder_last_hidden_state (
torch.Tensordengan bentuk(batch_size, sequence_length, hidden_size), opsional) — Urutan hidden-states pada keluaran lapisan terakhir dari encoder model.encoder_hidden_states (
tuple(torch.Tensor), opsional, dikembalikan ketikaoutput_hidden_states=Truedilewatkan atau ketikaconfig.output_hidden_states=True) — Tuple daritorch.Tensor(satu untuk output dari embeddings, jika model memiliki lapisan embedding, + satu untuk output dari setiap lapisan) dengan bentuk(batch_size, sequence_length, hidden_size).Hidden-states dari encoder pada output setiap layer ditambah output embedding awal.
encoder_attentions (
tuple(torch.Tensor), opsional, dikembalikan saatoutput_attentions=Truedilewatkan atau saatconfig.output_attentions=True) — Tuple daritorch.Tensor(satu untuk setiap lapisan) dengan bentuk(batch_size, num_heads, sequence_length, sequence_length).Bobot perhatian dari encoder, setelah softmax perhatian, yang digunakan untuk menghitung rata-rata berbobot di kepala self-attention.
Contoh:
>>> from transformers import SpeechT5Processor, SpeechT5ForSpeechToSpeech, SpeechT5HifiGan, set_seed
>>> from datasets import load_dataset
>>> import torch
>>> dataset = load_dataset(
... "hf-internal-testing/librispeech_asr_demo", "clean", split="validation"
... ) # doctest: +IGNORE_RESULT
>>> dataset = dataset.sort("id")
>>> sampling_rate = dataset.features["audio"].sampling_rate
>>> processor = SpeechT5Processor.from_pretrained("microsoft/speecht5_vc")
>>> model = SpeechT5ForSpeechToSpeech.from_pretrained("microsoft/speecht5_vc")
>>> vocoder = SpeechT5HifiGan.from_pretrained("microsoft/speecht5_hifigan")
>>> # audio file is decoded on the fly
>>> inputs = processor(audio=dataset[0]["audio"]["array"], sampling_rate=sampling_rate, return_tensors="pt")
>>> speaker_embeddings = torch.zeros((1, 512)) # or load xvectors from a file
>>> set_seed(555) # make deterministic
>>> # generate speech
>>> speech = model.generate_speech(inputs["input_values"], speaker_embeddings, vocoder=vocoder)
>>> speech.shape
torch.Size([77824])generate_speech
< source >( input_values: Tensorspeaker_embeddings: typing.Optional[torch.Tensor] = Noneattention_mask: typing.Optional[torch.LongTensor] = Nonethreshold: float = 0.5minlenratio: float = 0.0maxlenratio: float = 20.0vocoder: typing.Optional[torch.nn.Module] = Noneoutput_cross_attentions: bool = Falsereturn_output_lengths: bool = False ) → tuple(torch.Tensor) comprising various elements depending on the inputs
Parameter
- input_values (
torch.Tensordengan bentuk(batch_size, sequence_length)) — Nilai float dari waveform ucapan mentah input. Nilai dapat diperoleh dengan memuat file audio .flac atau .wav ke dalam array bertipe list[float], numpy.ndarray, atau torch.Tensor, misalnya melalui pustaka torchcodec (pip install torchcodec) atau pustaka soundfile (pip install soundfile). Untuk menyiapkan array menjadi input_values, gunakan SpeechT5Processor untuk padding dan konversi menjadi tensor bertipe torch.Tensor. Lihat SpeechT5Processor.call() untuk detailnya.Nilai dapat diperoleh dengan memuat file audio .flac atau .wav ke dalam array bertipe
list[float],numpy.ndarray, atautorch.Tensor, misalnya melalui pustaka torchcodec (pip install torchcodec) atau pustaka soundfile (pip install soundfile). Untuk menyiapkan array menjadiinput_values, gunakan SpeechT5Processor untuk padding dan konversi menjadi tensor bertipetorch.Tensor. Lihat SpeechT5Processor.call() untuk detailnya. - speaker_embeddings (
torch.Tensordengan bentuk(batch_size, config.speaker_embedding_dim), opsional) — Tensor yang berisi speaker embeddings. - attention_mask (
torch.LongTensordengan bentuk(batch_size, sequence_length), , opsional) — Mask untuk menghindari eksekusi convolution dan attention pada indeks token padding. Nilai mask dipilih dari[0, 1]:- 1 untuk token yang tidak dimasker,
- 0 untuk token yang dimasker.
- threshold (
float, opsional, default 0.5) — Urutan yang dihasilkan berakhir ketika probabilitas token stop yang diprediksi melebihi nilai ini. - minlenratio (
float, opsional, default 0.0) — Digunakan untuk menghitung panjang minimum yang diperlukan untuk sekuens output. - maxlenratio (
float, opsional, default 20.0) — Digunakan untuk menghitung panjang maksimum yang diizinkan untuk sekuens output. - vocoder (
nn.Module, opsional, defaultNone) — Vocoder yang mengubah mel spectrogram menjadi waveform ucapan. JikaNone, outputnya adalah mel spectrogram. - output_cross_attentions (
bool, opsional, defaultFalse) — Apakah akan mengembalikan tensor perhatian dari lapisan cross-attention decoder. - return_output_lengths (
bool, opsional, defaultFalse) — Apakah akan mengembalikan panjang spektrum/waveform yang konkret.
Mengembalikan
tuple(torch.Tensor) yang terdiri dari berbagai elemen tergantung pada input
- ketika
return_output_lengthsbernilai False- spectrogram (opsional, dikembalikan ketika tidak ada
vocoderyang diberikan)torch.Tensordengan bentuk(output_sequence_length, config.num_mel_bins)— Spektrum log-mel yang diprediksi. - waveform (opsional, dikembalikan ketika
vocoderdisediakan)torch.Tensordengan bentuk(num_frames,)— Gelombang suara yang diprediksi. - cross_attentions (opsional, dikembalikan ketika
output_cross_attentionsbernilaiTrue)torch.Tensordengan bentuk(config.decoder_layers, config.decoder_attention_heads, output_sequence_length, input_sequence_length)— Hasil keluaran dari lapisan cross-attention decoder.
- spectrogram (opsional, dikembalikan ketika tidak ada
- ketika
return_output_lengthsbernilai True- spectrogram (opsional, dikembalikan jika tidak ada
vocoderyang diberikan)torch.Tensordengan bentuk(batch_size, output_sequence_length, config.num_mel_bins)— Spectrogram log-mel yang diprediksi dan di-pad hingga panjang maksimum. - spectrogram_lengths (opsional, dikembalikan ketika tidak ada
vocoderyang diberikan)list[Int]— Daftar dari semua panjang konkret untuk setiap spectrogram. - gelombang suara (opsional, dikembalikan ketika
vocoderdisediakan)torch.Tensordengan bentuk(batch_size, num_frames)— Gelombang suara ucapan yang diprediksi dan di-*pad* hingga panjang maksimum. - waveform_lengths (opsional, dikembalikan saat
vocoderdisediakan)list[Int]— Daftar panjang konkret untuk setiap waveform. - cross_attentions (opsional, dikembalikan ketika
output_cross_attentionsbernilaiTrue)torch.Tensordengan bentuk(batch_size, config.decoder_layers, config.decoder_attention_heads, output_sequence_length, input_sequence_length)— Hasil keluaran dari lapisan cross-attention decoder.
- spectrogram (opsional, dikembalikan jika tidak ada
Mengubah gelombang suara mentah menjadi rangkaian mel spectrogram, yang kemudian diubah kembali menjadi gelombang suara menggunakan vocoder.
SpeechT5HifiGan
kelas transformers.SpeechT5HifiGan
< source >( config: SpeechT5HifiGanConfig )
Parameter
- config (SpeechT5HifiGanConfig) — Kelas konfigurasi model yang berisi semua parameter model. Inisialisasi dengan file konfigurasi tidak memuat bobot yang terkait dengan model, hanya konfigurasinya saja. Lihat metode from_pretrained() untuk memuat bobot model.
Vocoder HiFi-GAN.
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 >( spectrogram: Tensor**kwargs ) → torch.Tensor
Parameter
- spectrogram (
torch.Tensor) — Tensor yang berisi log-mel spectrograms. Dapat di-batch dengan bentuk(batch_size, sequence_length, config.model_in_dim), atau tanpa batch dengan bentuk(sequence_length, config.model_in_dim).
Mengembalikan
torch.Tensor
Tensor yang berisi waveform ucapan. Jika input spectrogram di-batch, bentuknya akan menjadi (batch_size, num_frames,). Jika tidak di-batch, bentuknya akan menjadi (num_frames,).
Mengonversi log-mel spectrogram menjadi waveform ucapan. Menyerahkan batch log-mel spectrogram mengembalikan batch waveform ucapan. Menyerahkan log-mel spectrogram tunggal, tanpa batch, mengembalikan waveform ucapan tunggal, tanpa batch.