--- library_name: PaddleOCR pipeline_tag: image-to-text language: - vi tags: - paddleocr - pp-ocrv6 - ocr - vietnamese --- # 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: ```bash paddleocr text_recognition \ --model_dir /path/to/pp-ocrv6-medium-rec-vietnamese \ -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.