Instructions to use Yonatanhaile2026/tigrinya-trocrhandwritten with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use Yonatanhaile2026/tigrinya-trocrhandwritten with Transformers:
# Use a pipeline as a high-level helper # Warning: Pipeline type "image-to-text" is no longer supported in transformers v5. # You must load the model directly (see below) or downgrade to v4.x with: # 'pip install "transformers<5.0.0' from transformers import pipeline pipe = pipeline("image-to-text", model="Yonatanhaile2026/tigrinya-trocrhandwritten")# Load model directly from transformers import AutoTokenizer, AutoModelForImageTextToText tokenizer = AutoTokenizer.from_pretrained("Yonatanhaile2026/tigrinya-trocrhandwritten") model = AutoModelForImageTextToText.from_pretrained("Yonatanhaile2026/tigrinya-trocrhandwritten") - Notebooks
- Google Colab
- Kaggle
TrOCR-Handwritten for Tigrinya OCR
Tigrinya TrOCR — Handwritten Variant
Adapting TrOCR for Printed Tigrinya Text Recognition: Word-Aware Loss Weighting for Cross-Script Transfer Learning
A fine-tuned TrOCR model for printed Tigrinya line-level text recognition.
This is the handwritten pre-training variant, fine-tuned from microsoft/trocr-base-handwritten using vocabulary extension and Word-Aware Loss Weighting
to resolve word-boundary failures caused by BPE space-marker conventions.
Model Details
| Field | Value |
|---|---|
| Model name | Yonatanhaile2026/tigrinya-trocr-handwritten |
| Base model | microsoft/trocr-base-handwritten |
| Task | Tigrinya OCR (image-to-text) |
| Language | Tigrinya (ti) |
| Script | Ge'ez |
| Model type | VisionEncoderDecoderModel |
| Vocabulary | Extended from 50,265 → 50,495 tokens (230 Ge'ez characters added) |
| Training data | GLOCR Tigrinya News text-line images (synthetic) |
Performance
Evaluated on a held-out test set of 5,000 synthetic Tigrinya text-line images.
| Metric | Value |
|---|---|
| Character Error Rate (CER) | 0.38% |
| Word Error Rate (WER) | 1.15% |
| Exact Match Accuracy | 96.86% |
Bootstrap 95% Confidence Intervals (1,000 iterations, TrOCR-Printed)
| Metric | Point Estimate | 95% CI |
|---|---|---|
| CER | 0.20% | [0.17%, 0.24%] |
| WER | 0.76% | [0.64%, 0.90%] |
| Accuracy | 97.44% | [97.02%, 97.84%] |
Bootstrap intervals were computed on the TrOCR-Printed variant; see the printed model card for details.
Comparison (same dataset and split)
| Model | CER | WER | Accuracy |
|---|---|---|---|
| TrOCR-Handwritten (fine-tuned) | 0.38% | 1.15% | 96.86% |
| TrOCR-Printed (fine-tuned) | 0.22% | 0.87% | 97.20% |
| CRNN-CTC Baseline | 0.12% | 0.57% | 98.20% |
Training Details
| Hyperparameter | Value |
|---|---|
| Optimizer | AdamW |
| Learning rate | 4e-5 |
| LR scheduler | Linear decay (no warmup) |
| Epochs | 10 |
| Per-device batch size | 2 |
| Gradient accumulation steps | 4 |
| Effective batch size | 8 |
| Mixed precision | FP16 |
| Boundary loss weight | 2.0 |
| Random seed | 42 |
| Training duration | ~2h 40m |
| Hardware | NVIDIA RTX 5060 Laptop (8 GB GDDR7) |
How to Use
from transformers import VisionEncoderDecoderModel, TrOCRProcessor
from PIL import Image
processor = TrOCRProcessor.from_pretrained("Yonatanhaile2026/tigrinya-trocrhandwritten")
model = VisionEncoderDecoderModel.from_pretrained("Yonatanhaile2026/tigrinya-trocrhandwritten")
Load your text-line image
image = Image.open("your_tigrinya_text_line.png").convert("RGB")
pixel_values = processor(images=image, return_tensors="pt").pixel_values
generated_ids = model.generate(pixel_values, num_beams=5, max_length=128)
prediction = processor.batch_decode(generated_ids, skip_special_tokens=True)[0]
print(prediction)
Intended Use
Suitable for:
- Tigrinya OCR research on synthetic or clean text-line images
- Baseline comparison against printed-specific and CTC-based OCR models
- Research on cross-script transfer learning and BPE tokenizer adaptation
Not suitable for:
- Production OCR without validation on real scanned or handwritten documents
- Scenarios where the printed variant would be preferable
- Documents with heavy degradation, low resolution, or non-text noise
Limitations
- Trained and evaluated exclusively on synthetic printed data from a single domain (newspaper text lines)
- Performance on real-world scanned or genuinely handwritten Tigrinya documents is not validated
- Underperforms the printed TrOCR variant on this synthetic printed corpus
- Results reflect a single training run on one hardware configuration
Related Resources
- Printed variant:
Yonatanhaile2026/tigrinya-trocr-printed - Code repository: github.com/YoHa2024NKU/Tigrinya_TrOCR_Printed
- Dataset: GLOCR — Harvard Dataverse
Citation
If you use this model, please cite the associated paper and repository:
@misc{medhanie2026adaptingtrocrprintedtigrinya,
title={Adapting TrOCR for Printed Tigrinya Text Recognition: Word-Aware Loss Weighting for Cross-Script Transfer Learning},
author={Yonatan Haile Medhanie and Yuanhua Ni},
year={2026},
eprint={2604.20813},
archivePrefix={arXiv},
primaryClass={cs.CV},
url={https://arxiv.org/abs/2604.20813},
}
License
MIT
- Downloads last month
- 3
Model tree for Yonatanhaile2026/tigrinya-trocrhandwritten
Base model
microsoft/trocr-base-handwrittenPaper for Yonatanhaile2026/tigrinya-trocrhandwritten
Evaluation results
- Character Error Rate on GLOCR Tigrinya News Text-Linestest set self-reported0.004
- Word Error Rate on GLOCR Tigrinya News Text-Linestest set self-reported0.011
- Exact Match Accuracy on GLOCR Tigrinya News Text-Linestest set self-reported0.969