v0.1.0 — first release
First tagged release of franken_ocr / focr — a pure-Rust, CPU-hyper-optimized runner for the Baidu Unlimited-OCR model (no ML framework).
Highlights
- Working end-to-end OCR — CER 0.0094 vs the Baidu baseline on a real page (beat the oracle on one token).
- int8 decode path + runtime ISA auto-dispatch: SDOT/SMMLA on ARM, AVX2/AVX-VNNI/AVX-512-VNNI on x86 — one binary picks the best tier your CPU has.
focr convert— safetensors bf16 → int8.focrq(byte-identical to load-time int8, proven on the real 6.67 GB model).focr pull— auto-downloads the weights in the optimal format over the native asupersync HTTP stack (rustls/webpki-roots), verifies every byte by sha256, caches for fully-offline inference. Production-verified against this repo'smodels-v1release + Hugging Face.focr robot selftest— verifies the dispatched int8 kernels are bit-exact on your silicon (proven on Apple SDOT + Threadripper 5995WX AVX2, 24/24).
Get the model
focr pull # downloads + verifies the int8 weights (~3.9 GB) into the cache
focr ocr page.png # then runs fully offlineBinaries
Each focr is a single portable binary that auto-detects your CPU and dispatches to the best int8 kernel at runtime — so one x86_64 binary covers AVX2 / AVX-VNNI / AVX-512-VNNI, and one aarch64 binary covers NEON / SDOT / SMMLA-i8mm. No per-CPU-feature variant to choose.
| Platform | Asset |
|---|---|
| macOS — Apple Silicon (M-series) | focr-aarch64-apple-darwin-neon-sdot-i8mm |
| macOS — Intel | focr-x86_64-apple-darwin |
| Linux — x86-64 (Intel/AMD, incl. Threadripper) | focr-x86_64-unknown-linux-gnu |
| Linux — ARM64 (AWS Graviton, etc.) | focr-aarch64-unknown-linux-gnu |
# example: Linux x86-64
base=https://github.com/Dicklesworthstone/franken_ocr/releases/download/v0.1.0
curl -fLO $base/focr-x86_64-unknown-linux-gnu
curl -fLO $base/focr-x86_64-unknown-linux-gnu.sha256
shasum -a 256 -c focr-x86_64-unknown-linux-gnu.sha256 # verify integrity
chmod +x focr-x86_64-unknown-linux-gnu
./focr-x86_64-unknown-linux-gnu robot selftest # confirm int8 kernels are bit-exact on your siliconEvery binary ships a .sha256 sidecar. The x86_64-unknown-linux-gnu build is verified bit-exact against the scalar oracle on real AVX2 hardware (robot selftest 24/24, including the K=6848 i32-accumulation overflow case).