PiotrSty/trocr-pl-mixed-v1 (experimental)
Fine-tune of PiotrSty/trocr-pl-base on synthetic Polish print + real EHRI typewritten Polish lines (CC-BY 4.0, ehri-pl-lines).
Training
- Base: PiotrSty/trocr-pl-base
- Method: QLoRA, decoder attn q/k/v/out_proj, rank 16, alpha 32
- Train: 2000 synthetic + 349 real EHRI lines (3 docs)
- Val: 38 EHRI lines (held-out doc ZIH3010905)
- Epochs: 5, batch 8, lr 2e-4, T4 x2
- Best checkpoint: checkpoint-735 (val CER 0.3351)
- Document-level split, no line leakage.
Evaluation on frozen held-out sets
| Model | EHRI test (81, typewriter) | real-lines-v1 (75, print) |
|---|---|---|
| trocr-pl-base (run2) | CER 47.30% / WER 90.82% | CER 11.11% / WER 35.84% |
| trocr-pl-mixed-v1 (run3) | CER 33.95% / WER 85.69% | CER 7.09% / WER 29.44% |
Mixed fine-tuning improved BOTH domains (typewriter -28% CER, print -36% CER).
Limitations
- Typewriter WER still ~86%; word-level weak.
- Only 349 real typewritten lines; more data should help.
- Page segmentation on faded typewriter is unreliable; this is a line recognizer.
- Do NOT use as drop-in replacement for trocr-pl-base without your own eval.
Provenance
See run.json, selection.json, best_metrics.json in this repo. Source: https://github.com/PiotrStyla/OCR_engine (commit 7065e6a) EHRI dataset: https://huggingface.co/datasets/PiotrSty/ehri-pl-lines