语言:
- 英语
许可协议: apache-2.0
标签:
- 自动语音识别
- pytorch
- transformers
- 英语
- 训练生成
模型索引:
- 名称: wav2vec2-xls-r-300m-phoneme
结果:
- 任务:
名称: 语音识别
类型: 自动语音识别
数据集:
名称: DARPA TIMIT
类型: timit
参数: 英语
指标:
- 名称: 测试CER
类型: cer
值: 7.996
模型
此模型是在Timit数据集上微调的facebook/wav2vec2-xls-r-300m版本。查看此笔记本获取训练详情。
使用方法
方法1: 使用HuggingFace的流水线,这将涵盖从原始音频输入到文本输出的端到端处理。
from transformers import pipeline
pipe = pipeline(model="vitouphy/wav2vec2-xls-r-300m-timit-phoneme")
output = pipe("audio_file.wav", chunk_length_s=10, stride_length_s=(4, 2))
方法2: 更自定义的音素预测方式。
from transformers import Wav2Vec2Processor, Wav2Vec2ForCTC
from datasets import load_dataset
import torch
import soundfile as sf
processor = Wav2Vec2Processor.from_pretrained("vitouphy/wav2vec2-xls-r-300m-timit-phoneme")
model = Wav2Vec2ForCTC.from_pretrained("vitouphy/wav2vec2-xls-r-300m-timit-phoneme")
audio_input, sample_rate = sf.read("audio_file.wav")
inputs = processor(audio_input, sampling_rate=16_000, return_tensors="pt", padding=True)
with torch.no_grad():
logits = model(inputs.input_values, attention_mask=inputs.attention_mask).logits
predicted_ids = torch.argmax(logits, axis=-1)
predicted_sentences = processor.batch_decode(predicted_ids)
print(predicted_sentences)
训练和评估数据
我们使用DARPA TIMIT数据集进行此模型训练。
- 我们按80/10/10的比例分割为训练集、验证集和测试集。
- 这大致对应于约137/17/17分钟。
- 模型在此测试集上获得了**7.996%**的成绩。
训练过程
训练超参数
训练期间使用了以下超参数:
- 学习率: 3e-05
- 训练批次大小: 8
- 评估批次大小: 8
- 随机种子: 42
- 梯度累积步数: 4
- 总训练批次大小: 32
- 优化器: Adam,参数betas=(0.9,0.999)和epsilon=1e-08
- 学习率调度器类型: 线性
- 学习率预热步数: 2000
- 训练步数: 10000
- 混合精度训练: Native AMP
框架版本
- Transformers 4.17.0.dev0
- Pytorch 1.10.2+cu102
- Datasets 1.18.2.dev0
- Tokenizers 0.11.0
引用
@misc { phy22-phoneme,
作者 = {Phy, Vitou},
标题 = {{基于Wav2Vec 2.0的TIMIT数据集自动音素识别}},
年份 = 2022,
备注 = {{如果您使用此模型,请使用这些元数据进行引用。}},
发布者 = {Hugging Face},
版本 = {1.0},
DOI = {10.57967/hf/0125},
网址 = {https://huggingface.co/vitouphy/wav2vec2-xls-r-300m-timit-phoneme}
}