Transformers documentation
Parakeet
Bu model, 2025-09-25 tarihinde Hugging Face Transformers'a katkıda bulunulmuştur.
Parakeet
Genel Bakış
NVIDIA NeMo tarafından tanıtılan Parakeet modelleri, otomatik konuşma tanıma için Fast Conformer kodlayıcıyı, bağlantısal zamansal sınıflandırma (CTC), yineleyli sinir ağı transdüser (RNNT) veya token ve süre transdüser (TDT) çözücüleriyle birleştiren modellerdir.
Model Mimarisi
- Fast Conformer Encoder: Mel-spektrogram özelliklerini işleyen ve alt örnekleme yoluyla dizi uzunluğunu azaltan, doğrusal olarak ölçeklenebilir bir Conformer mimarisi. Bu, FastSpeech2Conformer içindeki Conformer Encoder'ın daha verimli bir versiyonudur (encoder uygulaması ve ayrıntılar için ParakeetEncoder'a bakın).
- ParakeetForCTC: hızlı bir Conformer kodlayıcı + bir CTC çözücü
- CTC Decoder: Şu bileşenlerden oluşan basit ama etkili bir decoder:
- Enkoder gizli boyutundan sözlük boyutuna 1D konvolüsyon projeksiyonu (optimal NeMo uyumluluğu için).
- Eğitim için CTC kaybı hesaplama.
- Çıkarım için açgözlü CTC çözümleme.
- CTC Decoder: Şu bileşenlerden oluşan basit ama etkili bir decoder:
- ParakeetForRNNT: hızlı Conformer kodlayıcı + RNN-T (RNN Transducer) çözücü
- RNN-T Decoder: Standart sinir transdüser:
- LSTM tahmin ağı, token tahminleri arasında dil bağlamını korur.
- Ortak ağ, kodlayıcı ve çözücü çıktılarını birleştirir.
- Çıkarım için açgözlü transducer çözümleme: boş (blank) yayılımı, kodlayıcı çerçevesini bir adım ileri taşır; boş olmayan (non-blank) yayılımı ise aynı çerçevede kalır.
- RNN-T Decoder: Standart sinir transdüser:
- ParakeetForTDT: hızlı bir Conformer kodlayıcı + TDT (Token Süresi Transdüsü) çözücü
- TDT Decoder: Token'ları ve sürelerini birlikte tahmin ederek verimli çözümleme sağlar:
- LSTM tahmin ağı, token tahminleri arasında dil bağlamını korur.
- Ortak ağ, kodlayıcı ve çözücü çıktılarını birleştirir.
- Duration head, atlaması gereken kare sayısını tahmin ederek hızlı çıkarımı (inference) sağlar.
- TDT Decoder: Token'ları ve sürelerini birlikte tahmin ederek verimli çözümleme sağlar:
Orijinal uygulama NVIDIA NeMo içinde bulunabilir. Model denetim noktaları NVIDIA organizasyonu altında yer almaktadır.
Bu model Nithin Rao Koluguri, Eustache Le Bihan, Eric Bezzam, Maksym Lypivskyi ve Hainan Xu tarafından katkıda bulunmuştur.
Kullanım
ParakeetForCTC kullanımı
from transformers import pipeline
pipe = pipeline("automatic-speech-recognition", model="nvidia/parakeet-ctc-1.1b")
out = pipe("https://huggingface.co/datasets/hf-internal-testing/dummy-audio-samples/resolve/main/bcn_weather.mp3")
print(out)
# {'text': 'yesterday it was thirty five degrees in barcelona but today the temperature will go down to minus twenty degrees'}from datasets import Audio, load_dataset
from transformers import AutoModelForCTC, AutoProcessor
model_id = "nvidia/parakeet-ctc-1.1b"
processor = AutoProcessor.from_pretrained(model_id)
model = AutoModelForCTC.from_pretrained(model_id, device_map="auto")
ds = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
ds = ds.cast_column("audio", Audio(sampling_rate=processor.feature_extractor.sampling_rate))
speech_samples = [el['array'] for el in ds["audio"][:5]]
inputs = processor(speech_samples, sampling_rate=processor.feature_extractor.sampling_rate)
inputs.to(model.device, dtype=model.dtype)
outputs = model.generate(**inputs)
print(processor.decode(outputs))ParakeetForRNNT kullanımı
Parakeet RNN-T, CTC gibi büyük/küçük harf ve noktalama işareti olmadan transkripsiyon yapar ve model ayrıca token zaman damgalama işlevini de gerçekleştirebilir.
from transformers import pipeline
pipe = pipeline("automatic-speech-recognition", model="nvidia/parakeet-rnnt-0.6b", revision="refs/pr/4")
out = pipe("https://huggingface.co/datasets/hf-internal-testing/dummy-audio-samples/resolve/main/bcn_weather.mp3")
print(out)
# {'text': 'yesterday it was thirty five degrees in barcelona but today the temperature will go down to minus twenty degrees'}from transformers import AutoModelForRNNT, AutoProcessor
from datasets import load_dataset, Audio
model_id = "nvidia/parakeet-rnnt-0.6b"
revision = "refs/pr/4"
processor = AutoProcessor.from_pretrained(model_id, revision=revision)
model = AutoModelForRNNT.from_pretrained(model_id, revision=revision, device_map="auto")
ds = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
ds = ds.cast_column("audio", Audio(sampling_rate=processor.feature_extractor.sampling_rate))
speech_samples = [el['array'] for el in ds["audio"][:5]]
inputs = processor(speech_samples, sampling_rate=processor.feature_extractor.sampling_rate)
inputs.to(model.device, dtype=model.dtype)
output = model.generate(**inputs, return_dict_in_generate=True)
print(processor.decode(output.sequences, skip_special_tokens=True))TDT'nin aksine (her token için bir süre tahmin eder), her RNN-T token'ı tek bir kodlayıcı çerçevesinde üretilir; bu nedenle başlangıcı ve bitişi tam olarak bir çerçeveyi kapsar.
from datasets import Audio, load_dataset
from transformers import AutoModelForRNNT, AutoProcessor
model_id = "nvidia/parakeet-rnnt-0.6b"
revision = "refs/pr/4"
processor = AutoProcessor.from_pretrained(model_id, revision=revision)
model = AutoModelForRNNT.from_pretrained(model_id, revision=revision, device_map="auto")
ds = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
ds = ds.cast_column("audio", Audio(sampling_rate=processor.feature_extractor.sampling_rate))
speech_samples = [el['array'] for el in ds["audio"][:1]]
inputs = processor(speech_samples, sampling_rate=processor.feature_extractor.sampling_rate)
inputs.to(model.device, dtype=model.dtype)
output = model.generate(**inputs, return_dict_in_generate=True)
decoded_output, decoded_timestamps = processor.decode(
output.sequences,
durations=output.durations,
skip_special_tokens=True,
)
print("Transcription:", decoded_output)
print("\nTimestamped tokens:", decoded_timestamps)
"""
Transcription: ['mister quilter is the apostle of the middle classes and we are glad to welcome his gospel']
Timestamped tokens: [[{'token': 'm', 'start': 0.4, 'end': 0.48}, {'token': 'is', 'start': 0.56, 'end': 0.64}, {'token': 'ter', 'start': 0.56, 'end': 0.64}, {'token': ' qu', 'start': 0.72, 'end': 0.8}, {'token': 'il', 'start': 0.96, 'end': 1.04}, {'token': 'ter', 'start': 1.12, 'end': 1.2}, {'token': ' is', 'start': 1.36, 'end': 1.44}, {'token': ' the', 'start': 1.52, 'end': 1.6}, {'token': ' ap', 'start': 1.68, 'end': 1.76}, {'token': 'o', 'start': 1.76, 'end': 1.84}, {'token': 'st', 'start': 1.84, 'end': 1.92}, {'token': 'le', 'start': 2.0, 'end': 2.08}, {'token': ' of', 'start': 2.16, 'end': 2.24}, {'token': ' the', 'start': 2.24, 'end': 2.32}, {'token': ' m', 'start': 2.4, 'end': 2.48}, {'token': 'id', 'start': 2.48, 'end': 2.56}, {'token': 'd', 'start': 2.56, 'end': 2.64}, {'token': 'le', 'start': 2.56, 'end': 2.64}, {'token': ' cl', 'start': 2.8, 'end': 2.88}, {'token': 'ass', 'start': 2.88, 'end': 2.96}, {'token': 'es', 'start': 3.12, 'end': 3.2}, {'token': ' and', 'start': 3.28, 'end': 3.36}, {'token': ' we', 'start': 3.44, 'end': 3.52}, {'token': ' are', 'start': 3.6, 'end': 3.68}, {'token': ' gl', 'start': 3.84, 'end': 3.92}, {'token': 'ad', 'start': 3.92, 'end': 4.0}, {'token': ' to', 'start': 4.08, 'end': 4.16}, {'token': ' we', 'start': 4.24, 'end': 4.32}, {'token': 'l', 'start': 4.32, 'end': 4.4}, {'token': 'c', 'start': 4.4, 'end': 4.48}, {'token': 'ome', 'start': 4.48, 'end': 4.56}, {'token': ' his', 'start': 4.72, 'end': 4.8}, {'token': ' go', 'start': 4.96, 'end': 5.04}, {'token': 's', 'start': 5.04, 'end': 5.12}, {'token': 'pe', 'start': 5.2, 'end': 5.28}, {'token': 'l', 'start': 5.36, 'end': 5.44}]]
"""ParakeetForTDT kullanımı
Parakeet TDT transkriptleri büyük/küçük harf bilgisini içerir ve model ayrıca token zaman damgalama işlemini de gerçekleştirebilir.
from transformers import pipeline
pipe = pipeline("automatic-speech-recognition", model="nvidia/parakeet-tdt-0.6b-v3")
out = pipe("https://huggingface.co/datasets/hf-internal-testing/dummy-audio-samples/resolve/main/bcn_weather.mp3")
print(out)
# {'text': 'Yesterday it was 35 degrees in Barcelona, but today the temperature will go down to minus 20 degrees.'}from transformers import AutoModelForTDT, AutoProcessor
from datasets import load_dataset, Audio
model_id = "nvidia/parakeet-tdt-0.6b-v3"
processor = AutoProcessor.from_pretrained(model_id)
model = AutoModelForTDT.from_pretrained(model_id, device_map="auto")
ds = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
ds = ds.cast_column("audio", Audio(sampling_rate=processor.feature_extractor.sampling_rate))
speech_samples = [el['array'] for el in ds["audio"][:5]]
inputs = processor(speech_samples, sampling_rate=processor.feature_extractor.sampling_rate)
inputs.to(model.device, dtype=model.dtype)
output = model.generate(**inputs, return_dict_in_generate=True)
print(processor.decode(output.sequences, skip_special_tokens=True))from datasets import Audio, load_dataset
from transformers import AutoModelForTDT, AutoProcessor
model_id = "nvidia/parakeet-tdt-0.6b-v3"
processor = AutoProcessor.from_pretrained(model_id)
model = AutoModelForTDT.from_pretrained(model_id, device_map="auto")
ds = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
ds = ds.cast_column("audio", Audio(sampling_rate=processor.feature_extractor.sampling_rate))
speech_samples = [el['array'] for el in ds["audio"][:1]]
inputs = processor(speech_samples, sampling_rate=processor.feature_extractor.sampling_rate)
inputs.to(model.device, dtype=model.dtype)
output = model.generate(**inputs, return_dict_in_generate=True)
decoded_output, decoded_timestamps = processor.decode(
output.sequences,
durations=output.durations,
skip_special_tokens=True,
)
print("Transcription:", decoded_output)
print("\nTimestamped tokens:", decoded_timestamps)
"""
Transcription: ['mister Quilter is the apostle of the middle classes, and we are glad to welcome his gospel.']
Timestamped tokens: [[{'token': 'm', 'start': 0.24, 'end': 0.48}, {'token': 'ister', 'start': 0.48, 'end': 0.64}, {'token': 'Qu', 'start': 0.64, 'end': 0.88}, {'token': 'il', 'start': 0.88, 'end': 1.12}, {'token': 'ter', 'start': 1.12, 'end': 1.36}, {'token': 'is', 'start': 1.36, 'end': 1.44}, {'token': 'the', 'start': 1.44, 'end': 1.6}, {'token': 'ap', 'start': 1.6, 'end': 1.76}, {'token': 'ost', 'start': 1.76, 'end': 1.92}, {'token': 'le', 'start': 2.0, 'end': 2.16}, {'token': 'of', 'start': 2.16, 'end': 2.24}, {'token': 'the', 'start': 2.24, 'end': 2.4}, {'token': 'mid', 'start': 2.4, 'end': 2.48}, {'token': 'd', 'start': 2.48, 'end': 2.56}, {'token': 'le', 'start': 2.56, 'end': 2.64}, {'token': 'clas', 'start': 2.72, 'end': 2.88}, {'token': 's', 'start': 2.88, 'end': 3.04}, {'token': 'es', 'start': 3.04, 'end': 3.12}, {'token': ',', 'start': 3.12, 'end': 3.12}, {'token': 'and', 'start': 3.2800000000000002, 'end': 3.44}, {'token': 'we', 'start': 3.44, 'end': 3.6}, {'token': 'are', 'start': 3.6, 'end': 3.7600000000000002}, {'token': 'gl', 'start': 3.7600000000000002, 'end': 3.92}, {'token': 'ad', 'start': 3.92, 'end': 4.08}, {'token': 'to', 'start': 4.08, 'end': 4.24}, {'token': 'wel', 'start': 4.24, 'end': 4.4}, {'token': 'c', 'start': 4.4, 'end': 4.48}, {'token': 'ome', 'start': 4.48, 'end': 4.72}, {'token': 'his', 'start': 4.72, 'end': 4.96}, {'token': 'gos', 'start': 4.96, 'end': 5.12}, {'token': 'pel', 'start': 5.36, 'end': 5.6000000000000005}, {'token': '.', 'start': 5.6000000000000005, 'end': 5.6000000000000005}]]
"""Modeli Hızlandırmak
Parakeet, grafik yakalama (NVIDIA GPU'larda CUDA graphs, diğer hızlandırıcılarda eşdeğer mekanizma) ile tam grafik derlemesini destekler! Bu optimizasyon, transkribe etmek istediğiniz maksimum ses uzunluğunu bildiğinizde en etkili sonucu verir. Temel fikir, yeniden derlemeyi önlemek için statik giriş biçimleri kullanmaktır. Örneğin, sesinizin 30 saniyeden kısa olacağını biliyorsanız, işlemciyi (processor) kullanarak tüm girişleri 30 saniyeye kadar doldurabilir (pad) ve tutarlı giriş özellikleri ile dikkat maskeleri (attention masks) hazırlayabilirsiniz. Aşağıdaki örneğe bakın!
import torch
from datasets import Audio, load_dataset
from transformers import AutoModelForCTC, AutoProcessor
processor = AutoProcessor.from_pretrained("nvidia/parakeet-ctc-1.1b")
model = AutoModelForCTC.from_pretrained("nvidia/parakeet-ctc-1.1b", device_map="auto")
ds = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
ds = ds.cast_column("audio", Audio(sampling_rate=processor.feature_extractor.sampling_rate))
speech_samples = [el['array'] for el in ds["audio"][:5]]
# Compile the generate method with fullgraph and graph capture
model.generate = torch.compile(model.generate, fullgraph=True, mode="reduce-overhead")
# let's define processor kwargs to pad to 30 seconds
processor_kwargs = {
"padding": "max_length",
"max_length": 30 * processor.feature_extractor.sampling_rate,
}
# Define a timing context using accelerator events
class TimerContext:
def __init__(self, name="Execution"):
self.name = name
self.start_event = None
self.end_event = None
def __enter__(self):
# Use accelerator events for more accurate device timing
self.start_event = torch.Event(enable_timing=True)
self.end_event = torch.Event(enable_timing=True)
self.start_event.record()
return self
def __exit__(self, *args):
self.end_event.record()
torch.accelerator.synchronize()
elapsed_time = self.start_event.elapsed_time(self.end_event) / 1000.0
print(f"{self.name} time: {elapsed_time:.4f} seconds")
inputs = processor(speech_samples[0], **processor_kwargs)
inputs.to(model.device, dtype=model.dtype)
print("\n" + "="*50)
print("First generation - compiling...")
# Generate with the compiled model
with TimerContext("First generation"):
outputs = model.generate(**inputs)
print(processor.decode(outputs))
inputs = processor(speech_samples[1], **processor_kwargs)
inputs.to(model.device, dtype=model.dtype)
print("\n" + "="*50)
print("Second generation - recording graphs...")
with TimerContext("Second generation"):
outputs = model.generate(**inputs)
print(processor.decode(outputs))
inputs = processor(speech_samples[2], **processor_kwargs)
inputs.to(model.device, dtype=model.dtype)
print("\n" + "="*50)
print("Third generation - fast !!!")
with TimerContext("Third generation"):
outputs = model.generate(**inputs)
print(processor.decode(outputs))
inputs = processor(speech_samples[3], **processor_kwargs)
inputs.to(model.device, dtype=model.dtype)
print("\n" + "="*50)
print("Fourth generation - still fast !!!")
with TimerContext("Fourth generation"):
outputs = model.generate(**inputs)
print(processor.decode(outputs))CTC Eğitimi
from datasets import Audio, load_dataset
from transformers import AutoModelForCTC, AutoProcessor
model_id = "nvidia/parakeet-ctc-1.1b"
NUM_SAMPLES = 5
processor = AutoProcessor.from_pretrained(model_id)
model = AutoModelForCTC.from_pretrained(model_id, device_map="auto")
model.train()
ds = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
ds = ds.cast_column("audio", Audio(sampling_rate=processor.feature_extractor.sampling_rate))
speech_samples = [el['array'] for el in ds["audio"][:NUM_SAMPLES]]
text_samples = ds["text"][:NUM_SAMPLES]
# passing `text` to the processor will prepare inputs' `labels` key
inputs = processor(audio=speech_samples, text=text_samples, sampling_rate=processor.feature_extractor.sampling_rate)
inputs.to(model.device, dtype=model.dtype)
outputs = model(**inputs)
print("Loss:", outputs.loss.item())
outputs.loss.backward()RNN-T Eğitimi
RNN-T kaybının hesaplanması torchaudio gerektirir (
pip install torchaudio).
from datasets import Audio, load_dataset
import torch
from transformers import AutoModelForRNNT, AutoProcessor
model_id = "nvidia/parakeet-rnnt-0.6b"
revision = "refs/pr/4"
NUM_SAMPLES = 4
processor = AutoProcessor.from_pretrained(model_id, revision=revision)
model = AutoModelForRNNT.from_pretrained(model_id, revision=revision, device_map="auto")
model.train()
ds = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
ds = ds.cast_column("audio", Audio(sampling_rate=processor.feature_extractor.sampling_rate))
speech_samples = [el['array'] for el in ds["audio"][:NUM_SAMPLES]]
text_samples = ds["text"][:NUM_SAMPLES]
# passing `text` to the processor will prepare inputs' `labels` key
inputs = processor(audio=speech_samples, text=text_samples, sampling_rate=processor.feature_extractor.sampling_rate)
inputs.to(model.device, dtype=model.dtype)
outputs = model(**inputs)
print("Loss:", outputs.loss.item())
outputs.loss.backward()TDT Eğitimi
from datasets import Audio, load_dataset
import torch
from transformers import AutoModelForTDT, AutoProcessor
model_id = "nvidia/parakeet-tdt-0.6b-v3"
NUM_SAMPLES = 4
processor = AutoProcessor.from_pretrained(model_id)
model = AutoModelForTDT.from_pretrained(model_id, device_map="auto")
model.train()
ds = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
ds = ds.cast_column("audio", Audio(sampling_rate=processor.feature_extractor.sampling_rate))
speech_samples = [el['array'] for el in ds["audio"][:NUM_SAMPLES]]
text_samples = ds["text"][:NUM_SAMPLES]
# passing `text` to the processor will prepare inputs' `labels` key
inputs = processor(audio=speech_samples, text=text_samples, sampling_rate=processor.feature_extractor.sampling_rate)
inputs.to(model.device, dtype=model.dtype)
outputs = model(**inputs)
print("Loss:", outputs.loss.item())
outputs.loss.backward()ParakeetTokenizer
PreTrainedTokenizerFast sınıfından tüm yöntemleri devralır. Bu yöntemlere ilişkin daha fazla bilgi için kullanıcıların bu üst sınıfa başvurması gerekir;
ancak CTC çözümlemesine uyarlamak için yeniden tanımlanan _decode yöntemi hariçtir:
- Arka arkaya gelen token'ları grupla
- Boş token'ı filtrele
ParakeetFeatureExtractor
sınıf transformers.ParakeetFeatureExtractor
< source >( feature_size = 80sampling_rate = 16000hop_length = 160n_fft = 512win_length = 400preemphasis = 0.97padding_value = 0.0**kwargs )
Parametreler
- feature_size (
int, isteğe bağlı, varsayılan 80) — Çı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. - hop_length (
int, isteğe bağlı, varsayılan 160) — Mel Frekans katsayılarını elde etmek için kullanılan STFT'nin üst üste binen pencerelerinin uzunluğu. - n_fft (
int, isteğe bağlı, varsayılan 512) — Fourier dönüşümünün boyutu. - win_length (
int, isteğe bağlı, varsayılan 400) — STFT hesabı için pencere uzunluğu. - preemphasis (
float, isteğe bağlı, varsayılan 0.97) — Ön vurgu filtresi katsayısı. 0.0, ön vurgu filtresi uygulanmadığı anlamına gelir. - padding_value (
float, isteğe bağlı, varsayılan 0.0) — Sesin doldurulmasında kullanılan dolgu değeri. Sessizliklere karşılık gelmelidir.
Bir Parakeet özellik çıkarıcısı oluşturur.
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.
Bu sınıf, ham konuşma verisinden mel-filtre bankası özelliklerini, pytorch'un torch.stft karşılığıyla eşleşmesi gereken özel bir numpy Short Time Fourier Transform uygulaması kullanarak çıkarır.
__call__
< source >( raw_speech: numpy.ndarray | list[float] | list[numpy.ndarray] | list[list[float]]truncation: bool = Falsepad_to_multiple_of: int | None = Nonereturn_tensors: str | transformers.utils.generic.TensorType | None = Nonereturn_attention_mask: bool | None = Nonepadding: str | None = 'longest'max_length: int | None = Nonesampling_rate: int | None = Nonedo_normalize: bool | None = Nonedevice: str | None = 'cpu'return_token_timestamps: bool | None = None**kwargs )
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. - truncation (
bool, isteğe bağlı, varsayılanTrue) — 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ı, varsayılan olarak None) — Ayarlanırsa, 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 değer bırakılırsa, ilgili feature_extractor'ın varsayılanına göre dikkat maskesi döndürülür.Parakeet modelleri için, ince hatalardan kaçınmak amacıyla toplu çıkarım sırasında
attention_maskher zaman iletilmelidir. - 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:'tf': TensorFlowtf.constantnesnelerini döndürür.'pt': PyTorchtorch.Tensornesnelerini döndürür.'np': Numpynp.ndarraynesnelerini döndürür.
- 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_value (
float, isteğe bağlı, varsayılan 0.0) — Doldurma değerlerinin / vektörlerinin doldurulmasında kullanılan değer. - do_normalize (
bool, isteğe bağlı, varsayılanFalse) — Girdinin sıfır ortalama ve birim varyansla normalize edilip edilmeyeceği. Normalizasyon, model performansını önemli ölçüde iyileştirmeye yardımcı olabilir. - device (
str, isteğe bağlı, varsayılan'cpu') —_torch_extract_fbank_featuresyönteminde ses sinyallerinin log-mel spektrogramunun hesaplanması için kullanılan cihazı belirtir. (ör. “cpu”, “cuda”) - return_token_timestamps (
bool, isteğe bağlı, varsayılan olarakNone) — Kullanımı durduruldu. Bunun yerinereturn_attention_maskkullanın; kare sayısı buradan çıkarılabilir.Girdi raw_speech'in kare sayısının döndürülüp döndürülmeyeceği. Bu num_frames değerleri, model tarafından kelime düzeyi zaman damgalarının hesaplanmasında kullanılabilir.
Bir veya birden fazla diziyi model için özniteliklendirmek ve hazırlamak için kullanılan ana yöntem. Uygulama, kullanılabilirse STFT hesabı için PyTorch'u, aksi takdirde daha yavaş bir NumPy tabanlı yöntemi kullanır.
ParakeetProcessor
sınıf transformers.ParakeetProcessor
< source >( feature_extractortokenizerblank_token = '<blank>'decoder_type = None )
Parametreler
- feature_extractor (
feature_extractor_class) — Özellik çıkarıcı zorunlu bir girdidir. - tokenizer (
tokenizer_class) — Tokenizer zorunlu bir girdidir. - blank_token (
str, isteğe bağlı, varsayılan"<blank>") — Transducer çözümleme için boş token. - decoder_type (
str, isteğe bağlı) — Çözme/zaman damgası yayma modu. Olası değerler:"ctc": Ardışık aynı token'lar tek bir emisyon birleştirilir."rnnt": Tekrarlanan jetonlar korunur; her jetona 1 karelik bir zaman damgası aralığı atanır."tdt": Tekrarlanan tokenler korunur; her token aralığı, tahmini süresine dayanır. Noktalama işaretleri, önceki tokene eklenir.
Noneise (eski kontrol noktaları), geriye dönük uyumluluk için decoder tipi otomatik olarak çıkarılır.
Bir özellik çıkarıcıyı ve bir belirteçleyiciyi tek bir işlemciye saran bir ParakeetProcessor oluşturur.
ParakeetProcessor, feature_extractor_class ve tokenizer_class sınıflarının tüm işlevlerini sunar. Daha fazla bilgi için ~feature_extractor_class ve ~tokenizer_class belgelerine bakın.
__call__
< source >( audio: typing.Union[numpy.ndarray, ForwardRef('torch.Tensor'), collections.abc.Sequence[numpy.ndarray], collections.abc.Sequence['torch.Tensor']]text: str | list[str] | list[list[str]] | None = Nonesampling_rate: int | None = None**kwargs: *<class 'transformers.models.parakeet.processing_parakeet.ParakeetProcessorKwargs'> )
Parametreler
- audio (
Union[numpy.ndarray, torch.Tensor, collections.abc.Sequence[numpy.ndarray], collections.abc.Sequence[torch.Tensor]]) — Hazırlanacak ses veya sesler partisi. Her ses, bir NumPy dizisi veya PyTorch tensörü olabilir. NumPy dizisi/PyTorch tensörü durumunda, her sesin şekli (C, T) olmalıdır; burada C kanal sayısı, T ise sesin örnek uzunluğudur. - text (
Union[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. Önceden tokenize edilmiş bir girdi geçirirseniz, gruplu girdilerle karışıklığı önlemek içinis_split_into_words=Truedeğerini ayarlayın. - sampling_rate (
int, isteğe bağlı) — Giriş sesinin Hz cinsinden örneklem hızı. Bu değer, özellik çıkarıcısının beklediği örneklem hızıyla eşleşmelidir (varsayılan 16000 Hz). Sağlanırsa, işleyicinin beklediği örneklem hızıyla doğrulanır ve eşleşmezse bir hata oluşturulur. Sağlanmazsa bir uyarı verilir ve varsayılan örneklem hızı kabul edilir. - 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.
- **kwargs (ProcessingKwargs, isteğe bağlı) — Her modalite (metin, görüntüler, videolar, ses) için ek işleme seçenekleri. Modelle ilgili parametreler yukarıda listelenmiştir; desteklenen argümanların tam listesi için TypedDict sınıfına bakın.
decode() fonksiyonuna argümanları iletin ve zaman damgalarını (TDT için sağlanıyorsa) NeMo kütüphanesindeki gibi son işlemleyin.
ParakeetEncoderConfig
sınıf transformers.ParakeetEncoderConfig
< 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 = Nonehidden_size: int = 1024num_hidden_layers: int = 24num_attention_heads: int = 8intermediate_size: int = 4096hidden_act: str = 'silu'attention_bias: bool = Trueconvolution_bias: bool = Trueconv_kernel_size: int = 9subsampling_factor: int = 8subsampling_conv_channels: int = 256num_mel_bins: int = 80subsampling_conv_kernel_size: int = 3subsampling_conv_stride: int = 2dropout: float | int = 0.1dropout_positions: float | int = 0.0layerdrop: float | int = 0.1activation_dropout: float | int = 0.1attention_dropout: float | int = 0.1max_position_embeddings: int = 5000scale_input: bool = Trueinitializer_range: float = 0.02 )
Parametreler
- hidden_size (
int, isteğe bağlı, varsayılan1024) — Gizli temsillerin boyutu. - num_hidden_layers (
int, isteğe bağlı, varsayılan24) — Transformer çözücüdeki gizli katman sayısı. - num_attention_heads (
int, isteğe bağlı, varsayılan8) — Transformer decoder'ındaki her dikkat katmanı için dikkat başı sayısı. - intermediate_size (
int, isteğe bağlı, varsayılan4096) — MLP temsillerinin boyutu. - hidden_act (
str, isteğe bağlı, varsayılansilu) — Çözücüdeki doğrusal olmayan aktivasyon fonksiyonu (fonksiyon veya dize). Örneğin,"gelu","relu","silu"vb. - attention_bias (
bool, isteğe bağlı, varsayılanTrue) — Öz-dikkat sırasında sorgu, anahtar, değer ve çıktı projeksiyon katmanlarında önyargı (bias) kullanılıp kullanılmayacağı. - convolution_bias (
bool, isteğe bağlı, varsayılanTrue) — Conformer'ün konvolüsyon modülündeki konvolüsyonlarda sapma (bias) kullanılıp kullanılmayacağı. - conv_kernel_size (
int, isteğe bağlı, varsayılan 9) — Conformer bloğundaki konvolüsyon katmanlarının çekirdek boyutu. - subsampling_factor (
int, isteğe bağlı, varsayılan 8) — Girdi dizisinin alt örneklenmesinde kullanılan çarpan. - subsampling_conv_channels (
int, isteğe bağlı, varsayılan 256) — Alt örnekleme konvolüsyon katmanlarındaki kanal sayısı. - num_mel_bins (
int, isteğe bağlı, varsayılan 80) — Mel özellik sayısı. - subsampling_conv_kernel_size (
int, isteğe bağlı, varsayılan 3) — Alt örnekleme konvolüsyon katmanlarının çekirdek boyutu. - subsampling_conv_stride (
int, isteğe bağlı, varsayılan 2) — Alt örnekleme konvolüsyon katmanlarının stride değeri. - dropout (
Union[float, int], isteğe bağlı, varsayılan0.1) — Tüm dropout katmanları için oran. - dropout_positions (
float, isteğe bağlı, varsayılan 0.0) — Girdi dizisindeki konumlar için dropout oranı. - layerdrop (
Union[float, int], isteğe bağlı, varsayılan0.1) — LayerDrop olasılığı. Daha fazla ayrıntı için [LayerDrop makalesine](bkz. https://huggingface.co/papers/1909.11556) bakın. - activation_dropout (
Union[float, int], isteğe bağlı, varsayılan0.1) — Tamamen bağlı katmandaki aktivasyonlar için dropout oranı. - attention_dropout (
Union[float, int], isteğe bağlı, varsayılan0.1) — Dikkat olasılıkları için dropout oranı. - max_position_embeddings (
int, isteğe bağlı, varsayılan5000) — Bu modelin kullanılabileceği maksimum dizi uzunluğu. - scale_input (
bool, isteğe bağlı, varsayılanTrue) — Girdi gömme vektörlerinin ölçeklendirilip ölçeklendirilmeyeceğini belirtir. - 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ı.
Bu, bir ParakeetModel'in yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Parakeet modelinin örneklenmesinde, model mimarisini tanımlamak için kullanılır. Varsayılan değerlerle bir yapılandırma örneği oluşturmak, nvidia/parakeet-ctc-1.1b ile benzer bir yapılandırmaya yol açar.
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 ParakeetEncoderModel, ParakeetEncoderConfig
>>> # Initializing a `ParakeetEncoder` configuration
>>> configuration = ParakeetEncoderConfig()
>>> # Initializing a model from the configuration
>>> model = ParakeetEncoderModel(configuration)
>>> # Accessing the model configuration
>>> configuration = model.configParakeetCTCConfig
sınıf transformers.ParakeetCTCConfig
< 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 = Nonevocab_size: int = 1025ctc_loss_reduction: str = 'mean'ctc_zero_infinity: bool = Trueencoder_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonepad_token_id: int | None = 1024 )
Parametreler
- vocab_size (
int, isteğe bağlı, varsayılan1025) — Modelin sözlük boyutu.input_idsile temsil edilebilecek farklı token sayısını belirler. - ctc_loss_reduction (
str, isteğe bağlı, varsayılan"mean") —torch.nn.CTCLossçıktısına uygulanacak indirgeme yöntemini belirtir. Yalnızca bir ParakeetForCTC örneği eğitilirken geçerlidir. - ctc_zero_infinity (
bool, isteğe bağlı, varsayılanTrue) —torch.nn.CTCLossiçin sonsuz kayıpları ve ilişkili gradyanları sıfırlayıp sıfırlamayacağı. Sonsuz kayıplar, girdilerin hedeflerle hizalanmak için çok kısa olması durumunda ortaya çıkar. Yalnızca bir ParakeetForCTC örneğinin eğitimi sırasında geçerlidir. - encoder_config (
Union[dict, ParakeetEncoderConfig], isteğe bağlı) — Encoder'ın yapılandırma nesnesi veya sözlüğü. - pad_token_id (
int, isteğe bağlı, varsayılan1024) — Sözlükte dolgu için kullanılan token kimliği.
Bu, bir ParakeetModel'in yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Parakeet modelinin örneklenmesinde, model mimarisini tanımlamak için kullanılır. Varsayılan değerlerle bir yapılandırma örneği oluşturmak, nvidia/parakeet-ctc-1.1b ile benzer bir yapılandırmaya yol açar.
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 ParakeetForCTC, ParakeetCTCConfig
>>> # Initializing a Parakeet configuration
>>> configuration = ParakeetCTCConfig()
>>> # Initializing a model from the configuration
>>> model = ParakeetForCTC(configuration)
>>> # Accessing the model configuration
>>> configuration = model.configParakeetRNNTConfig
sınıf transformers.ParakeetRNNTConfig
< 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 = 8193decoder_hidden_size: int = 640num_decoder_layers: int = 2hidden_act: str = 'relu'max_symbols_per_step: int = 10encoder_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonepad_token_id: int = 2blank_token_id: int = 8192 )
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ılan8193) — Modelin sözlük boyutu.input_idsile temsil edilebilecek farklı token sayısını belirler. - decoder_hidden_size (
int, isteğe bağlı, varsayılan 640) — LSTM tahmin ağı ve ortak ağın gizli boyutu. - num_decoder_layers (
int, isteğe bağlı, varsayılan 2) — Tahmin ağındaki LSTM katmanlarının sayısı. - hidden_act (
str, isteğe bağlı, varsayılanrelu) — Çözücüdeki doğrusal olmayan aktivasyon fonksiyonu (fonksiyon veya dize). Örneğin,"gelu","relu","silu"vb. - max_symbols_per_step (
int, isteğe bağlı, varsayılan 10) — Açgözlü çözümleme sırasında her kodlayıcı zaman adımında üretilmesi gereken sembol sayısının üst sınırı. - encoder_config (
Union[dict, ParakeetEncoderConfig], isteğe bağlı) — Encoder'ın yapılandırma nesnesi veya sözlüğü. - pad_token_id (
int, isteğe bağlı, varsayılan2) — Sözlükte dolgu için kullanılan token kimliği. - blank_token_id (
int, isteğe bağlı, varsayılan 8192) — Boş token kimliği. RNN-T içinpad_token_id'den farklıdır.
Bu, bir ParakeetModel'in yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Parakeet modelinin örneklenmesi ve model mimarisinin tanımlanması için kullanılır. Varsayılan değerlerle bir yapılandırma örneği oluşturmak, nvidia/parakeet-rnnt-0.6b ile benzer bir yapılandırmaya yol açar.
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 ParakeetForRNNT, ParakeetRNNTConfig
>>> # Initializing a Parakeet RNN-T configuration
>>> configuration = ParakeetRNNTConfig()
>>> # Initializing a model from the configuration
>>> model = ParakeetForRNNT(configuration)
>>> # Accessing the model configuration
>>> configuration = model.configParakeetTDTConfig
sınıf transformers.ParakeetTDTConfig
< 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 = 8193decoder_hidden_size: int = 640num_decoder_layers: int = 2hidden_act: str = 'relu'max_symbols_per_step: int = 10encoder_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonepad_token_id: int = 2blank_token_id: int = 8192durations: list[int] | tuple[int, ...] = (0, 1, 2, 3, 4) )
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ılan8193) — Modelin sözlük boyutu.input_idsile temsil edilebilecek farklı token sayısını belirler. - decoder_hidden_size (
int, isteğe bağlı, varsayılan 640) — LSTM tahmin ağı ve ortak ağın gizli boyutu. - num_decoder_layers (
int, isteğe bağlı, varsayılan 2) — Tahmin ağındaki LSTM katmanlarının sayısı. - hidden_act (
str, isteğe bağlı, varsayılanrelu) — Çözücüdeki doğrusal olmayan aktivasyon fonksiyonu (fonksiyon veya dize). Örneğin,"gelu","relu","silu"vb. - max_symbols_per_step (
int, isteğe bağlı, varsayılan 10) — Açgözlü çözümleme sırasında her kodlayıcı zaman adımında üretilmesi gereken sembol sayısının üst sınırı. - encoder_config (
Union[dict, ParakeetEncoderConfig], isteğe bağlı) — Encoder'ın yapılandırma nesnesi veya sözlüğü. - pad_token_id (
int, isteğe bağlı, varsayılan2) — Sözlükte dolgu için kullanılan token kimliği. - blank_token_id (
int, isteğe bağlı, varsayılan 8192) — Boş token kimliği. TDT içinpad_token_id'den farklıdır. - durations (
list[int], isteğe bağlı, varsayılan[0, 1, 2, 3, 4]) — Tahmin edilebilen token süre değerleri. Her değer, bir token veya boş (blank) yayılımının kaç kareyi kapsadığını temsil eder.
Bu, bir ParakeetModel'in yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Parakeet modelinin örneklenmesi ve model mimarisinin tanımlanması için kullanılır. Varsayılan değerlerle bir yapılandırma örneği oluşturmak, nvidia/parakeet-tdt-0.6b-v3 modelinin yapılandırmasına benzer bir yapılandırma elde edilmesini sağlar.
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 ParakeetForTDT, ParakeetTDTConfig
>>> # Initializing a Parakeet TDT configuration
>>> configuration = ParakeetTDTConfig()
>>> # Initializing a model from the configuration
>>> model = ParakeetForTDT(configuration)
>>> # Accessing the model configuration
>>> configuration = model.configParakeetEncoder
sınıf transformers.ParakeetEncoder
< source >( config: ParakeetEncoderConfig )
Parametreler
- config (ParakeetEncoderConfig) — 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.
Fast Conformer mimarisi tabanlı Parakeet Encoder 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_features: Tensorattention_mask: typing.Optional[torch.Tensor] = Noneoutput_attention_mask: bool = True**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutput or tuple(torch.Tensor)
Parametreler
- input_features (
torch.Tensor, şekli(batch_size, sequence_length, feature_dim)) — Giriş ses özelliklerine karşılık gelen tensörler. Ses özelliklerifeature_extractor_classkullanılarak elde edilebilir. Ayrıntılar içinfeature_extractor_class.__call__bölümüne bakın (processor_class, sesleri işlemek içinfeature_extractor_classkullanır). - attention_mask (
torch.Tensorş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.
- output_attention_mask (
bool, isteğe bağlı, varsayılanTrue) — Çıktı dikkat maskesinin döndürülüp döndürülmeyeceğini belirtir. Yalnızcaattention_masksağlandığında etkilidir.
Dönüş değeri
BaseModelOutput veya tuple(torch.Tensor)
Bir BaseModelOutput veya bir torch.Tensor demeti (eğer return_dict=False geçirildiyse veya config.return_dict=False ise), yapılandırmaya (None) ve girdilere bağlı olarak çeşitli öğelerden oluşur.
ParakeetEncoder 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 son katmanının çıktısındaki gizli durumlar dizisi.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 modelin gizli durumları ve isteğe bağlı başlangıç gömme çıktıları.
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 softmax'ı sonrası dikkat ağırlıkları, öz-dikkat başlıklarında ağırlıklı ortalamanın hesaplanmasında kullanılır.
Örnek:
>>> from transformers import AutoProcessor, ParakeetEncoder
>>> from datasets import load_dataset, Audio
>>> model_id = "nvidia/parakeet-ctc-1.1b"
>>> processor = AutoProcessor.from_pretrained(model_id)
>>> encoder = ParakeetEncoder.from_pretrained(model_id)
>>> ds = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
>>> ds = ds.cast_column("audio", Audio(sampling_rate=processor.feature_extractor.sampling_rate))
>>> inputs = processor(ds[0]["audio"]["array"])
>>> encoder_outputs = encoder(**inputs)
>>> print(encoder_outputs.last_hidden_state.shape)ParakeetForCTC
sınıf transformers.ParakeetForCTC
< source >( config: ParakeetCTCConfig )
Parametreler
- config (ParakeetCTCConfig) — 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.
Bağlantılı Zaman Sınıflandırma (CTC) başlığına sahip Parakeet Kodlayıcı.
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: Tensorattention_mask: typing.Optional[torch.Tensor] = Nonelabels: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → CausalLMOutput or tuple(torch.Tensor)
Parametreler
- input_features (
torch.Tensor, şekli(batch_size, sequence_length, feature_dim)) — Giriş ses özelliklerine karşılık gelen tensörler. Ses özelliklerifeature_extractor_classkullanılarak elde edilebilir. Ayrıntılar içinfeature_extractor_class.__call__bölümüne bakın (processor_class, sesleri işlemek içinfeature_extractor_classkullanır). - attention_mask (
torch.Tensorş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.
- labels (
torch.Tensor, şekli(batch_size, sequence_length), isteğe bağlı) — Maskeli dil modelleme kaybını hesaplamak için etiketler. Endeksler[0, ..., config.vocab_size]aralığında olmalı ya da -100 olmalı (input_idsdocstring'ine bakın). Endeksleri-100olarak ayarlanan tokenlar yok sayılır (maskelenir), kayıp yalnızca etiketleri[0, ..., config.vocab_size]aralığında olan tokenlar için hesaplanır.
Dönüş değeri
CausalLMOutput veya tuple(torch.Tensor)
Bir CausalLMOutput veya return_dict=False geçirildiğinde ya da config.return_dict=False olduğunda torch.Tensor bir demeti; yapılandırma (None) ve girdilere bağlı olarak çeşitli öğelerden oluşur.
ParakeetForCTC 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ı (sonraki token tahmini için).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).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 modelin gizli durumları ve isteğe bağlı başlangıç gömme çıktıları.
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 softmax'ı sonrası dikkat ağırlıkları, öz-dikkat başlıklarında ağırlıklı ortalamanın hesaplanmasında kullanılır.
Örnek:
>>> from transformers import AutoProcessor, ParakeetForCTC
>>> from datasets import load_dataset, Audio
>>> model_id = "nvidia/parakeet-ctc-1.1b"
>>> processor = AutoProcessor.from_pretrained(model_id)
>>> model = ParakeetForCTC.from_pretrained(model_id)
>>> ds = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
>>> ds = ds.cast_column("audio", Audio(sampling_rate=processor.feature_extractor.sampling_rate))
>>> inputs = processor(ds[0]["audio"]["array"], text=ds[0]["text"])
>>> outputs = model(**inputs)
>>> print(outputs.loss)generate
< source >( input_features: Tensorattention_mask: typing.Optional[torch.Tensor] = Nonereturn_dict_in_generate: bool = Falsecompile_config: transformers.generation.configuration_utils.CompileConfig | None = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> )
compile_config (CompileConfig, isteğe bağlı):
Sağlanırsa, torch.compile çözümleme döngüsündeki ileri çağrılara uygulanır.
Örnek:
>>> from transformers import AutoProcessor, ParakeetForCTC
>>> from datasets import load_dataset, Audio
>>> model_id = "nvidia/parakeet-ctc-1.1b"
>>> processor = AutoProcessor.from_pretrained(model_id)
>>> model = ParakeetForCTC.from_pretrained(model_id)
>>> ds = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
>>> ds = ds.cast_column("audio", Audio(sampling_rate=processor.feature_extractor.sampling_rate))
>>> inputs = processor(ds[0]["audio"]["array"], text=ds[0]["text"])
>>> predicted_ids = model.generate(**inputs)
>>> transcription = processor.batch_decode(predicted_ids, skip_special_tokens=True)
>>> print(transcription)ParakeetForRNNT
sınıf transformers.ParakeetForRNNT
< source >( config: ParakeetRNNTConfig )
Parametreler
- config (ParakeetRNNTConfig) — 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.
RNN-T (RNN Transducer) başlığına sahip Parakeet Encoder.
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: typing.Optional[torch.Tensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Nonedecoder_input_ids: typing.Optional[torch.LongTensor] = Nonedecoder_cache: transformers.models.parakeet.generation_parakeet.ParakeetRNNTDecoderCache | None = Noneuse_decoder_cache: bool | None = Noneencoder_outputs: transformers.models.parakeet.modeling_parakeet.ParakeetEncoderModelOutput | tuple[torch.Tensor] | None = Nonelabels: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → ParakeetRNNTOutput or tuple(torch.Tensor)
Parametreler
- input_features (
torch.Tensor, şekli(batch_size, sequence_length, feature_dim), isteğe bağlı) — Giriş ses özelliklerine karşılık gelen tensörler. Ses özelliklerifeature_extractor_classkullanılarak elde edilebilir. Ayrıntılar içinfeature_extractor_class.__call__bölümüne bakın (processor_class, sesleri işlemek içinfeature_extractor_classkullanır). - attention_mask (
torch.Tensorş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, şekli(batch_size, 1), opsiyonel) — Tek adımlı çıkarım için decoder giriş token kimlikleri. - decoder_cache (
ParakeetRNNTDecoderCache, opsiyonel) — Decoder LSTM önbelleği. Sağlandığında ve başlatıldığında, önbelleğe alınandecoder_output(ör. boşluk atlaması sırasında) decoder'ın çalıştırılması yerine yeniden kullanılır.input_idssağlandığında, decoder çalıştırılır ve önbellek yerinde güncellenir. - use_decoder_cache (
bool, isteğe bağlı) — Bir decoder önbelleğinin kullanılıp kullanılmayacağını belirtir.Truevedecoder_cacheNoneolduğunda, ileri geçiş sırasında yeni bir önbellek otomatik olarak oluşturulur. - encoder_outputs (
tuple(torch.Tensor), isteğe bağlı) — Önceden hesaplanmış kodlayıcı çıktıları (last_hidden_state, pooler_output, hidden_states, attentions, attention_mask). Bir tuple veyaParakeetEncoderModelOutputolabilir. - labels (
torch.Tensor, şekli(batch_size, sequence_length), isteğe bağlı) — Maskeli dil modelleme kaybını hesaplamak için etiketler. Endeksler[0, ..., config.vocab_size]aralığında olmalı ya da -100 olmalı (input_idsdocstring'ine bakın). Endeksleri-100olarak ayarlanan tokenlar yok sayılır (maskelenir), kayıp yalnızca etiketleri[0, ..., config.vocab_size]aralığında olan tokenlar için hesaplanır.
Dönüş değeri
ParakeetRNNTOutput veya tuple(torch.Tensor)
ParakeetRNNTOutput veya
torch.Tensor bir demeti (eğer return_dict=False geçirildiyse veya config.return_dict=False ise), yapılandırmaya (None) ve girdilere bağlı olarak çeşitli öğelerden oluşur.
ParakeetForRNNT 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, isteğe bağlı) —labelssağlandığında döndürülen RNN-T kaybı. - logits (
torch.Tensor) — Ortak token logits. Eğitim için şekli(batch, T, U+1, vocab), tek adımlı çıkarım için ise(batch, 1, 1, vocab)şeklindedir. - decoder_cache (
ParakeetRNNTDecoderCache, opsiyonel) — Gizli durum, hücre durumu ve son çıktıyı içeren decoder LSTM önbelleği.
Örnek:
>>> from transformers import AutoProcessor, ParakeetForRNNT
>>> from datasets import load_dataset, Audio
>>> model_id = "nvidia/parakeet-rnnt-0.6b"
>>> processor = AutoProcessor.from_pretrained(model_id)
>>> model = ParakeetForRNNT.from_pretrained(model_id)
>>> ds = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
>>> ds = ds.cast_column("audio", Audio(sampling_rate=processor.feature_extractor.sampling_rate))
>>> inputs = processor(ds[0]["audio"]["array"])
>>> outputs = model(**inputs)ParakeetForTDT
sınıf transformers.ParakeetForTDT
< source >( config: ParakeetTDTConfig )
Parametreler
- config (ParakeetTDTConfig) — 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 göz atın.
TDT (Token Duration Transducer) başlığına sahip Parakeet Encoder.
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: typing.Optional[torch.Tensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Nonedecoder_input_ids: typing.Optional[torch.LongTensor] = Nonedecoder_cache: transformers.models.parakeet.generation_parakeet.ParakeetRNNTDecoderCache | None = Noneuse_decoder_cache: bool | None = Noneencoder_outputs: transformers.models.parakeet.modeling_parakeet.ParakeetEncoderModelOutput | tuple[torch.Tensor] | None = Nonelabels: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → ParakeetRNNTOutput or tuple(torch.Tensor)
Parametreler
- input_features (
torch.Tensor, şekli(batch_size, sequence_length, feature_dim), isteğe bağlı) — Giriş ses özelliklerine karşılık gelen tensörler. Ses özelliklerifeature_extractor_classkullanılarak elde edilebilir. Ayrıntılar içinfeature_extractor_class.__call__bölümüne bakın (processor_class, sesleri işlemek içinfeature_extractor_classkullanır). - attention_mask (
torch.Tensorş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, şekli(batch_size, 1), opsiyonel) — Tek adımlı çıkarım için decoder giriş token kimlikleri. - decoder_cache (
ParakeetRNNTDecoderCache, opsiyonel) — Decoder LSTM önbelleği. Sağlandığında ve başlatıldığında, önbelleğe alınandecoder_output(ör. boşluk atlaması sırasında) decoder'ın çalıştırılması yerine yeniden kullanılır.input_idssağlandığında, decoder çalıştırılır ve önbellek yerinde güncellenir. - use_decoder_cache (
bool, isteğe bağlı) — Bir decoder önbelleğinin kullanılıp kullanılmayacağını belirtir.Truevedecoder_cacheNoneolduğunda, ileri geçiş sırasında yeni bir önbellek otomatik olarak oluşturulur. - encoder_outputs (
tuple(torch.Tensor), isteğe bağlı) — Önceden hesaplanmış kodlayıcı çıktıları (last_hidden_state, pooler_output, hidden_states, attentions, attention_mask). Bir tuple veyaParakeetEncoderModelOutputolabilir. - labels (
torch.Tensor, şekli(batch_size, sequence_length), isteğe bağlı) — Maskeli dil modelleme kaybını hesaplamak için etiketler. Endeksler[0, ..., config.vocab_size]aralığında olmalı ya da -100 olmalı (input_idsdocstring'ine bakın). Endeksleri-100olarak ayarlanan tokenlar yok sayılır (maskelenir), kayıp yalnızca etiketleri[0, ..., config.vocab_size]aralığında olan tokenlar için hesaplanır.
Dönüş değeri
ParakeetRNNTOutput veya tuple(torch.Tensor)
ParakeetRNNTOutput veya
torch.Tensor bir demeti (eğer return_dict=False geçirildiyse veya config.return_dict=False ise), yapılandırmaya (None) ve girdilere bağlı olarak çeşitli öğelerden oluşur.
ParakeetForTDT 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, isteğe bağlı) —labelssağlandığında döndürülen RNN-T kaybı. - logits (
torch.Tensor) — Ortak token logits. Eğitim için şekli(batch, T, U+1, vocab), tek adımlı çıkarım için ise(batch, 1, 1, vocab)şeklindedir. - decoder_cache (
ParakeetRNNTDecoderCache, opsiyonel) — Gizli durum, hücre durumu ve son çıktıyı içeren decoder LSTM önbelleği.
Örnek:
>>> from transformers import AutoProcessor, ParakeetForTDT
>>> from datasets import load_dataset, Audio
>>> model_id = "nvidia/parakeet-tdt-0.6b-v3"
>>> processor = AutoProcessor.from_pretrained(model_id)
>>> model = ParakeetForTDT.from_pretrained(model_id)
>>> ds = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
>>> ds = ds.cast_column("audio", Audio(sampling_rate=processor.feature_extractor.sampling_rate))
>>> inputs = processor(ds[0]["audio"]["array"])
>>> outputs = model(**inputs)