Zero-Shot Classification
Transformers
Safetensors
Arabic
bert
feature-extraction
arabic
prompt-routing
router
encoder
tiny-model
Instructions to use oddadmix/Nawah-Router-BERT-6M-v2 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use oddadmix/Nawah-Router-BERT-6M-v2 with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("zero-shot-classification", model="oddadmix/Nawah-Router-BERT-6M-v2")# Load model directly from transformers import AutoTokenizer, AutoModel tokenizer = AutoTokenizer.from_pretrained("oddadmix/Nawah-Router-BERT-6M-v2") model = AutoModel.from_pretrained("oddadmix/Nawah-Router-BERT-6M-v2", device_map="auto") - Notebooks
- Google Colab
- Kaggle
File size: 1,342 Bytes
edccc2c | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | """© KAND CA 2026 - evaluate a router checkpoint without retraining.
Reuses train_router_head.py's own loaders and report() so a published model and
a new one are scored by identical code in one session.
A checkpoint saved by train_router_head.py is a directory with the backbone plus
router_model.pt (the span scorer). The published Nawah-Router-v3 has the same
layout, so both load through the same path.
"""
import os, sys
os.environ.setdefault("DATA_DIR", "ds/data")
import torch
from transformers import AutoTokenizer
import train_router_head as T
def load_model(mid):
m = T.RouterModel(mid)
w = os.path.join(mid, "router_model.pt") if os.path.isdir(mid) else None
if w is None:
from huggingface_hub import hf_hub_download
w = hf_hub_download(mid, "router_model.pt")
if os.path.exists(w):
m.load_state_dict(torch.load(w, map_location="cpu", weights_only=True))
return m.cuda().eval()
for mid in sys.argv[1:]:
tok = AutoTokenizer.from_pretrained(mid)
m = load_model(mid)
n = sum(p.numel() for p in m.parameters())
print(f"\n{'='*66}\n{mid} params={n:,}")
for name in ("eval_unseen_lanes", "eval_unseen_domain", "eval_unseen_axis", "eval_hard"):
rows = T.load(name)
T.report(m, tok, rows, name.replace("eval_", ""))
del m; torch.cuda.empty_cache()
|