捷徑

Wav2Vec2Model

class torchaudio.models.Wav2Vec2Model(feature_extractor: Module, encoder: Module, aux: Optional[Module] = None)[source]

wav2vec 2.0 中使用的聲學模型 [Baevski et al., 2020]

注意

要建置模型,請使用其中一個工廠函數。

另請參閱

參數:
  • feature_extractor (torch.nn.Module) – 特徵提取器,用於從原始音訊 Tensor 提取特徵向量。

  • encoder (torch.nn.Module) – 編碼器,用於將音訊特徵轉換為標籤上的機率分佈序列(以負對數似然表示)。

  • aux (torch.nn.ModuleNone, optional) – 輔助模組。如果提供,則來自編碼器的輸出將傳遞給此模組。

使用 Wav2Vec2Model 的教學
Speech Recognition with Wav2Vec2

使用 Wav2Vec2 進行語音辨識

使用 Wav2Vec2 進行語音辨識
ASR Inference with CTC Decoder

使用 CTC 解碼器的 ASR 推論

使用 CTC 解碼器的 ASR 推論
Forced Alignment with Wav2Vec2

使用 Wav2Vec2 進行強制對齊

使用 Wav2Vec2 進行強制對齊

方法

forward

Wav2Vec2Model.forward(waveforms: Tensor, lengths: Optional[Tensor] = None) Tuple[Tensor, Optional[Tensor]][source]

計算標籤上的機率分佈序列。

參數:
  • waveforms (Tensor) – 形狀為 (batch, frames) 的音訊張量。

  • lengths (TensorNone, 選用) – 表示批次中每個音訊的有效長度。形狀:(batch, )。當 waveforms 包含不同持續時間的音訊時,通過提供 lengths 參數,模型將計算相應的有效輸出長度,並在 Transformer 注意力層中應用適當的遮罩。如果為 None,則假設 waveforms 中的所有音訊都具有有效的長度。預設值:None

Returns:

Tensor

標籤上的機率分佈(以 logits 形式)序列。形狀:(batch, frames, num labels)

Tensor 或 None

如果提供了 lengths 參數,則返回形狀為 (batch, ) 的 Tensor。它指示輸出 Tensor 在時間軸上的有效長度。

Return type:

(Tensor, Optional[Tensor])

extract_features

Wav2Vec2Model.extract_features(waveforms: Tensor, lengths: Optional[Tensor] = None, num_layers: Optional[int] = None) Tuple[List[Tensor], Optional[Tensor]][source]

從原始波形中提取特徵向量

這會傳回編碼器中 Transformer 區塊的中間層的輸出列表。

參數:
  • waveforms (Tensor) – 形狀為 (batch, frames) 的音訊張量。

  • lengths (TensorNone, 選用) – 表示批次中每個音訊的有效長度。形狀:(batch, )。當 waveforms 包含不同持續時間的音訊時,通過提供 lengths 參數,模型將計算相應的有效輸出長度,並在 Transformer 注意力層中應用適當的遮罩。如果為 None,則假設整個音訊波形長度均有效。

  • num_layers (intNone, 選用) – 如果給定,則限制要經過的中間層數量。提供 1 將在經過一個中間層後停止計算。如果未給定,則返回所有中間層的輸出。

Returns:

List of Tensors

來自請求圖層的特徵。每個 Tensor 的形狀為:(batch, time frame, feature dimension)

Tensor 或 None

如果提供了 lengths 參數,則返回形狀為 (batch, ) 的 Tensor。它指示每個特徵 Tensor 在時間軸上的有效長度。

Return type:

(List[Tensor], Optional[Tensor])

Factory Functions

wav2vec2_model

構建自訂 Wav2Vec2Model

wav2vec2_base

wav2vec 2.0 [Baevski et al., 2020] 構建 "base" Wav2Vec2Model

wav2vec2_large

wav2vec 2.0 [Baevski et al., 2020] 構建 "large" Wav2Vec2Model

wav2vec2_large_lv60k

wav2vec 2.0 [Baevski et al., 2020] 建立 "large lv-60k" Wav2Vec2Model

wav2vec2_xlsr_300m

建立具有 3 億參數的 XLS-R 模型 [Babu et al., 2021]

wav2vec2_xlsr_1b

建立具有 10 億參數的 XLS-R 模型 [Babu et al., 2021]

wav2vec2_xlsr_2b

建立具有 20 億參數的 XLS-R 模型 [Babu et al., 2021]

hubert_base

HuBERT [Hsu et al., 2021] 建立 "base" HuBERT

hubert_large

HuBERT [Hsu et al., 2021] 建立 "large" HuBERT

hubert_xlarge

HuBERT [Hsu et al., 2021] 建立 "extra large" HuBERT

wavlm_model

建立自定義的 WaveLM 模型 [Chen et al., 2022]

wavlm_base

建立 "base" WaveLM 模型 [Chen et al., 2022]

wavlm_large

建立 "large" WaveLM 模型 [Chen et al., 2022]

原型工廠函數

emformer_hubert_model

建立自定義的 Emformer HuBERT 模型。

emformer_hubert_base

建立具有 20 個 Emformer 層的 Emformer HuBERT 模型。

conformer_wav2vec2_model

建立自定義的 Conformer Wav2Vec2Model

conformer_wav2vec2_base

Conformer-Based Slef-Supervised Learning for Non-Speech Audio Tasks [Srivastava et al., 2022] 建立具有 "small" 架構的 Conformer Wav2Vec2 模型

實用函數

import_fairseq_model

fairseq 的對應模型物件建立 Wav2Vec2Model

import_huggingface_model

Transformers 的對應模型物件建立 Wav2Vec2Model

文件

取得 PyTorch 的完整開發者文件

檢視文件

教學

取得初學者和進階開發者的深入教學課程

檢視教學課程

資源

尋找開發資源並獲得您的問題解答

檢視資源