Transformers documentation

Parakeet

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

Model ini disumbangkan ke Hugging Face Transformers pada 2025-09-25.

SDPA

Parakeet

Ikhtisar

Model Parakeet, yang diperkenalkan oleh NVIDIA NeMo, adalah model yang menggabungkan encoder Fast Conformer dengan decoder connectionist temporal classification (CTC), recurrent neural network transducer (RNNT), atau token and duration transducer (TDT) untuk pengenalan ucapan otomatis.

Arsitektur Model

  • Fast Conformer Encoder: Arsitektur Conformer yang dapat diskalakan secara linear, memproses fitur mel-spectrogram, dan mengurangi panjang sekuens melalui subsampling. Ini adalah versi yang lebih efisien dari Conformer Encoder yang ditemukan di FastSpeech2Conformer (lihat ParakeetEncoder untuk implementasi dan detail encoder).
  • ParakeetForCTC: Encoder Fast Conformer + decoder CTC
    • CTC Decoder: Decoder sederhana namun efektif yang terdiri dari:
      • Proyeksi konvolusi 1D dari ukuran tersembunyi encoder ke ukuran kosakata (untuk kompatibilitas NeMo yang optimal).
      • Perhitungan kerugian CTC untuk pelatihan.
      • Dekoding CTC serakah untuk inferensi.
  • ParakeetForRNNT: Encoder Fast Conformer + decoder RNN-T (RNN Transducer)
    • RNN-T Decoder: Transduser neural standar:
      • Jaringan prediksi LSTM mempertahankan konteks bahasa di antara prediksi token.
      • Jaringan gabungan menggabungkan keluaran encoder dan decoder.
      • Greedy transducer decoding untuk inferensi: emisi blank menggeser frame encoder maju satu, emisi non-blank tetap pada frame yang sama.
  • ParakeetForTDT: Encoder Fast Conformer + decoder TDT (Token Duration Transducer)
    • TDT Decoder: Memprediksi token dan durasinya secara bersamaan, memungkinkan decoding yang efisien:
      • Jaringan prediksi LSTM mempertahankan konteks bahasa di antara prediksi token.
      • Jaringan gabungan menggabungkan keluaran encoder dan decoder.
      • Duration head memprediksi berapa banyak frame yang harus dilewati, memungkinkan inferensi yang cepat.

Implementasi asli dapat ditemukan di NVIDIA NeMo. Checkpoint model dapat ditemukan di bawah organisasi NVIDIA.

Model ini disumbangkan oleh Nithin Rao Koluguri, Eustache Le Bihan, Eric Bezzam, Maksym Lypivskyi, dan Hainan Xu.

Penggunaan

Penggunaan ParakeetForCTC

Pipeline
AutoModel
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'}

Penggunaan ParakeetForRNNT

Pipeline
AutoModel
Penandaan Waktu

Parakeet RNN-T mentranskripsi tanpa kapitalisasi atau tanda baca (seperti CTC), dan model ini juga dapat melakukan penandaan waktu token.

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'}

Penggunaan ParakeetForTDT

Pipeline
AutoModel
Penandaan Waktu

Transkrip Parakeet TDT mencakup kapitalisasi huruf, dan model juga dapat melakukan penandaan waktu token.

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.'}

Membuat Model Berjalan Cepat

Parakeet mendukung kompilasi grafik penuh dengan penangkapan grafik (CUDA graphs pada GPU NVIDIA, dan mekanisme ekuivalen pada akselerator lainnya)! Optimasi ini paling efektif ketika Anda mengetahui panjang audio maksimum yang ingin Anda transkripsi. Ide utamanya adalah menggunakan bentuk input statis untuk menghindari kompilasi ulang. Misalnya, jika Anda tahu audio Anda akan di bawah 30 detik, Anda dapat menggunakan prosesor untuk mengisi semua input hingga 30 detik, menyiapkan fitur input dan mask perhatian yang konsisten. Lihat contoh di bawah ini!

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))

Pelatihan CTC

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()

Pelatihan RNN-T

Menghitung kerugian RNN-T memerlukan torchaudio (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()

Pelatihan TDT

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

kelas transformers.ParakeetTokenizer

< >

( *args**kwargs )

Mewarisi semua metode dari PreTrainedTokenizerFast. Pengguna harus merujuk ke superclass ini untuk informasi lebih lanjut mengenai metode-metode tersebut, kecuali _decode yang dioverride untuk menyesuaikannya dengan CTC decoding:

  1. Kelompokkan token berturut-turut
  2. Saring token kosong

ParakeetFeatureExtractor

kelas transformers.ParakeetFeatureExtractor

< >

( feature_size = 80sampling_rate = 16000hop_length = 160n_fft = 512win_length = 400preemphasis = 0.97padding_value = 0.0**kwargs )

Parameter

  • feature_size (int, opsional, default 80) — Dimensi fitur dari fitur yang diekstrak.
  • sampling_rate (int, opsional, default 16000) — Laju sampling di mana file audio harus didigitalisasi, dinyatakan dalam hertz (Hz).
  • hop_length (int, opsional, default 160) — Panjang jendela yang tumpang tindih untuk STFT yang digunakan untuk memperoleh koefisien Frekuensi Mel.
  • n_fft (int, opsional, default 512) — Ukuran transformasi Fourier.
  • win_length (int, opsional, default 400) — Panjang jendela untuk komputasi STFT.
  • preemphasis (float, opsional, default 0.97) — Koefisien filter preemphasis. 0.0 berarti tidak ada filter preemphasis.
  • padding_value (float, opsional, default 0.0) — Nilai padding yang digunakan untuk mengisi audio. Seharusnya sesuai dengan bagian hening.

Membangun ekstraktor fitur Parakeet.

Feature extractor ini mewarisi dari SequenceFeatureExtractor yang berisi sebagian besar metode utama. Pengguna harus merujuk ke superclass ini untuk informasi lebih lanjut mengenai metode-metode tersebut.

Kelas ini mengekstrak fitur mel-filter bank dari ucapan mentah menggunakan implementasi numpy kustom dari Short Time Fourier Transform yang seharusnya sesuai dengan ekuivalen torch.stft dari pytorch.

__call__

< >

( 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 )

Parameter

  • raw_speech (np.ndarray, list[float], list[np.ndarray], list[list[float]]) — Sequens atau batch dari sequens yang akan di-pad. Setiap sequens dapat berupa array numpy, daftar nilai float, daftar array numpy, atau daftar dari daftar nilai float. Harus berupa audio mono channel, bukan stereo, yaitu satu float per timestep.
  • truncation (bool, opsional, default True) — Mengaktifkan pemotongan untuk memotong urutan input yang lebih panjang dari max_length menjadi max_length.
  • pad_to_multiple_of (int, opsional, defaultnya None) — Jika diatur, akan melakukan padding pada urutan hingga menjadi kelipatan dari nilai yang diberikan.

    Ini sangat berguna untuk memungkinkan penggunaan Tensor Cores pada perangkat keras NVIDIA dengan compute capability >= 7.5 (Volta), atau pada TPU yang diuntungkan dari panjang sekuens yang merupakan kelipatan 128.

  • return_attention_mask (bool, opsional) — Apakah akan mengembalikan attention mask. Jika dibiarkan pada nilai default, attention mask akan dikembalikan sesuai dengan default feature_extractor tertentu.

    Apa itu attention mask?

    Untuk model Parakeet, attention_mask harus selalu diteruskan untuk inferensi batched, untuk menghindari bug yang halus.

  • return_tensors (str atau TensorType, opsional) — Jika diset, akan mengembalikan tensor alih-alih daftar integer Python. Nilai yang dapat diterima adalah:
    • 'tf': Mengembalikan objek TensorFlow tf.constant.
    • 'pt': Mengembalikan objek PyTorch torch.Tensor.
    • 'np': Mengembalikan objek Numpy np.ndarray.
  • sampling_rate (int, opsional) — Laju sampling di mana input raw_speech disampelkan. Sangat disarankan untuk meneruskan sampling_rate pada panggilan forward untuk mencegah kesalahan yang tidak terdeteksi dan memungkinkan pipeline pengenalan ucapan otomatis.
  • padding_value (float, opsional, default 0.0) — Nilai yang digunakan untuk mengisi nilai / vektor padding.
  • do_normalize (bool, opsional, default False) — Apakah akan menormalisasi input dengan rata-rata nol dan varians satu. Normalisasi dapat membantu meningkatkan kinerja model secara signifikan.
  • device (str, opsional, default 'cpu') — Menentukan perangkat untuk komputasi log-mel spectrogram dari sinyal audio dalam metode _torch_extract_fbank_features. (misalnya, “cpu”, “cuda”)
  • return_token_timestamps (bool, opsional, defaultnya None) — Tidak disarankan. Gunakan return_attention_mask sebagai gantinya, di mana jumlah frame dapat disimpulkan.

    Apakah akan mengembalikan jumlah frame dari input raw_speech. num_frames ini dapat digunakan oleh model untuk menghitung timestamp tingkat kata.

Metode utama untuk melakukan featurisasi dan persiapan satu atau beberapa sekuens untuk model. Implementasi menggunakan PyTorch untuk komputasi STFT jika tersedia, jika tidak, menggunakan implementasi berbasis NumPy yang lebih lambat.

ParakeetProcessor

kelas transformers.ParakeetProcessor

< >

( feature_extractortokenizerblank_token = '<blank>'decoder_type = None )

Parameter

  • feature_extractor (feature_extractor_class) — Feature extractor adalah input yang wajib.
  • tokenizer (tokenizer_class) — Tokenizer adalah input yang wajib.
  • blank_token (str, opsional, defaultnya "<blank>") — Token kosong untuk decoding transducer.
  • decoder_type (str, opsional) — Mode decoding/emisi timestamp. Nilai yang mungkin:
    • "ctc": Token identik yang berurutan digabungkan menjadi satu emisi.
    • "rnnt": Token yang diulang tetap dipertahankan; setiap token mendapatkan rentang timestamp 1-frame.
    • "tdt": Token yang berulang dipertahankan; setiap rentang token didasarkan pada durasi yang diprediksi. Tanda baca dilampirkan ke token sebelumnya.

    Jika None (checkpoint lama), tipe decoder disimpulkan secara otomatis untuk kompatibilitas mundur.

Membangun ParakeetProcessor yang membungkus feature extractor dan tokenizer menjadi satu processor.

ParakeetProcessor menyediakan semua fungsionalitas dari feature_extractor_class dan tokenizer_class. Lihat ~feature_extractor_class dan ~tokenizer_class untuk informasi lebih lanjut.

__call__

< >

( 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'> )

Parameter

  • audio (Union[numpy.ndarray, torch.Tensor, collections.abc.Sequence[numpy.ndarray], collections.abc.Sequence[torch.Tensor]]) — Audio atau batch audio yang akan disiapkan. Setiap audio dapat berupa array NumPy atau tensor PyTorch. Jika berupa array NumPy/tensor PyTorch, setiap audio harus memiliki bentuk (C, T), di mana C adalah jumlah channel, dan T adalah panjang sampel dari audio tersebut.
  • text (Union[str, list[str], list[list[str]]], opsional) — Sequens atau batch dari sequens yang akan dienkod. Setiap sequens dapat berupa string atau daftar string (string yang sudah dipretokenisasi). Jika Anda memasukkan input yang sudah dipretokenisasi, atur is_split_into_words=True untuk menghindari ambiguitas dengan input yang di-batch.
  • sampling_rate (int, opsional) — Laju sampling audio input dalam Hz. Nilai ini harus sesuai dengan laju sampling yang diharapkan oleh feature extractor (default 16000 Hz). Jika diberikan, nilai ini akan divalidasi terhadap laju sampling yang diharapkan oleh processor, dan error akan dilempar jika tidak cocok. Jika tidak diberikan, peringatan akan diterbitkan dan laju sampling default akan diasumsikan.
  • return_tensors (str atau TensorType, opsional) — Jika diset, akan mengembalikan tensor dari framework tertentu. Nilai yang dapat diterima adalah:
    • 'pt': Mengembalikan objek PyTorch torch.Tensor.
    • 'np': Mengembalikan objek NumPy np.ndarray.
  • **kwargs (ProcessingKwargs, opsional) — Opsi pemrosesan tambahan untuk setiap modalitas (teks, gambar, video, audio). Parameter spesifik model tercantum di atas; lihat kelas TypedDict untuk daftar lengkap argumen yang didukung.

decode

< >

( *argsdurations = None**kwargs )

Teruskan argumen ke decode() dan proses pascawaktu (jika disediakan untuk TDT) seperti di pustaka NeMo.

ParakeetEncoderConfig

kelas transformers.ParakeetEncoderConfig

< >

( 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 )

Parameter

  • hidden_size (int, opsional, default 1024) — Dimensi dari representasi tersembunyi.
  • num_hidden_layers (int, opsional, default 24) — Jumlah lapisan tersembunyi dalam decoder Transformer.
  • num_attention_heads (int, opsional, default 8) — Jumlah attention heads untuk setiap lapisan attention di decoder Transformer.
  • intermediate_size (int, opsional, default 4096) — Dimensi representasi MLP.
  • hidden_act (str, opsional, defaultnya silu) — Fungsi aktivasi non-linear (fungsi atau string) di decoder. Misalnya, "gelu", "relu", "silu", dan sebagainya.
  • attention_bias (bool, opsional, default True) — Apakah akan menggunakan bias pada lapisan proyeksi query, key, value, dan output selama self-attention.
  • convolution_bias (bool, opsional, default True) — Apakah akan menggunakan bias pada konvolusi dari modul konvolusi conformer.
  • conv_kernel_size (int, opsional, default 9) — Ukuran kernel dari lapisan konvolusi dalam blok Conformer.
  • subsampling_factor (int, opsional, default 8) — Faktor yang digunakan untuk melakukan subsampling pada urutan input.
  • subsampling_conv_channels (int, opsional, default 256) — Jumlah channel pada lapisan konvolusi subsampling.
  • num_mel_bins (int, opsional, default 80) — Jumlah fitur mel.
  • subsampling_conv_kernel_size (int, opsional, default 3) — Ukuran kernel dari lapisan konvolusi subsampling.
  • subsampling_conv_stride (int, opsional, default 2) — Stride dari lapisan konvolusi subsampling.
  • dropout (Union[float, int], opsional, default 0.1) — Rasio untuk semua lapisan dropout.
  • dropout_positions (float, opsional, default 0.0) — Rasio dropout untuk posisi dalam urutan input.
  • layerdrop (Union[float, int], opsional, default 0.1) — Probabilitas LayerDrop. Lihat [makalah LayerDrop](lihat https://huggingface.co/papers/1909.11556) untuk detail lebih lanjut.
  • activation_dropout (Union[float, int], opsional, defaultnya 0.1) — Rasio dropout untuk aktivasi di dalam lapisan fully connected.
  • attention_dropout (Union[float, int], opsional, default 0.1) — Rasio dropout untuk probabilitas perhatian.
  • max_position_embeddings (int, opsional, default 5000) — Panjang maksimum urutan yang mungkin digunakan dengan model ini.
  • scale_input (bool, opsional, defaultnya True) — Apakah akan menskalakan embedding input.
  • initializer_range (float, opsional, defaultnya 0.02) — Standar deviasi dari truncated_normal_initializer untuk menginisialisasi semua matriks bobot.

Ini adalah kelas konfigurasi untuk menyimpan konfigurasi dari ParakeetModel. Kelas ini digunakan untuk membuat instans model Parakeet sesuai dengan argumen yang ditentukan, yang mendefinisikan arsitektur model. Membuat instans konfigurasi dengan nilai bawaan akan menghasilkan konfigurasi yang serupa dengan konfigurasi dari nvidia/parakeet-ctc-1.1b

Objek konfigurasi mewarisi dari PreTrainedConfig dan dapat digunakan untuk mengontrol output model. Baca dokumentasi dari PreTrainedConfig untuk informasi lebih lanjut.

Contoh:

>>> 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.config

ParakeetCTCConfig

kelas transformers.ParakeetCTCConfig

< >

( 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 )

Parameter

  • vocab_size (int, opsional, default 1025) — Ukuran kosakata model. Menentukan jumlah token berbeda yang dapat direpresentasikan oleh input_ids.
  • ctc_loss_reduction (str, opsional, defaultnya "mean") — Menentukan reduksi yang diterapkan pada output dari torch.nn.CTCLoss. Hanya relevan saat melatih instans dari ParakeetForCTC.
  • ctc_zero_infinity (bool, opsional, default True) — Apakah akan menolkan kerugian tak hingga dan gradien terkait dari torch.nn.CTCLoss. Kerugian tak hingga terutama terjadi ketika input terlalu pendek untuk diselaraskan dengan target. Hanya relevan saat melatih instance dari ParakeetForCTC.
  • encoder_config (Union[dict, ParakeetEncoderConfig], opsional) — Objek konfigurasi atau kamus dari encoder.
  • pad_token_id (int, opsional, default 1024) — ID token yang digunakan untuk padding dalam kosakata.

Ini adalah kelas konfigurasi untuk menyimpan konfigurasi dari ParakeetModel. Kelas ini digunakan untuk membuat instans model Parakeet sesuai dengan argumen yang ditentukan, yang mendefinisikan arsitektur model. Membuat instans konfigurasi dengan nilai bawaan akan menghasilkan konfigurasi yang serupa dengan konfigurasi dari nvidia/parakeet-ctc-1.1b

Objek konfigurasi mewarisi dari PreTrainedConfig dan dapat digunakan untuk mengontrol output model. Baca dokumentasi dari PreTrainedConfig untuk informasi lebih lanjut.

Contoh:

>>> 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.config

ParakeetRNNTConfig

kelas transformers.ParakeetRNNTConfig

< >

( 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 )

Parameter

  • is_encoder_decoder (bool, opsional, defaultnya True) — Apakah model digunakan sebagai encoder/decoder atau tidak.
  • vocab_size (int, opsional, default 8193) — Ukuran kosakata model. Menentukan jumlah token berbeda yang dapat direpresentasikan oleh input_ids.
  • decoder_hidden_size (int, opsional, default 640) — Ukuran tersembunyi dari jaringan prediksi LSTM dan jaringan gabungan.
  • num_decoder_layers (int, opsional, default 2) — Jumlah lapisan LSTM dalam jaringan prediksi.
  • hidden_act (str, opsional, defaultnya relu) — Fungsi aktivasi non-linear (fungsi atau string) di decoder. Misalnya, "gelu", "relu", "silu", dan sebagainya.
  • max_symbols_per_step (int, opsional, default 10) — Jumlah maksimum simbol yang akan dikeluarkan per langkah waktu encoder selama greedy decoding.
  • encoder_config (Union[dict, ParakeetEncoderConfig], opsional) — Objek konfigurasi atau kamus dari encoder.
  • pad_token_id (int, opsional, default 2) — ID token yang digunakan untuk padding dalam kosakata.
  • blank_token_id (int, opsional, default 8192) — ID token kosong. Berbeda dari pad_token_id untuk RNN-T.

Ini adalah kelas konfigurasi untuk menyimpan konfigurasi dari ParakeetModel. Kelas ini digunakan untuk membuat instans model Parakeet sesuai dengan argumen yang ditentukan, yang mendefinisikan arsitektur model. Membuat instans konfigurasi dengan nilai bawaan akan menghasilkan konfigurasi yang serupa dengan konfigurasi dari nvidia/parakeet-rnnt-0.6b

Objek konfigurasi mewarisi dari PreTrainedConfig dan dapat digunakan untuk mengontrol output model. Baca dokumentasi dari PreTrainedConfig untuk informasi lebih lanjut.

Contoh:

>>> 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.config

ParakeetTDTConfig

kelas transformers.ParakeetTDTConfig

< >

( 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) )

Parameter

  • is_encoder_decoder (bool, opsional, defaultnya True) — Apakah model digunakan sebagai encoder/decoder atau tidak.
  • vocab_size (int, opsional, default 8193) — Ukuran kosakata model. Menentukan jumlah token berbeda yang dapat direpresentasikan oleh input_ids.
  • decoder_hidden_size (int, opsional, default 640) — Ukuran tersembunyi dari jaringan prediksi LSTM dan jaringan gabungan.
  • num_decoder_layers (int, opsional, default 2) — Jumlah lapisan LSTM dalam jaringan prediksi.
  • hidden_act (str, opsional, defaultnya relu) — Fungsi aktivasi non-linear (fungsi atau string) di decoder. Misalnya, "gelu", "relu", "silu", dan sebagainya.
  • max_symbols_per_step (int, opsional, default 10) — Jumlah maksimum simbol yang akan dikeluarkan per langkah waktu encoder selama greedy decoding.
  • encoder_config (Union[dict, ParakeetEncoderConfig], opsional) — Objek konfigurasi atau kamus dari encoder.
  • pad_token_id (int, opsional, default 2) — ID token yang digunakan untuk padding dalam kosakata.
  • blank_token_id (int, opsional, default 8192) — ID token kosong. Berbeda dari pad_token_id untuk TDT.
  • durations (list[int], opsional, default [0, 1, 2, 3, 4]) — Nilai durasi token yang dapat diprediksi. Setiap nilai mewakili berapa banyak frame yang dilintasi oleh satu token atau emisi blank.

Ini adalah kelas konfigurasi untuk menyimpan konfigurasi dari ParakeetModel. Kelas ini digunakan untuk membuat instans model Parakeet sesuai dengan argumen yang ditentukan, yang mendefinisikan arsitektur model. Membuat instans konfigurasi dengan nilai bawaan akan menghasilkan konfigurasi yang serupa dengan konfigurasi dari nvidia/parakeet-tdt-0.6b-v3

Objek konfigurasi mewarisi dari PreTrainedConfig dan dapat digunakan untuk mengontrol output model. Baca dokumentasi dari PreTrainedConfig untuk informasi lebih lanjut.

Contoh:

>>> 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.config

ParakeetEncoder

kelas transformers.ParakeetEncoder

< >

( config: ParakeetEncoderConfig )

Parameter

  • config (ParakeetEncoderConfig) — Kelas konfigurasi model dengan semua parameter model. Inisialisasi dengan file konfigurasi tidak memuat bobot yang terkait dengan model, hanya konfigurasinya. Lihat metode from_pretrained() untuk memuat bobot model.

Model Parakeet Encoder, berdasarkan arsitektur Fast Conformer.

Model ini mewarisi dari PreTrainedModel. Periksa dokumentasi kelas induk untuk metode generik yang diimplementasikan oleh pustaka untuk semua model (seperti mengunduh atau menyimpan, mengubah ukuran embedding input, memangkas kepala, dll.)

Model ini juga merupakan subclass dari torch.nn.Module PyTorch. Gunakan sebagai PyTorch Module biasa dan merujuk ke dokumentasi PyTorch untuk semua hal yang berkaitan dengan penggunaan dan perilaku umum.

forward

< >

( input_features: Tensorattention_mask: typing.Optional[torch.Tensor] = Noneoutput_attention_mask: bool = True**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutput or tuple(torch.Tensor)

Parameter

  • input_features (torch.Tensor dengan bentuk (batch_size, sequence_length, feature_dim)) — Tensor yang sesuai dengan fitur audio input. Fitur audio dapat diperoleh menggunakan feature_extractor_class. Lihat feature_extractor_class.__call__ untuk detailnya (processor_class menggunakan feature_extractor_class untuk memproses audio).
  • attention_mask (torch.Tensor dengan bentuk (batch_size, sequence_length), opsional) — Mask untuk menghindari eksekusi attention pada indeks token padding. Nilai mask dipilih dari [0, 1]:
    • 1 untuk token yang tidak dimasker,
    • 0 untuk token yang dimasker.

    Apa itu attention mask?

  • output_attention_mask (bool, opsional, default True) — Apakah akan mengembalikan output attention mask. Hanya berlaku ketika attention_mask diberikan.

Mengembalikan

BaseModelOutput atau tuple(torch.Tensor)

BaseModelOutput atau tuple dari torch.Tensor (jika return_dict=False diteruskan atau ketika config.return_dict=False) yang terdiri dari berbagai elemen tergantung pada konfigurasi (None) dan input.

Metode forward dari ParakeetEncoder menimpa metode khusus __call__.

Meskipun resep untuk forward pass perlu didefinisikan di dalam fungsi ini, sebaiknya panggil instance Module setelahnya alih-alih fungsi ini, karena yang pertama menangani langkah-langkah pra-pemrosesan dan pasca-pemrosesan, sedangkan yang kedua mengabaikannya secara diam-diam.

  • last_hidden_state (torch.Tensor dengan bentuk (batch_size, sequence_length, hidden_size)) — Urutan hidden-states pada keluaran lapisan terakhir model.

  • hidden_states (tuple(torch.Tensor), opsional, dikembalikan saat output_hidden_states=True dilewatkan atau saat config.output_hidden_states=True) — Tuple dari torch.Tensor (satu untuk output dari embeddings, jika model memiliki lapisan embedding, + satu untuk output dari setiap lapisan) dengan bentuk (batch_size, sequence_length, hidden_size).

    Hidden-states model pada output setiap layer ditambah output embedding awal yang opsional.

  • attentions (tuple(torch.Tensor), opsional, dikembalikan saat output_attentions=True dilewatkan atau saat config.output_attentions=True) — Tuple dari torch.Tensor (satu untuk setiap layer) dengan bentuk (batch_size, num_heads, sequence_length, sequence_length).

    Bobot perhatian setelah softmax perhatian, digunakan untuk menghitung rata-rata berbobot di kepala perhatian diri (self-attention).

Contoh:

>>> 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

kelas transformers.ParakeetForCTC

< >

( config: ParakeetCTCConfig )

Parameter

  • config (ParakeetCTCConfig) — Kelas konfigurasi model dengan semua parameter model. Inisialisasi dengan file konfigurasi tidak memuat bobot yang terkait dengan model, hanya konfigurasinya. Lihat metode from_pretrained() untuk memuat bobot model.

Parakeet Encoder dengan kepala Connectionist Temporal Classification (CTC).

Model ini mewarisi dari PreTrainedModel. Periksa dokumentasi kelas induk untuk metode generik yang diimplementasikan oleh pustaka untuk semua model (seperti mengunduh atau menyimpan, mengubah ukuran embedding input, memangkas kepala, dll.)

Model ini juga merupakan subclass dari torch.nn.Module PyTorch. Gunakan sebagai PyTorch Module biasa dan merujuk ke dokumentasi PyTorch untuk semua hal yang berkaitan dengan penggunaan dan perilaku umum.

forward

< >

( 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)

Parameter

  • input_features (torch.Tensor dengan bentuk (batch_size, sequence_length, feature_dim)) — Tensor yang sesuai dengan fitur audio input. Fitur audio dapat diperoleh menggunakan feature_extractor_class. Lihat feature_extractor_class.__call__ untuk detailnya (processor_class menggunakan feature_extractor_class untuk memproses audio).
  • attention_mask (torch.Tensor dengan bentuk (batch_size, sequence_length), opsional) — Mask untuk menghindari eksekusi attention pada indeks token padding. Nilai mask dipilih dari [0, 1]:
    • 1 untuk token yang tidak dimasker,
    • 0 untuk token yang dimasker.

    Apa itu attention mask?

  • labels (torch.Tensor dengan bentuk (batch_size, sequence_length), opsional) — Label untuk menghitung kerugian pemodelan bahasa yang disamarkan (masked language modeling). Indeks harus berada dalam [0, ..., config.vocab_size] atau -100 (lihat docstring input_ids). Token dengan indeks yang disetel ke -100 diabaikan (disamarkan), kerugian hanya dihitung untuk token dengan label dalam [0, ..., config.vocab_size].

Mengembalikan

CausalLMOutput atau tuple(torch.Tensor)

A CausalLMOutput atau tuple dari torch.Tensor (jika return_dict=False dilewatkan atau ketika config.return_dict=False) yang terdiri dari berbagai elemen tergantung pada konfigurasi (None) dan input.

Metode forward dari ParakeetForCTC menimpa metode khusus __call__.

Meskipun resep untuk forward pass perlu didefinisikan di dalam fungsi ini, sebaiknya panggil instance Module setelahnya alih-alih fungsi ini, karena yang pertama menangani langkah-langkah pra-pemrosesan dan pasca-pemrosesan, sedangkan yang kedua mengabaikannya secara diam-diam.

  • loss (torch.Tensor dengan bentuk (1,), opsional, dikembalikan saat labels disediakan) — Loss pemodelan bahasa (untuk prediksi token berikutnya).

  • logits (torch.Tensor dengan bentuk (batch_size, sequence_length, config.vocab_size)) — Skor prediksi dari kepala pemodelan bahasa (skor untuk setiap token kosakata sebelum SoftMax).

  • hidden_states (tuple(torch.Tensor), opsional, dikembalikan saat output_hidden_states=True dilewatkan atau saat config.output_hidden_states=True) — Tuple dari torch.Tensor (satu untuk output dari embeddings, jika model memiliki lapisan embedding, + satu untuk output dari setiap lapisan) dengan bentuk (batch_size, sequence_length, hidden_size).

    Hidden-states model pada output setiap layer ditambah output embedding awal yang opsional.

  • attentions (tuple(torch.Tensor), opsional, dikembalikan saat output_attentions=True dilewatkan atau saat config.output_attentions=True) — Tuple dari torch.Tensor (satu untuk setiap layer) dengan bentuk (batch_size, num_heads, sequence_length, sequence_length).

    Bobot perhatian setelah softmax perhatian, digunakan untuk menghitung rata-rata berbobot di kepala perhatian diri (self-attention).

Contoh:

>>> 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

< >

( 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, opsional): Jika disediakan, torch.compile akan diterapkan pada panggilan forward dalam loop decoding.

Contoh:

>>> 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

kelas transformers.ParakeetForRNNT

< >

( config: ParakeetRNNTConfig )

Parameter

  • config (ParakeetRNNTConfig) — Kelas konfigurasi model dengan semua parameter model. Inisialisasi dengan file konfigurasi tidak memuat bobot yang terkait dengan model, hanya konfigurasinya. Lihat metode from_pretrained() untuk memuat bobot model.

Parakeet Encoder dengan kepala RNN-T (RNN Transducer).

Model ini mewarisi dari PreTrainedModel. Periksa dokumentasi kelas induk untuk metode generik yang diimplementasikan oleh pustaka untuk semua model (seperti mengunduh atau menyimpan, mengubah ukuran embedding input, memangkas kepala, dll.)

Model ini juga merupakan subclass dari torch.nn.Module PyTorch. Gunakan sebagai PyTorch Module biasa dan merujuk ke dokumentasi PyTorch untuk semua hal yang berkaitan dengan penggunaan dan perilaku umum.

forward

< >

( 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)

Parameter

  • input_features (torch.Tensor dengan bentuk (batch_size, sequence_length, feature_dim), opsional) — Tensor yang sesuai dengan fitur audio input. Fitur audio dapat diperoleh menggunakan feature_extractor_class. Lihat feature_extractor_class.__call__ untuk detailnya (processor_class menggunakan feature_extractor_class untuk memproses audio).
  • attention_mask (torch.Tensor dengan bentuk (batch_size, sequence_length), opsional) — Mask untuk menghindari eksekusi attention pada indeks token padding. Nilai mask dipilih dari [0, 1]:
    • 1 untuk token yang tidak dimasker,
    • 0 untuk token yang dimasker.

    Apa itu attention mask?

  • decoder_input_ids (torch.LongTensor dengan bentuk (batch_size, 1), opsional) — ID token input decoder untuk inferensi satu langkah.
  • decoder_cache (ParakeetRNNTDecoderCache, opsional) — Cache LSTM decoder. Jika diberikan dan diinisialisasi, decoder_output yang di-cache akan digunakan kembali (misalnya selama blank-skipping) alih-alih menjalankan decoder. Jika input_ids diberikan, decoder akan dijalankan dan cache diperbarui secara in-place.
  • use_decoder_cache (bool, opsional) — Apakah akan menggunakan cache decoder. Ketika True dan decoder_cache adalah None, cache baru akan dibuat secara otomatis selama forward pass.
  • encoder_outputs (tuple(torch.Tensor), opsional) — Output encoder yang sudah dihitung sebelumnya (last_hidden_state, pooler_output, hidden_states, attentions, attention_mask). Bisa berupa tuple atau ParakeetEncoderModelOutput.
  • labels (torch.Tensor dengan bentuk (batch_size, sequence_length), opsional) — Label untuk menghitung kerugian pemodelan bahasa yang disamarkan (masked language modeling). Indeks harus berada dalam [0, ..., config.vocab_size] atau -100 (lihat docstring input_ids). Token dengan indeks yang disetel ke -100 diabaikan (disamarkan), kerugian hanya dihitung untuk token dengan label dalam [0, ..., config.vocab_size].

Mengembalikan

ParakeetRNNTOutput atau tuple(torch.Tensor)

ParakeetRNNTOutput atau tuple dari torch.Tensor (jika return_dict=False diteruskan atau ketika config.return_dict=False) yang terdiri dari berbagai elemen tergantung pada konfigurasi (None) dan input.

Metode forward dari ParakeetForRNNT menimpa metode khusus __call__.

Meskipun resep untuk forward pass perlu didefinisikan di dalam fungsi ini, sebaiknya panggil instance Module setelahnya alih-alih fungsi ini, karena yang pertama menangani langkah-langkah pra-pemrosesan dan pasca-pemrosesan, sedangkan yang kedua mengabaikannya secara diam-diam.

  • loss (torch.Tensor, opsional) — loss RNN-T, dikembalikan ketika labels disediakan.
  • logits (torch.Tensor) — Logits token gabungan. Bentuknya adalah (batch, T, U+1, vocab) untuk pelatihan atau (batch, 1, 1, vocab) untuk inferensi satu langkah.
  • decoder_cache (ParakeetRNNTDecoderCache, opsional) — Cache LSTM decoder yang berisi hidden state, cell state, dan output terakhir.

Contoh:

>>> 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

kelas transformers.ParakeetForTDT

< >

( config: ParakeetTDTConfig )

Parameter

  • config (ParakeetTDTConfig) — Kelas konfigurasi model dengan semua parameter model. Inisialisasi dengan file konfigurasi tidak memuat bobot yang terkait dengan model, hanya konfigurasinya. Lihat metode from_pretrained() untuk memuat bobot model.

Parakeet Encoder dengan kepala TDT (Token Duration Transducer).

Model ini mewarisi dari PreTrainedModel. Periksa dokumentasi kelas induk untuk metode generik yang diimplementasikan oleh pustaka untuk semua model (seperti mengunduh atau menyimpan, mengubah ukuran embedding input, memangkas kepala, dll.)

Model ini juga merupakan subclass dari torch.nn.Module PyTorch. Gunakan sebagai PyTorch Module biasa dan merujuk ke dokumentasi PyTorch untuk semua hal yang berkaitan dengan penggunaan dan perilaku umum.

forward

< >

( 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)

Parameter

  • input_features (torch.Tensor dengan bentuk (batch_size, sequence_length, feature_dim), opsional) — Tensor yang sesuai dengan fitur audio input. Fitur audio dapat diperoleh menggunakan feature_extractor_class. Lihat feature_extractor_class.__call__ untuk detailnya (processor_class menggunakan feature_extractor_class untuk memproses audio).
  • attention_mask (torch.Tensor dengan bentuk (batch_size, sequence_length), opsional) — Mask untuk menghindari eksekusi attention pada indeks token padding. Nilai mask dipilih dari [0, 1]:
    • 1 untuk token yang tidak dimasker,
    • 0 untuk token yang dimasker.

    Apa itu attention mask?

  • decoder_input_ids (torch.LongTensor dengan bentuk (batch_size, 1), opsional) — ID token input decoder untuk inferensi satu langkah.
  • decoder_cache (ParakeetRNNTDecoderCache, opsional) — Cache LSTM decoder. Jika diberikan dan diinisialisasi, decoder_output yang di-cache akan digunakan kembali (misalnya selama blank-skipping) alih-alih menjalankan decoder. Jika input_ids diberikan, decoder akan dijalankan dan cache diperbarui secara in-place.
  • use_decoder_cache (bool, opsional) — Apakah akan menggunakan cache decoder. Ketika True dan decoder_cache adalah None, cache baru akan dibuat secara otomatis selama forward pass.
  • encoder_outputs (tuple(torch.Tensor), opsional) — Output encoder yang sudah dihitung sebelumnya (last_hidden_state, pooler_output, hidden_states, attentions, attention_mask). Bisa berupa tuple atau ParakeetEncoderModelOutput.
  • labels (torch.Tensor dengan bentuk (batch_size, sequence_length), opsional) — Label untuk menghitung kerugian pemodelan bahasa yang disamarkan (masked language modeling). Indeks harus berada dalam [0, ..., config.vocab_size] atau -100 (lihat docstring input_ids). Token dengan indeks yang disetel ke -100 diabaikan (disamarkan), kerugian hanya dihitung untuk token dengan label dalam [0, ..., config.vocab_size].

Mengembalikan

ParakeetRNNTOutput atau tuple(torch.Tensor)

ParakeetRNNTOutput atau tuple dari torch.Tensor (jika return_dict=False diteruskan atau ketika config.return_dict=False) yang terdiri dari berbagai elemen tergantung pada konfigurasi (None) dan input.

Metode forward dari ParakeetForTDT menimpa metode khusus __call__.

Meskipun resep untuk forward pass perlu didefinisikan di dalam fungsi ini, sebaiknya panggil instance Module setelahnya alih-alih fungsi ini, karena yang pertama menangani langkah-langkah pra-pemrosesan dan pasca-pemrosesan, sedangkan yang kedua mengabaikannya secara diam-diam.

  • loss (torch.Tensor, opsional) — loss RNN-T, dikembalikan ketika labels disediakan.
  • logits (torch.Tensor) — Logits token gabungan. Bentuknya adalah (batch, T, U+1, vocab) untuk pelatihan atau (batch, 1, 1, vocab) untuk inferensi satu langkah.
  • decoder_cache (ParakeetRNNTDecoderCache, opsional) — Cache LSTM decoder yang berisi hidden state, cell state, dan output terakhir.

Contoh:

>>> 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)
Update on GitHub