Views
No views yet
undetermined class for out-of-distribution inputs.as, bn, en, gu, hi, kn, ks, ml, mr, ne, or, pa, sa, sd, ta, te, ur, undetermined| version | overall | en | hi | kn | ta | te | undetermined |
|---|---|---|---|---|---|---|---|
| v5 | 91.82% | 98.2% | 99.7% | 91.6% | 81.3% | 80.5% | 77.8% |
| v6 | 93.25% | 96.0% | 99.8% | 97.5% | 92.4% | 78.8% | 82.5% |
| v7 | 96.07% | 100% | 99.8% | 99.2% | 97.9% | 93.8% | 84.0% |
1from transformers import AutoTokenizer, AutoModelForSequenceClassification
2import torch
3
4repo = "dnivra26/muril-lang-id-v7"
5tokenizer = AutoTokenizer.from_pretrained(repo)
6model = AutoModelForSequenceClassification.from_pretrained(repo)
7model.eval()
8
9LABELS = ["as","bn","en","gu","hi","kn","ks","ml","mr","ne","or","pa","sa","sd","ta","te","ur","undetermined"]
10ENERGY_THRESHOLD = -7.0 # energy > threshold ⇒ flag as undetermined
11
12text = "mera balance kitna hai"
13inputs = tokenizer(text, return_tensors="pt", truncation=True, max_length=128)
14with torch.inference_mode():
15 logits = model(**inputs).logits.squeeze(0)
16energy = -torch.logsumexp(logits, dim=0).item()
17top = int(logits.argmax())
18label = "undetermined" if energy > ENERGY_THRESHOLD else LABELS[top]
19print(label) # → hihi at inference time (Hindustani is effectively one spoken language).-11.22).