PP-OCRv6 Medium Recognition — Vietnamese
Fine-tuned PP-OCRv6_medium_rec inference model for Vietnamese text
recognition. This is a recognition model: its input should be a cropped word or
text-line image. For full-page OCR, combine it with a PaddleOCR text detection
model such as PP-OCRv6_medium_det.
Training data
The training run mixed three Vietnamese OCR sources:
- handwriting OCR;
- scanned Vietnamese text;
- uppercase Vietnamese text.
After validation and filtering, the run contained 102,875 training samples and
2,100 validation samples. Empty or invalid samples, unsupported characters, and
over-length labels were excluded during preparation.
Model files
inference.json
inference.pdiparams
inference.yml
ppocr_keys.txt
The model uses a Vietnamese NFC character dictionary bundled as
ppocr_keys.txt and a recognition image height of 48 pixels.
Training checkpoint
The training_checkpoint/ directory contains:
best_accuracy.pdparams: the best fine-tuned PaddleOCR weights;
best_accuracy.states: saved metric/training state metadata;
resolved_config.yml: the exact resolved configuration from the training
run.
The resolved configuration records the original machine paths for
reproducibility. Update its model, dictionary, and dataset paths before using it
on another machine. The optimizer file is intentionally not included, so this
checkpoint supports loading the fine-tuned weights but not an exact
optimizer-state resume.
Usage
Download the repository and pass its directory to PaddleOCR:
1paddleocr text_recognition \
2 --model_dir /path/to/pp-ocrv6-medium-rec-vietnamese \
3 -i /path/to/cropped_text.png
In Python, use the directory as text_recognition_model_dir when creating a
PaddleOCR pipeline.
Notes
- This repository contains both inference artifacts and the best fine-tuned
weight checkpoint.
- Recognition quality depends on crop quality and whether the text style is
represented by the fine-tuning data.
- Use the included character dictionary with the model; replacing it changes
the output class mapping.