模型:
facebook/wav2vec2-large-robust-ft-swbd-300h
任务:
自动语音识别数据集:
libri_light common_voice switchboard fisher 3Afisher 3Aswitchboard 3Acommon_voice 3Alibri_light语言:
en预印本库:
arxiv:2104.01027许可:
apache-2.0此模型是 wav2vec2-large-robust 模型的微调版本。它在以下数据上进行了预训练:
并且随后在300小时的以下数据上进行了微调:
使用该模型时,请确保语音输入也以16KHz进行采样。
作者:Wei-Ning Hsu, Anuroop Sriram, Alexei Baevski, Tatiana Likhomanenko, Qiantong Xu, Vineel Pratap, Jacob Kahn, Ann Lee, Ronan Collobert, Gabriel Synnaeve, Michael Auli
摘要 自我监督学习的语音表示一直是一个非常活跃的研究领域,但大部分工作都集中在单一领域,例如有大量标记和未标记数据的读音频书籍。在本文中,我们探索了更一般的设置,其中无标记数据的领域与微调的有标记数据的领域不同,而这些又可能与测试数据的领域不同。我们的实验显示,在预训练期间使用目标领域数据能够大幅改善各种设置下的性能表现。在大规模竞争性设置中,我们展示了在无标记领域数据上预训练可以将在领域内和领域外的有标记数据上训练的模型之间的差距减小66%-73%。这显然具有实际意义,因为获得无标记目标领域数据比获得有标记数据容易得多。此外,我们发现在多个领域上进行预训练可以提高在训练过程中未见过的领域的泛化性能。代码和模型将在此 https URL 上提供。
可在 https://github.com/pytorch/fairseq/tree/master/examples/wav2vec#wav2vec-20 下找到原始模型。
要转录音频文件,可以将模型作为独立的声学模型使用,方法如下:
from transformers import Wav2Vec2Processor, Wav2Vec2ForCTC from datasets import load_dataset import torch # load model and processor processor = Wav2Vec2Processor.from_pretrained("facebook/wav2vec2-large-robust-ft-swbd-300h") model = Wav2Vec2ForCTC.from_pretrained("facebook/wav2vec2-large-robust-ft-swbd-300h") # load dummy dataset and read soundfiles ds = load_dataset("patrickvonplaten/librispeech_asr_dummy", "clean", split="validation") # tokenize input_values = processor(ds[0]["audio"]["array"], return_tensors="pt", padding="longest").input_values # Batch size 1 # retrieve logits logits = model(input_values).logits # take argmax and decode predicted_ids = torch.argmax(logits, dim=-1) transcription = processor.batch_decode(predicted_ids)