CoolFace
Modelpublic

kingabzpro/wav2vec2-large-xls-r-1b-Swedish

sourceHugging Faceapache-2.0updated 1y agoView on Hugging Face
1likes3kdownloads
Model Card

<!-- This model card has been generated automatically according to the information the Trainer had access to. You should probably proofread and complete it, then remove this comment. -->

wav2vec2-large-xls-r-1b-Swedish

This model is a fine-tuned version of facebook/wav2vec2-xls-r-1b on the common_voice dataset. It achieves the following results on the evaluation set:

Without LM

  • —Loss: 0.3370
  • —Wer: 18.44
  • —Cer: 5.75

With LM

  • —Loss: 0.3370
  • —Wer: 14.04
  • —Cer: 4.86
Evaluation Commands
  1. 1.To evaluate on mozilla-foundation/common_voice_8_0 with split test
bash
python eval.py --model_id kingabzpro/wav2vec2-large-xls-r-1b-Swedish --dataset mozilla-foundation/common_voice_8_0 --config sv-SE --split test
  1. 1.To evaluate on speech-recognition-community-v2/dev_data
bash
python eval.py --model_id kingabzpro/wav2vec2-large-xls-r-1b-Swedish --dataset speech-recognition-community-v2/dev_data --config sv --split validation --chunk_length_s 5.0 --stride_length_s 1.0

Inference With LM

python
import torch
from datasets import load_dataset
from transformers import AutoModelForCTC, AutoProcessor
import torchaudio.functional as F
model_id = "kingabzpro/wav2vec2-large-xls-r-1b-Swedish"
sample_iter = iter(load_dataset("mozilla-foundation/common_voice_8_0", "sv-SE", split="test", streaming=True, use_auth_token=True))
sample = next(sample_iter)
resampled_audio = F.resample(torch.tensor(sample["audio"]["array"]), 48_000, 16_000).numpy()
model = AutoModelForCTC.from_pretrained(model_id)
processor = AutoProcessor.from_pretrained(model_id)
input_values = processor(resampled_audio, return_tensors="pt").input_values
with torch.no_grad():
    logits = model(input_values).logits
transcription = processor.batch_decode(logits.numpy()).text

Training hyperparameters

The following hyperparameters were used during training:

  • —learning_rate: 7.5e-05
  • —trainbatchsize: 64
  • —evalbatchsize: 8
  • —seed: 42
  • —gradientaccumulationsteps: 4
  • —totaltrainbatch_size: 256
  • —optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08
  • —lrschedulertype: linear
  • —lrschedulerwarmup_steps: 1000
  • —num_epochs: 50
  • —mixedprecisiontraining: Native AMP

Training results

Training LossEpochStepValidation LossWerCer
3.156211.115000.48300.37290.1169
0.565522.2210000.35530.23810.0743
0.337633.3315000.33590.21790.0696
0.241944.4420000.32320.18440.0575

Framework versions

  • —Transformers 4.17.0.dev0
  • —Pytorch 1.10.2+cu102
  • —Datasets 1.18.2.dev0
  • —Tokenizers 0.11.0