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.jsonis shared across all languages; it carriescharsetUrlPattern: "easyocr_<lang>.charset.txt"so the client resolves the charset by language. Charset indeximaps to logiti + 1(logit0is the CTC blank).
Buckets
Static per-size methods (is_bucketed() reports [detect sides ; recognize widths]):
- detect (square sides):
800, 1280→detect_800,detect_1280(+ a1280×320portrait method) - recognize (widths, height 64):
64, 128, 256, 512→recognize_64 … recognize_512detectruns once per image;recognizeruns 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