Transformers documentation
SpeechT5
Bu model 2021-10-14 tarihinde HF papers'ta yayımlandı ve 2023-02-03 tarihinde Hugging Face Transformers'a katkıda bulunuldu.
SpeechT5
Genel Bakış
SpeechT5 modeli, 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 ve Furu Wei tarafından SpeechT5: Unified-Modal Encoder-Decoder Pre-Training for Spoken Language Processing makalesinde önerilmiştir.
Makalenin özeti aşağıdaki gibidir:
Önceden eğitilmiş doğal dil işleme modellerinde T5 (Text-To-Text Transfer Transformer)'ın başarısından ilham alarak, kendinden denetimli konuşma/metin temsil öğrenimi için kodlayıcı-çözücü ön eğitimi keşfeden, birleşik modlu bir SpeechT5 çerçevesi öneriyoruz. SpeechT5 çerçevesi, paylaşılan bir kodlayıcı-çözücü ağı ve altı moddan bağımsız (konuşma/metin) ön/son ağlardan oluşur. Girdi konuşma/metni ön ağlar aracılığıyla ön işlendikten sonra, paylaşılan kodlayıcı-çözücü ağı diziden-diziye dönüşümü modellemeye başlar ve ardından son ağlar, çözücünün çıktısına dayanarak çıktıyı konuşma/metin modalitesinde üretir. Büyük ölçekli etiketsiz konuşma ve metin verilerini kullanarak, hem konuşma hem de metin için modelleme yeteneğini artırmayı umut ederek, birleşik modlu bir temsil öğrenmek üzere SpeechT5'i ön eğitiyoruz. Metinsel ve konuşma bilgisini bu birleşik anlamsal uzaya hizalamak için, kodlayıcı ile çözücü arasındaki arayüz olarak gizli birimleri, konuşma/metin durumlarıyla rastgele karıştıran bir modlar arası vektör kuantizasyonu yaklaşımı öneriyoruz. Kapsamlı değerlendirmeler, otomatik konuşma tanıma, konuşma sentezi, konuşma çevirisi, ses dönüşümü, konuşma iyileştirme ve konuşmacı tanıma dahil olmak üzere çeşitli sözlü dil işleme görevlerinde önerilen SpeechT5 çerçevesinin üstünlüğünü göstermektedir.
Bu model Matthijs tarafından katkıda bulunmuştur. Orijinal kod burada bulunabilir.
from_pretrained() içinde
use_kernels=Truedeğerini ayarlayarak desteklenen katmanları Hub'daki optimize edilmiş çekirdeklerle değiştirin. Daha fazla bilgi için Çekirdekleri yükleme bölümüne bakın.
SpeechT5Config
sınıf 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 )
Parametreler
- is_encoder_decoder (
bool, isteğe bağlı, varsayılanTrue) — Modelin bir kodlayıcı/çözücü olarak kullanılıp kullanılmadığı. - vocab_size (
int, isteğe bağlı, varsayılan81) — Modelin sözlük boyutu.input_idsile temsil edilebilecek farklı token sayısını tanımlar. - hidden_size (
int, isteğe bağlı, varsayılan768) — Gizli temsillerin boyutu. - encoder_layers (
int, isteğe bağlı, varsayılan12) — Transformer kodlayıcısındaki gizli katman sayısı. Ayarlanmazsanum_layersile aynı değeri kullanır. - encoder_attention_heads (
int, isteğe bağlı, varsayılan12) — Transformer kodlayıcısındaki her dikkat katmanı için dikkat başı sayısı. - encoder_ffn_dim (
int, isteğe bağlı, varsayılan3072) — Encoder'daki "ara" (genellikle feed-forward olarak adlandırılan) katmanın boyutu. - encoder_layerdrop (
Union[float, int], isteğe bağlı, varsayılan0.1) — Encoder için LayerDrop olasılığı. Daha fazla ayrıntı için [LayerDrop makalesine](bkz. https://huggingface.co/papers/1909.11556) bakın. - decoder_layers (
int, isteğe bağlı, varsayılan6) — Transformer decoder'ındaki gizli katman sayısı. Ayarlanmazsanum_layersile aynı değeri kullanır. - decoder_ffn_dim (
int, isteğe bağlı, varsayılan3072) — Decoder'daki "ara" (genellikle feed-forward olarak adlandırılan) katmanın boyutluluğu. - decoder_attention_heads (
int, isteğe bağlı, varsayılan12) — Transformer decoder'ındaki her dikkat katmanı için dikkat başı sayısı. - decoder_layerdrop (
Union[float, int], isteğe bağlı, varsayılan0.1) — Çözücü için LayerDrop olasılığı. Daha fazla ayrıntı için [LayerDrop makalesine](bkz. https://huggingface.co/papers/1909.11556) bakın. - hidden_act (
str, isteğe bağlı, varsayılangelu) — Çözücüdeki doğrusal olmayan aktivasyon fonksiyonu (fonksiyon veya dize). Örneğin,"gelu","relu","silu"vb. - positional_dropout (
float, isteğe bağlı, varsayılan 0.1) — Metin konum kodlama katmanları için dropout olasılığı. - hidden_dropout (
Union[float, int], isteğe bağlı, varsayılan0.1) — Gömme, kodlayıcı ve havuzlayıcıdaki tüm tam bağlı katmanlar için dropout olasılığı. - attention_dropout (
Union[float, int], isteğe bağlı, varsayılan0.1) — Dikkat olasılıkları için dropout oranı. - activation_dropout (
Union[float, int], isteğe bağlı, varsayılan0.1) — Tamamen bağlı katmandaki aktivasyonlar için dropout oranı. - initializer_range (
float, isteğe bağlı, varsayılan0.02) — Tüm ağırlık matrislerini başlatmak için kullanılan truncated_normal_initializer'ın standart sapması. - layer_norm_eps (
float, isteğe bağlı, varsayılan1e-05) — Katman normalizasyon katmanları tarafından kullanılan epsilon. - scale_embedding (
bool, isteğe bağlı, varsayılanFalse) — Gömme değerlerinin sqrt(d_model) ile bölünerek ölçeklendirilip ölçeklendirilmeyeceğini belirtir. - feat_extract_norm (
str, isteğe bağlı, varsayılan"group") — Ses kodlayıcı ön ağındaki 1B konvolüsyonel katmanlara uygulanacak norm. Sadece ilk 1B konvolüsyonel katman için grup normalizasyonu olan"group"veya tüm 1B konvolüsyonel katmanlar için katman normalizasyonu olan"layer"değerlerinden biri. - feat_proj_dropout (
float, isteğe bağlı, varsayılan 0.0) — Ses kodlayıcı ön ağı çıktısı için dropout olasılığı. - 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]veyalist[int], isteğe bağlı, varsayılan(512, 512, 512, 512, 512, 512, 512)) — Ses kodlayıcı ön-ağında (pre-net) bulunan her 1D konvolüsyon katmanının giriş ve çıkış kanal sayısını tanımlayan tamsayı bir demeti. conv_dim'in uzunluğu, 1D konvolüsyon katmanlarının sayısını belirler. - conv_stride (
tuple[int]veyalist[int], isteğe bağlı, varsayılan(5, 2, 2, 2, 2, 2, 2)) — Ses kodlayıcı ön ağındaki her 1D konvolüsyon katmanının stride değerini tanımlayan tamsayı bir demet. conv_stride'nin uzunluğu, konvolüsyon katmanlarının sayısını belirler ve conv_dim'in uzunluğuyla eşleşmelidir. - conv_kernel (
tuple[int]veyalist[int], isteğe bağlı, varsayılan(10, 3, 3, 3, 3, 3, 3)) — Ses kodlayıcı ön-ağında her 1D konvolüsyon katmanının çekirdek boyutunu tanımlayan tamsayılar dizisi. conv_kernel'in uzunluğu, konvolüsyon katmanlarının sayısını belirler ve conv_dim'in uzunluğuyla eşleşmelidir. - conv_bias (
bool, isteğe bağlı, varsayılanFalse) — 1D konvolüsyonel katmanların bir sapma (bias) içerip içermediğini belirtir. - num_conv_pos_embeddings (
int, isteğe bağlı, varsayılan 128) — Konvolüsyonel konumsal gömme sayısı. 1D konvolüsyonel konumsal gömme katmanının çekirdek boyutunu tanımlar. - num_conv_pos_embedding_groups (
int, isteğe bağlı, varsayılan 16) — 1D konvolüsyonel konumsal gömme katmanının grup sayısı. - apply_spec_augment (
bool, isteğe bağlı, varsayılanTrue) — Konuşma kodlayıcı ön-ağının çıktılarında SpecAugment veri artırma uygulamasının yapılıp yapılmayacağını belirtir. Referans için bkz. 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, isteğe bağlı, varsayılan 10) — Zaman ekseni boyunca vektör aralığının uzunluğu. - mask_time_min_masks (
int, isteğe bağlı, varsayılan 2), — Zaman ekseninde, her zaman adımı için,mask_feature_probdeğerinden bağımsız olarak üretilen,mask_feature_lengthuzunluğundaki maskelerin minimum sayısı. Yalnızca ”mask_time_prob*len(time_axis)/mask_time_length < mask_time_min_masks” durumu geçerliyse ilgili. - 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], isteğe bağlı, varsayılan0.0) — Özellik ekseni boyunca maskelenecek tüm özellik vektörlerinin yüzdesi (0 ile 1 arasında). Maskeleme işlemi, eksen üzerindemask_feature_prob*len(feature_axis)/mask_time_lengthbağımsız maske üretir. Maskelenecek vektör aralığının başlangıcı olarak seçilecek her özellik vektörünün olasılığından yola çıkarak akıl yürütülüyorsa, mask_feature_prob değeriprob_vector_start*mask_feature_lengtholmalıdır. Dikkat edin, örtüşme, maskelenen vektörlerin gerçek yüzdesini azaltabilir. Bu, yalnızcaapply_spec_augmentdeğeriTrueise geçerlidir. - mask_feature_length (
int, isteğe bağlı, varsayılan 10) — Özellik ekseni boyunca vektör aralığının uzunluğu. - mask_feature_min_masks (
int, isteğe bağlı, varsayılan 0), — Her zaman adımında,mask_feature_probdeğerinden bağımsız olarak, özellik ekseni boyunca üretilenmask_feature_lengthuzunluğundaki maskelerin minimum sayısı. Yalnızca ”mask_feature_prob*len(feature_axis)/mask_feature_length < mask_feature_min_masks” koşulu sağlandığında geçerlidir. - num_mel_bins (
int, isteğe bağlı, varsayılan 80) — Girdi özellikleri başına kullanılan mel özellik sayısı. Ses decoder ön-ağ tarafından kullanılır. SpeechT5Processor sınıfında kullanılan değerle eşleşmelidir. - pad_token_id (
int, isteğe bağlı, varsayılan1) — Sözlükte dolgu için kullanılan token kimliği. - bos_token_id (
int, isteğe bağlı, varsayılan0) — Sözlükte akış başlangıcı için kullanılan token kimliği. - eos_token_id (
Union[int, list[int]], isteğe bağlı, varsayılan2) — Sözlükte akış sonu için kullanılan token kimliği. - decoder_start_token_id (
int, isteğe bağlı, varsayılan2) — Bir kodlayıcı-çözücü modeli,bosile farklı bir token ile çözümlemeye başlıyorsa, o token'ın kimliği. - num_mel_bins (
int, isteğe bağlı, varsayılan80) — Giriş başına kullanılan mel özellik sayısı.AutoFeatureExtractorsınıfında kullanılan değerle eşleşmelidir. - speech_decoder_prenet_layers (
int, isteğe bağlı, varsayılan 2) — Ses çözücü ön ağındaki katman sayısı. - speech_decoder_prenet_units (
int, isteğe bağlı, varsayılan 256) — Ses kodlayıcı ön ağındaki katmanların boyutluluğu. - speech_decoder_prenet_dropout (
float, isteğe bağlı, varsayılan 0.5) — Ses kodlayıcı ön-ağ katmanları için dropout olasılığı. - speaker_embedding_dim (
int, isteğe bağlı, varsayılan 512) — XVector gömme vektörlerinin boyutluluğu. - speech_decoder_postnet_layers (
int, isteğe bağlı, varsayılan 5) — Ses çözücü post-net'indeki katman sayısı. - speech_decoder_postnet_units (
int, isteğe bağlı, varsayılan 256) — Ses çözücü post-net katmanlarının boyutluluğu. - speech_decoder_postnet_kernel (
int, isteğe bağlı, varsayılan 5) — Ses çözücü post-net'indeki konvolüsyon filtre kanallarının sayısı. - speech_decoder_postnet_dropout (
float, isteğe bağlı, varsayılan 0.5) — Ses çözücü post-net katmanları için dropout olasılığı. - reduction_factor (
int, isteğe bağlı, varsayılan 2) — Konuşma çözücü girdileri için spektrogram uzunluğu azaltma çarpanı. - max_speech_positions (
int, isteğe bağlı, varsayılan 4000) — Bu modelin kullanılabileceği ses özelliklerinin maksimum dizin uzunluğu. - max_text_positions (
int, isteğe bağlı, varsayılan 450) — Bu modelin kullanılabileceği metin özelliklerinin maksimum dizin uzunluğu. - encoder_max_relative_position (
int, isteğe bağlı, varsayılan 160) — Encoder'da göreli konum gömme için maksimum mesafe. - use_guided_attention_loss (
bool, isteğe bağlı, varsayılanTrue) — TTS modeli eğitilirken yönlendirilmiş dikkat kaybının uygulanıp uygulanmayacağı. - guided_attention_loss_num_heads (
int, isteğe bağlı, varsayılan 2) — Guided attention loss'un uygulanacağı attention head sayısı. Bu loss'un tüm attention head'lere uygulanması için -1 kullanın. - guided_attention_loss_sigma (
float, isteğe bağlı, varsayılan 0.4) — Yönlendirilmiş dikkat kaybı için standart sapma. - guided_attention_loss_scale (
float, isteğe bağlı, varsayılan 10.0) — Yönlendirilmiş dikkat kaybı için ölçekleme katsayısı (lambda olarak da bilinir). - use_cache (
bool, isteğe bağlı, varsayılanTrue) — Modelin son anahtar/değer dikkatlerini (tüm modellerde kullanılmaz) döndürüp döndürmeyeceği. Yalnızcaconfig.is_decoder=Trueolduğunda veya model yalnızca çözücü tabanlı üretken bir model olduğunda geçerlidir. - tie_word_embeddings (
bool, isteğe bağlı, varsayılanTrue) — Modelintied_weights_keyseşlemesine göre ağırlık gömme bağlamalarının yapılıp yapılmayacağı.
Bu, bir SpeechT5Model yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Speecht5 modelinin örneklenmesi ve model mimarisinin tanımlanması için kullanılır. Varsayılan değerlerle bir yapılandırma örneklendiğinde, microsoft/speecht5_asr ile benzer bir yapılandırma elde edilir.
Yapılandırma nesneleri PreTrainedConfig sınıfından devralır ve model çıktılarını kontrol etmek için kullanılabilir. Daha fazla bilgi için PreTrainedConfig belgesini okuyun.
Örnek:
>>> from transformers import 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
sınıf 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 )
Parametreler
- model_in_dim (
int, isteğe bağlı, varsayılan 80) — Girdi log-mel spektrogramundaki frekans bini sayısı. - sampling_rate (
int, isteğe bağlı, varsayılan16000) — Ses dosyalarının dijitalleştirilmesi gereken örnekleme hızı, hertz (Hz) cinsinden ifade edilir. - upsample_initial_channel (
int, isteğe bağlı, varsayılan 512) — Yukarı örnekleme ağına giren giriş kanalı sayısı. - upsample_rates (
tuple[int]veyalist[int], isteğe bağlı, varsayılan[4, 4, 4, 4]) — Yukarı örneklemeye (upsampling) ağında her 1D konvolüsyon katmanının adımını (stride) tanımlayan tamsayı bir demet. upsample_rates'in uzunluğu, konvolüsyon katmanlarının sayısını belirler ve upsample_kernel_sizes'in uzunluğuyla eşleşmelidir. - upsample_kernel_sizes (
tuple[int]veyalist[int], opsiyonel, varsayılan[8, 8, 8, 8]) — Yukarı örneklemeli ağdaki her 1D konvolüsyonel katmanının çekirdek boyutunu tanımlayan tamsayı bir demeti. upsample_kernel_sizes uzunluğu, konvolüsyonel katman sayısını belirler ve upsample_rates uzunluğuyla eşleşmelidir. - resblock_kernel_sizes (
tuple[int]veyalist[int], isteğe bağlı, varsayılan[3, 7, 11]) — Çoklu algı alanı füzyonu (MRF) modülündeki 1D konvolüsyon katmanlarının çekirdek boyutlarını tanımlayan tamsayılar dizisi. - resblock_dilation_sizes (
tuple[tuple[int]]veyalist[list[int]], isteğe bağlı, varsayılan[[1, 3, 5], [1, 3, 5], [1, 3, 5]]) — Çoklu algı alanı füzyonu (MRF) modülündeki seyreltilmiş 1D konvolüsyonlu katmanların seyreltme oranlarını tanımlayan iç içe geçmiş tamsayı demeti. - initializer_range (
float, isteğe bağlı, varsayılan0.01) — Tüm ağırlık matrislerini başlatmak için kullanılan truncated_normal_initializer'ın standart sapması. - leaky_relu_slope (
float, isteğe bağlı, varsayılan 0.1) — Leaky ReLU aktivasyonunun kullandığı negatif eğimin açısı. - normalize_before (
bool, isteğe bağlı, varsayılanTrue) — Vokoderin öğrenilen ortalama ve varyans değerlerini kullanarak vokoding öncesinde spektrogramu normalize edip etmeyeceğini belirtir.
Bu, bir SpeechT5Model yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Speecht5 modelinin örneklenmesi ve model mimarisinin tanımlanması için kullanılır. Varsayılan değerlerle bir yapılandırma örneklendiğinde, microsoft/speecht5_asr ile benzer bir yapılandırma elde edilir.
Yapılandırma nesneleri PreTrainedConfig sınıfından devralır ve model çıktılarını kontrol etmek için kullanılabilir. Daha fazla bilgi için PreTrainedConfig belgesini okuyun.
Örnek:
>>> from transformers import 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
sınıf 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 )
Parametreler
- vocab_file (
str) — Bir tokenizer örneği oluşturmak için gerekli sözlüğü içeren SentencePiece dosyası (genellikle .spm uzantısına sahiptir). - bos_token (
str, isteğe bağlı, varsayılan"<s>") — Dizinin başlangıç jetonu. - eos_token (
str, isteğe bağlı, varsayılan"</s>") — Dizi sonu belirteci. - unk_token (
str, isteğe bağlı, varsayılan"<unk>") — Bilinmeyen token. Sözlükte yer almayan bir token, bir kimliğe dönüştürülemez ve bunun yerine bu token olarak ayarlanır. - pad_token (
str, isteğe bağlı, varsayılan"<pad>") — Doldurma için kullanılan jeton, örneğin farklı uzunluklardaki dizileri toplu işleme (batching) sırasında. - normalize (
bool, isteğe bağlı, varsayılanFalse) — Metindeki sayısal niceliklerin İngilizce karşılıklarına dönüştürülüp dönüştürülmeyeceğini belirtir. - sp_model_kwargs (
dict, isteğe bağlı) — şuna aktarılacak:SentencePieceProcessor.__init__()metodu. SentencePiece için Python sarmalayıcısı arasında şunları ayarlamak için kullanılabilir:-
enable_sampling: Alt kelime düzenlemesini etkinleştirir. -
nbest_size: Unigram için örneklem parametreleri. BPE-Dropout için geçersizdir.nbest_size = {0,1}: Örnekleme yapılmaz.nbest_size > 1: nbest_size sonuçlarından örnekler.nbest_size < 0: nbest_size'in sonsuz olduğu varsayılır ve tüm hipotezlerden (lattice) forward-filtering-and-backward-sampling algoritması kullanılarak örneklemeler yapılır.
-
alpha: Unigram örneklemesi için düzeltme parametresi ve BPE-dropout için birleştirme işlemlerinin atılma olasılığı.
-
- sp_model (
SentencePieceProcessor) — Her dönüştürme (dize, jeton ve kimlikler) için kullanılan SentencePiece işleyicisi.
Bir SpeechT5 tokenizer'ı oluşturun. SentencePiece tabanlıdır.
Bu tokenizer, ana yöntemlerin çoğunu içeren PreTrainedTokenizer sınıfından devralır. Kullanıcıların bu yöntemler hakkında daha fazla bilgi için bu üst sınıfa başvurması gerekir.
__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
Parametreler
- text (
str,list[str],list[list[str]], isteğe bağlı) — Kodlanacak dizi veya dizi grubu. Her dizi bir metin veya metin listesi (önceden tokenize edilmiş metin) olabilir. Diziler metin listesi olarak (önceden tokenize edilmiş) sağlanıyorsa,is_split_into_words=Truedeğerini ayarlamalısınız (dizi grubu ile karışıklığı önlemek için). - text_pair (
str,list[str],list[list[str]], isteğe bağlı) — Kodlanacak dizi veya dizi grubu. Her dizi bir metin veya metin listesi (önceden tokenize edilmiş metin) olabilir. Diziler metin listesi olarak (önceden tokenize edilmiş) sağlanıyorsa,is_split_into_words=Truedeğerini ayarlamalısınız (dizi grubu ile belirsizliği gidermek için). - text_target (
str,list[str],list[list[str]], isteğe bağlı) — Hedef metin olarak kodlanacak dizi veya dizi grubu. Her dizi bir dize veya dize listesi (önceden tokenize edilmiş dize) olabilir. Diziler dize listesi (önceden tokenize edilmiş) olarak sağlanıyorsa,is_split_into_words=Truedeğerini ayarlamanız gerekir (dizi grubu ile belirsizliği gidermek için). - text_pair_target (
str,list[str],list[list[str]], isteğe bağlı) — Hedef metinler olarak kodlanacak dizi veya dizi partisi. Her dizi bir dize veya dize listesi (önceden tokenize edilmiş dize) olabilir. Diziler dize listesi (önceden tokenize edilmiş) olarak sağlanıyorsa,is_split_into_words=Truedeğerini ayarlamanız gerekir (dizi partisiyle olan belirsizliği gidermek için). - tokenizer_kwargs (
dict[str, Any], isteğe bağlı) — Tokenizöre iletilecek ek kwargs. Bunlar, açık parametreler ve diğer kwargs ile birleştirilir; açık parametreler önceliklidir. - add_special_tokens (
bool, isteğe bağlı, varsayılanTrue) — Dizileri kodlarken özel token eklenip eklenmeyeceğini belirtir. Bu, girdi kimliklerine otomatik olarak hangi tokenların ekleneceğini tanımlayan alttakiPretrainedTokenizerBase.build_inputs_with_special_tokensişlevini kullanır.bosveyaeostokenlarını otomatik olarak eklemek istiyorsanız bu işe yarar. - padding (
bool,strveya PaddingStrategy, isteğe bağlı, varsayılan olarakFalse) — Dolgu işlemini etkinleştirir ve kontrol eder. Aşağıdaki değerleri kabul eder:Trueveya'longest': Toplu işlemdeki en uzun dizinin uzunluğuna kadar dolgu yapılır (yalnızca tek bir dizi sağlanırsa dolgu yapılmaz).'max_length':max_lengthargümanı ile belirtilen maksimum uzunluğa veya bu argüman sağlanmadıysa modelin kabul edebileceği maksimum giriş uzunluğuna kadar doldurur.Falseveya'do_not_pad'(varsayılan): Dolgu yok (yani, farklı uzunluklarda diziler içeren bir parti çıktı olarak üretilebilir).
- truncation (
bool,strveya TruncationStrategy, isteğe bağlı, varsayılan olarakFalse) — Kesmeyi (truncation) etkinleştirir ve kontrol eder. Aşağıdaki değerleri kabul eder:Trueveya'longest_first':max_lengthargümanı ile belirtilen maksimum uzunluğa veya bu argüman sağlanmadıysa modelin kabul edebileceği maksimum giriş uzunluğuna kısaltılır. Bu işlem, token bazında kısaltma yapar; bir çift dizi (veya çift dizilerden oluşan bir batch) sağlandığında, çiftteki en uzun diziden bir token kaldırılır.'only_first':max_lengthargümanı ile belirtilen maksimum uzunluğa veya bu argüman sağlanmadıysa modelin kabul edebileceği maksimum giriş uzunluğuna kısaltır. Bir çift dizi (veya çiftlerin bir partisi) sağlandığında, yalnızca çiftin ilk dizisini kısaltır.'only_second':max_lengthargümanı ile belirtilen maksimum uzunluğa veya bu argüman sağlanmadıysa modelin kabul edebileceği maksimum girdi uzunluğuna kısaltılır. Bu, bir dizi çifti (veya çiftlerin bir partisi) sağlandığında yalnızca çiftin ikinci dizisini kısaltır.Falseveya'do_not_truncate'(varsayılan): Kesme yapılmaz (yani, modelin kabul edebileceği maksimum giriş boyutundan daha uzun dizi uzunluklarına sahip bir çıktı partisi üretilebilir).
- max_length (
int, isteğe bağlı) — Bir kesme/doldurma parametresi tarafından kullanılacak maksimum uzunluğu kontrol eder.Eğer ayarlanmazsa veya
Noneolarak ayarlanırsa, kırpma/dolgu parametrelerinden biri tarafından bir maksimum uzunluk gerekiyorsa, bu, önceden tanımlanmış modelin maksimum uzunluğunu kullanır. Modelin belirli bir maksimum giriş uzunluğu yoksa (XLNet gibi), maksimum uzunluğa kırpma/dolgu devre dışı bırakılır. - stride (
int, isteğe bağlı, varsayılan 0) —max_lengthile birlikte bir sayıya ayarlanırsa,return_overflowing_tokens=Trueolduğunda döndürülen taşan jetonlar, kısaltılmış ve taşan diziler arasında bazı örtüşme sağlamak için kısaltılmış dizinin sonundan bazı jetonları içerir. Bu argümanın değeri, örtüşen jeton sayısını tanımlar. - is_split_into_words (
bool, isteğe bağlı, varsayılanFalse) — Girdinin zaten önceden tokenize edilip edilmediğini (örneğin, kelimelere ayrılmış olup olmadığını) belirtir.Trueolarak ayarlanırsa, tokenizer, girdinin zaten kelimelere ayrılmış olduğunu (örneğin, boşluklara göre bölünerek) ve bunları tokenize edeceğini varsayar. Bu, NER veya token sınıflandırma için faydalıdır. - pad_to_multiple_of (
int, isteğe bağlı) — Belirlenirse, diziyi verilen değerin katına kadar doldurur. Bunun içinpaddingetkinleştirilmelidir. Bu, hesaplama yeteneği>= 7.5(Volta) olan NVIDIA donanımlarında Tensor Çekirdeklerinin kullanımını etkinleştirmek için özellikle faydalıdır. - padding_side (
str, isteğe bağlı) — Modelin padding uygulanması gereken tarafı. [‘right’, ‘left’] arasından seçilmelidir. Varsayılan değer, aynı ada sahip sınıf özelliğinden seçilir. - return_tensors (
strveya TensorType, isteğe bağlı) — Belirlenirse, Python tamsayı listesi yerine tensörler döndürülür. Kabul edilen değerler şunlardır:'pt': PyTorchtorch.Tensornesnelerini döndürür.'np': Numpynp.ndarraynesnelerini döndürür.
- return_token_type_ids (
bool, isteğe bağlı) — Token type ID'lerinin döndürülüp döndürülmeyeceğini belirtir. Varsayılan bırakılırsa, ilgili tokenizer'ın varsayılanına göre token type ID'lerini döndürür; bu,return_outputsözniteliği tarafından tanımlanır. - return_attention_mask (
bool, isteğe bağlı) — Dikkat maskesinin (attention mask) döndürülüp döndürülmeyeceğini belirtir. Varsayılan bırakılırsa, ilgili tokenizer'ın varsayılanına göre dikkat maskesini döndürür; bu,return_outputsözniteliği ile tanımlanır. - return_overflowing_tokens (
bool, isteğe bağlı, varsayılanFalse) — Taşan token dizilerinin döndürülüp döndürülmeyeceği. Girdi kimlikleri çiftlerinden (veya çiftlerden oluşan bir partiden)truncation_strategy = longest_firstveyaTrueile sağlanırsa, taşan tokenlar döndürülmek yerine bir hata oluşturulur. - return_special_tokens_mask (
bool, isteğe bağlı, varsayılanFalse) — Özel jeton maskesi bilgisinin döndürülüp döndürülmemesi. - return_offsets_mapping (
bool, isteğe bağlı, varsayılan olarakFalse) — Her token için(char_start, char_end)dönüp döndürmeyeceğini belirtir.Bu özellik yalnızca PreTrainedTokenizerFast sınıfından türeyen hızlı tokenizörlerde kullanılabilir; Python tokenizörü kullanılırsa bu yöntem
NotImplementedErrorhatası fırlatır. - return_length (
bool, isteğe bağlı, varsayılanFalse) — Kodlanmış girdilerin uzunluklarının döndürülüp döndürülmeyeceği. - verbose (
bool, isteğe bağlı, varsayılanTrue) — Daha fazla bilgi ve uyarı basılıp basılmayacağı. - **kwargs —
self.tokenize()yöntemine iletilir
Dönüş değeri
Aşağıdaki alanlara sahip bir BatchEncoding:
-
input_ids — Bir modele verilecek token kimliklerinin listesi.
-
token_type_ids — Bir modele verilecek token türü kimlikleri listesi (
return_token_type_ids=Trueolduğunda veya “token_type_ids”,self.model_input_namesiçinde olduğunda). -
attention_mask — Modelin hangi jetonlara dikkat etmesi gerektiğini belirleyen indeks listesi (
return_attention_mask=Trueolduğunda veyaself.model_input_namesiçinde “attention_mask” varsa). -
overflowing_tokens — Taşan token dizileri listesi (
max_lengthbelirtildiğinde vereturn_overflowing_tokens=Trueolduğunda). -
num_truncated_tokens — Kırpılan token sayısı (
max_lengthbelirtildiğinde vereturn_overflowing_tokens=Trueolduğunda). -
special_tokens_mask — 0 ve 1'lerden oluşan liste; 1 eklenen özel tokenları, 0 ise normal dizi tokenlarını belirtir (
add_special_tokens=Truevereturn_special_tokens_mask=Trueolduğunda). -
length — Girdilerin uzunluğu (
return_length=Trueolduğunda)
Bir veya birden fazla diziyi veya bir veya birden fazla dizi çiftini belirteçlere ayırmak ve model için hazırlamak için ana yöntem.
save_vocabulary
< source >( save_directory: strfilename_prefix: str | None = None ) → tuple(str)
Sentencepiece sözlüğünü (orijinal dosyanın kopyası) bir dizine kaydedin.
decode
< source >( token_ids: int | list[int] | list[list[int]] | np.ndarray | torch.Tensorskip_special_tokens: bool = False**kwargs ) → Union[str, list[str]]
Parametreler
- token_ids (
Union[int, list[int], list[list[int]], np.ndarray, torch.Tensor]) — Tek bir dizi veya tokenize edilmiş girdi kimliklerinin bir partisi (dizilerin listesi).__call__yöntemi kullanılarak elde edilebilir. - skip_special_tokens (
bool, isteğe bağlı, varsayılanFalse) — Çözümleme sırasında özel tokenların kaldırılıp kaldırılmayacağı. - kwargs (ek anahtar kelime argümanları, isteğe bağlı) — Altta yatan modele özgü decode yöntemine aktarılacaktır.
Dönüş değeri
Union[str, list[str]]
Tek bir dizi için çözümlenmiş dize veya bir dizi grubu için çözümlenmiş dizeler listesi.
Özel tokenları kaldırma ve tokenizasyon boşluklarını temizleme seçenekleriyle, tokenizer ve sözlük kullanarak bir kimlik dizisini bir dizeye, veya diziler listesini diziler listesine dönüştürür.
self.convert_tokens_to_string(self.convert_ids_to_tokens(token_ids)) işlemine benzer.
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]
Parametreler
- sequences (
Union[list[int], list[list[int]], np.ndarray, torch.Tensor]) — Tokenize edilmiş girdi kimliklerinin listesi.__call__yöntemi kullanılarak elde edilebilir. - skip_special_tokens (
bool, isteğe bağlı, varsayılanFalse) — Çözümleme sırasında özel tokenların kaldırılıp kaldırılmayacağı. - clean_up_tokenization_spaces (
bool, isteğe bağlı) — Tokenizasyon boşluklarının temizlenip temizlenmeyeceğini belirtir.Noneise, varsayılan olarakself.clean_up_tokenization_spaceskullanılır. - kwargs (ek anahtar kelime argümanları, isteğe bağlı) — Altta yatan modele özgü decode yöntemine aktarılacaktır.
Dönüş değeri
list[str]
Çözümlenmiş cümlelerin listesi.
decode çağrısı yaparak token kimlikleri içeren listelerin listesini, dizelerin listesine dönüştürün.
Bu yöntem geriye dönük uyumluluk için sağlanmıştır. decode yöntemi artık toplu girdileri yerel olarak işler, bu nedenle batch_decode yerine doğrudan decode kullanabilirsiniz.
SpeechT5FeatureExtractor
sınıf 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 )
Parametreler
- feature_size (
int, isteğe bağlı, varsayılan 1) — Çıkarılan özelliklerin boyutu. - sampling_rate (
int, isteğe bağlı, varsayılan 16000) — Ses dosyalarının dijitalleştirilmesi gereken örnekleme hızı, hertz (Hz) cinsinden ifade edilir. - padding_value (
float, isteğe bağlı, varsayılan 0.0) — Doldurma değerlerini doldurmak için kullanılan değer. - do_normalize (
bool, isteğe bağlı, varsayılanFalse) — Girdinin sıfır ortalama ve birim varyans normalize edilip edilmeyeceğini belirtir. Normalizasyon, bazı modellerde performansı önemli ölçüde iyileştirebilir. - num_mel_bins (
int, isteğe bağlı, varsayılan 80) — Çıkarılan spektrogram özelliklerindeki mel frekans bini sayısı. - hop_length (
int, isteğe bağlı, varsayılan 16) — Pencereler arasındaki ms sayısı. Birçok makalede “shift” olarak da adlandırılır. - win_length (
int, isteğe bağlı, varsayılan 64) — Pencere başına ms sayısı. - win_function (
str, opsiyonel, varsayılan"hann_window") — Pencereleme için kullanılan pencere fonksiyonunun adı,torch.{win_function}üzerinden erişilebilir olmalıdır - fmin (
float, isteğe bağlı, varsayılan 80) — Hz cinsinden minimum mel frekansı. - fmax (
float, isteğe bağlı, varsayılan 7600) — Hz cinsinden maksimum mel frekansı. - mel_floor (
float, isteğe bağlı, varsayılan 1e-10) — Mel frekans bankalarının minimum değeri. - return_attention_mask (
bool, isteğe bağlı, varsayılanTrue) — call()attention_maskdeğerini döndürmeli mi?
Bir SpeechT5 özellik çıkarıcı oluşturur.
Bu sınıf, SpeechT5 konuşma kodlayıcı ön ağı tarafından kullanılmak üzere ham bir konuşma sinyalini (isteğe bağlı olarak) sıfır ortalama ve birim varyansa normalize ederek ön işleme yapabilir.
Bu sınıf, ham konuşma verisinden log-mel filtre bankası özelliklerini de çıkarabilir; bu özellikler SpeechT5 konuşma çözücüsünün prenet bileşeni tarafından kullanılır.
Bu özellik çıkarıcı, ana yöntemlerin çoğunu içeren SequenceFeatureExtractor sınıfından devralır. Kullanıcıların bu yöntemler hakkında daha fazla bilgi için bu üst sınıfa başvurması gerekir.
__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 )
Parametreler
- audio (
np.ndarray,list[float],list[np.ndarray],list[list[float]], isteğe bağlı) — İşlenecek dizi veya dizi partisi. Her dizi, bir numpy dizisi, bir float değerleri listesi, bir numpy dizileri listesi veya float değerleri listesi listesi olabilir. Bu, dalga formu özelliklerini üretir. Tek kanallı (mono) ses olmalıdır, stereo değil; yani her zaman adımı için tek bir float değeri içermelidir. - audio_target (
np.ndarray,list[float],list[np.ndarray],list[list[float]], isteğe bağlı) — Hedef olarak işlenecek dizi veya dizi grubu. Her dizi, bir numpy dizisi, bir float değerleri listesi, bir numpy dizileri listesi veya float değerleri listelerinin listesi olabilir. Bu, log-mel spektrogram özelliklerini üretir. - padding (
bool,strveya PaddingStrategy, isteğe bağlı, varsayılan olarakFalse) — Dönen dizilere dolgu uygulanacak stratejiyi seçin (modelin dolgu yönüne ve dolgu indeksine göre):Trueveya'longest': Toplu işlemdeki en uzun dizinin uzunluğuna kadar dolgu yapılır (yalnızca tek bir dizi sağlandıysa dolgu yapılmaz).'max_length':max_lengthargümanı ile belirtilen maksimum uzunluğa veya bu argüman sağlanmadıysa modelin kabul edebileceği maksimum giriş uzunluğuna kadar doldurur.Falseveya'do_not_pad'(varsayılan): Dolgu yok (yani, farklı uzunluklarda diziler içeren bir parti çıktı olarak üretilebilir).
- max_length (
int, isteğe bağlı) — Döndürülen listenin ve isteğe bağlı dolgu uzunluğunun (bkz. yukarı) maksimum uzunluğu. - truncation (
bool) — max_length'den uzun olan girdi dizilerini max_length değerine kısaltmak için kesme işlemini etkinleştirir. - pad_to_multiple_of (
int, isteğe bağlı) — Belirlenirse, diziyi verilen değerin katına kadar doldurur.Bu, hesaplama yeteneği
>= 7.5(Volta) olan NVIDIA donanımlarında Tensor Core kullanımını etkinleştirmek veya 128'in katları olan dizi uzunluklarından faydalanan TPU'lar için özellikle faydalıdır. - return_attention_mask (
bool, isteğe bağlı) — Dikkat maskesinin (attention mask) döndürülüp döndürülmeyeceğini belirtir. Varsayılan bırakılırsa, ilgili feature_extractor'ın varsayılanına göre dikkat maskesi döndürülür. - return_tensors (
strveya TensorType, isteğe bağlı) — Belirlenirse, Python tamsayı listesi yerine tensörler döndürülür. Kabul edilen değerler şunlardır:'pt': PyTorchtorch.Tensornesnelerini döndürür.'np': Numpynp.ndarraynesnelerini döndürür.
- sampling_rate (
int, isteğe bağlı) —audioveyaaudio_targetgirdisinin örneklenmiş olduğu örneklem hızı. Sessiz hataları önlemek içinsampling_ratedeğerini forward çağrısında geçmek şiddetle önerilir.
Bir veya birden fazla diziyi model için özelliklendirmek ve hazırlamak için ana yöntem.
Dalga formu özelliklerini çıkarmak için audio parametresine bir değer aktarın. Log-mel spektrogram özelliklerini çıkarmak için audio_target parametresine bir değer aktarın.
SpeechT5Processor
sınıf transformers.SpeechT5Processor
< source >( feature_extractortokenizer )
Bir özellik çıkarıcıyı ve bir belirteçleyiciyi tek bir işlemciye saran bir SpeechT5Processor oluşturur.
SpeechT5Processor, SpeechT5FeatureExtractor ve SpeechT5Tokenizer sınıflarının tüm işlevlerini sunar. Daha fazla bilgi için ~SpeechT5FeatureExtractor ve ~SpeechT5Tokenizer belgelerine bakın.
__call__
< source >( *args**kwargs )
Parametreler
- return_tensors (
strveya TensorType, isteğe bağlı) — Belirlenirse, belirli bir çerçeveye ait tensörler döndürülür. Kabul edilen değerler şunlardır:'pt': PyTorchtorch.Tensornesnelerini döndürür.'np': NumPynp.ndarraynesnelerini döndürür.
Ses ve metin girdilerini, ayrıca hedeflerini, dolgulu bir partiye (batch) birleştirir.
Ses girdileri SpeechT5FeatureExtractor'ın pad() tarafından, metin girdileri ise SpeechT5Tokenizer'ın pad() tarafından doldurulur.
Geçerli girdi kombinasyonları şunlardır:
- sadece
input_ids - sadece
input_values - sadece
labels, yani log-mel spektrogramlar veya metin jetonları input_idsve log-mel spektrogramlabelsinput_valuesve metinlabels
Daha fazla bilgi için yukarıdaki iki yöntemin docstring'ine başvurun.
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 )
Parametreler
- pretrained_model_name_or_path (
strveyaos.PathLike) — Bunlardan biri olabilir:- bir dize, huggingface.co'daki bir model deposunda barındırılan ön eğitilmiş bir feature_extractor'ın model kimliği.
- save_pretrained() yöntemi kullanılarak kaydedilmiş bir özellik çıkarıcı dosyası içeren bir dizinin yolunu, örneğin
./my_model_directory/. - kaydedilmiş bir özellik çıkarıcı JSON dosyasına giden bir yol, örneğin
./my_model_directory/preprocessor_config.json.
- **kwargs —
Hem from_pretrained() hem de
~tokenization_utils_base.PreTrainedTokenizer.from_pretrainedfonksiyonlarına iletilen ek anahtar kelime argümanları.
Önceden eğitilmiş bir modelle ilişkili bir işlemci örnekleyin.
Bu sınıf metodu, yalnızca özellik çıkarıcının from_pretrained(), görüntü işleyicinin ImageProcessingMixin ve belirteçleştiricinin
~tokenization_utils_base.PreTrainedTokenizer.from_pretrainedmetotlarını çağırır. Daha fazla bilgi için yukarıdaki metotların dokümantasyon dizelerine (docstring) başvurun.
save_pretrained
< source >( save_directorypush_to_hub: bool = False**kwargs )
Parametreler
- save_directory (
strveyaos.PathLike) — Özellik çıkarıcısının JSON dosyasının ve tokenizer dosyalarının kaydedileceği dizin (dizin mevcut değilse oluşturulur). - push_to_hub (
bool, isteğe bağlı, varsayılanFalse) — Modelinizi kaydettikten sonra Hugging Face model hub'ına gönderip göndermeyeceğinizi belirtir. Göndermek istediğiniz depoyurepo_idile belirtebilirsiniz (varsayılan olarak ad alanınızdakisave_directoryadını kullanır). - kwargs (
dict[str, Any], isteğe bağlı) — push_to_hub() yöntemine iletilen ek anahtar kelime argümanları.
Bu işleyicinin (özellik çıkarıcı, sınıflandırıcı…) özniteliklerini, from_pretrained() yöntemiyle yeniden yüklenebilmesi için belirtilen dizinde kaydeder.
Bu sınıf metodu yalnızca save_pretrained() ve save_pretrained() çağrılarını yapar. Daha fazla bilgi için yukarıdaki metodların dokümantasyon dizelerine (docstring) başvurun.
Bu yöntem, tüm argümanlarını PreTrainedTokenizer'ın batch_decode() yöntemine iletir. Daha fazla bilgi için bu yöntemin docstring'ine başvurun.
Bu yöntem, tüm argümanlarını PreTrainedTokenizer'ın decode() yöntemine iletir. Daha fazla bilgi için bu yöntemin docstring'ine başvurun.
SpeechT5Model
sınıf transformers.SpeechT5Model
< source >( config: SpeechT5Configencoder: typing.Optional[torch.nn.Module] = Nonedecoder: typing.Optional[torch.nn.Module] = None )
Parametreler
- config (SpeechT5Config) — Modelin tüm parametrelerini içeren model yapılandırma sınıfı. Bir yapılandırma dosyasıyla başlatmak, modelle ilişkili ağırlıkları yüklemez, yalnızca yapılandırmayı yükler. Model ağırlıklarını yüklemek için from_pretrained() yöntemine bakın.
- encoder (
PreTrainedModel, opsiyonel) — Kullanılacak kodlayıcı modeli. - decoder (
PreTrainedModel, opsiyonel) — Kullanılacak decoder modeli.
Herhangi bir özel ön veya son ağı olmadan ham gizli durumları üreten çıplak SpeechT5 Encoder-Decoder Modeli.
Bu model PreTrainedModel sınıfından devralır. Kütüphanenin tüm modelleri için uyguladığı genel yöntemler (indirme veya kaydetme, giriş gömme boyutlarını yeniden boyutlandırma, başları budama vb.) için üst sınıf belgelendirmesine bakın.
Bu model aynı zamanda bir PyTorch torch.nn.Module alt sınıfıdır. Bunu standart bir PyTorch Module olarak kullanın ve genel kullanım ve davranışla ilgili tüm konular için PyTorch dokümantasyonuna başvurun.
forward
< 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)
Parametreler
- input_values (
torch.Tensor, şekli(batch_size, sequence_length)) — Kullanılan kodlayıcıya (encoder) bağlı olarakinput_values, girdi ham ses dalgasının (raw speech waveform) ondalık (float) değerleri, sözlükteki girdi dizisi tokenlarının indeksleri veya gizli durumlar (hidden states) olabilir. - attention_mask (
torch.LongTensorşeklinde(batch_size, sequence_length), isteğe bağlı) — Doldurma (padding) token indekslerinde dikkat (attention) işlemi yapmaktan kaçınmak için kullanılan maske. Seçilen maske değerleri[0, 1]:- 1, maskelenmemiş jetonlar için,
- maskelenmiş jetonlar için 0.
- decoder_input_values (
torch.Tensor, şekli(batch_size, target_sequence_length), isteğe bağlı) — Kullanılan decoder'e bağlı olarakdecoder_input_valuesşunlardan biridir: ham ses dalgasından çıkarılan log-mel filterbank özelliklerinin ondalık değerleri, sözlükteki decoder giriş dizisi tokenlarının indeksleri veya gizli durumlar. - decoder_attention_mask (
torch.LongTensorşeklinde(batch_size, target_sequence_length), isteğe bağlı) — Varsayılan davranış:decoder_input_values. pad token'larını yok sayan bir tensör oluşturur. Varsayılan olarak nedensel maske de kullanılır. Dolgu davranışını değiştirmek istiyorsanız, varsayılan strateji hakkında daha fazla bilgi için makaledeki 1 numaralı diyagrama bakın ve ihtiyacınıza göre düzenleyin.Eğer padding davranışını değiştirmek istiyorsanız,
SpeechT5Decoder._prepare_decoder_attention_maskfonksiyonunu okuyup ihtiyaçlarınıza göre düzenlemelisiniz. Varsayılan strateji hakkında daha fazla bilgi için makaledeki 1 numaralı diyagrama bakın. - encoder_outputs (
tuple[tuple[torch.Tensor]], isteğe bağlı) — (last_hidden_state, isteğe bağlı:hidden_states, isteğe bağlı:attentions) içeren bir tuplelast_hidden_state,(batch_size, sequence_length, hidden_size)boyutunda, isteğe bağlı) encoder'ın son katmanının çıktısındaki gizli durumlar dizisidir. Decoder'ın çapraz dikkat (cross-attention) mekanizmasında kullanılır. - past_key_values (
~cache_utils.Cache, isteğe bağlı) — Sıralı çözümlemeyi hızlandırmak için kullanılabilen önceden hesaplanmış gizli durumlar (self-attention ve cross-attention bloklarındaki anahtar ve değerler). Bu genelliklepast_key_valuesdeğerinin, çözümlemenin önceki bir aşamasında model tarafından döndürülenuse_cache=Trueveyaconfig.use_cache=True.Girdi olarak yalnızca Cache örneği kabul edilir, kv cache kılavuzumuza bakın.
past_key_valuesgeçirilmezse, varsayılan olarak DynamicCache başlatılır.Model, girdi olarak verilen aynı önbellek biçimini çıktı olarak üretecektir.
past_key_valueskullanılıyorsa, kullanıcının tüminput_ids(şekli(batch_size, sequence_length)) yerine, bu modele geçmiş anahtar değer durumları verilmemiş olan, işlenmemişinput_ids(şekli(batch_size, unprocessed_length)) girmesi beklenir. - use_cache (
bool, isteğe bağlı) —Trueolarak ayarlanırsa,past_key_valuesanahtar değer durumları döndürülür ve çözümlemeyi hızlandırmak için kullanılabilir (bkz.past_key_values). - speaker_embeddings (
torch.Tensor, şekli(batch_size, config.speaker_embedding_dim), isteğe bağlı) — Konuşmacı gömlemelerini içeren tensör. - output_attentions (
bool, isteğe bağlı) — Tüm dikkat katmanlarının dikkat tensörlerinin döndürülüp döndürülmeyeceğini belirtir. Daha fazla ayrıntı için döndürülen tensörler altındakiattentionsbölümüne bakın. - output_hidden_states (
bool, isteğe bağlı) — Tüm katmanların gizli durumlarının (hidden states) döndürülüp döndürülmeyeceğini belirtir. Daha fazla ayrıntı için döndürülen tensörler altındakihidden_statesbölümüne bakın. - return_dict (
bool, isteğe bağlı) — Düz bir tuple yerine ModelOutput döndürülecek mi?
Dönüş değeri
Seq2SeqModelOutput veya tuple(torch.Tensor)
A Seq2SeqModelOutput veya bir torch.Tensor demeti (eğer return_dict=False geçirildiyse veya config.return_dict=False ise), yapılandırmaya (SpeechT5Config) ve girdilere bağlı olarak çeşitli öğelerden oluşur.
SpeechT5Model forward metodu, __call__ özel metodunu geçersiz kılar.
İleri geçiş tarifi bu fonksiyon içinde tanımlanmalı olsa da, sonrasında bunun yerine
Moduleörneğini çağırmak gerekir; çünkü önceki, ön ve son işleme adımlarını çalıştırmaktan sorumluyken ikincisi bunları sessizce yok sayar.
last_hidden_state (
torch.Tensor, şekli(batch_size, sequence_length, hidden_size)) — Modelin decoder'ının son katmanının çıktısındaki gizli durumlar dizisi.past_key_valueskullanılırsa, yalnızca(batch_size, 1, hidden_size)biçimindeki dizilerin son gizli durumu (hidden-state) çıktı olarak verilir.past_key_values (
EncoderDecoderCache, isteğe bağlı,use_cache=Truegeçirildiğinde veyaconfig.use_cache=Trueolduğunda döndürülür) — Bir EncoderDecoderCache örneğidir. Daha fazla ayrıntı için kv önbellek kılavuzumuza bakın.Sıralı çözümlemeyi hızlandırmak için (bkz.
past_key_valuesgirdisi) kullanılabilen, önceden hesaplanmış gizli durumları (self-attention bloklarındaki ve cross-attention bloklarındaki anahtar ve değerler) içerir.decoder_hidden_states (
tuple(torch.Tensor), isteğe bağlı,output_hidden_states=Truegeçirildiğinde veyaconfig.output_hidden_states=Trueolduğunda döndürülür) —torch.Tensor(modelin bir gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için birer tane) içeren,(batch_size, sequence_length, hidden_size)biçiminde bir demet.Her katmanın çıktısında decoder'ın gizli durumları ve isteğe bağlı başlangıç gömme çıktıları.
decoder_attentions (
tuple(torch.Tensor), isteğe bağlı,output_attentions=Truegeçirildiğinde veyaconfig.output_attentions=Trueolduğunda döndürülür) —torch.Tensor(katman başına bir tane) içeren bir tuple, şekli(batch_size, num_heads, sequence_length, sequence_length).Dikkat ağırlıkları, dikkat softmax'ından sonra, öz-dikkat kafalarında ağırlıklı ortalamanın hesaplanmasında kullanılan dekoderin
cross_attentions (
tuple(torch.Tensor), isteğe bağlı,output_attentions=Truegeçirildiğinde veyaconfig.output_attentions=Trueolduğunda döndürülür) —(batch_size, num_heads, sequence_length, sequence_length)biçiminde, her katman için bir adet içerentorch.Tensordemeti.Dekoderin çapraz dikkat katmanının dikkat ağırlıkları, dikkat softmax'ından sonra, çapraz dikkat başlıklarında ağırlıklı ortalamanın hesaplanmasında kullanılır.
encoder_last_hidden_state (
torch.Tensor, şekli(batch_size, sequence_length, hidden_size), isteğe bağlı) — Modelin kodlayıcısının son katmanının çıktısındaki gizli durumlar dizisi.encoder_hidden_states (
tuple(torch.Tensor), isteğe bağlı,output_hidden_states=Truegeçirildiğinde veyaconfig.output_hidden_states=Trueolduğunda döndürülür) —torch.Tensor(modelin bir gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için birer tane) içeren,(batch_size, sequence_length, hidden_size)biçiminde bir demet.Her katmanın çıktısında kodlayıcının gizli durumları ve isteğe bağlı başlangıç gömme çıktıları.
encoder_attentions (
tuple(torch.Tensor), isteğe bağlı,output_attentions=Truegeçirildiğinde veyaconfig.output_attentions=Trueolduğunda döndürülür) —torch.Tensor(katman başına bir tane) içeren bir tuple, şekli(batch_size, num_heads, sequence_length, sequence_length).Dikkat yumuşatma (attention softmax) sonrasında, öz-dikkat (self-attention) kafalarında ağırlıklı ortalamanın hesaplanmasında kullanılan kodlayıcının dikkat ağırlıkları.
SpeechT5ForSpeechToText
sınıf transformers.SpeechT5ForSpeechToText
< source >( config: SpeechT5Config )
Parametreler
- config (SpeechT5Config) — Modelin tüm parametrelerini içeren model yapılandırma sınıfı. Bir yapılandırma dosyasıyla başlatmak, modelle ilişkili ağırlıkları yüklemez, yalnızca yapılandırmayı yükler. Model ağırlıklarını yüklemek için from_pretrained() yöntemine bakın.
Ses kodlayıcı ve metin çözücüye sahip SpeechT5 Modeli.
Bu model PreTrainedModel sınıfından devralır. Kütüphanenin tüm modelleri için uyguladığı genel yöntemler (indirme veya kaydetme, giriş gömme boyutlarını yeniden boyutlandırma, başları budama vb.) için üst sınıf belgelendirmesine bakın.
Bu model aynı zamanda bir PyTorch torch.nn.Module alt sınıfıdır. Bunu standart bir PyTorch Module olarak kullanın ve genel kullanım ve davranışla ilgili tüm konular için PyTorch dokümantasyonuna başvurun.
forward
< 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)
Parametreler
- input_values (
torch.Tensor, şekli(batch_size, sequence_length)) — Giriş ham ses dalgasının kayan değerleri. Değerler, bir .flac veya .wav ses dosyasınılist[float]türünde bir diziye,numpy.ndarrayveyatorch.Tensoriçine yükleyerek elde edilebilir; örneğin torchcodec kütüphanesi (pip install torchcodec) veya soundfile kütüphanesi (pip install soundfile) aracılığıyla. Diziyiinput_valuesiçin hazırlamak için, dolgu vetorch.Tensortüründe bir tensöre dönüştürme işlemleri için SpeechT5Processor kullanılmalıdır. Ayrıntılar için SpeechT5Processor.call() bölümüne bakın. - attention_mask (
torch.LongTensorşeklinde(batch_size, sequence_length), isteğe bağlı) — Doldurma (padding) token indekslerinde dikkat (attention) işlemi yapmaktan kaçınmak için kullanılan maske. Seçilen maske değerleri[0, 1]:- 1, maskelenmemiş jetonlar için,
- maskelenmiş jetonlar için 0.
- decoder_input_ids (
torch.LongTensorşeklinde(batch_size, target_sequence_length), isteğe bağlı) — Sözlükteki decoder giriş dizisi tokenlarının indeksleri. İndeksler SpeechT5Tokenizer kullanılarak elde edilebilir. Ayrıntılar için PreTrainedTokenizer.encode() ve PreTrainedTokenizer.call() yöntemlerine bakın. Decoder giriş ID'leri nelerdir? SpeechT5, decoder_input_ids üretimi için başlangıç tokenı olarak eos_token_id kullanır. past_key_values kullanılıyorsa, isteğe bağlı olarak yalnızca son decoder_input_ids girdisi sağlanmalıdır (bkz. past_key_values).Dizinler SpeechT5Tokenizer kullanılarak elde edilebilir. Ayrıntılar için PreTrainedTokenizer.encode() ve PreTrainedTokenizer.call() konularına bakın.
Çözücü girdi kimlikleri nelerdir?
SpeechT5,
decoder_input_idsüretimi için başlangıç jetonu olarakeos_token_idkullanır.past_key_valueskullanılıyorsa, isteğe bağlı olarak yalnızca sondecoder_input_idsgirdi olarak verilmelidir (bkz.past_key_values). - decoder_attention_mask (
torch.LongTensorşeklinde(batch_size, target_sequence_length), isteğe bağlı) — Varsayılan davranış:decoder_input_values. pad token'larını yok sayan bir tensör oluşturur. Varsayılan olarak nedensel maske de kullanılır. Dolgu davranışını değiştirmek istiyorsanız, varsayılan strateji hakkında daha fazla bilgi için makaledeki 1 numaralı diyagrama bakın ve ihtiyacınıza göre düzenleyin.Eğer padding davranışını değiştirmek istiyorsanız,
SpeechT5Decoder._prepare_decoder_attention_maskfonksiyonunu okuyup ihtiyaçlarınıza göre düzenlemelisiniz. Varsayılan strateji hakkında daha fazla bilgi için makaledeki 1 numaralı diyagrama bakın. - encoder_outputs (
tuple[tuple[torch.Tensor]], isteğe bağlı) — (last_hidden_state, isteğe bağlı:hidden_states, isteğe bağlı:attentions) içeren bir tuplelast_hidden_state,(batch_size, sequence_length, hidden_size)boyutunda, isteğe bağlı) encoder'ın son katmanının çıktısındaki gizli durumlar dizisidir. Decoder'ın çapraz dikkat (cross-attention) mekanizmasında kullanılır. - past_key_values (
~cache_utils.Cache, isteğe bağlı) — Sıralı çözümlemeyi hızlandırmak için kullanılabilen önceden hesaplanmış gizli durumlar (self-attention ve cross-attention bloklarındaki anahtar ve değerler). Bu genelliklepast_key_valuesdeğerinin, çözümlemenin önceki bir aşamasında model tarafından döndürülenuse_cache=Trueveyaconfig.use_cache=True.Girdi olarak yalnızca Cache örneği kabul edilir, kv cache kılavuzumuza bakın.
past_key_valuesgeçirilmezse, varsayılan olarak DynamicCache başlatılır.Model, girdi olarak verilen aynı önbellek biçimini çıktı olarak üretecektir.
past_key_valueskullanılıyorsa, kullanıcının tüminput_ids(şekli(batch_size, sequence_length)) yerine, bu modele geçmiş anahtar değer durumları verilmemiş olan, işlenmemişinput_ids(şekli(batch_size, unprocessed_length)) girmesi beklenir. - use_cache (
bool, isteğe bağlı) —Trueolarak ayarlanırsa,past_key_valuesanahtar değer durumları döndürülür ve çözümlemeyi hızlandırmak için kullanılabilir (bkz.past_key_values). - output_attentions (
bool, isteğe bağlı) — Tüm dikkat katmanlarının dikkat tensörlerinin döndürülüp döndürülmeyeceğini belirtir. Daha fazla ayrıntı için döndürülen tensörler altındakiattentionsbölümüne bakın. - output_hidden_states (
bool, isteğe bağlı) — Tüm katmanların gizli durumlarının (hidden states) döndürülüp döndürülmeyeceğini belirtir. Daha fazla ayrıntı için döndürülen tensörler altındakihidden_statesbölümüne bakın. - return_dict (
bool, isteğe bağlı) — Düz bir tuple yerine ModelOutput döndürülecek mi? - labels (
torch.LongTensorşeklinde(batch_size, sequence_length), isteğe bağlı) — Dil modelleme kaybını hesaplamak için etiketler. Dizinler ya[0, ..., config.vocab_size]aralığında ya da -100 olmalıdır (bkz.input_idsdocstring). Dizinleri-100olarak ayarlanan tokenlar yok sayılır (maskelenir); kayıp yalnızca etiketleri[0, ..., config.vocab_size].Etiket dizinleri SpeechT5Tokenizer kullanılarak elde edilebilir. Ayrıntılar için PreTrainedTokenizer.encode() ve PreTrainedTokenizer.call() yöntemlerine bakın.
Dönüş değeri
Seq2SeqLMOutput veya tuple(torch.Tensor)
Bir Seq2SeqLMOutput veya bir torch.Tensor demeti (eğer return_dict=False geçirildiyse veya config.return_dict=False ise), yapılandırmaya (SpeechT5Config) ve girdilere bağlı olarak çeşitli öğelerden oluşur.
SpeechT5ForSpeechToText forward metodu, __call__ özel metodunu geçersiz kılar.
İleri geçiş tarifi bu fonksiyon içinde tanımlanmalı olsa da, sonrasında bunun yerine
Moduleörneğini çağırmak gerekir; çünkü önceki, ön ve son işleme adımlarını çalıştırmaktan sorumluyken ikincisi bunları sessizce yok sayar.
loss (
torch.Tensor, şekli(1,), isteğe bağlı,labelssağlandığında döndürülür) — Dil modelleme kaybı.logits (
torch.Tensor, şekli(batch_size, sequence_length, config.vocab_size)) — Dil modelleme başlığının tahmin puanları (SoftMax öncesi her sözlük jetonu için puanlar).past_key_values (
EncoderDecoderCache, isteğe bağlı,use_cache=Truegeçirildiğinde veyaconfig.use_cache=Trueolduğunda döndürülür) — Bir EncoderDecoderCache örneğidir. Daha fazla ayrıntı için kv önbellek kılavuzumuza bakın.Sıralı çözümlemeyi hızlandırmak için (bkz.
past_key_valuesgirdisi) kullanılabilen, önceden hesaplanmış gizli durumları (self-attention bloklarındaki ve cross-attention bloklarındaki anahtar ve değerler) içerir.decoder_hidden_states (
tuple(torch.Tensor), isteğe bağlı,output_hidden_states=Truegeçirildiğinde veyaconfig.output_hidden_states=Trueolduğunda döndürülür) —torch.Tensor(modelin bir gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için birer tane) içeren,(batch_size, sequence_length, hidden_size)biçiminde bir demet.Her katmanın çıktısında ve başlangıç gömme çıktılarında dekodlayıcının gizli durumları.
decoder_attentions (
tuple(torch.Tensor), isteğe bağlı,output_attentions=Truegeçirildiğinde veyaconfig.output_attentions=Trueolduğunda döndürülür) —torch.Tensor(katman başına bir tane) içeren bir tuple, şekli(batch_size, num_heads, sequence_length, sequence_length).Dikkat ağırlıkları, dikkat softmax'ından sonra, öz-dikkat kafalarında ağırlıklı ortalamanın hesaplanmasında kullanılan dekoderin
cross_attentions (
tuple(torch.Tensor), isteğe bağlı,output_attentions=Truegeçirildiğinde veyaconfig.output_attentions=Trueolduğunda döndürülür) —(batch_size, num_heads, sequence_length, sequence_length)biçiminde, her katman için bir adet içerentorch.Tensordemeti.Dekoderin çapraz dikkat katmanının dikkat ağırlıkları, dikkat softmax'ından sonra, çapraz dikkat başlıklarında ağırlıklı ortalamanın hesaplanmasında kullanılır.
encoder_last_hidden_state (
torch.Tensor, şekli(batch_size, sequence_length, hidden_size), isteğe bağlı) — Modelin kodlayıcısının son katmanının çıktısındaki gizli durumlar dizisi.encoder_hidden_states (
tuple(torch.Tensor), isteğe bağlı,output_hidden_states=Truegeçirildiğinde veyaconfig.output_hidden_states=Trueolduğunda döndürülür) —torch.Tensor(modelin bir gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için birer tane) içeren,(batch_size, sequence_length, hidden_size)biçiminde bir demet.Her katmanın çıktısında ve başlangıç gömme çıktılarında kodlayıcının gizli durumları.
encoder_attentions (
tuple(torch.Tensor), isteğe bağlı,output_attentions=Truegeçirildiğinde veyaconfig.output_attentions=Trueolduğunda döndürülür) —torch.Tensor(katman başına bir tane) içeren bir tuple, şekli(batch_size, num_heads, sequence_length, sequence_length).Dikkat yumuşatma (attention softmax) sonrasında, öz-dikkat (self-attention) kafalarında ağırlıklı ortalamanın hesaplanmasında kullanılan kodlayıcının dikkat ağırlıkları.
Örnek:
>>> 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
sınıf transformers.SpeechT5ForTextToSpeech
< source >( config: SpeechT5Config )
Parametreler
- config (SpeechT5Config) — Modelin tüm parametrelerini içeren model yapılandırma sınıfı. Bir yapılandırma dosyasıyla başlatmak, modelle ilişkili ağırlıkları yüklemez, yalnızca yapılandırmayı yükler. Model ağırlıklarını yüklemek için from_pretrained() yöntemine bakın.
Metin kodlayıcı ve konuşma çözücüye sahip SpeechT5 Modeli.
Bu model PreTrainedModel sınıfından devralır. Kütüphanenin tüm modelleri için uyguladığı genel yöntemler (indirme veya kaydetme, giriş gömme boyutlarını yeniden boyutlandırma, başları budama vb.) için üst sınıf belgelendirmesine bakın.
Bu model aynı zamanda bir PyTorch torch.nn.Module alt sınıfıdır. Bunu standart bir PyTorch Module olarak kullanın ve genel kullanım ve davranışla ilgili tüm konular için PyTorch dokümantasyonuna başvurun.
forward
< 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)
Parametreler
- input_ids (
torch.LongTensorşeklinde(batch_size, sequence_length)) — Girdi dizisi token'larının sözlükteki indeksleri.Dizinler SpeechT5Tokenizer kullanılarak elde edilebilir. Ayrıntılar için encode() ve call() yöntemlerine bakın.
- attention_mask (
torch.LongTensorşeklinde(batch_size, sequence_length), isteğe bağlı) — Doldurma (padding) token indekslerinde dikkat (attention) işlemi yapmaktan kaçınmak için kullanılan maske. Seçilen maske değerleri[0, 1]:- 1, maskelenmemiş jetonlar için,
- maskelenmiş jetonlar için 0.
- decoder_input_values (
torch.Tensorşeklinde(batch_size, sequence_length, config.num_mel_bins)) — Girdi mel spektrogramunun ondalık değerleri.SpeechT5,
decoder_input_valuesüretimi için başlangıç jetonu olarak tümü sıfır olan bir spektrum kullanır.past_key_valueskullanılıyorsa, isteğe bağlı olarak yalnızca sondecoder_input_valuesgirdi olarak verilmelidir (bkz.past_key_values). - decoder_attention_mask (
torch.LongTensorşeklinde(batch_size, target_sequence_length), isteğe bağlı) — Varsayılan davranış:decoder_input_values. pad token'larını yok sayan bir tensör oluşturur. Varsayılan olarak nedensel maske de kullanılır. Dolgu davranışını değiştirmek istiyorsanız, varsayılan strateji hakkında daha fazla bilgi için makaledeki 1 numaralı diyagrama bakın ve ihtiyacınıza göre düzenleyin.Eğer padding davranışını değiştirmek istiyorsanız,
SpeechT5Decoder._prepare_decoder_attention_maskfonksiyonunu okuyup ihtiyaçlarınıza göre düzenlemelisiniz. Varsayılan strateji hakkında daha fazla bilgi için makaledeki 1 numaralı diyagrama bakın. - encoder_outputs (
tuple[tuple[torch.Tensor]], isteğe bağlı) — (last_hidden_state, isteğe bağlı:hidden_states, isteğe bağlı:attentions) içeren bir tuplelast_hidden_state,(batch_size, sequence_length, hidden_size)boyutunda, isteğe bağlı) encoder'ın son katmanının çıktısındaki gizli durumlar dizisidir. Decoder'ın çapraz dikkat (cross-attention) mekanizmasında kullanılır. - past_key_values (
~cache_utils.Cache, isteğe bağlı) — Sıralı çözümlemeyi hızlandırmak için kullanılabilen önceden hesaplanmış gizli durumlar (self-attention ve cross-attention bloklarındaki anahtar ve değerler). Bu genelliklepast_key_valuesdeğerinin, çözümlemenin önceki bir aşamasında model tarafından döndürülenuse_cache=Trueveyaconfig.use_cache=True.Girdi olarak yalnızca Cache örneği kabul edilir, kv cache kılavuzumuza bakın.
past_key_valuesgeçirilmezse, varsayılan olarak DynamicCache başlatılır.Model, girdi olarak verilen aynı önbellek biçimini çıktı olarak üretecektir.
past_key_valueskullanılıyorsa, kullanıcının tüminput_ids(şekli(batch_size, sequence_length)) yerine, bu modele geçmiş anahtar değer durumları verilmemiş olan, işlenmemişinput_ids(şekli(batch_size, unprocessed_length)) girmesi beklenir. - use_cache (
bool, isteğe bağlı) —Trueolarak ayarlanırsa,past_key_valuesanahtar değer durumları döndürülür ve çözümlemeyi hızlandırmak için kullanılabilir (bkz.past_key_values). - output_attentions (
bool, isteğe bağlı) — Tüm dikkat katmanlarının dikkat tensörlerinin döndürülüp döndürülmeyeceğini belirtir. Daha fazla ayrıntı için döndürülen tensörler altındakiattentionsbölümüne bakın. - output_hidden_states (
bool, isteğe bağlı) — Tüm katmanların gizli durumlarının (hidden states) döndürülüp döndürülmeyeceğini belirtir. Daha fazla ayrıntı için döndürülen tensörler altındakihidden_statesbölümüne bakın. - return_dict (
bool, isteğe bağlı) — Düz bir tuple yerine ModelOutput döndürülecek mi? - speaker_embeddings (
torch.Tensor, şekli(batch_size, config.speaker_embedding_dim), isteğe bağlı) — Konuşmacı gömlemelerini içeren tensör. - labels (
torch.Tensor, şekli(batch_size, sequence_length, config.num_mel_bins), isteğe bağlı) — Hedef mel spektrogramunun kayan değerleri. Kayıp hesabı için-100.0olarak ayarlanan zaman adımları yok sayılır (maskelenir). Spektrogramlar SpeechT5Processor kullanılarak elde edilebilir. Ayrıntılar için SpeechT5Processor.call() bölümüne bakın. - stop_labels (
torch.Tensor, şekli(batch_size, sequence_length), isteğe bağlı) — Dizideki durdurma token'ının konumunu gösteren ikili tensör.
Dönüş değeri
Seq2SeqSpectrogramOutput veya tuple(torch.Tensor)
Bir Seq2SeqSpectrogramOutput veya bir torch.Tensor demeti (return_dict=False geçirildiğinde veya config.return_dict=False olduğunda), yapılandırmaya (SpeechT5Config) ve girdilere bağlı olarak çeşitli öğelerden oluşur.
SpeechT5ForTextToSpeech forward metodu, __call__ özel metodunu geçersiz kılar.
İleri geçiş tarifi bu fonksiyon içinde tanımlanmalı olsa da, sonrasında bunun yerine
Moduleörneğini çağırmak gerekir; çünkü önceki, ön ve son işleme adımlarını çalıştırmaktan sorumluyken ikincisi bunları sessizce yok sayar.
loss (
torch.Tensor, şekli(1,), isteğe bağlı,labelssağlandığında döndürülür) — Spektrogram üretme kaybı.spectrogram (
torch.Tensor, şekli(batch_size, sequence_length, num_bins)) — Tahmin edilen spektrogram.past_key_values (
EncoderDecoderCache, isteğe bağlı,use_cache=Truegeçirildiğinde veyaconfig.use_cache=Trueolduğunda döndürülür) — Bir EncoderDecoderCache örneğidir. Daha fazla ayrıntı için kv önbellek kılavuzumuza bakın.Sıralı çözümlemeyi hızlandırmak için (bkz.
past_key_valuesgirdisi) kullanılabilen, önceden hesaplanmış gizli durumları (self-attention bloklarındaki ve cross-attention bloklarındaki anahtar ve değerler) içerir.decoder_hidden_states (
tuple(torch.Tensor), isteğe bağlı,output_hidden_states=Truegeçirildiğinde veyaconfig.output_hidden_states=Trueolduğunda döndürülür) —torch.Tensor(modelin bir gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için birer tane) içeren,(batch_size, sequence_length, hidden_size)biçiminde bir demet.Her katmanın çıktısında ve başlangıç gömme çıktılarında dekodlayıcının gizli durumları.
decoder_attentions (
tuple(torch.Tensor), isteğe bağlı,output_attentions=Truegeçirildiğinde veyaconfig.output_attentions=Trueolduğunda döndürülür) —torch.Tensor(katman başına bir tane) içeren bir tuple, şekli(batch_size, num_heads, sequence_length, sequence_length).Dikkat ağırlıkları, dikkat softmax'ından sonra, öz-dikkat kafalarında ağırlıklı ortalamanın hesaplanmasında kullanılan dekoderin
cross_attentions (
tuple(torch.Tensor), isteğe bağlı,output_attentions=Truegeçirildiğinde veyaconfig.output_attentions=Trueolduğunda döndürülür) —(batch_size, num_heads, sequence_length, sequence_length)biçiminde, her katman için bir adet içerentorch.Tensordemeti.Dekoderin çapraz dikkat katmanının dikkat ağırlıkları, dikkat softmax'ından sonra, çapraz dikkat başlıklarında ağırlıklı ortalamanın hesaplanmasında kullanılır.
encoder_last_hidden_state (
torch.Tensor, şekli(batch_size, sequence_length, hidden_size), isteğe bağlı) — Modelin kodlayıcısının son katmanının çıktısındaki gizli durumlar dizisi.encoder_hidden_states (
tuple(torch.Tensor), isteğe bağlı,output_hidden_states=Truegeçirildiğinde veyaconfig.output_hidden_states=Trueolduğunda döndürülür) —torch.Tensor(modelin bir gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için birer tane) içeren,(batch_size, sequence_length, hidden_size)biçiminde bir demet.Her katmanın çıktısında ve başlangıç gömme çıktılarında kodlayıcının gizli durumları.
encoder_attentions (
tuple(torch.Tensor), isteğe bağlı,output_attentions=Truegeçirildiğinde veyaconfig.output_attentions=Trueolduğunda döndürülür) —torch.Tensor(katman başına bir tane) içeren bir tuple, şekli(batch_size, num_heads, sequence_length, sequence_length).Dikkat yumuşatma (attention softmax) sonrasında, öz-dikkat (self-attention) kafalarında ağırlıklı ortalamanın hesaplanmasında kullanılan kodlayıcının dikkat ağırlıkları.
Örnek:
>>> 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
Parametreler
- input_ids (
torch.LongTensorşeklinde(batch_size, sequence_length)) — Girdi dizisi token'larının sözlükteki indeksleri.Dizinler SpeechT5Tokenizer kullanılarak elde edilebilir. Ayrıntılar için encode() ve call() yöntemlerine bakın.
- attention_mask (
torch.LongTensorof shape(batch_size, sequence_length)) — Attention mask from the tokenizer, required for batched inference to signal to the model where to ignore padded tokens from the input_ids. - speaker_embeddings (
torch.Tensor, şekli(batch_size, config.speaker_embedding_dim), isteğe bağlı) — Konuşmacı gömlemelerini içeren tensör. - threshold (
float, isteğe bağlı, varsayılan 0.5) — Oluşturulan dizi, tahmin edilen durdurma belirteci olasılığı bu değeri aştığında sona erer. - minlenratio (
float, isteğe bağlı, varsayılan 0.0) — Çıktı dizisi için gereken minimum uzunluğu hesaplamakta kullanılır. - maxlenratio (
float, isteğe bağlı, varsayılan 20.0) — Çıktı dizisi için izin verilen maksimum uzunluğu hesaplamak için kullanılır. - vocoder (
nn.Module, opsiyonel) — Mel spektrogramu ses dalgasına dönüştüren vokoder.Noneise çıktı mel spektrogramudur. - output_cross_attentions (
bool, isteğe bağlı, varsayılanFalse) — Çözücünün çapraz dikkat katmanlarının dikkat tensörlerinin döndürülüp döndürülmeyeceğini belirtir. - return_output_lengths (
bool, isteğe bağlı, varsayılanFalse) — Somut spektrogram/dalga formu uzunluklarının döndürülüp döndürülmeyeceği.
Dönüş değeri
Girişlere bağlı olarak çeşitli öğeler içeren tuple(torch.Tensor)
- olduğunda
return_output_lengthsFalse ise- spectrogram (isteğe bağlı,
vocodersağlanmadığında döndürülür)torch.Tensorşekli(output_sequence_length, config.num_mel_bins)— Tahmin edilen log-mel spektrogramı. - waveform (isteğe bağlı, bir
vocodersağlandığında döndürülür)torch.Tensorşekli(num_frames,)— Tahmin edilen konuşma dalgası. - cross_attentions (isteğe bağlı,
output_cross_attentionsTrueolduğunda döndürülür)torch.Tensor, şekli(config.decoder_layers, config.decoder_attention_heads, output_sequence_length, input_sequence_length)— Dekoderin çapraz dikkat katmanlarının çıktıları.
- spectrogram (isteğe bağlı,
- olduğunda
return_output_lengthsTrue ise- spektrogramlar (isteğe bağlı,
vocodersağlanmadığında döndürülür)torch.Tensorşekli(batch_size, output_sequence_length, config.num_mel_bins)— En uzun uzunluğa kadar doldurulmuş tahmini log-mel spektrogramları. - spectrogram_lengths (isteğe bağlı,
vocodersağlanmadığında döndürülür)list[Int]— Her spektrogram için somut uzunlukların listesi. - dalga formları (isteğe bağlı, bir
vocodersağlandığında döndürülür)torch.Tensorşekli(batch_size, num_frames)— Maksimum uzunluğa kadar doldurulan tahmini konuşma dalga formları. - waveform_lengths (isteğe bağlı, bir
vocodersağlandığında döndürülür)list[Int]— Her dalga formu için somut uzunlukların listesi. - cross_attentions (isteğe bağlı,
output_cross_attentionsTrueolduğunda döndürülür)torch.Tensor, şekli(batch_size, config.decoder_layers, config.decoder_attention_heads, output_sequence_length, input_sequence_length)— Dekoderin çapraz dikkat katmanlarının çıktıları.
- spektrogramlar (isteğe bağlı,
Girdi token dizisini mel spektrogramlarına dönüştürür; bu spektrogramlar daha sonra bir vokoder kullanılarak ses dalgasına çevrilir.
SpeechT5ForSpeechToSpeech
sınıf transformers.SpeechT5ForSpeechToSpeech
< source >( config: SpeechT5Config )
Parametreler
- config (SpeechT5Config) — Modelin tüm parametrelerini içeren model yapılandırma sınıfı. Bir yapılandırma dosyasıyla başlatmak, modelle ilişkili ağırlıkları yüklemez, yalnızca yapılandırmayı yükler. Model ağırlıklarını yüklemek için from_pretrained() yöntemine bakın.
Ses kodlayıcı ve ses çözücüye sahip SpeechT5 Modeli.
Bu model PreTrainedModel sınıfından devralır. Kütüphanenin tüm modelleri için uyguladığı genel yöntemler (indirme veya kaydetme, giriş gömme boyutlarını yeniden boyutlandırma, başları budama vb.) için üst sınıf belgelendirmesine bakın.
Bu model aynı zamanda bir PyTorch torch.nn.Module alt sınıfıdır. Bunu standart bir PyTorch Module olarak kullanın ve genel kullanım ve davranışla ilgili tüm konular için PyTorch dokümantasyonuna başvurun.
forward
< 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)
Parametreler
- input_values (
torch.Tensor, şekli(batch_size, sequence_length)) — Giriş ham ses dalgasının ondalık sayı değerleri. Değerler, bir .flac veya .wav ses dosyasınılist[float]türünde bir diziye,numpy.ndarrayveyatorch.Tensoriçine yükleyerek elde edilebilir; örneğin torchcodec kütüphanesi (pip install torchcodec) veya soundfile kütüphanesi (pip install soundfile) aracılığıyla. Diziyiinput_valuesiçin hazırlamak için, dolgu vetorch.Tensortüründe bir tensöre dönüştürme işlemleri için SpeechT5Processor kullanılmalıdır. Ayrıntılar için SpeechT5Processor.call() bölümüne bakın. - attention_mask (
torch.LongTensorşeklinde(batch_size, sequence_length), isteğe bağlı) — Doldurma (padding) token indekslerinde dikkat (attention) işlemi yapmaktan kaçınmak için kullanılan maske. Seçilen maske değerleri[0, 1]:- 1, maskelenmemiş jetonlar için,
- maskelenmiş jetonlar için 0.
- decoder_input_values (
torch.Tensorşeklinde(batch_size, sequence_length, config.num_mel_bins)) — Girdi mel spektrogramunun ondalık değerleri.SpeechT5,
decoder_input_valuesüretimi için başlangıç jetonu olarak tümü sıfır olan bir spektrum kullanır.past_key_valueskullanılıyorsa, isteğe bağlı olarak yalnızca sondecoder_input_valuesgirdi olarak verilmelidir (bkz.past_key_values). - decoder_attention_mask (
torch.LongTensorşeklinde(batch_size, target_sequence_length), isteğe bağlı) — Varsayılan davranış:decoder_input_values. pad token'larını yok sayan bir tensör oluşturur. Varsayılan olarak nedensel maske de kullanılır. Dolgu davranışını değiştirmek istiyorsanız, varsayılan strateji hakkında daha fazla bilgi için makaledeki 1 numaralı diyagrama bakın ve ihtiyacınıza göre düzenleyin.Eğer padding davranışını değiştirmek istiyorsanız,
SpeechT5Decoder._prepare_decoder_attention_maskfonksiyonunu okuyup ihtiyaçlarınıza göre düzenlemelisiniz. Varsayılan strateji hakkında daha fazla bilgi için makaledeki 1 numaralı diyagrama bakın. - encoder_outputs (
tuple[tuple[torch.Tensor]], isteğe bağlı) — (last_hidden_state, isteğe bağlı:hidden_states, isteğe bağlı:attentions) içeren bir tuplelast_hidden_state,(batch_size, sequence_length, hidden_size)boyutunda, isteğe bağlı) encoder'ın son katmanının çıktısındaki gizli durumlar dizisidir. Decoder'ın çapraz dikkat (cross-attention) mekanizmasında kullanılır. - past_key_values (
~cache_utils.Cache, isteğe bağlı) — Sıralı çözümlemeyi hızlandırmak için kullanılabilen önceden hesaplanmış gizli durumlar (self-attention ve cross-attention bloklarındaki anahtar ve değerler). Bu genelliklepast_key_valuesdeğerinin, çözümlemenin önceki bir aşamasında model tarafından döndürülenuse_cache=Trueveyaconfig.use_cache=True.Girdi olarak yalnızca Cache örneği kabul edilir, kv cache kılavuzumuza bakın.
past_key_valuesgeçirilmezse, varsayılan olarak DynamicCache başlatılır.Model, girdi olarak verilen aynı önbellek biçimini çıktı olarak üretecektir.
past_key_valueskullanılıyorsa, kullanıcının tüminput_ids(şekli(batch_size, sequence_length)) yerine, bu modele geçmiş anahtar değer durumları verilmemiş olan, işlenmemişinput_ids(şekli(batch_size, unprocessed_length)) girmesi beklenir. - use_cache (
bool, isteğe bağlı) —Trueolarak ayarlanırsa,past_key_valuesanahtar değer durumları döndürülür ve çözümlemeyi hızlandırmak için kullanılabilir (bkz.past_key_values). - output_attentions (
bool, isteğe bağlı) — Tüm dikkat katmanlarının dikkat tensörlerinin döndürülüp döndürülmeyeceğini belirtir. Daha fazla ayrıntı için döndürülen tensörler altındakiattentionsbölümüne bakın. - output_hidden_states (
bool, isteğe bağlı) — Tüm katmanların gizli durumlarının (hidden states) döndürülüp döndürülmeyeceğini belirtir. Daha fazla ayrıntı için döndürülen tensörler altındakihidden_statesbölümüne bakın. - return_dict (
bool, isteğe bağlı) — Düz bir tuple yerine ModelOutput döndürülecek mi? - speaker_embeddings (
torch.Tensor, şekli(batch_size, config.speaker_embedding_dim), isteğe bağlı) — Konuşmacı gömlemelerini içeren tensör. - labels (
torch.Tensor, şekli(batch_size, sequence_length, config.num_mel_bins), isteğe bağlı) — Hedef mel spektrogramunun kayan nokta değerleri. Spektrogramlar SpeechT5Processor kullanılarak elde edilebilir. Ayrıntılar için bkz. SpeechT5Processor.call(). - stop_labels (
torch.Tensor, şekli(batch_size, sequence_length), isteğe bağlı) — Dizideki durdurma token'ının konumunu gösteren ikili tensör.
Dönüş değeri
Seq2SeqSpectrogramOutput veya tuple(torch.Tensor)
Bir Seq2SeqSpectrogramOutput veya bir torch.Tensor demeti (return_dict=False geçirildiğinde veya config.return_dict=False olduğunda), yapılandırmaya (SpeechT5Config) ve girdilere bağlı olarak çeşitli öğelerden oluşur.
SpeechT5ForSpeechToSpeech forward metodu, __call__ özel metodunu geçersiz kılar.
İleri geçiş tarifi bu fonksiyon içinde tanımlanmalı olsa da, sonrasında bunun yerine
Moduleörneğini çağırmak gerekir; çünkü önceki, ön ve son işleme adımlarını çalıştırmaktan sorumluyken ikincisi bunları sessizce yok sayar.
loss (
torch.Tensor, şekli(1,), isteğe bağlı,labelssağlandığında döndürülür) — Spektrogram üretme kaybı.spectrogram (
torch.Tensor, şekli(batch_size, sequence_length, num_bins)) — Tahmin edilen spektrogram.past_key_values (
EncoderDecoderCache, isteğe bağlı,use_cache=Truegeçirildiğinde veyaconfig.use_cache=Trueolduğunda döndürülür) — Bir EncoderDecoderCache örneğidir. Daha fazla ayrıntı için kv önbellek kılavuzumuza bakın.Sıralı çözümlemeyi hızlandırmak için (bkz.
past_key_valuesgirdisi) kullanılabilen, önceden hesaplanmış gizli durumları (self-attention bloklarındaki ve cross-attention bloklarındaki anahtar ve değerler) içerir.decoder_hidden_states (
tuple(torch.Tensor), isteğe bağlı,output_hidden_states=Truegeçirildiğinde veyaconfig.output_hidden_states=Trueolduğunda döndürülür) —torch.Tensor(modelin bir gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için birer tane) içeren,(batch_size, sequence_length, hidden_size)biçiminde bir demet.Her katmanın çıktısında ve başlangıç gömme çıktılarında dekodlayıcının gizli durumları.
decoder_attentions (
tuple(torch.Tensor), isteğe bağlı,output_attentions=Truegeçirildiğinde veyaconfig.output_attentions=Trueolduğunda döndürülür) —torch.Tensor(katman başına bir tane) içeren bir tuple, şekli(batch_size, num_heads, sequence_length, sequence_length).Dikkat ağırlıkları, dikkat softmax'ından sonra, öz-dikkat kafalarında ağırlıklı ortalamanın hesaplanmasında kullanılan dekoderin
cross_attentions (
tuple(torch.Tensor), isteğe bağlı,output_attentions=Truegeçirildiğinde veyaconfig.output_attentions=Trueolduğunda döndürülür) —(batch_size, num_heads, sequence_length, sequence_length)biçiminde, her katman için bir adet içerentorch.Tensordemeti.Dekoderin çapraz dikkat katmanının dikkat ağırlıkları, dikkat softmax'ından sonra, çapraz dikkat başlıklarında ağırlıklı ortalamanın hesaplanmasında kullanılır.
encoder_last_hidden_state (
torch.Tensor, şekli(batch_size, sequence_length, hidden_size), isteğe bağlı) — Modelin kodlayıcısının son katmanının çıktısındaki gizli durumlar dizisi.encoder_hidden_states (
tuple(torch.Tensor), isteğe bağlı,output_hidden_states=Truegeçirildiğinde veyaconfig.output_hidden_states=Trueolduğunda döndürülür) —torch.Tensor(modelin bir gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için birer tane) içeren,(batch_size, sequence_length, hidden_size)biçiminde bir demet.Her katmanın çıktısında ve başlangıç gömme çıktılarında kodlayıcının gizli durumları.
encoder_attentions (
tuple(torch.Tensor), isteğe bağlı,output_attentions=Truegeçirildiğinde veyaconfig.output_attentions=Trueolduğunda döndürülür) —torch.Tensor(katman başına bir tane) içeren bir tuple, şekli(batch_size, num_heads, sequence_length, sequence_length).Dikkat yumuşatma (attention softmax) sonrasında, öz-dikkat (self-attention) kafalarında ağırlıklı ortalamanın hesaplanmasında kullanılan kodlayıcının dikkat ağırlıkları.
Örnek:
>>> 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
Parametreler
- input_values (
torch.Tensorşeklinde(batch_size, sequence_length)) — Giriş ham ses dalgasının ondalık sayı değerleri. Değerler, bir .flac veya .wav ses dosyasını list[float], numpy.ndarray veya torch.Tensor tipinde bir diziye yükleyerek elde edilebilir; örneğin torchcodec kütüphanesi (pip install torchcodec) veya soundfile kütüphanesi (pip install soundfile) aracılığıyla. Diziyi input_values için hazırlamak için dolgu ve torch.Tensor tipinde bir tensöre dönüştürme amacıyla SpeechT5Processor kullanılmalıdır. Ayrıntılar için SpeechT5Processor.call() bölümüne bakın.Değerler, bir .flac veya .wav ses dosyasını
list[float]tipinde bir diziye,numpy.ndarrayveyatorch.Tensortipine yükleyerek elde edilebilir; örneğin torchcodec kütüphanesi (pip install torchcodec) veya soundfile kütüphanesi (pip install soundfile) kullanılarak. Diziyiinput_valuesiçin hazırlamak için, padding vetorch.Tensortipinde bir tensöre dönüştürme işlemleri için SpeechT5Processor kullanılmalıdır. Ayrıntılar için SpeechT5Processor.call() bölümüne bakın. - speaker_embeddings (
torch.Tensor, şekli(batch_size, config.speaker_embedding_dim), isteğe bağlı) — Konuşmacı gömlemelerini içeren tensör. - attention_mask (
torch.LongTensorşeklinde(batch_size, sequence_length), isteğe bağlı) — Doldurma (padding) token indekslerinde konvolüsyon ve dikkat (attention) işlemlerinin uygulanmasını önlemek için maske. Seçilen maske değerleri[0, 1]:- 1, maskelenmemiş jetonlar için,
- maskelenmiş jetonlar için 0.
- threshold (
float, isteğe bağlı, varsayılan 0.5) — Oluşturulan dizi, tahmin edilen durdurma belirteci olasılığı bu değeri aştığında sona erer. - minlenratio (
float, isteğe bağlı, varsayılan 0.0) — Çıktı dizisi için gereken minimum uzunluğu hesaplamakta kullanılır. - maxlenratio (
float, isteğe bağlı, varsayılan 20.0) — Çıktı dizisi için izin verilen maksimum uzunluğu hesaplamak için kullanılır. - vocoder (
nn.Module, opsiyonel, varsayılanNone) — Mel spektrogramu ses dalgasına dönüştüren vokoder.Noneise çıktı mel spektrogramdur. - output_cross_attentions (
bool, isteğe bağlı, varsayılanFalse) — Çözücünün çapraz dikkat katmanlarının dikkat tensörlerinin döndürülüp döndürülmeyeceğini belirtir. - return_output_lengths (
bool, isteğe bağlı, varsayılanFalse) — Somut spektrogram/dalga formu uzunluklarının döndürülüp döndürülmeyeceği.
Dönüş değeri
Girişlere bağlı olarak çeşitli öğeler içeren tuple(torch.Tensor)
- olduğunda
return_output_lengthsFalse ise- spectrogram (isteğe bağlı,
vocodersağlanmadığında döndürülür)torch.Tensorşekli(output_sequence_length, config.num_mel_bins)— Tahmin edilen log-mel spektrogramı. - waveform (isteğe bağlı, bir
vocodersağlandığında döndürülür)torch.Tensorşekli(num_frames,)— Tahmin edilen konuşma dalgası. - cross_attentions (isteğe bağlı,
output_cross_attentionsTrueolduğunda döndürülür)torch.Tensor, şekli(config.decoder_layers, config.decoder_attention_heads, output_sequence_length, input_sequence_length)— Dekoderin çapraz dikkat katmanlarının çıktıları.
- spectrogram (isteğe bağlı,
- olduğunda
return_output_lengthsTrue ise- spektrogramlar (isteğe bağlı,
vocodersağlanmadığında döndürülür)torch.Tensorşekli(batch_size, output_sequence_length, config.num_mel_bins)— En uzun uzunluğa kadar doldurulmuş tahmini log-mel spektrogramları. - spectrogram_lengths (isteğe bağlı,
vocodersağlanmadığında döndürülür)list[Int]— Her spektrogram için somut uzunlukların listesi. - dalga formları (isteğe bağlı, bir
vocodersağlandığında döndürülür)torch.Tensorşekli(batch_size, num_frames)— Maksimum uzunluğa kadar doldurulan tahmini konuşma dalga formları. - waveform_lengths (isteğe bağlı, bir
vocodersağlandığında döndürülür)list[Int]— Her dalga formu için somut uzunlukların listesi. - cross_attentions (isteğe bağlı,
output_cross_attentionsTrueolduğunda döndürülür)torch.Tensor, şekli(batch_size, config.decoder_layers, config.decoder_attention_heads, output_sequence_length, input_sequence_length)— Dekoderin çapraz dikkat katmanlarının çıktıları.
- spektrogramlar (isteğe bağlı,
Ham bir ses dalgasını mel spektrogramları dizisine dönüştürür; bu spektrogramlar daha sonra bir vokoder kullanılarak yeniden ses dalgasına çevrilir.
SpeechT5HifiGan
sınıf transformers.SpeechT5HifiGan
< source >( config: SpeechT5HifiGanConfig )
Parametreler
- config (SpeechT5HifiGanConfig) — Modelin tüm parametrelerini içeren model yapılandırma sınıfı. Bir yapılandırma dosyasıyla başlatmak, modelle ilişkili ağırlıkları yüklemez, yalnızca yapılandırmayı yükler. Model ağırlıklarını yüklemek için from_pretrained() yöntemine bakın.
HiFi-GAN vokoderi.
Bu model PreTrainedModel sınıfından devralır. Kütüphanenin tüm modelleri için uyguladığı genel yöntemler (indirme veya kaydetme, giriş gömme boyutlarını yeniden boyutlandırma, başları budama vb.) için üst sınıf belgelendirmesine bakın.
Bu model aynı zamanda bir PyTorch torch.nn.Module alt sınıfıdır. Bunu standart bir PyTorch Module olarak kullanın ve genel kullanım ve davranışla ilgili tüm konular için PyTorch dokümantasyonuna başvurun.
forward
< source >( spectrogram: Tensor**kwargs ) → torch.Tensor
Parametreler
- spectrogram (
torch.Tensor) — Log-mel spektrogramları içeren tensör. Toplu (batched) olarak(batch_size, sequence_length, config.model_in_dim)biçiminde veya toplu olmayan (un-batched) olarak(sequence_length, config.model_in_dim)biçiminde olabilir.
Dönüş değeri
torch.Tensor
Ses dalgası formunu içeren tensör. Girdi spektrogramı toplu (batched) ise, şekli (batch_size, num_frames,) olacaktır. Toplu değilse, şekli (num_frames,) olacaktır.
Log-mel spektrogramunu konuşma dalgacığına dönüştürür. Bir log-mel spektrogramu partisi geçirildiğinde, bir konuşma dalgacığı partisi döndürülür. Tek bir, partilendirilmemiş log-mel spektrogramu geçirildiğinde, tek bir, partilendirilmemiş konuşma dalgacığı döndürülür.