Views
No views yet
ALIGHASEMI931/w2v-bert-2.0-persian-colab-CV16.0, itself a Common Voice 16.0 fine-tune of facebook/w2v-bert-2.0 for Persian ASR.nvfp4-pack-quantized (compressed-tensors). 4-bit FP4 (E2M1) weights, per-block FP8 (E4M3) scales, per-tensor FP32 global scales; activations dynamically quantized to FP4 (W4A4).lm_head left full precision.Reza2kn/persian-asr-eval-v0 (held out from the WER eval set).Reza2kn/persian-asr-eval-v0 (FLEURS-fa, 839 clips)| Variant | WER ↓ | CER ↓ | Disk | Peak VRAM | per-clip latency |
|---|---|---|---|---|---|
| NVFP4 (this repo) | 35.19% | 9.61% | 620 MB | 2590 MiB | 199 ms |
1import torch, soundfile as sf
2from transformers import AutoFeatureExtractor, AutoTokenizer, Wav2Vec2BertForCTC
3
4repo = "Reza2kn/ALIGHASEMI931_w2v-bert-2.0-persian-colab-CV16.0-NVFP4"
5fe = AutoFeatureExtractor.from_pretrained(repo)
6tok = AutoTokenizer.from_pretrained(repo)
7model = Wav2Vec2BertForCTC.from_pretrained(repo, dtype=torch.bfloat16).to("cuda").eval()
8
9wav, sr = sf.read("clip.wav", dtype="float32")
10feat = fe(wav, sampling_rate=sr, return_tensors="pt")
11feat = {k: (v.to("cuda").to(torch.bfloat16) if v.is_floating_point() else v.to("cuda")) for k, v in feat.items()}
12
13with torch.no_grad():
14 logits = model(**feat).logits
15
16ids = logits.argmax(-1)[0].tolist()
17out, prev = [], -1
18for i in ids:
19 if i != prev and i != tok.pad_token_id:
20 out.append(i)
21 prev = i
22print(tok.decode(out, skip_special_tokens=True))