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 生成器,用于预测掩码和未掩码输入的 logits。
feature_grad_mult (float 或 None) – 用于缩放卷积特征提取层梯度的因子。如果
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 (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” |