🚀 微調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
- 推特:
