Read-prose regression vs vasista22 base: +9 pp on FLEURS, +9 pp on CV25, tied on IV.
1from transformers import WhisperForConditionalGeneration, WhisperProcessor
2from peft import PeftModel
3import torch, librosa
4
5base_model = "vasista22/whisper-hindi-large-v2"
6processor = WhisperProcessor.from_pretrained(base_model, language="hindi", task="transcribe")
7model = WhisperForConditionalGeneration.from_pretrained(base_model, torch_dtype=torch.bfloat16).to("cuda")
8forced = processor.tokenizer.get_decoder_prompt_ids(language="hindi", task="transcribe")
9model.config.forced_decoder_ids = forced
10model.generation_config.forced_decoder_ids = forced
11model.generation_config.suppress_tokens = []
12
13model = PeftModel.from_pretrained(model, "Praxel/praxy-stt-hi-rb")
14model.eval()
15
16audio, _ = librosa.load("path/to/audio.wav", sr=16000, mono=True)
17feats = processor.feature_extractor(audio, sampling_rate=16000, return_tensors="pt").input_features.to("cuda", dtype=torch.bfloat16)
18pred_ids = model.generate(feats, max_new_tokens=400, num_beams=1)
19print(processor.tokenizer.decode(pred_ids[0], skip_special_tokens=True).strip())
License: Apache-2.0.