快捷方式

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 进行语音识别
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]][源代码]

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

参数
  • 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]

原型工厂函数

emformer_hubert_model

已弃用

emformer_hubert_base

已弃用

conformer_wav2vec2_model

已弃用

conformer_wav2vec2_base

已弃用

实用函数

import_fairseq_model

fairseq 的相应模型对象构建 Wav2Vec2Model

import_huggingface_model

Transformers 的相应模型对象构建 Wav2Vec2Model

文档

访问全面的 PyTorch 开发者文档

查看文档

教程

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

查看教程

资源

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

查看资源