Transformers documentation
LASR
Model ini dipublikasikan di HF papers pada 2020-05-16 dan disumbangkan ke Hugging Face Transformers pada 2025-12-05.
LASR
Ikhtisar
LASR adalah arsitektur di balik MedASR, model speech-to-text dari Google Health AI yang telah dilatih sebelumnya untuk dikte medis. Model ini didasarkan pada arsitektur Conformer dan dirancang sebagai titik awal bagi pengembang yang membangun alat dikte dengan terminologi medis, seperti dikte radiologi. MedASR memberikan kinerja yang baik pada audio medis, tetapi dapat kesulitan dengan istilah di luar data pelatihannya, seperti nama obat non-standar atau referensi temporal (tanggal, waktu, atau durasi).
Penggunaan
Penggunaan dasar
from transformers import pipeline
pipe = pipeline("automatic-speech-recognition", model="google/medasr")
out = pipe("path/to/audio.mp3")
print(out)from datasets import Audio, load_dataset
from transformers import AutoModelForCTC, AutoProcessor
processor = AutoProcessor.from_pretrained("google/medasr")
model = AutoModelForCTC.from_pretrained("google/medasr", 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.batch_decode(outputs))Pelatihan
Contoh di bawah ini menyiapkan batch audio dan teks, melewatkan data tersebut melalui model LASR/MedASR, dan menghitung loss pelatihan.
from datasets import Audio, load_dataset
from transformers import AutoModelForCTC, AutoProcessor
# Load processor and model
processor = AutoProcessor.from_pretrained("google/medasr")
model = AutoModelForCTC.from_pretrained("google/medasr", device_map="auto")
# Load a small example dataset and prepare batch
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]]
text_samples = [el for el in ds["text"][:5]]
# Passing `text` to the processor will prepare the `labels`
inputs = processor(audio=speech_samples, text=text_samples, sampling_rate=processor.feature_extractor.sampling_rate)
inputs.to(device, dtype=model.dtype)
outputs = model(**inputs)
outputs.loss.backward()LasrTokenizer
kelas transformers.LasrTokenizer
< source >( eos_token = '</s>'unk_token = '<unk>'pad_token = '<pad>'_spm_precompiled_charsmap = Noneextra_ids = 100additional_special_tokens = Nonevocab = Nonevocab_file = None**kwargs )
Parameter
- vocab_file (
str, opsional) — file SentencePiece (umumnya berekstensi .spm) yang mengandung kosakata yang diperlukan untuk menginstansiasi tokenizer. - eos_token (
str, opsional, defaultnya"</s>") — Token akhir urutan.Saat membangun sebuah urutan menggunakan token khusus, token ini bukan yang digunakan untuk akhir urutan. Token yang digunakan adalah
sep_token. - unk_token (
str, opsional, default"<unk>") — Token yang tidak diketahui. Token yang tidak ada dalam kosakata tidak dapat dikonversi menjadi ID dan akan diset sebagai token ini sebagai gantinya. - pad_token (
str, opsional, defaultnya"<pad>") — Token yang digunakan untuk padding, misalnya saat membatching urutan dengan panjang yang berbeda. - extra_ids (
int, opsional, default 100) — Menambahkan sejumlah id ekstra ke dalam kosakata untuk digunakan sebagai sentinel. Token-token ini dapat diakses sebagai “id{%d}>” di mana ”{%d}” adalah angka antara 0 dan extra_ids-1. Token-token ini dapat diambil dengan memanggil metode get_sentinel_tokens dan id token dapat diambil dengan memanggil metode get_sentinel_token_ids - additional_special_tokens (
list[str], opsional) — Token khusus tambahan yang digunakan oleh tokenizer. - vocab (
str,dictataulist, opsional) — Kamus kustom. Jika tidak disediakan, kamus minimal akan dibuat menggunakan token khusus.
Konstruksi tokenizer LASR (didukung oleh pustaka tokenizers dari HuggingFace). Berbasis pada Unigram.
Tokenizer ini mewarisi dari TokenizersBackend yang berisi sebagian besar metode utama. Pengguna sebaiknya merujuk ke superclass ini untuk informasi lebih lanjut mengenai metode-metode tersebut.
Dapatkan ID token untuk token sentinel.
Dapatkan daftar token sentinel (token extra_id) dari additional_special_tokens.
LasrFeatureExtractor
kelas transformers.LasrFeatureExtractor
< source >( feature_size = 128sampling_rate = 16000hop_length = 160n_fft = 512win_length = 400padding_value = 0.0**kwargs )
Parameter
- feature_size (
int, opsional, default 128) — 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. - padding_value (
float, opsional, default 0.0) — Nilai padding yang digunakan untuk mengisi audio. Seharusnya sesuai dengan bagian hening.
Membangun ekstraktor fitur LASR.
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__
< 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 )
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, defaultTrue) — 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.Untuk model Parakeet,
attention_maskharus selalu diteruskan untuk inferensi batched, untuk menghindari bug yang halus. - return_tensors (
stratau TensorType, opsional) — Jika diset, akan mengembalikan tensor alih-alih daftar integer Python. Nilai yang dapat diterima adalah:'tf': Mengembalikan objek TensorFlowtf.constant.'pt': Mengembalikan objek PyTorchtorch.Tensor.'np': Mengembalikan objek Numpynp.ndarray.
- sampling_rate (
int, opsional) — Laju sampling di mana inputraw_speechdisampelkan. Sangat disarankan untuk meneruskansampling_ratepada 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, defaultFalse) — 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, defaultnyaNone) — Tidak disarankan. Gunakanreturn_attention_masksebagai 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.
LasrProcessor
kelas transformers.LasrProcessor
< source >( feature_extractortokenizer )
Membangun LasrProcessor yang membungkus feature extractor dan tokenizer menjadi satu processor.
LasrProcessor menyediakan semua fungsionalitas dari feature_extractor_class dan tokenizer_class. Lihat ~feature_extractor_class dan ~tokenizer_class untuk informasi lebih lanjut.
__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.lasr.processing_lasr.LasrProcessorKwargs'> )
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, aturis_split_into_words=Trueuntuk 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 (
stratau TensorType, opsional) — Jika diset, akan mengembalikan tensor dari framework tertentu. Nilai yang dapat diterima adalah:'pt': Mengembalikan objek PyTorchtorch.Tensor.'np': Mengembalikan objek NumPynp.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.
Metode ini meneruskan semua argumennya ke batch_decode() dari PreTrainedTokenizer. Silakan merujuk ke docstring metode ini untuk informasi lebih lanjut.
Metode ini meneruskan semua argumennya ke decode() dari PreTrainedTokenizer. Silakan lihat docstring dari metode ini untuk informasi lebih lanjut.
LasrEncoderConfig
kelas transformers.LasrEncoderConfig
< 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 = 512num_hidden_layers: int = 17num_attention_heads: int = 8intermediate_size: int = 2048hidden_act: str = 'silu'attention_bias: bool = Falseconvolution_bias: bool = Falseconv_kernel_size: int = 32subsampling_conv_channels: int = 256num_mel_bins: int = 128subsampling_conv_kernel_size: int = 5subsampling_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 = 10000initializer_range: float = 0.02layer_norm_eps: float = 1e-06feed_forward_residual_weights: list[float] | tuple[float, ...] = (1.5, 0.5)conv_residual_weights: list[float] | tuple[float, ...] = (2.0, 1.0)batch_norm_momentum: float = 0.01rope_parameters: dict | None = None )
Parameter
- hidden_size (
int, opsional, default512) — Dimensi dari representasi tersembunyi. - num_hidden_layers (
int, opsional, default17) — Jumlah lapisan tersembunyi dalam decoder Transformer. - num_attention_heads (
int, opsional, default8) — Jumlah attention heads untuk setiap lapisan attention di decoder Transformer. - intermediate_size (
int, opsional, default2048) — Dimensi representasi MLP. - hidden_act (
str, opsional, defaultnyasilu) — Fungsi aktivasi non-linear (fungsi atau string) di decoder. Misalnya,"gelu","relu","silu", dan sebagainya. - attention_bias (
bool, opsional, defaultFalse) — Apakah akan menggunakan bias pada lapisan proyeksi query, key, value, dan output selama self-attention. - convolution_bias (
bool, opsional, defaultFalse) — Apakah akan menggunakan bias pada konvolusi dari modul konvolusi conformer. - conv_kernel_size (
int, opsional, default 32) — Ukuran kernel dari lapisan konvolusi dalam blok Conformer. - subsampling_conv_channels (
int, opsional, default 256) — Jumlah channel pada lapisan konvolusi subsampling. - num_mel_bins (
int, opsional, default128) — Jumlah fitur mel yang digunakan per frame input. Seharusnya sesuai dengan nilai yang digunakan di kelasAutoFeatureExtractor. - subsampling_conv_kernel_size (
int, opsional, default 5) — Ukuran kernel dari lapisan konvolusi subsampling. - subsampling_conv_stride (
int, opsional, default 2) — Stride dari lapisan konvolusi subsampling. - dropout (
Union[float, int], opsional, default0.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, default0.1) — Probabilitas LayerDrop. Lihat [makalah LayerDrop](lihat https://huggingface.co/papers/1909.11556) untuk detail lebih lanjut. - activation_dropout (
Union[float, int], opsional, defaultnya0.1) — Rasio dropout untuk aktivasi di dalam lapisan fully connected. - attention_dropout (
Union[float, int], opsional, default0.1) — Rasio dropout untuk probabilitas perhatian. - max_position_embeddings (
int, opsional, default10000) — Panjang maksimum urutan yang mungkin digunakan dengan model ini. - initializer_range (
float, opsional, defaultnya0.02) — Standar deviasi dari truncated_normal_initializer untuk menginisialisasi semua matriks bobot. - layer_norm_eps (
float, opsional, defaultnya1e-06) — Epsilon yang digunakan oleh lapisan normalisasi lapisan. - feed_forward_residual_weights (
tuple[float, float], opsional, default[1.5, 0.5]) — Bobot residual untuk lapisan feed forward. - conv_residual_weights (
tuple[float, float], opsional, default[2.0, 1.0]) — Bobot residual untuk lapisan konvolusi. - batch_norm_momentum (
float, opsional, default 0.01) — Momentum untuk lapisan batch normalization - rope_parameters (
dict, opsional) — Kamus yang berisi parameter konfigurasi untuk embedding RoPE. Kamus tersebut harus berisi nilai untukrope_thetadan secara opsional parameter yang digunakan untuk penskalaan jika Anda ingin menggunakan RoPE denganmax_position_embeddingsyang lebih panjang.
Ini adalah kelas konfigurasi untuk menyimpan konfigurasi dari LasrModel. Kelas ini digunakan untuk membuat instans model Lasr sesuai dengan argumen yang ditentukan, sehingga mendefinisikan arsitektur model. Membuat instans konfigurasi dengan nilai bawaan akan menghasilkan konfigurasi yang serupa dengan konfigurasi dari google/medasr
Objek konfigurasi mewarisi dari PreTrainedConfig dan dapat digunakan untuk mengontrol output model. Baca dokumentasi dari PreTrainedConfig untuk informasi lebih lanjut.
Contoh:
>>> from transformers import LasrEncoderModel, LasrEncoderConfig
>>> # Initializing a `LasrEncoder` configuration
>>> configuration = LasrEncoderConfig()
>>> # Initializing a model from the configuration
>>> model = LasrEncoderModel(configuration)
>>> # Accessing the model configuration
>>> configuration = model.configKelas konfigurasi ini didasarkan pada arsitektur LasrEncoder dari Google Health AI. Anda dapat menemukan detail lebih lanjut dan model terlatih di google/medasr.
LasrCTCConfig
kelas transformers.LasrCTCConfig
< 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 = 512ctc_loss_reduction: str = 'mean'ctc_zero_infinity: bool = Trueencoder_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonepad_token_id: int = 0 )
Parameter
- vocab_size (
int, opsional, default512) — Ukuran kosakata model. Menentukan jumlah token berbeda yang dapat direpresentasikan olehinput_ids. - ctc_loss_reduction (
str, opsional, defaultnya"mean") — Menentukan reduksi yang diterapkan pada output daritorch.nn.CTCLoss. Hanya relevan saat melatih instans dari LasrForCTC. - ctc_zero_infinity (
bool, opsional, defaultTrue) — Apakah akan menolkan (zero) kerugian tak hingga dan gradien terkait daritorch.nn.CTCLoss. Kerugian tak hingga terutama terjadi ketika input terlalu pendek untuk diselaraskan dengan target. Hanya relevan saat melatih instance dari LasrForCTC. - encoder_config (
Union[dict, ~configuration_utils.PreTrainedConfig], opsional) — Objek config atau dictionary dari backbone encoder. - pad_token_id (
int, opsional, default0) — ID token yang digunakan untuk padding dalam kosakata.
Ini adalah kelas konfigurasi untuk menyimpan konfigurasi dari LasrModel. Kelas ini digunakan untuk membuat instans model Lasr sesuai dengan argumen yang ditentukan, sehingga mendefinisikan arsitektur model. Membuat instans konfigurasi dengan nilai bawaan akan menghasilkan konfigurasi yang serupa dengan konfigurasi dari google/medasr
Objek konfigurasi mewarisi dari PreTrainedConfig dan dapat digunakan untuk mengontrol output model. Baca dokumentasi dari PreTrainedConfig untuk informasi lebih lanjut.
This configuration class is based on the Lasr CTC architecture from Google Health AI. You can find more details and pre-trained models at [google/medasr](https://huggingface.co/google/medasr).LasrEncoder
kelas transformers.LasrEncoder
< source >( config: LasrEncoderConfig )
Parameter
- config (LasrEncoderConfig) — 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 LasrEncoder, yang didasarkan pada arsitektur Conformer](https://arxiv.org/abs/2005.08100).
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
< source >( input_features: Tensorattention_mask: typing.Optional[torch.Tensor] = Noneoutput_attention_mask: bool | None = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → LasrEncoderModelOutput or tuple(torch.Tensor)
Parameter
- input_features (
torch.Tensordengan bentuk(batch_size, sequence_length, feature_dim)) — Tensor yang sesuai dengan fitur audio input. Fitur audio dapat diperoleh menggunakanfeature_extractor_class. Lihatfeature_extractor_class.__call__untuk detailnya (processor_classmenggunakanfeature_extractor_classuntuk memproses audio). - attention_mask (
torch.Tensordengan 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.
- output_attention_mask (
bool, opsional) — Apakah akan mengembalikan output attention mask.
Mengembalikan
LasrEncoderModelOutput atau tuple(torch.Tensor)
LasrEncoderModelOutput 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 LasrEncoder menimpa metode khusus __call__.
Meskipun resep untuk forward pass perlu didefinisikan di dalam fungsi ini, sebaiknya panggil instance
Modulesetelahnya 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.Tensordengan bentuk(batch_size, sequence_length, hidden_size)) — Urutan hidden-states pada keluaran lapisan terakhir model.pooler_output (
torch.Tensordengan bentuk(batch_size, hidden_size)) — Hidden-state lapisan terakhir dari token pertama dalam urutan (token klasifikasi) setelah diproses lebih lanjut melalui lapisan yang digunakan untuk tugas pra-pelatihan tambahan. Misalnya, untuk keluarga model BERT, ini mengembalikan token klasifikasi setelah diproses melalui lapisan linear dan fungsi aktivasi tanh. Bobot lapisan linear dilatih dari tujuan prediksi kalimat berikutnya (klasifikasi) selama pra-pelatihan.hidden_states (
tuple(torch.Tensor), opsional, dikembalikan saatoutput_hidden_states=Truedilewatkan atau saatconfig.output_hidden_states=True) — Tuple daritorch.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 saatoutput_attentions=Truedilewatkan atau saatconfig.output_attentions=True) — Tuple daritorch.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).
attention_mask (
torch.Tensordengan bentuk(batch_size, sequence_length), opsional) — Mask untuk menghindari pelaksanaan attention pada indeks token padding setelah kompresi sekuens. Dikembalikan karena panjang sekuens dapat berbeda dari panjang sekuens input. Nilai mask dipilih dalam[0, 1]:- 1 untuk token yang tidak dimasker,
- 0 untuk token yang dimasker.
Contoh:
>>> from transformers import AutoProcessor, LasrEncoder
>>> from datasets import load_dataset, Audio
>>> model_id = "google/medasr"
>>> 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)LasrForCTC
kelas transformers.LasrForCTC
< source >( config: LasrCTCConfig )
Parameter
- config (LasrCTCConfig) — 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.
Lasr 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
< 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)
Parameter
- input_features (
torch.Tensordengan bentuk(batch_size, sequence_length, feature_dim)) — Tensor yang sesuai dengan fitur audio input. Fitur audio dapat diperoleh menggunakanfeature_extractor_class. Lihatfeature_extractor_class.__call__untuk detailnya (processor_classmenggunakanfeature_extractor_classuntuk memproses audio). - attention_mask (
torch.Tensordengan 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.
- labels (
torch.Tensordengan 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 docstringinput_ids). Token dengan indeks yang disetel ke-100diabaikan (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 LasrForCTC menimpa metode khusus __call__.
Meskipun resep untuk forward pass perlu didefinisikan di dalam fungsi ini, sebaiknya panggil instance
Modulesetelahnya alih-alih fungsi ini, karena yang pertama menangani langkah-langkah pra-pemrosesan dan pasca-pemrosesan, sedangkan yang kedua mengabaikannya secara diam-diam.
loss (
torch.Tensordengan bentuk(1,), opsional, dikembalikan saatlabelsdisediakan) — Loss pemodelan bahasa (untuk prediksi token berikutnya).logits (
torch.Tensordengan 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 saatoutput_hidden_states=Truedilewatkan atau saatconfig.output_hidden_states=True) — Tuple daritorch.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 saatoutput_attentions=Truedilewatkan atau saatconfig.output_attentions=True) — Tuple daritorch.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, LasrForCTC
>>> from datasets import load_dataset, Audio
>>> model_id = "nvidia/lasr-ctc-1.1b"
>>> processor = AutoProcessor.from_pretrained(model_id)
>>> model = LasrForCTC.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'> )
Contoh:
>>> from transformers import AutoProcessor, LasrForCTC
>>> from datasets import load_dataset, Audio
>>> model_id = "google/medasr"
>>> processor = AutoProcessor.from_pretrained(model_id)
>>> model = LasrForCTC.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)