| --- |
| license: apache-2.0 |
| pipeline_tag: image-to-text |
| library_name: executorch |
| --- |
| |
| # pp-ocrv6 |
|
|
| This repository hosts the **pp-ocrv6** models exported for the |
| [React Native ExecuTorch](https://www.npmjs.com/package/react-native-executorch) |
| library as ExecuTorch `.pte` programs, ready to run on device. |
|
|
| Upstream models: |
|
|
| - [PaddleOCR PP-OCRv6](https://github.com/PaddlePaddle/PaddleOCR) |
| - [detector](https://huggingface.co/PaddlePaddle/PP-OCRv6_small_det_safetensors) |
| - [recognizer](https://huggingface.co/PaddlePaddle/PP-OCRv6_small_rec_safetensors) |
|
|
| ## Variants |
|
|
| | Path | Backend | Precision | |
| | --- | --- | --- | |
| | `coreml/pp_ocrv6_coreml_int8.pte` | coreml | int8 | |
| | `vulkan/pp_ocrv6_vulkan_fp16.pte` | vulkan | fp16 | |
| | `xnnpack/pp_ocrv6_xnnpack_fp32.pte` | xnnpack | fp32 | |
| | `xnnpack/pp_ocrv6_xnnpack_int8.pte` | xnnpack | int8 | |
|
|
| ## Repository structure |
|
|
| ``` |
| charset.json 128 kB |
| config.json 30 B |
| coreml/config.json 1.3 kB |
| coreml/pp_ocrv6_coreml_int8.pte 7.9 MB |
| vulkan/config.json 1.3 kB |
| vulkan/pp_ocrv6_vulkan_fp16.pte 25.0 MB |
| xnnpack/config.json 2.3 kB |
| xnnpack/pp_ocrv6_xnnpack_fp32.pte 29.6 MB |
| xnnpack/pp_ocrv6_xnnpack_int8.pte 22.8 MB |
| ``` |
|
|
| ## Compatibility |
|
|
| These files are published for the **ExecuTorch v1.4.1** runtime. ExecuTorch |
| gives no forward compatibility guarantee, so an older runtime may fail to load |
| them. |
|
|
| To use them in React Native ExecuTorch, pass the model constant shipped in the |
| library's model registry to the corresponding task pipeline. See the |
| [documentation](https://docs.swmansion.com/react-native-executorch/docs/fundamentals/downloading-models). |
|
|
| To load these files in your own ExecuTorch runtime, read the |
| [compatibility note](https://github.com/pytorch/executorch/blob/main/runtime/COMPATIBILITY.md) |
| first. |
|
|
| ## CoreML notes (iOS) |
|
|
| - The CoreML `.pte` is a **multifunction** Core ML model (`detect` + `recognize` share one |
| precompiled `.mlmodelc`). Requires **iOS 18+** and an ExecuTorch runtime ≥ 1.3 (multifunction |
| loading via `functionName`). |
| - First-ever load on a device triggers a one-time per-shape ANE specialization (OS-cached |
| afterwards) — warm each model once after install. |
|
|
| ## Model details |
|
|
| The recognizer's output is a probability distribution over the charset with |
| softmax already baked in. Index `0` is the CTC blank, so `charset[i]` |
| corresponds to logit `i + 1`. |
|
|