快捷方式

Wav2Vec2Model

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

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 进行语音识别
ASR Inference with CTC Decoder

使用 CTC 解码器的 ASR 推理

使用 CTC 解码器的 ASR 推理
Forced Alignment with Wav2Vec2

使用 Wav2Vec2 进行强制对齐

使用 Wav2Vec2 进行强制对齐

方法

forward

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

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

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

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

返回:

Tensor

标签上的概率分布序列(以 logits 表示)。形状:(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]][source]

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

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

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

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

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

返回:

Tensors 列表

来自请求层的特征。每个 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]

原型工厂函数

emformer_hubert_model

构建自定义 Emformer HuBERT 模型。

emformer_hubert_base

构建具有 20 个 Emformer 层的 Emformer HuBERT 模型。

conformer_wav2vec2_model

构建自定义 Conformer Wav2Vec2Model

conformer_wav2vec2_base

Conformer-Based Slef-Supervised Learning for Non-Speech Audio Tasks [Srivastava et al., 2022] 构建具有 “small” 架构的 Conformer Wav2Vec2 模型

实用工具函数

import_fairseq_model

fairseq 的相应模型对象构建 Wav2Vec2Model

import_huggingface_model

Transformers 的相应模型对象构建 Wav2Vec2Model

文档

访问 PyTorch 的综合开发者文档

查看文档

教程

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

查看教程

资源

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

查看资源