Wav2Vec2Model¶
- class torchaudio.models.Wav2Vec2Model(feature_extractor: Module, encoder: Module, aux: Optional[Module] = None)[source]¶
在 wav2vec 2.0 [Baevski et al., 2020] 中使用的聲學模型。
注意
要構建此模型,請使用其中一個工廠函式。
另請參閱
torchaudio.pipelines.Wav2Vec2Bundle: 預訓練模型(未微調)torchaudio.pipelines.Wav2Vec2ASRBundle: 使用預訓練模型的 ASR Pipeline。
- 引數:
feature_extractor (torch.nn.Module) – 從原始音訊 Tensor 中提取特徵向量的特徵提取器。
encoder (torch.nn.Module) – 將音訊特徵轉換為標籤機率分佈序列(負對數似然)的編碼器。
aux (torch.nn.Module 或 None, 可選) – 輔助模組。如果提供,編碼器的輸出將傳遞給此模組。
- 使用
Wav2Vec2Model的教程
方法¶
forward¶
- Wav2Vec2Model.forward(waveforms: Tensor, lengths: Optional[Tensor] = None) Tuple[Tensor, Optional[Tensor]][source]¶
計算標籤的機率分佈序列。
- 引數:
waveforms (Tensor) – 形狀為 (batch, frames) 的音訊張量。
lengths (Tensor 或 None, 可選) – 指示批次中每個音訊的有效長度。形狀:(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 (Tensor 或 None, 可選) – 指示批次中每個音訊的有效長度。形狀:(batch, )。當
waveforms包含不同時長的音訊時,透過提供lengths引數,模型將計算相應的有效輸出長度並在 Transformer 注意力層應用適當的掩碼。如果為None,則假定整個音訊波形長度均有效。num_layers (int 或 None, 可選) – 如果提供,限制透過的中間層數量。提供 1 將在透過一箇中間層後停止計算。如果未提供,則返回所有中間層的輸出。
- 返回:
- Tensor 列表
來自所請求層的特徵。每個 Tensor 的形狀為:(batch, time frame, feature dimension)
- Tensor 或 None
如果提供了
lengths引數,則返回一個形狀為 (batch, ) 的 Tensor。它指示每個特徵 Tensor 在時間軸上的有效長度。
- 返回型別:
(List[Tensor], Optional[Tensor])
工廠函式¶
構建自定義 |
|
從 wav2vec 2.0 [Baevski et al., 2020] 構建“base” |
|
從 wav2vec 2.0 [Baevski et al., 2020] 構建“large” |
|
從 wav2vec 2.0 [Baevski et al., 2020] 構建“large lv-60k” |
|
構建具有 3 億引數的 XLS-R 模型 [Babu et al., 2021]。 |
|
構建具有 10 億引數的 XLS-R 模型 [Babu et al., 2021]。 |
|
構建具有 20 億引數的 XLS-R 模型 [Babu et al., 2021]。 |
|
從 HuBERT [Hsu et al., 2021] 構建“base” |
|
從 HuBERT [Hsu et al., 2021] 構建“large” |
|
從 HuBERT [Hsu et al., 2021] 構建“extra large” |
|
構建自定義 WaveLM 模型 [Chen et al., 2022]。 |
|
構建“base” WaveLM 模型 [Chen et al., 2022]。 |
|
構建“large” WaveLM 模型 [Chen et al., 2022]。 |
原型工廠函式¶
構建自定義 Emformer HuBERT 模型。 |
|
構建具有 20 個 Emformer 層的 Emformer HuBERT 模型。 |
|
構建自定義 Conformer Wav2Vec2Model |
|
從 Conformer-Based Slef-Supervised Learning for Non-Speech Audio Tasks [Srivastava et al., 2022] 構建具有“small”架構的 Conformer Wav2Vec2 模型 |
實用函式¶
從 fairseq 的相應模型物件構建 |
|
從 Transformers 的相應模型物件構建 |