Transformers documentation

UnivNet

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v5.22.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

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_sequence argümanı, input_features argümanının uzunluk boyutuyla (1. boyut) eşleşen noise_length değerine sahip, ([batch_size], noise_length, model.config.model_in_channels) biçiminde standart Gauss gürültüsü (örneğin torch.randn ile üretilen) olmalıdır. Bu argüman sağlanmazsa rastgele üretilir; ileri geçişin (forward pass) yeniden üretilebilmesi için generator argümanına bir torch.Generator sağlanabilir. (Not: UnivNetFeatureExtractor varsayılan olarak üretilmiş gürültüyü döndürür, bu nedenle noise_sequence değ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 = True parametresini 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

< >

( 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ğer noise_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] veya list[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 ve resblock_stride_sizes ile resblock_dilation_sizes'in uzunluğuyla eşleşmelidir.
  • resblock_stride_sizes (tuple[int] veya list[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_sizes uzunluğu, resblock_kernel_sizes ve resblock_dilation_sizes uzunluklarıyla eşleşmelidir.
  • resblock_dilation_sizes (tuple[tuple[int]] veya list[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_sizes ve resblock_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ılan 0.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.config

UnivNetFeatureExtractor

sınıf transformers.UnivNetFeatureExtractor

< >

( 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) — padding argü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çindeki pad_end argümanı da bu dolgu değerini kullanır.
  • do_normalize (bool, isteğe bağlı, varsayılan False) — 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ğer UnivNetModel.config.num_mel_bins ile 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_length değ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_length değ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ı. None ise, bu değer transformers.audio_utils.optimal_fft_length kullanı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 olarak sampling_rate / 2 değerini alır.
  • mel_floor (float, isteğe bağlı, varsayılan 1e-09) — Mel frekans bankalarının minimum değeri. UnivNetFeatureExtractor'ın mel_floor'u kullanma biçimi, transformers.audio_utils.spectrogram() içindeki kullanımdan farklıdır.
  • center (bool, isteğe bağlı, varsayılan False) — Dalga formunun, t çerçevesinin t * hop_length zamanı etrafında ortalanacak şekilde dolgu (padding) uygulanıp uygulanmayacağını belirtir. False ise, t çerçevesi t * hop_length zamanı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ğer UnivNetModel.config.model_in_channels ile 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_length olacaktır.
  • return_attention_mask (bool, isteğe bağlı, varsayılan True) — call() attention_mask değ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__

< >

( 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_speech girdisinin örneklenmiş olduğu örneklem hızı. Sessiz hataları önlemek ve otomatik konuşma tanıma hattına izin vermek için ileri çağrıda sampling_rate değerinin geçirilmesi şiddetle önerilir.
  • padding (bool, str veya PaddingStrategy, isteğe bağlı, varsayılanı True) — Girdi raw_speech dalga formları için (modelin padding yönüne ve padding indeksine göre) aşağıdakilerden birini seçin:
    • True veya '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_length argümanı ile belirtilen maksimum uzunluğa veya bu argüman sağlanmadıysa modelin kabul edebileceği maksimum giriş uzunluğuna kadar doldurur.
    • False veya 'do_not_pad' (varsayılan): Dolgu yok (yani, farklı uzunluklarda diziler içeren bir parti çıktı olarak üretilebilir).

    pad_end = True ise, bu dolgu işlemi padding stratejisi 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ılan True) — max_length'den uzun giriş 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_noise (bool, isteğe bağlı, varsayılan True) — 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ılan None) — Gürültü üretirken kullanılacak isteğe bağlı numpy.random.Generator rastgele sayı üreteci.
  • pad_end (bool, isteğe bağlı, varsayılan False) — 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, padding içinde belirtilen dolgu stratejisi uygulanmadan önce yapılır.
  • pad_length (int, isteğe bağlı, varsayılan None) — Her ses dalgasının sonunu dolduruyorsanız, dolgu uzunluğu spektrum çerçevesi cinsindendir. Ayarlanmazsa, bu değer self.config.pad_end_length olarak 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ğer self.config.do_normalize olarak 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.

    Dikkat maskeleri nedir?

  • return_tensors (str veya TensorType, isteğe bağlı) — Belirtilirse, Python tamsayı listesi yerine tensörler döndürülür. Kabul edilen değerler:
    • 'pt': PyTorch torch.np.array nesnelerini döndürür.
    • 'np': Numpy np.ndarray nesnelerini 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

< >

( 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

< >

( 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.Tensor of 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,)) — waveforms iç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]
Update on GitHub