Calibrate the int8 detectors on library proxies, in chunks, and measure them

The first int8 files found no faces at all, and for two reasons the
tool now guards against. The calibration set was landscape photographs
with no faces in them, so the score head's ranges had never seen the
face regime; the set is now proxies from the library itself. And ONNX
Runtime's strided and moving-average calibration modes both degrade
these graphs measurably (a quarter of the faces at eight images, none
at ninety-six), while driving the calibrator in chunks by hand gives
ranges identical to a single pass — so the tool does that, four images
at a time, and feeds quantize_static through its range cache.

Measured against f32 over 400 proxies (docs/inference.md §10.1): the
10g form finds every face above 32 px the f32 form finds; 500m and
2.5g find 96%, and what they lose sits at a median confidence of 0.52
against the 0.50 threshold. Shipped with the number on record.

The Android unpack list gains the three int8 files; without that the
tablet never saw them. D13's runtime half records the reopening.
This commit is contained in:
2026-09-19 16:02:44 +02:00
parent 4ed29b9d81
commit 76bc5652d7
9 changed files with 105 additions and 53 deletions
+11
View File
@@ -2222,6 +2222,17 @@ desktop window, not as a second interface.
### D13 — face inference runtime and model licensing · **RUNTIME ANSWERED · LICENSING POSITION RECORDED 2026-09-19**
> **Runtime, reopened 2026-09-19 — to the extent of [inference.md](inference.md) §3.** The
> pure-Rust build stands: `ort` still links nothing. What changed is that `ort::set_api` can be
> handed the table of a `libonnxruntime` the *package* installs, and the app now looks for one at
> launch and runs on tract only when there is none. Measured before it was built: tract runs
> every model on one core at the same speed on a tablet and a twenty-core desktop; ONNX Runtime's
> CPU provider alone is 3–10× that, the Hexagon at int8 runs the detectors in 1–3 ms, TensorRT
> at fp16 in 2–3 ms. The Android APK bundles ONNX Runtime and Qualcomm's HTP libraries (§3.1 —
> the QNN licence is read, not summarised, before a release carries them); the desktop packages
> bundle nothing NVIDIA and use a system CUDA/TensorRT if the probe finds one that works. The
> licensing half is unchanged.
> **Position, 2026-09-19.** DarkRoom is non-commercial software, built and installed by its
> author for personal libraries, and it uses the InsightFace SCRFD detectors and ArcFace embedder
> under their **non-commercial research grant** as such. That is the position, and it is taken