Introduction

This repository hosts the EasyOCR models — the CRAFT detector and the CRNN recognizer — for the React Native ExecuTorch library, exported to .pte for the ExecuTorch runtime (XNNPACK, CoreML and Vulkan backends).

If you'd like to run these models in your own ExecuTorch runtime, refer to the official documentation for setup instructions.

Each language ships as one fused .pte (CRAFT detect + CRNN recognize in a single file) per backend, using static bucketed methods — no dynamic-shape footguns. The .pte is a pure tensor→tensor function; all pre/post-processing (resize, normalize, box extraction, crop, CTC decode) is the client's job and is driven by config.json.

Languages

code charset size code charset size
english 96 korean 1008
latin 351 telugu 165
japanese 2214 kannada 167
zh_sim 6718 cyrillic 207

All languages share the same CRAFT detector and CRNN architecture — they differ only in the recognizer charset. The detector half of each fused PTE is identical across languages.

Backends

backend target precision
xnnpack CPU (Android/iOS) int8 (CRAFT + CRNN)
coreml Apple ANE weight-only int8
vulkan Android GPU CRAFT int8 (GPU) + CRNN int8 (XNNPACK, mixed-delegate)

Files

config.json                                   # shared base config (schema v1)
charsets/easyocr_<lang>.charset.txt           # per-language CTC charset (JSON array)
<lang>/<backend>/easyocr_<lang>_<backend>_bucketed.pte
  • config.json is shared across all languages; it carries charsetUrlPattern: "easyocr_<lang>.charset.txt" so the client resolves the charset by language. Charset index i maps to logit i + 1 (logit 0 is the CTC blank).

Buckets

Static per-size methods (is_bucketed() reports [detect sides ; recognize widths]):

  • detect (square sides): 800, 1280detect_800, detect_1280 (+ a 1280×320 portrait method)
  • recognize (widths, height 64): 64, 128, 256, 512recognize_64 … recognize_512 detect runs once per image; recognize runs once per text line.

Compatibility

If you intend to use these models outside of React Native ExecuTorch, make sure your runtime is compatible with the ExecuTorch version used to export the .pte files. For more details, see the compatibility note in the ExecuTorch GitHub repository. If you work with React Native ExecuTorch, the library constants guarantee compatibility with the runtime used behind the scenes.

Downloads last month
49
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Collection including software-mansion/react-native-executorch-EasyOCR