speechbrain.lobes.models.fairseq_wav2vec 模块
该模块支持集成fairseq预训练的wav2vec模型。
参考: https://arxiv.org/abs/2006.11477 参考: https://arxiv.org/abs/1904.05862 需要安装 FairSeq >= 1.0.0: https://fairseq.readthedocs.io/en/latest/
- Authors
Titouan Parcollet 2021
Salima Mdhaffar 2021
摘要
类:
该模块允许集成fairseq预训练的wav2vec1.0模型。 |
|
该模块允许集成fairseq预训练的wav2vec2.0模型。 |
参考
- class speechbrain.lobes.models.fairseq_wav2vec.FairseqWav2Vec2(pretrained_path, save_path, input_norm=None, output_norm=False, freeze=False, freeze_feature_extractor=False, pretrain=True, dropout=None, layer_drop=None)[source]
基础:
Module该模块支持集成fairseq预训练的wav2vec2.0模型。
源论文: https://arxiv.org/abs/2006.11477 需要安装 FairSeq >= 0.10.0: https://fairseq.readthedocs.io/en/latest/
该模型可以用作固定特征提取器,也可以进行微调。如果提供了URL(例如GitHub上的FairSeq仓库),它将自动下载模型。
- Parameters:
pretrained_path (str) – 预训练的wav2vec2模型的路径。它可以是URL或本地路径。
save_path (str) – 下载模型的路径和文件名。
input_norm (bool (默认值: None)) – 如果为True,将对输入波形应用层归一化(affine)。 默认情况下,它从下载模型的检查点中提取,以匹配预训练条件。然而,如果检查点中没有提供此信息,则需要手动提供。
output_norm (bool (默认值: False)) – 如果为True,将对从wav2vec模型获得的输出应用layer_norm(仿射)。
freeze (bool (默认值: False)) – 如果为True,模型将被冻结。如果为False,模型将与管道的其余部分一起训练。
freeze_feature_extractor (bool (默认值: False)) – 是否阻止特征提取权重更新。
pretrain (bool (默认值: True)) – 如果为True,模型将使用指定的源进行预训练。 如果为False,将实例化随机初始化的模型。
dropout (float (默认值: None)) – 如果与None不同(0.0到1.0),它将覆盖给定的fairseq dropout率。如果wav2vec2模型在没有dropout的情况下训练, 并且希望在微调下游任务时重新激活它(观察到更好的性能),这将非常有用。
layer_drop (float (默认值: None)) – 如果与None不同(0.0到1.0),它将覆盖给定的fairseq layer_drop率。如果wav2vec2模型在没有layer_drop的情况下训练,并且希望在微调下游任务时重新激活它,这将非常有用。
Example
>>> inputs = torch.rand([10, 600]) >>> model_url = "https://dl.fbaipublicfiles.com/fairseq/wav2vec/wav2vec_small.pt" >>> save_path = "models_checkpoints/wav2vec2.pt" >>> model = FairseqWav2Vec2(model_url, save_path) >>> outputs = model(inputs) >>> outputs.shape torch.Size([10, 100, 768])
- class speechbrain.lobes.models.fairseq_wav2vec.FairseqWav2Vec1(pretrained_path, save_path, output_norm=True, freeze=True, pretrain=True)[source]
基础:
Module该模块支持集成fairseq预训练的wav2vec1.0模型。
- Parameters:
pretrained_path (str) – 预训练的wav2vec1模型的路径。它可以是URL或本地路径。
save_path (str) – 下载模型的路径和文件名。
output_norm (bool (默认值: True)) – 如果为True,将对从wav2vec模型获得的输出应用layer_norm(仿射)。
freeze (bool (默认值: True)) – 如果为True,模型将被冻结。如果为False,模型将与管道的其余部分一起训练。
pretrain (bool (默认值: True)) – 如果为True,模型将使用指定的源进行预训练。 如果为False,将实例化随机初始化的模型。
Example
>>> inputs = torch.rand([10, 600]) >>> model_url = "" >>> save_path = "models_checkpoints/wav2vec.pt" >>> model = FairseqWav2Vec1(model_url, save_path) >>> outputs = model(inputs) >>> outputs.shape torch.Size([10, 100, 512])