快捷方式

Wav2Vec2Model

class torchaudio.models.Wav2Vec2Model(feature_extractor: Module, encoder: Module, aux: Optional[Module] = None)[源码]

wav2vec 2.0 中使用的声学模型 [Baevski et al., 2020]

注意

要构建模型,请使用其中一个工厂函数。

另请参阅

参数
  • feature_extractor (torch.nn.Module) – 从原始音频 Tensor 中提取特征向量的特征提取器。

  • encoder (torch.nn.Module) – 将音频特征转换为标签上的概率分布序列(以负对数似然表示)的编码器。

  • aux (torch.nn.ModuleNone, 可选) – 辅助模块。如果提供,则编码器的输出将传递给此模块。

使用 Wav2Vec2Model 的教程
Speech Recognition with Wav2Vec2

使用 Wav2Vec2 进行语音识别

使用 Wav2Vec2 进行语音识别
Forced Alignment with Wav2Vec2

使用 Wav2Vec2 进行强制对齐

使用 Wav2Vec2 进行强制对齐

方法

forward

Wav2Vec2Model.forward(waveforms: Tensor, lengths: Optional[Tensor] = None) Tuple[Tensor, Optional[Tensor]][源码]

计算标签上的概率分布序列。

参数
  • waveforms (Tensor) – 形状为 (batch, frames) 的音频 Tensor。

  • lengths (TensorNone, 可选) – 指示批次中每个音频的有效长度。形状:(batch, )。当 waveforms 包含不同持续时间的音频时,通过提供 lengths 参数,模型将计算相应的有效输出长度并在 Transformer 注意力层中应用适当的掩码。如果为 None,则假定 waveforms 中的所有音频都具有有效长度。默认值:None

返回

张量

概率分布序列(以 logit 为单位)在标签上。形状:(batch, frames, num labels)

Tensor 或 None

如果提供了 lengths 参数,则返回一个形状为 (batch, ) 的 Tensor。它表示输出 Tensor 在时间轴上的有效长度。

返回类型

(Tensor, Optional[Tensor])

extract_features

Wav2Vec2Model.extract_features(waveforms: Tensor, lengths: Optional[Tensor] = None, num_layers: Optional[int] = None) Tuple[List[Tensor], Optional[Tensor]][源码]

从原始波形中提取特征向量

这将返回 Transformer 块在编码器中中间层的输出列表。

参数
  • waveforms (Tensor) – 形状为 (batch, frames) 的音频 Tensor。

  • lengths (TensorNone, 可选) – 指示批次中每个音频的有效长度。形状:(batch, )。当 waveforms 包含不同持续时间的音频时,通过提供 lengths 参数,模型将计算相应的有效输出长度并在 Transformer 注意力层中应用适当的掩码。如果为 None,则假定整个音频波形长度有效。

  • num_layers (intNone, 可选) – 如果给定,则限制要通过的中间层数量。提供 1 将在通过一个中间层后停止计算。如果未给出,则返回所有中间层的输出。

返回

Tensor 列表

来自请求层的特征。每个 Tensor 的形状为:(batch, time frame, feature dimension)

Tensor 或 None

如果提供了 lengths 参数,则返回一个形状为 (batch, ) 的 Tensor。它表示每个特征 Tensor 在时间轴上的有效长度。

返回类型

(List[Tensor], Optional[Tensor])

工厂函数

wav2vec2_model

构建自定义 Wav2Vec2Model

wav2vec2_base

wav2vec 2.0 [Baevski et al., 2020] 构建 "base" Wav2Vec2Model

wav2vec2_large

wav2vec 2.0 [Baevski et al., 2020] 构建 "large" Wav2Vec2Model

wav2vec2_large_lv60k

wav2vec 2.0 [Baevski et al., 2020] 构建 "large lv-60k" Wav2Vec2Model

wav2vec2_xlsr_300m

构建具有 3 亿个参数的 XLS-R 模型 [Babu et al., 2021]

wav2vec2_xlsr_1b

构建具有 10 亿个参数的 XLS-R 模型 [Babu et al., 2021]

wav2vec2_xlsr_2b

构建具有 20 亿个参数的 XLS-R 模型 [Babu et al., 2021]

hubert_base

HuBERT [Hsu et al., 2021] 构建 "base" HuBERT

hubert_large

HuBERT [Hsu et al., 2021] 构建 "large" HuBERT

hubert_xlarge

HuBERT [Hsu et al., 2021] 构建 "extra large" HuBERT

wavlm_model

构建自定义 WaveLM 模型 [Chen et al., 2022]

wavlm_base

构建 "base" WaveLM 模型 [Chen et al., 2022]

wavlm_large

构建 "large" WaveLM 模型 [Chen et al., 2022]

实用函数

import_fairseq_model

fairseq 的相应模型对象构建 Wav2Vec2Model

import_huggingface_model

Transformers 的相应模型对象构建 Wav2Vec2Model

文档

访问全面的 PyTorch 开发者文档

查看文档

教程

为初学者和高级开发者提供深入的教程

查看教程

资源

查找开发资源并让您的问题得到解答

查看资源