快捷方式

HuBERTPretrainModel

class torchaudio.models.HuBERTPretrainModel[source]

用於 HuBERT [Hsu et al., 2021] 預訓練的 HuBERT 模型。

注意

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

引數:
  • wav2vec2 (Wav2Vec2Model) – 生成 transformer 輸出的 Wav2Vec2 編碼器。

  • mask_generator (torch.nn.Module) – 在訓練期間生成用於掩碼預測的掩碼生成器。

  • logit_generator (torch.nn.Module) – 預測掩碼和非掩碼輸入的 logit 生成器。

  • feature_grad_mult (floatNone) – 用於縮放卷積特徵提取層梯度的因子。如果為 None,則特徵提取層的梯度不受影響。縮放因子不會影響前向傳播。

方法

forward

HuBERTPretrainModel.forward(waveforms: Tensor, labels: Tensor, audio_lengths: Optional[Tensor] = None) Tuple[Tensor, Optional[Tensor]][source]

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

引數:
  • waveforms (Tensor) – 維度為 [batch, frames] 的音訊張量。

  • labels (Tensor) – 用於預訓練的標籤。一個維度為 [batch, frames] 的張量。

  • audio_lengths (TensorNone, optional) – 指示批次中每個音訊的有效長度。形狀:[batch, ]。當 waveforms 包含不同持續時間的音訊時,透過提供 lengths 引數,模型將計算相應的有效輸出長度並在 transformer 注意力層中應用適當的掩碼。如果為 None,則假定 waveforms 中的所有音訊都具有有效長度。預設值:None

返回值:

Tensor

掩碼後的機率分佈序列(以 logit 表示)。形狀:(masked_frames, num labels)

Tensor

非掩碼後的機率分佈序列(以 logit 表示)。形狀:(unmasked_frames, num labels)

Tensor

用於附加懲罰損失的特徵平均值。形狀:(1,)

返回型別:

(Tensor, Tensor, Tensor)

工廠函式

hubert_pretrain_model

構建自定義 HuBERTPretrainModel 用於從零開始訓練

hubert_pretrain_base

構建來自 HuBERT [Hsu et al., 2021] 的 "base" HuBERTPretrainModel 用於預訓練。

hubert_pretrain_large

構建來自 HuBERT [Hsu et al., 2021] 的 "large" HuBERTPretrainModel 用於預訓練。

hubert_pretrain_xlarge

構建來自 HuBERT [Hsu et al., 2021] 的 "extra large" HuBERTPretrainModel 用於預訓練。

文件

查閱 PyTorch 的完整開發者文件

檢視文件

教程

獲取面向初學者和高階開發者的深入教程

檢視教程

資源

查詢開發資源並獲得問題解答

檢視資源