快捷方式

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 (floatNone) – 用于缩放卷积特征提取层梯度的因子。如果为 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 (TensorNone, 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_pretrain_model

构建自定义 HuBERTPretrainModel 用于从零开始训练

hubert_pretrain_base

构建来自 HuBERT [Hsu et al., 2021] 的 "base" HuBERTPretrainModel 用于预训练。

hubert_pretrain_large

构建来自 HuBERT [Hsu et al., 2021] 的 "large" HuBERTPretrainModel 用于预训练。

hubert_pretrain_xlarge

构建来自 HuBERT [Hsu et al., 2021] 的 "extra large" HuBERTPretrainModel 用于预训练。

文档

查阅 PyTorch 的完整开发者文档

查看文档

教程

获取面向初学者和高级开发者的深入教程

查看教程

资源

查找开发资源并获得问题解答

查看资源