快捷方式

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, 可選) – 輔助模組。如果提供,編碼器的輸出將傳遞給此模組。

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

返回:

Tensor

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

Tensor 或 None

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

返回型別:

(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 將在透過一箇中間層後停止計算。如果未提供,則返回所有中間層的輸出。

返回:

Tensor 列表

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

Tensor 或 None

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

返回型別:

(List[Tensor], Optional[Tensor])

工廠函式

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 的完整開發者文件

檢視文件

教程

獲取針對初學者和高階開發者的深入教程

檢視教程

資源

查詢開發資源並獲得解答

檢視資源