HuBERTPretrainModel¶
- class torchaudio.models.HuBERTPretrainModel[source]¶
用于在 HuBERT [Hsu 等人,2021] 中进行预训练的 HuBERT 模型。
注意
要构建模型,请使用其中一个工厂函数。
另请参见
- 参数::
wav2vec2 (Wav2Vec2Model) – 生成 Transformer 输出的 Wav2Vec2 编码器。
mask_generator (torch.nn.Module) – 生成掩码的掩码生成器,该掩码在训练期间用于掩码预测。
logit_generator (torch.nn.Module) – 生成掩码和未掩码输入的 logits 的 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, 可选) – 指示批次中每个音频的有效长度。形状:[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 等人,2021] 构建用于预训练的“基本” |
|
构建 "大型" |
|
构建 "超大型" |