Views
No views yet
quantized/ directory) for efficient inference.1.
2├── config.json # PyTorch model configuration
3├── model.safetensors # PyTorch model weights
4├── quantized/ # Optimized ONNX model folder
5│ ├── config.json
6│ ├── model_quantized.onnx # Quantized ONNX weights
7│ ├── ort_config.json
8│ ├── special_tokens_map.json
9│ ├── spiece.model
10│ ├── tokenizer_config.json
11│ └── tokenizer.json
12├── Readme.md
13├── special_tokens_map.json
14├── spiece.model # SentencePiece model
15├── tokenizer_config.json
16└── tokenizer.jsonHooshvareLab/albert-fa-zwnj-base-v2quantized/ directory)0: NO_EZAFE (No sound added)1: NEEDS_EZAFE (Add /e/ or /ye/ sound)| Metric | Score |
|---|---|
| F1 Score | 98.73% |
1from transformers import AutoTokenizer, AutoModelForTokenClassification
2import torch
3
4model_id = "abreza/persian-ezafe-albert"
5
6tokenizer = AutoTokenizer.from_pretrained(model_id)
7model = AutoModelForTokenClassification.from_pretrained(model_id)
8
9text = "کتابخانه مرکزی دانشگاه شریف، فضای وسیع و چشمنوازی دارد."
10inputs = tokenizer(text, return_tensors="pt")
11
12with torch.no_grad():
13 logits = model(**inputs).logits
14 predictions = torch.argmax(logits, dim=2)
15
16tokens = tokenizer.convert_ids_to_tokens(inputs["input_ids"][0])
17id2label = {0: "-", 1: "EZAFE"}
18
19for token, label_id in zip(tokens, predictions[0].tolist()):
20 if token not in tokenizer.all_special_tokens:
21 print(f"{token.replace("▁", ""):<15} | {id2label[label_id]}")quantized subfolder. This is the format used in the Piper-with-LCA-Phonemizer Docker container.1from optimum.onnxruntime import ORTModelForTokenClassification
2from transformers import AutoTokenizer
3import torch
4
5model_id = "abreza/persian-ezafe-albert"
6
7tokenizer = AutoTokenizer.from_pretrained(model_id, subfolder="quantized")
8model = ORTModelForTokenClassification.from_pretrained(
9 model_id,
10 subfolder="quantized",
11 file_name="model_quantized.onnx"
12)
13
14text = "کتابخانه مرکزی دانشگاه شریف، فضای وسیع و چشمنوازی دارد."
15inputs = tokenizer(text, return_tensors="pt")
16
17with torch.no_grad():
18 outputs = model(**inputs)
19 predictions = torch.argmax(outputs.logits, dim=2)
20
21tokens = tokenizer.convert_ids_to_tokens(inputs["input_ids"][0])
22
23id2label = {0: "-", 1: "EZAFE"}
24
25for token, label_id in zip(tokens, predictions[0].tolist()):
26 if token not in tokenizer.all_special_tokens:
27 print(f"{token.replace("▁", ""):<15} | {id2label[label_id]}")