HuBERTPretrainModel¶
- class torchaudio.models.HuBERTPretrainModel[source]¶
用于预训练的 HuBERT 模型,出自 HuBERT [Hsu et al., 2021]。
注意
要构建模型,请使用其中一个工厂函数。
另请参阅
- 参数
wav2vec2 (Wav2Vec2Model) – 生成 transformer 输出的 Wav2Vec2 编码器。
mask_generator (torch.nn.Module) – 在训练期间生成掩码预测掩码的掩码生成器。
logit_generator (torch.nn.Module) – 预测掩码和非掩码输入的 logits 的 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
。
- 返回
- 张量
掩码序列的概率分布(以 logit 为单位)。形状:(masked_frames, num labels)。
- 张量
非掩码序列的概率分布(以 logit 为单位)。形状:(unmasked_frames, num labels)。
- 张量
用于附加惩罚损失的特征均值。形状:(1,)。
- 返回类型
(Tensor, Tensor, Tensor)
工厂函数¶
从头开始构建自定义 |
|
构建 HuBERT [Hsu et al., 2021] 的 "base" |
|
构建 HuBERT [Hsu et al., 2021] 的 "large" |
|
构建 HuBERT [Hsu et al., 2021] 的 "extra large" |