🚀 微调Wav2Vec2大型模型用于英文自动语音识别
本项目聚焦于微调Wav2Vec2大型模型,以实现英文自动语音识别(ASR)。通过使用多个公开数据集进行微调,并展示了评估结果,同时提供了模型的使用示例和许可信息。
🚀 快速开始
你可以点击下面的按钮在Colab中运行示例代码:

from transformers.file_utils import cached_path, hf_bucket_url
from importlib.machinery import SourceFileLoader
from transformers import Wav2Vec2ProcessorWithLM
from IPython.lib.display import Audio
import torchaudio
import torch
model_name = "nguyenvulebinh/iwslt-asr-wav2vec-large-4500h"
model = SourceFileLoader("model", cached_path(hf_bucket_url(model_name,filename="model_handling.py"))).load_module().Wav2Vec2ForCTC.from_pretrained(model_name)
processor = Wav2Vec2ProcessorWithLM.from_pretrained(model_name)
audio, sample_rate = torchaudio.load(cached_path(hf_bucket_url(model_name, filename="tst_2010_sample.wav")))
input_data = processor.feature_extractor(audio[0], sampling_rate=16000, return_tensors='pt')
output = model(**input_data)
print(processor.tokenizer.decode(output.logits.argmax(dim=-1)[0].detach().cpu().numpy()))
print(processor.decode(output.logits.cpu().detach().numpy()[0], beam_width=100).text)
✨ 主要特性
- 多数据集微调:使用多个公开数据集(如Common Voice、Librispeech等)对Wav2Vec2大型模型进行微调,提升英文ASR性能。
- 评估结果展示:提供了在Librispeech和Tedlium数据集上的评估结果,包括字错率(WER)。
- 代码示例:提供了完整的使用示例代码,方便用户快速上手。
📦 安装指南
文档未提供具体安装步骤,暂不展示。
💻 使用示例
基础用法
from transformers.file_utils import cached_path, hf_bucket_url
from importlib.machinery import SourceFileLoader
from transformers import Wav2Vec2ProcessorWithLM
from IPython.lib.display import Audio
import torchaudio
import torch
model_name = "nguyenvulebinh/iwslt-asr-wav2vec-large-4500h"
model = SourceFileLoader("model", cached_path(hf_bucket_url(model_name,filename="model_handling.py"))).load_module().Wav2Vec2ForCTC.from_pretrained(model_name)
processor = Wav2Vec2ProcessorWithLM.from_pretrained(model_name)
audio, sample_rate = torchaudio.load(cached_path(hf_bucket_url(model_name, filename="tst_2010_sample.wav")))
input_data = processor.feature_extractor(audio[0], sampling_rate=16000, return_tensors='pt')
output = model(**input_data)
print(processor.tokenizer.decode(output.logits.argmax(dim=-1)[0].detach().cpu().numpy()))
print(processor.decode(output.logits.cpu().detach().numpy()[0], beam_width=100).text)
高级用法
文档未提供高级用法示例,暂不展示。
📚 详细文档
微调数据
数据集 |
时长(小时) |
Common Voice |
1667 |
Europarl |
85 |
How2 |
356 |
Librispeech |
936 |
MuST-C v1 |
407 |
MuST-C v2 |
482 |
Tedlium |
482 |
评估结果
数据集 |
时长(小时) |
无语言模型的WER |
有语言模型的WER |
Librispeech |
5.4 |
2.9 |
1.1 |
Tedlium |
2.6 |
7.9 |
5.4 |
🔧 技术细节
文档未提供具体技术细节,暂不展示。
📄 许可证
自动语音识别(ASR)模型参数仅可用于非商业用途,遵循知识共享署名 - 非商业性使用 4.0 国际许可协议(CC BY - NC 4.0)。你可以在以下链接查看详细信息:https://creativecommons.org/licenses/by-nc/4.0/legalcode
📞 联系信息
如有任何问题或建议,请通过以下方式联系:
- 邮箱:nguyenvulebinh@gmail.com
- 推特:
