Wav2Vec2Model¶
- class torchaudio.models.Wav2Vec2Model(feature_extractor: Module, encoder: Module, aux: Optional[Module] = None)[source]¶
wav2vec 2.0 中使用的声学模型 [Baevski 等人,2020]。
注意
要构建模型,请使用其中一个工厂函数。
另请参阅
torchaudio.pipelines.Wav2Vec2Bundle
:预训练模型(无需微调)torchaudio.pipelines.Wav2Vec2ASRBundle
:带有预训练模型的 ASR 管道。
- 参数:
feature_extractor (torch.nn.Module) – 从原始音频张量中提取特征向量的特征提取器。
encoder (torch.nn.Module) – 将音频特征转换为标签上概率分布序列(以负对数似然表示)的编码器。
aux (torch.nn.Module 或 None, 可选) – 辅助模块。如果提供,则编码器的输出将传递到此模块。
- 使用
Wav2Vec2Model
的教程 - 使用 Wav2Vec2 进行语音识别使用 CTC 解码器进行 ASR 推理使用 Wav2Vec2 进行强制对齐
方法¶
forward¶
- Wav2Vec2Model.forward(waveforms: Tensor, lengths: Optional[Tensor] = None) Tuple[Tensor, Optional[Tensor]] [source]¶
计算标签上概率分布的序列。
- 参数:
waveforms (Tensor) – 形状为 (batch, frames) 的音频张量。
lengths (Tensor 或 None, 可选) – 指示批次中每个音频的有效长度。形状:(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 (Tensor 或 None, 可选) – 指示批次中每个音频的有效长度。形状:(batch, )。当
waveforms
包含持续时间不同的音频时,通过提供lengths
参数,模型将计算相应的有效输出长度并在 Transformer 注意力层中应用适当的掩码。如果为None
,则假定整个音频波形长度有效。num_layers (int 或 None, 可选) – 如果给出,则限制要遍历的中间层数。提供1将在遍历一个中间层后停止计算。如果未给出,则返回所有中间层的输出。
- 返回值:
- 张量列表
来自请求层的特征。每个张量形状为:(batch, time frame, feature dimension)
- Tensor 或 None
如果提供了
lengths
参数,则返回形状为(batch, )的张量。它指示每个特征张量在时间轴上的有效长度。
- 返回类型:
(List[Tensor], Optional[Tensor])
工厂函数¶
构建自定义 |
|
根据wav2vec 2.0构建“基础” |
|
根据wav2vec 2.0构建“大型” |
|
根据wav2vec 2.0构建“大型 lv-60k” |
|
构建具有 3 亿个参数的 XLS-R 模型 [Babu 等人,2021]。 |
|
构建具有 10 亿个参数的 XLS-R 模型 [Babu 等人,2021]。 |
|
构建具有 20 亿个参数的 XLS-R 模型 [Babu 等人,2021]。 |
|
根据HuBERT构建“基础” |
|
根据HuBERT构建“大型” |
|
根据HuBERT构建“超大型” |
|
构建自定义 WaveLM 模型 [Chen 等人,2022]。 |
|
构建“基础”WaveLM 模型 [Chen 等人,2022]。 |
|
构建“大型”WaveLM 模型 [Chen 等人,2022]。 |
原型工厂函数¶
构建自定义 Emformer HuBERT 模型。 |
|
构建具有 20 个 Emformer 层的 Emformer HuBERT 模型。 |
|
构建自定义 Conformer Wav2Vec2Model |
|
构建具有“小型”架构的 Conformer Wav2Vec2 模型,来自基于 Conformer 的自监督学习用于非语音音频任务 [Srivastava 等人,2022] |
实用函数¶
根据fairseq的相应模型对象构建 |
|
根据Transformers的相应模型对象构建 |