HuBERTPretrainModel¶
- class torchaudio.models.HuBERTPretrainModel[原始碼]¶
用於 HuBERT [Hsu et al., 2021] 預訓練中的 HuBERT 模型。
注意
若要建置模型,請使用其中一個工廠函數。
另請參閱
- 參數:
wav2vec2 (Wav2Vec2Model) – 產生 Transformer 輸出的 Wav2Vec2 編碼器。
mask_generator (torch.nn.Module) – Mask 生成器,用於在訓練期間產生用於遮罩預測的遮罩。
logit_generator (torch.nn.Module) – Logit 生成器,用於預測遮罩和未遮罩輸入的 logits。
feature_grad_mult (float 或 None) – 縮放卷積特徵提取層梯度的因子。若為
None
,則特徵提取層的梯度不受影響。縮放因子不會影響前向傳遞。
方法¶
forward¶
- HuBERTPretrainModel.forward(waveforms: Tensor, labels: Tensor, audio_lengths: Optional[Tensor] = None) Tuple[Tensor, Optional[Tensor]] [原始碼]¶
計算標籤上的機率分佈序列。
- 參數:
waveforms (Tensor) – 維度為 [batch, frames] 的音訊張量。
labels (Tensor) – 預訓練的標籤。維度為 [batch, frames] 的張量。
audio_lengths (Tensor 或 None, 可選) – 指示批次中每個音訊的有效長度。形狀:[batch, ]。當
waveforms
包含不同持續時間的音訊時,透過提供lengths
引數,模型將計算對應的有效輸出長度,並在 Transformer 注意力層中套用適當的遮罩。若為None
,則假設waveforms
中的所有音訊都具有有效長度。預設值:None
。
- 傳回:
- Tensor
遮罩序列的機率分佈(以 logits 表示)。形狀:(masked_frames, num labels)。
- Tensor
未遮罩序列的機率分佈(以 logits 表示)。形狀:(unmasked_frames, num labels)。
- Tensor
用於額外懲罰損失的特徵平均值。形狀:(1,)。
- 傳回類型:
(Tensor, Tensor, Tensor)
工廠函數¶
從頭開始建置用於訓練的自訂 |
|
從 HuBERT [Hsu et al., 2021] 建置用於預訓練的「base」 |
|
從 HuBERT [Hsu et al., 2021] 建置用於預訓練的「large」 |
|
從 HuBERT [Hsu et al., 2021] 建置用於預訓練的「extra large」 |