This model is a fine-tuned version of
openai/whisper-small on the Common Voice 15 dataset.
It achieves the following results on the evaluation set:
1from datasets import load_dataset,load_metric,Audio
2from transformers import WhisperForConditionalGeneration, WhisperProcessor
3import torch
4import torchaudio
5
6test_dataset = load_dataset("mozilla-foundation/common_voice_13_0", "hi", split="test")
7wer = load_metric("wer")
8cer = load_metric("cer")
9
10processor = WhisperProcessor.from_pretrained("kingabzpro/whisper-small-hi-cv")
11model = WhisperForConditionalGeneration.from_pretrained("kingabzpro/whisper-small-hi-cv").to("cuda")
12test_dataset = test_dataset.cast_column("audio", Audio(sampling_rate=16000))
13
14def map_to_pred(batch):
15 audio = batch["audio"]
16 input_features = processor(audio["array"], sampling_rate=audio["sampling_rate"], return_tensors="pt").input_features
17 batch["reference"] = processor.tokenizer._normalize(batch['sentence'])
18
19 with torch.no_grad():
20 predicted_ids = model.generate(input_features.to("cuda"))[0]
21 transcription = processor.decode(predicted_ids)
22 batch["prediction"] = processor.tokenizer._normalize(transcription)
23 return batch
24
25result = test_dataset.map(map_to_pred)
26
27print("WER: {:2f}".format(100 * wer.compute(predictions=result["prediction"], references=result["reference"])))
28print("CER: {:2f}".format(100 * cer.compute(predictions=result["prediction"], references=result["reference"])))
1WER: 23.3824
2CER: 10.5288