speechbrain.lobes.models.fairseq_wav2vec 模块
此 lobe 支持集成 fairseq 预训练的 wav2vec 模型。
参考文献:https://arxiv.org/abs/2006.11477 参考文献:https://arxiv.org/abs/1904.05862 需要安装 FairSeq >= 1.0.0:https://fairseq.readthedocs.io/en/latest/
- 作者
Titouan Parcollet 2021
Salima Mdhaffar 2021
总结
类
此 lobes 支持集成 fairseq 预训练的 wav2vec1.0 模型。 |
|
此 lobe 支持集成 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]
源论文:https://arxiv.org/abs/2006.11477 需要安装 FairSeq >= 0.10.0:https://fairseq.readthedocs.io/en/latest/
此 lobe 支持集成 fairseq 预训练的 wav2vec2.0 模型。
原文论文: https://arxiv.org/abs/2006.11477 需要安装 FairSeq >= 0.10.0: https://fairseq.readthedocs.io/en/latest/
该模型可用作固定特征提取器,或进行微调。如果给出 URL (例如 GitHub 上的 FairSeq 仓库),它会自动下载模型。
- 参数:
pretrained_path (str) – 预训练 wav2vec2 模型的路径。可以是 URL 或本地路径。
save_path (str) – 下载模型的路径和文件名。
input_norm (bool (默认值: None)) – 如果为 True,将对输入波形应用 layer_norm (affine)。默认情况下,它从下载模型的检查点中提取,以匹配预训练条件。但是,如果检查点中未提供此信息,则必须手动提供。
output_norm (bool (默认值: False)) – 如果为 True,将对从 wav2vec 模型获得的输出应用 layer_norm (affine)。
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 的情况下训练,并且希望在下游任务微调中重新激活 dropout 时非常有用 (观察到更好的性能)。
layer_drop (float (默认值: None)) – 如果不为 None (0.0 到 1.0),它将覆盖给定的 fairseq layer_drop 率。这在 wav2vec2 模型在没有 layer_drop 的情况下训练,并且希望在下游任务微调中重新激活 layer_drop 时非常有用。
示例
>>> 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]
源论文:https://arxiv.org/abs/2006.11477 需要安装 FairSeq >= 0.10.0:https://fairseq.readthedocs.io/en/latest/
此 lobes 支持集成 fairseq 预训练的 wav2vec1.0 模型。
- 参数:
pretrained_path (str) – 预训练 wav2vec1 模型的路径。可以是 URL 或本地路径。
save_path (str) – 下载模型的路径和文件名。
output_norm (bool (默认值: True)) – 如果为 True,将对从 wav2vec 模型获得的输出应用 layer_norm (affine)。
freeze (bool (默认值: True)) – 如果为 True,模型将被冻结。如果为 False,模型将与流水线其余部分一起训练。
pretrain (bool (默认值: True)) – 如果为 True,则使用指定的来源预训练模型。如果为 False,则实例化随机初始化的模型。
示例
>>> 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])