Downloads · 30 days
0
chhatramani/WhisperV3_Nepali_v0.5
WhisperV3_Nepali_v0.5 is a automatic speech recognition model from chhatramani. Use it when you need speech turned into text. The card lists the license as apache-2.0.
A Nepali automatic speech recognition (ASR) model fine‑tuned from Whisper Large V3 with LoRA. Trained on Nepali speech and transcriptions to improve accuracy on Nepali audio compared to the base model.
Downloads · 30 days
0
Access
Public
Updated Aug 13, 2025
Repo size
126 MB
Likes
0
Public
Click a slice to open those files.
.safetensors126 MB · 99%
From the Hugging Face model README
A Nepali automatic speech recognition (ASR) model fine‑tuned from Whisper Large V3 with LoRA. Trained on Nepali speech and transcriptions to improve accuracy on Nepali audio compared to the base model.
This model was trained and saved as LoRA adapters, with optional merged 16‑bit/4‑bit export paths available via Unsloth utilities.
Data was prepared with a processing function that extracts Whisper input features from audio and tokenizes target transcripts, aligning “sentence” as the text field for Common Voice.
Training used a Google Colab T4 environment (around 14.7 GB GPU memory), with peak reserved memory during training around 6.2 GB in the referenced session.
from transformers import pipeline
import torch
asr = pipeline(
"automatic-speech-recognition",
model="chhatramani/WhisperV3_Nepali_v0.5", # replace with your model id if different
return_language=True,
torch_dtype=torch.float16,
)
result = asr("path/to/audio.wav") # 16 kHz mono recommended
print(result["text"])
from transformers import AutoModelForSpeechSeq2Seq, AutoProcessor
import torch, soundfile as sf
model_id = "chhatramani/WhisperV3_Nepali_v0.5"
model = AutoModelForSpeechSeq2Seq.from_pretrained(model_id, torch_dtype=torch.float16).eval().to("cuda")
processor = AutoProcessor.from_pretrained(model_id)
audio, sr = sf.read("path/to/audio.wav")
inputs = processor(audio, sampling_rate=sr, return_tensors="pt").to("cuda", torch.float16)
pred_ids = model.generate(**inputs)
text = processor.batch_decode(pred_ids, skip_special_tokens=True)[0]
print(text)
Below is a minimal recipe to compute WER/CER on a Nepali test set (e.g., Common Voice 17.0 “test”). Adjust paths and batching for your setup.
from datasets import load_dataset, Audio
from transformers import pipeline
import evaluate
wer = evaluate.load("wer")
cer = evaluate.load("cer")
asr = pipeline(
"automatic-speech-recognition",
model="chhatramani/WhisperV3_Nepali_v0.5",
return_language=True
)
test = load_dataset("mozilla-foundation/common_voice_17_0", "ne-NP", split="test")
test = test.cast_column("audio", Audio(sampling_rate=16000))
refs, hyps = [], []
for ex in test:
ref = ex.get("sentence", "").strip()
if not ref:
continue
out = asr(ex["audio"]["array"])
hyp = out["text"].strip()
refs.append(ref)
hyps.append(hyp)
print("WER:", wer.compute(references=refs, predictions=hyps))
print("CER:", cer.compute(references=refs, predictions=hyps))
If you have your own Nepali test set, ensure it’s sampled at 16 kHz and transcriptions are normalized consistently with training data.
save_pretrained / push_to_hub; optional merged exports to 16‑bit or 4‑bit are supported in Unsloth APIsThe included training notebook steps (installation, data prep, training loop, saving, and example inference) informed this model card’s details.