Transformers documentation
UnivNet
Bu model 2021-06-15 tarihinde HF papers'ta yayımlanmış ve 2023-11-22 tarihinde Hugging Face Transformers'a katkıda bulunmuştur.
UnivNet
Genel Bakış
UnivNet modeli, Won Jang, Dan Lim, Jaesam Yoon, Bongwan Kin ve Juntae Kim tarafından UnivNet: A Neural Vocoder with Multi-Resolution Spectrogram Discriminators for High-Fidelity Waveform Generation makalesinde önerilmiştir.
UnivNet modeli, yüksek sadakatli ses dalgaları sentezlemek üzere eğitilen bir üretken düşman ağdır (GAN). transformers içinde paylaşılan UnivNet modeli, bir koşullandırma log-mel spektrogramını ve isteğe bağlı bir gürültü dizisini bir ses dalgasına (örneğin bir vokoder) eşleyen generator'dır. Sadece çıkarım için generator gereklidir. generator'u eğitmek için kullanılan discriminator uygulanmamıştır.
Makalenin özeti aşağıdaki gibidir:
Çoğu sinirsel vokoder, dalga formları üretmek için bant sınırlı mel-spektrogramlar kullanır. Tam bant spektral özellikler girdi olarak kullanılırsa, vokodere mümkün olan en yüksek düzeyde akustik bilgi sağlanabilir. Ancak tam bant mel-spektrogramlar kullanan bazı modellerde, keskin olmayan spektrogramların üretilmesiyle sonuçlanan bir aşırı yumuşatma (over-smoothing) sorunu ortaya çıkar. Bu sorunu ele almak için, gerçek zamanlı olarak yüksek sadakatli dalga formları sentezleyen UnivNet adlı bir sinirsel vokoder öneriyoruz. Ses aktivitesi algılama alanındaki çalışmalardan ilham alarak, çeşitli parametre setleri kullanılarak hesaplanan çoklu doğrusal spektrogram genliklerini kullanan çok çözünürlüklü bir spektrogram ayrıştırıcı (discriminator) ekledik. Girdi olarak tam bant mel-spektrogramlar kullandığımızda, girdi olarak çoklu çözünürlüklü spektrogramlar kullanan bir ayrıştırıcı ekleyerek yüksek çözünürlüklü sinyaller üretmeyi hedefliyoruz. Yüzlerce konuşmacıya ait bilgiler içeren bir veri seti üzerinde yapılan değerlendirmede, UnivNet, hem bilinen hem de bilinmeyen konuşmacılar için rakip modeller arasında hem nesnel hem de öznel olarak en iyi sonuçları elde etti. Metinden sese (text-to-speech) en iyi öznel puanı da içeren bu sonuçlar, sıfırdan eğitim gerektirmeden yeni konuşmacılara hızlı uyarlama potansiyelini göstermektedir.
İpuçları:
- UnivNetModel.forward() için
noise_sequenceargümanı,input_featuresargümanının uzunluk boyutuyla (1. boyut) eşleşennoise_lengthdeğerine sahip,([batch_size], noise_length, model.config.model_in_channels)biçiminde standart Gauss gürültüsü (örneğintorch.randnile üretilen) olmalıdır. Bu argüman sağlanmazsa rastgele üretilir; ileri geçişin (forward pass) yeniden üretilebilmesi içingeneratorargümanına birtorch.Generatorsağlanabilir. (Not: UnivNetFeatureExtractor varsayılan olarak üretilmiş gürültüyü döndürür, bu nedenlenoise_sequencedeğerini manuel olarak üretmeye gerek kalmamalıdır.) - UnivNetFeatureExtractor tarafından eklenen dolgu, aşağıdaki kullanım örneğinde gösterildiği gibi
UnivNetFeatureExtractor.batch_decode()yöntemi aracılığıyla UnivNetModel çıktısından kaldırılabilir. - Her dalga formunun sonunu sessizlikle doldurmak, üretilen ses örneğinin sonunda oluşabilecek artefaktları azaltabilir. Bunu yapmak için UnivNetFeatureExtractor.call() fonksiyonuna
pad_end = Trueparametresini iletmek yeterlidir. Daha fazla ayrıntı için bu sorunu inceleyin.
Kullanım Örneği:
import torch
from datasets import Audio, load_dataset
from scipy.io.wavfile import write
from transformers import UnivNetFeatureExtractor, UnivNetModel
model_id_or_path = "dg845/univnet-dev"
model = UnivNetModel.from_pretrained(model_id_or_path, device_map="auto")
feature_extractor = UnivNetFeatureExtractor.from_pretrained(model_id_or_path)
ds = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
# Resample the audio to the model and feature extractor's sampling rate.
ds = ds.cast_column("audio", Audio(sampling_rate=feature_extractor.sampling_rate))
# Pad the end of the converted waveforms to reduce artifacts at the end of the output audio samples.
inputs = feature_extractor(
ds[0]["audio"]["array"], sampling_rate=ds[0]["audio"]["sampling_rate"], pad_end=True, return_tensors="pt"
)
with torch.no_grad():
audio = model(**inputs)
# Remove the extra padding at the end of the output.
audio = feature_extractor.batch_decode(**audio)[0]
# Convert to wav file
write("sample_audio.wav", feature_extractor.sampling_rate, audio)Bu model dg845 tarafından katkıda bulunmuştur. Bilgime göre resmi bir kod yayını yoktur, ancak maum-ai/univnet adresinde ön eğitilmiş denetim noktalarıyla burada resmi olmayan bir uygulama bulunabilir.
UnivNetConfig
sınıf transformers.UnivNetConfig
< 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_channels: int = 64model_hidden_channels: int = 32num_mel_bins: int = 100resblock_kernel_sizes: list[int] | tuple[int, ...] = (3, 3, 3)resblock_stride_sizes: list[int] | tuple[int, ...] = (8, 8, 4)resblock_dilation_sizes: list | tuple = ((1, 3, 9, 27), (1, 3, 9, 27), (1, 3, 9, 27))kernel_predictor_num_blocks: int = 3kernel_predictor_hidden_channels: int = 64kernel_predictor_conv_size: int = 3kernel_predictor_dropout: float | int = 0.0initializer_range: float = 0.01leaky_relu_slope: float = 0.2 )
Parametreler
- model_in_channels (
int, isteğe bağlı, varsayılan 64) — UnivNet artımsal ağı için giriş kanal sayısı. Bu değernoise_sequence.shape[1]ile ve UnivNetFeatureExtractor sınıfında kullanılan değerle eşleşmelidir. - model_hidden_channels (
int, isteğe bağlı, varsayılan 32) — UnivNet artımsal ağında her artımsal bloğun gizli kanal sayısı. - num_mel_bins (
int, isteğe bağlı, varsayılan 100) — Koşullandıran log-mel spektrogramdaki frekans bini sayısı. Bu değer, UnivNetFeatureExtractor sınıfında kullanılan değerle eşleşmelidir. - resblock_kernel_sizes (
tuple[int]veyalist[int], isteğe bağlı, varsayılan[3, 3, 3]) — UnivNet artımsal ağındaki 1D konvolüsyon katmanlarının çekirdek boyutlarını tanımlayan tamsayı demeti.resblock_kernel_sizes'in uzunluğu, resnet bloklarının sayısını belirler veresblock_stride_sizesileresblock_dilation_sizes'in uzunluğuyla eşleşmelidir. - resblock_stride_sizes (
tuple[int]veyalist[int], isteğe bağlı, varsayılan[8, 8, 4]) — UnivNet artımsal ağında 1B konvolüsyon katmanlarının stride boyutlarını tanımlayan tamsayı demeti.resblock_stride_sizesuzunluğu,resblock_kernel_sizesveresblock_dilation_sizesuzunluklarıyla eşleşmelidir. - resblock_dilation_sizes (
tuple[tuple[int]]veyalist[list[int]], isteğe bağlı, varsayılan değeri[[1, 3, 9, 27], [1, 3, 9, 27], [1, 3, 9, 27]]) — UnivNet artımsal ağındaki seyreltilmiş 1B konvolüsyonlu katmanların seyreltme oranlarını tanımlayan iç içe geçmiş bir tamsayı demeti.resblock_dilation_sizes'in uzunluğu,resblock_kernel_sizesveresblock_stride_sizes'in uzunluğuyla eşleşmelidir.resblock_dilation_sizes'deki her iç içe geçmiş listenin uzunluğu, resnet bloğu başına konvolüsyonlu katman sayısını belirler. - kernel_predictor_num_blocks (
int, isteğe bağlı, varsayılan 3) — UnivNet artımsal ağında her konum değişkeni konvolüsyon katmanı için çekirdeği ve önyargıyı hesaplayan çekirdek öngörücü ağında bulunan artımsal blokların sayısı. - kernel_predictor_hidden_channels (
int, isteğe bağlı, varsayılan 64) — Kernel predictor ağındaki her residual blok için gizli kanal sayısı. - kernel_predictor_conv_size (
int, isteğe bağlı, varsayılan 3) — Kernel predictor ağındaki her 1D konvolüsyon katmanının kernel boyutu. - kernel_predictor_dropout (
float, isteğe bağlı, varsayılan 0.0) — Kernel predictor ağındaki her artımsal blok için dropout olasılığı. - 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.2) — Leaky ReLU aktivasyonunun kullandığı negatif eğimin açısı.
Bu, bir UnivNetModel yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Univnet modelinin örneklenmesi ve model mimarisinin tanımlanması için kullanılır. Varsayılan değerlerle bir yapılandırma örneklendiğinde, dg845/univnet-dev 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 UnivNetModel, UnivNetConfig
>>> # Initializing a Tortoise TTS style configuration
>>> configuration = UnivNetConfig()
>>> # Initializing a model (with random weights) from the Tortoise TTS style configuration
>>> model = UnivNetModel(configuration)
>>> # Accessing the model configuration
>>> configuration = model.configUnivNetFeatureExtractor
sınıf transformers.UnivNetFeatureExtractor
< source >( feature_size: int = 1sampling_rate: int = 24000padding_value: float = 0.0do_normalize: bool = Falsenum_mel_bins: int = 100hop_length: int = 256win_length: int = 1024win_function: str = 'hann_window'filter_length: int | None = 1024max_length_s: int = 10fmin: float = 0.0fmax: float | None = Nonemel_floor: float = 1e-09center: bool = Falsecompression_factor: float = 1.0compression_clip_val: float = 1e-05normalize_min: float = -11.512925148010254normalize_max: float = 2.3143386840820312model_in_channels: int = 64pad_end_length: int = 10return_attention_mask = 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 24000) — Ses dosyalarının dijitalleştirileceği örnekleme hızı, hertz (Hz) cinsinden ifade edilir. - padding_value (
float, isteğe bağlı, varsayılan 0.0) —paddingargümanı ile tanımlanan dolgu stratejisi uygulandığında kullanılacak dolgu değeri. UnivNetFeatureExtractor.call() için ses sessizliğine karşılık gelmelidir.__call__içindekipad_endargümanı da bu dolgu değerini kullanır. - do_normalize (
bool, isteğe bağlı, varsayılanFalse) — Girdi üzerinde Tacotron 2 normalizasyonu uygulanıp uygulanmayacağı. Normalizasyon, bazı modellerde performansı önemli ölçüde iyileştirebilir. - num_mel_bins (
int, isteğe bağlı, varsayılan 100) — Çıkarılan spektrogram özelliklerindeki mel frekans bini sayısı. Bu değerUnivNetModel.config.num_mel_binsile eşleşmelidir. - hop_length (
int, isteğe bağlı, varsayılan 256) — Kayan pencereler arasındaki doğrudan örnek sayısı. Birçok makalede “shift” olarak da adlandırılır. Dikkat edin, bu,hop_lengthdeğerini ms cinsinden alan SpeechT5FeatureExtractor gibi diğer ses özellik çıkarıcılarından farklıdır. - win_length (
int, isteğe bağlı, varsayılan 1024) — Her kayan pencere için doğrudan örnek sayısı. Dikkat edin, bu,win_lengthdeğerini ms cinsinden alan SpeechT5FeatureExtractor gibi diğer ses özellik çıkarıcılarından farklıdır. - 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 - filter_length (
int, isteğe bağlı, varsayılan 1024) — Kullanılacak FFT bileşenlerinin sayısı.Noneise, bu değertransformers.audio_utils.optimal_fft_lengthkullanılarak belirlenir. - max_length_s (
int, isteğe bağlı, varsayılan 10) — Modelin saniye cinsinden maksimum giriş uzunluğu. Bu, sesin dolgu (padding) işlemi için kullanılır. - fmin (
float, isteğe bağlı, varsayılan 0.0) — Hz cinsinden minimum mel frekansı. - fmax (
float, isteğe bağlı) — Hz cinsinden maksimum mel frekansı. Ayarlanmazsa, varsayılan olaraksampling_rate / 2değerini alır. - mel_floor (
float, isteğe bağlı, varsayılan 1e-09) — Mel frekans bankalarının minimum değeri. UnivNetFeatureExtractor'ınmel_floor'u kullanma biçimi, transformers.audio_utils.spectrogram() içindeki kullanımdan farklıdır. - center (
bool, isteğe bağlı, varsayılanFalse) — Dalga formunun,tçerçevesinint * hop_lengthzamanı etrafında ortalanacak şekilde dolgu (padding) uygulanıp uygulanmayacağını belirtir.Falseise,tçerçevesit * hop_lengthzamanında başlar. - compression_factor (
float, isteğe bağlı, varsayılan 1.0) — Spektral normalizasyon sırasında dinamik aralık sıkıştırması için çarpan sıkıştırma faktörü. - compression_clip_val (
float, isteğe bağlı, varsayılan 1e-05) — Spektral normalizasyon sırasında dinamik aralık sıkıştırması uygulanmadan önce dalga formuna uygulanan kırpma değeri. - normalize_min (
float, isteğe bağlı, varsayılan -11.512925148010254) — Tacotron 2 tarzı doğrusal normalizasyon için kullanılan min değeri. Varsayılan, Tacotron 2 uygulamasındaki orijinal değerdir. - normalize_max (
float, isteğe bağlı, varsayılan 2.3143386840820312) — Tacotron 2 tarzı doğrusal normalizasyon için kullanılan maksimum değer. Varsayılan değer, Tacotron 2 uygulamasındaki orijinal değerdir. - model_in_channels (
int, isteğe bağlı, varsayılan 64) — UnivNetModel modeline giren kanal sayısı. Bu değerUnivNetModel.config.model_in_channelsile eşleşmelidir. - pad_end_length (
int, isteğe bağlı, varsayılan 10) — Her ses dalgasının sonunu dolduruyorsanız, eklenecek örneklerin spektrogram çerçevesi cinsinden sayısı. Eklenecek örnek sayısıpad_end_length * hop_lengtholacaktır. - return_attention_mask (
bool, isteğe bağlı, varsayılanTrue) — call()attention_maskdeğerini döndürmeli mi?
UnivNet özellik çıkarıcısı oluşturur.
Bu sınıf, ham konuşma verisinden kısa süreli Fourier Dönüşümü (STFT) kullanarak log-mel-filtre bankası özelliklerini çıkarır. STFT uygulaması, TacoTron 2 ve Hifi-GAN'daki uygulamanın aynısını izler.
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 >( raw_speech: numpy.ndarray | list[float] | list[numpy.ndarray] | list[list[float]]sampling_rate: int | None = Nonepadding: bool | str | transformers.utils.generic.PaddingStrategy = Truemax_length: int | None = Nonetruncation: bool = Truepad_to_multiple_of: int | None = Nonereturn_noise: bool = Truegenerator: numpy.random._generator.Generator | None = Nonepad_end: bool = Falsepad_length: int | None = Nonedo_normalize: str | None = Nonereturn_attention_mask: bool | None = Nonereturn_tensors: str | transformers.utils.generic.TensorType | None = None )
Parametreler
- raw_speech (
np.ndarray,list[float],list[np.ndarray],list[list[float]]) — Doldurulacak (padding) dizi veya dizi grubu. Her dizi, bir numpy dizisi, bir float değerleri listesi, bir numpy dizileri listesi veya float değerleri listeleri listesi olabilir. Tek kanallı (mono) ses olmalı, stereo değil; yani her zaman adımı için tek bir float değer içermelidir. - sampling_rate (
int, isteğe bağlı) —raw_speechgirdisinin örneklenmiş olduğu örneklem hızı. Sessiz hataları önlemek ve otomatik konuşma tanıma hattına izin vermek için ileri çağrıdasampling_ratedeğerinin geçirilmesi şiddetle önerilir. - padding (
bool,strveya PaddingStrategy, isteğe bağlı, varsayılanıTrue) — Girdiraw_speechdalga formları için (modelin padding yönüne ve padding indeksine göre) aşağıdakilerden birini seçin: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).
pad_end = Trueise, bu dolgu işlemipaddingstratejisi uygulanmadan önce gerçekleşir. - 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, isteğe bağlı, varsayılanTrue) —max_length'den uzun giriş dizilerinimax_lengthdeğ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_noise (
bool, isteğe bağlı, varsayılanTrue) — UnivNetModel.forward() kullanımı için bir gürültü dalgası üretilip döndürülüp döndürülmemesi. - generator (
numpy.random.Generator, isteğe bağlı, varsayılanNone) — Gürültü üretirken kullanılacak isteğe bağlınumpy.random.Generatorrastgele sayı üreteci. - pad_end (
bool, isteğe bağlı, varsayılanFalse) — Her ses dalgasının sonunu sessizlikle doldurup doldurmayacağı. Bu, üretilen ses örneğinin sonunda oluşabilecek artefaktları azaltmaya yardımcı olabilir; daha fazla ayrıntı için https://github.com/seungwonpark/melgan/issues/8 adresine bakın. Bu dolgu işlemi,paddingiçinde belirtilen dolgu stratejisi uygulanmadan önce yapılır. - pad_length (
int, isteğe bağlı, varsayılanNone) — Her ses dalgasının sonunu dolduruyorsanız, dolgu uzunluğu spektrum çerçevesi cinsindendir. Ayarlanmazsa, bu değerself.config.pad_end_lengtholarak varsayılan kabul edilir. - do_normalize (
bool, isteğe bağlı) — Girdide Tacotron 2 normalizasyonu uygulanıp uygulanmayacağı. Normalizasyon, bazı modellerde performansı önemli ölçüde artırabilir. Ayarlanmazsa, bu değerself.config.do_normalizeolarak varsayılan kabul edilir. - 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ı) — Belirtilirse, Python tamsayı listesi yerine tensörler döndürülür. Kabul edilen değerler:'pt': PyTorchtorch.np.arraynesnelerini döndürür.'np': Numpynp.ndarraynesnelerini döndürür.
Bir veya birden fazla diziyi model için özelliklendirmek ve hazırlamak için ana yöntem.
UnivNetModel
sınıf transformers.UnivNetModel
< source >( config: UnivNetConfig )
Parametreler
- config (UnivNetConfig) — 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.
Üzerinde herhangi bir özel head olmadan ham hidden-states üreten çıplak Univnet Model.
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_features: Tensornoise_sequence: typing.Optional[torch.Tensor] = Nonepadding_mask: typing.Optional[torch.Tensor] = Nonegenerator: typing.Optional[torch.Generator] = Nonereturn_dict: bool | None = None**kwargs ) → UnivNetModelOutput or tuple(torch.Tensor)
Parametreler
- input_features (
torch.Tensorof shape(batch_size, sequence_length, feature_dim)) — Girdi ses özelliklerine karşılık gelen tensörler. Ses özellikleri UnivNetFeatureExtractor kullanılarak elde edilebilir. Ayrıntılar için UnivNetFeatureExtractor.call() adresine bakın (processor_class, sesleri işlemek için UnivNetFeatureExtractor kullanır). - noise_sequence (
torch.Tensor, isteğe bağlı) — Standart Gauss gürültüsünden oluşan bir gürültü dizisi içeren tensör. Toplu (batched) olarak(batch_size, sequence_length, config.model_in_channels)biçiminde veya toplu olmayan (un-batched) olarak (sequence_length, config.model_in_channels) biçiminde olabilir. Sağlanmazsa, rastgele oluşturulur. - padding_mask (
torch.BoolTensor, isteğe bağlı) — Her dizinin hangi kısımlarının dolgu (padding) ile doldurulduğunu gösteren maske. Maske değerleri[0, 1]:- maskelenmemiş jetonlar için 1
- maskelenmiş jetonlar için 0
Mask,
(batch_size, sequence_length)biçiminde toplu (batched) veya(sequence_length,)biçiminde toplu olmayan (un-batched) olabilir. - generator (
torch.Generator, opsiyonel) — Üretimi deterministik hale getirmek için bir torch generator. return_dict: Sadece bir tuple yerine bir ModelOutput alt sınıfı döndürülüp döndürülmeyeceği. - return_dict (
bool, isteğe bağlı) — Düz bir tuple yerine ModelOutput döndürülecek mi?
Dönüş değeri
UnivNetModelOutput veya tuple(torch.Tensor)
UnivNetModelOutput veya bir torch.Tensor demeti (eğer return_dict=False geçirildiyse veya config.return_dict=False ise), yapılandırma (UnivNetConfig) ve girdilere bağlı olarak çeşitli öğelerden oluşur.
UnivNetModel 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.
- dalga formları (
torch.Tensor, şekli(batch_size, sequence_length)) — Toplu 1B (tek kanal) çıkış ses dalga formları. - waveform_lengths (
torch.Tensor, şekli(batch_size,)) —waveformsiçindeki her dolgu yapılmamış dalga formunun örnek cinsinden toplu uzunluğu.
Örnek:
>>> from transformers import UnivNetFeatureExtractor, UnivNetModel
>>> from datasets import load_dataset, Audio
>>> model = UnivNetModel.from_pretrained("dg845/univnet-dev")
>>> feature_extractor = UnivNetFeatureExtractor.from_pretrained("dg845/univnet-dev")
>>> ds = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
>>> # Resample the audio to the feature extractor's sampling rate.
>>> ds = ds.cast_column("audio", Audio(sampling_rate=feature_extractor.sampling_rate))
>>> inputs = feature_extractor(
... ds[0]["audio"]["array"], sampling_rate=ds[0]["audio"]["sampling_rate"], return_tensors="pt"
... )
>>> audio = model(**inputs).waveforms
>>> list(audio.shape)
[1, 140288]