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 (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, 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 [Hsu et al., 2021] 的 "base" |
|
构建来自 HuBERT [Hsu et al., 2021] 的 "large" |
|
构建来自 HuBERT [Hsu et al., 2021] 的 "extra large" |