Repository navigation
cpu-models: v2, person.qnet and the drum model for meter reading - #2659
Conversation
majestic's engine now reads one blob format for every network it runs, so the person detector ships as person.qnet, the same model in the new format, and drum.qnet joins it: the classifier majestic's meter reading reads each drum of a water, gas or electricity meter with. Both are built and checked bit for bit against the reference on host and ARMv7 by that repository's release workflow. A majestic that still loads person.pdnet finds no model here, so this lands in the same nightly as the majestic that reads person.qnet.
PR Summary by QodoShip cpu-models v2 person and meter-reading models
AI Description
Diagram
High-Level Assessment
Files changed (3)
|
Code Review by Qodo
1. Hardware evidence lacks before/after
|
cpu-models v2
Moves the package to OpenIPC/cpu-models v2. It installs three files into
/usr/share/majestic:person.qnet: the CPU person detector, the same model as v1'sperson.pdnet, in the new blob format. majestic's engine now reads one format for every network it runs.person.json: the thresholds of its presets, unchanged from v1 byte for byte.drum.qnet(new, 49 KB): the classifier majestic's meter reading uses on each drum of a water, gas or electricity meter.Together they are 134 KB, 49 KB more than v1. All three were built by that repository's release workflow, which checks the engine bit for bit against the reference arithmetic on the host and on ARMv7 NEON before publishing. The release reproduced the local build's hashes exactly.
The help text now describes both models.
Ordering
A majestic that loads only
person.pdnetfinds no person model once this lands, and the majestic that readsperson.qnetfinds none without it. This must therefore land in the same nightly as that majestic change, which is ready to merge right behind it.Verified
Image. A local
hi3516ev300_ultimatebuild. This was the board whose last published ultimate image was closest to full.person.pdnetis left. The install step also removes one left over in a reused target.firmware.binis 10304 / 15808 KB. Tonight's nightly of the same board measured 10304 KB too.rootfs.ubiis 18304 / 24576 KB.STRICT=1 test_shell_parse.shandci-matrix.py --self-testpass.drum.qneton a camera. A SigmaStar SSC32x camera (sc2239 sensor) runs majestic with meter reading. It loads adrum.qnetwhose sha256 is the v2 asset's,4e2056686091c067ef31401e32ca9bc136c001fae37f9235e9042125e8d8c8ed, and reads an electricity meter every 20 s. It reports what the meter's drums show, 029866.4 kWh:Not verified on a camera this package targets. No HiSilicon/Goke camera has booted an image of this branch.
person.qnethas not run on a HiSilicon camera. What vouches for it is the release workflow's check: the engine's ARMv7 NEON build under qemu matches the reference arithmetic bit for bit, on 40 person crops and 400 drum crops.person.qnetas well. On its own, this image's "after" would only show the current nightly majestic finding noperson.pdnet.