--- license: apache-2.0 language: - zh - en - ja pipeline_tag: image-to-text base_model: - PaddlePaddle/PP-OCRv5_server_det tags: - PyTorch - OCR --- # Weights - ptocr_v5_server_det.safetensors — detection (server) weights [recommended] - ptocr_v5_server_rec.safetensors — recognition (server) weights [recommended] - ptocr_v5_server_det.pth — detection weights (legacy/compat) - ptocr_v5_server_rec.pth — recognition weights (legacy/compat) ## Configs - [PP-OCRv5_server_det.yml](https://huggingface.co/JoyCN/PaddleOCR-Pytorch/blob/main/PP-OCRv5_server_det.yml) — detection model config - [PP-OCRv5_server_rec.yml](https://huggingface.co/JoyCN/PaddleOCR-Pytorch/blob/main/PP-OCRv5_server_rec.yml) — recognition model config Download and load examples: Python: ```python from huggingface_hub import hf_hub_download import yaml # Detection config cfg_det_path = hf_hub_download("JoyCN/PaddleOCR-Pytorch", filename="PP-OCRv5_server_det.yml") with open(cfg_det_path, "r", encoding="utf-8") as f: cfg_det = yaml.safe_load(f) # Recognition config cfg_rec_path = hf_hub_download("JoyCN/PaddleOCR-Pytorch", filename="PP-OCRv5_server_rec.yml") with open(cfg_rec_path, "r", encoding="utf-8") as f: cfg_rec = yaml.safe_load(f) ``` Direct links (not counted by default): - https://huggingface.co/JoyCN/PaddleOCR-Pytorch/resolve/main/PP-OCRv5_server_det.yml?download=true - https://huggingface.co/JoyCN/PaddleOCR-Pytorch/resolve/main/PP-OCRv5_server_rec.yml?download=true ## Download (recommended) Python: ```python from huggingface_hub import hf_hub_download from safetensors.torch import load_file # Download safetensors det_path = hf_hub_download("JoyCN/PaddleOCR-Pytorch", filename="ptocr_v5_server_det.safetensors") rec_path = hf_hub_download("JoyCN/PaddleOCR-Pytorch", filename="ptocr_v5_server_rec.safetensors") # Load state dicts sd_det = load_file(det_path, device="cpu") sd_rec = load_file(rec_path, device="cpu") # Then # model_det.load_state_dict(sd_det, strict=False) # model_rec.load_state_dict(sd_rec, strict=False) ``` Direct links: - https://huggingface.co/JoyCN/PaddleOCR-Pytorch/resolve/main/ptocr_v5_server_det.safetensors?download=true - https://huggingface.co/JoyCN/PaddleOCR-Pytorch/resolve/main/ptocr_v5_server_rec.safetensors?download=true Legacy (.pth) loading: ```python import torch sd_det = torch.load("ptocr_v5_server_det.pth", map_location="cpu", weights_only=True) if isinstance(sd_det, dict) and "state_dict" in sd_det: sd_det = sd_det["state_dict"] sd_rec = torch.load("ptocr_v5_server_rec.pth", map_location="cpu", weights_only=True) if isinstance(sd_rec, dict) and "state_dict" in sd_rec: sd_rec = sd_rec["state_dict"] # model_det.load_state_dict(sd_det, strict=False) # model_rec.load_state_dict(sd_rec, strict=False) ``` ## System Inference (predict_system.py) Quick end-to-end OCR with PaddleOCR2Pytorch's system script. 1) Clone code and install minimal deps (CPU example) ```bash git clone https://github.com/frotms/PaddleOCR2Pytorch.git cd PaddleOCR2Pytorch pip install -U torch opencv-python pillow pyyaml safetensors ``` 2) Download weights and YAML (put in current folder) ```bash # Weights (recommended) curl -L -o ptocr_v5_server_det.safetensors "https://huggingface.co/JoyCN/PaddleOCR-Pytorch/resolve/main/ptocr_v5_server_det.safetensors?download=true" curl -L -o ptocr_v5_server_rec.safetensors "https://huggingface.co/JoyCN/PaddleOCR-Pytorch/resolve/main/ptocr_v5_server_rec.safetensors?download=true" # Configs (YAML) curl -L -o PP-OCRv5_server_det.yml "https://huggingface.co/JoyCN/PaddleOCR-Pytorch/resolve/main/PP-OCRv5_server_det.yml?download=true" curl -L -o PP-OCRv5_server_rec.yml "https://huggingface.co/JoyCN/PaddleOCR-Pytorch/resolve/main/PP-OCRv5_server_rec.yml?download=true" ``` 3) Run end-to-end detection + recognition ```bash python tools/infer/predict_system.py --use_gpu False --image_dir path/to/your_image.png --det_algorithm DB --det_yaml_path ./PP-OCRv5_server_det.yml --rec_yaml_path ./PP-OCRv5_server_rec.yml --det_model_path ./ptocr_v5_server_det.safetensors --rec_model_path ./ptocr_v5_server_rec.safetensors --rec_char_dict_path ./pytorchocr/utils/dict/ppocrv5_dict.txt --rec_algorithm SVTR --rec_image_shape "3,48,320" --draw_img_save_dir ./inference_results ``` - Set `--use_gpu True` if you have a CUDA-ready environment. - `--rec_image_shape "3,48,320"` is important for PP-OCRv5 recognition. - Outputs: detection boxes, recognized text with scores, and a visualization image saved under `--draw_img_save_dir`. ## Notes - Prefer the `huggingface_hub` API (`hf_hub_download`/`snapshot_download`) for reliable downloads and caching. - If needed, install safetensors: `pip install safetensors`. ## Compatibility & Attribution - Example inference uses the open-source PaddleOCR2Pytorch project (Apache-2.0): https://github.com/frotms/PaddleOCR2Pytorch. - This repository is not affiliated with the PaddleOCR2Pytorch maintainers; please follow their license for code usage. ## License - This repository (weights and model card) is released under Apache-2.0. - The referenced PaddleOCR2Pytorch codebase is also Apache-2.0. ## Disclaimer - Provided as-is, without warranties. Evaluate and validate for your use case.