快捷方式

Wav2Vec2Model

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

wav2vec 2.0 中使用的声学模型 [Baevski 等人,2020]

注意

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

另请参阅

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

  • 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, 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将在遍历一个中间层后停止计算。如果未给出,则返回所有中间层的输出。

返回值:

张量列表

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

Tensor 或 None

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

返回类型:

(List[Tensor], Optional[Tensor])

工厂函数

wav2vec2_model

构建自定义Wav2Vec2Model

wav2vec2_base

根据wav2vec 2.0构建“基础”Wav2Vec2Model [Baevski 等人,2020]

wav2vec2_large

根据wav2vec 2.0构建“大型”Wav2Vec2Model [Baevski 等人,2020]

wav2vec2_large_lv60k

根据wav2vec 2.0构建“大型 lv-60k”Wav2Vec2Model [Baevski 等人,2020]

wav2vec2_xlsr_300m

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

wav2vec2_xlsr_1b

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

wav2vec2_xlsr_2b

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

hubert_base

根据HuBERT构建“基础”HuBERT [Hsu 等人,2021]

hubert_large

根据HuBERT构建“大型”HuBERT [Hsu 等人,2021]

hubert_xlarge

根据HuBERT构建“超大型”HuBERT [Hsu 等人,2021]

wavlm_model

构建自定义 WaveLM 模型 [Chen 等人,2022]

wavlm_base

构建“基础”WaveLM 模型 [Chen 等人,2022]

wavlm_large

构建“大型”WaveLM 模型 [Chen 等人,2022]

原型工厂函数

emformer_hubert_model

构建自定义 Emformer HuBERT 模型。

emformer_hubert_base

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

conformer_wav2vec2_model

构建自定义 Conformer Wav2Vec2Model

conformer_wav2vec2_base

构建具有“小型”架构的 Conformer Wav2Vec2 模型,来自基于 Conformer 的自监督学习用于非语音音频任务 [Srivastava 等人,2022]

实用函数

import_fairseq_model

根据fairseq的相应模型对象构建Wav2Vec2Model

import_huggingface_model

根据Transformers的相应模型对象构建Wav2Vec2Model

文档

访问 PyTorch 的全面开发者文档

查看文档

教程

获取针对初学者和高级开发人员的深入教程

查看教程

资源

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

查看资源