Downloads · 30 days
0
ruisv/bcdl-ppocr-v6
bcdl-ppocr-v6 is a machine learning model from ruisv. Use it for the machine learning task on the model card, and read the license before you ship it in a product. It is set up for bcdl. The card lists the license as apache-2.0.
Compiled BPU models (.hbm) for the D-Robotics RDK S100 / S100P, ready to load — no ONNX export, no calibration, no hbcompile. Built and measured with BCDL, a C++17 inference and media library for the RDK S-series with…
Downloads · 30 days
0
Access
Public
Updated Aug 13, 2026
Repo size
51 MB
Likes
0
Public
Click a slice to open those files.
.hbm51 MB · 100%
From the Hugging Face model README
Compiled BPU models (.hbm) for the D-Robotics RDK S100 / S100P, ready to
load — no ONNX export, no calibration, no hb_compile. Built and measured with
BCDL, a C++17 inference and media library
for the RDK S-series with Python bindings.
Upstream: PaddleOCR PP-OCRv6 medium
[!TIP] Redistributable, including commercially. The licence chain was checked on the code, the pretrained weights it started from, and the data it was trained on — all three, because a permissive repository badge does not by itself say anything about the weights. See Licence.
| file | what it is |
|---|---|
ppocrv6_medium_det_960x960.hbm | text detection, 960x960 — 22.4 MB |
ppocrv6_medium_rec_int16_48x320.hbm | recognition, 48x320, all-int16 — 24.0 MB |
ppocrv5_lcnet_cls_80x160.hbm | textline angle 0/180 (from v5 — v6 ships none) — 2.3 MB |
ppocr_keys_v6_18710.txt | dictionary — required by the recogniser |
| stage | latency | throughput |
|---|---|---|
| detection | 8.55 ms | 117 FPS |
| recognition | 2.22 ms | 451 FPS |
| angle classifier | 0.37 ms | 2710 FPS |
hrt_model_exec perf, one thread, minimum of three runs, on a board first gated
against its own previously recorded numbers. BPU time only — CPU
pre/post-processing is on top and is listed per task in BCDL's
benchmark results.
conda install -c https://mirrors.ruis.ai/conda -c conda-forge bcdl
import bcdl
engine = bcdl.Engine("ppocrv6_medium_det_960x960.hbm")
print(engine.input_shape(0), engine.output_shape(0))
Each task has a decoder in BCDL that turns those raw outputs into boxes, keypoints, masks, disparity or text — see the Python API (中文).
The recogniser is all-int16 on purpose. On the S100P it roughly halves the character error of the compiler's default mixed-precision int8 build and is about 2x faster, because a uniform int16 graph carries no int8-int16 requant on its internal boundaries.
The dictionary is not optional and it is version-specific. v6 recognises 18710 classes against v5's 18385; pairing a model with the wrong key file decodes to plausible-looking wrong characters rather than failing. The right one ships here.
For text lines longer than about 6.7:1 there is also a 960-wide recogniser in the conversion recipe; this package carries the 320 build.
Apache-2.0, on the code and on every model card.
BCDL itself is Apache-2.0 and is unrelated to these terms — it is a
general-purpose runtime that loads any .hbm. The licence above constrains
these weights and this compiled artefact.
The conversion recipe — ONNX export, calibration, hb_compile config and the
acceptance numbers — is public in
bcdl-model-zoo, so this build can
be reproduced or retargeted rather than taken on trust.