快捷方式

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 (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, 可选) – 指示批次中每个音频的有效长度。形状:[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_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 的综合开发者文档

查看文档

教程

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

查看教程

资源

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

查看资源