Views
No views yet
.pte for the ExecuTorch runtime (XNNPACK, CoreML, Vulkan). It finds and
classifies document regions — titles, paragraphs, tables, figures, formulas, headers/footers,
etc. — and is a companion to
react-native-executorch-pp-ocrv6..pte is a pure tensor→tensor function; pre-processing (resize, normalize) and the final
score threshold are the client's job.<backend>/config.json # per-backend spec
<backend>/pp_doclayout_v3_<backend>_<precision>.pte
labels.json # index -> class name, matching the `classes` outputforward, declared in config.json. The RT-DETR box decode is
baked into the graph — outputs are ready to threshold:in [1, 3, 800, 800] # RGB, normalized by the client to [0, 1] (x/255)
out boxes [300, 4] # (x1, y1, x2, y2) in 800×800 model-input pixel space
scores [300] # max-class sigmoid score per query
classes [300] # float class index per query (argmax)get_model_schema overrides — a
client reads its signature straight from ExecuTorch's MethodMeta.score ≥ threshold, scale boxes from the 800×800
input space to your image, and map classes[i] through labels.json (index → label).abstract, algorithm, aside_text, chart, content, display_formula, doc_title, figure_title, footer, footer_image, footnote, formula_number, header, header_image, image, inline_formula, number, paragraph_title, reference, reference_content, seal, table, text, vertical_text, vision_footnote — labels.json is the authoritative index→label map.| backend | target | precision | size | latency |
|---|---|---|---|---|
xnnpack | CPU | fp32 | 132 MB | ~2.0 s (Galaxy S24) |
coreml | Apple ANE | fp16 | 91 MB | ~50 ms (Apple M-series ANE) |
vulkan | Android GPU | fp16 (mixed-delegate) | 66 MB | ~0.86 s (Galaxy S24) |
Vulkan is the recommended Android backend — ~2.4× faster than XNNPACK and half the size. It's mixed-delegate: most of RT-DETR runs fp16 on the GPU, while the box-head matmuls run on XNNPACK (they delegate asaddmm→linear). XNNPACK stays fp32 because int8/int4 quantization loses whole boxes on this model.
.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.