github ruvnet/RuView v3669
CI snapshot v3669

58 minutes ago

Source snapshot validated by the CI pipeline. This entry does not contain firmware bundles.

Changes:
fix(train): tch-backend rpath build.rs, unreachable gaussian-peak test thresholds, --val-dir and --eval-only (#1014) (#1014)

Rebased residual of #1014 onto main. The tch 0.24 compile fixes, clamp_min,
floor-division decode and E0507 test fix from the original PR already landed
on main (#1008 / ADR-155), so only what main still lacks is carried here:

  • build.rs: with tch-backend + LIBTORCH_USE_PYTORCH=1, embed an rpath to
    the PyTorch lib dir. On main the lib unit-test binary dies at load with
    "libtorch_cpu.so: cannot open shared object file". Strict no-op unless the
    feature AND the env var are set (default / --no-default-features / wheel
    builds unchanged). Honours PYTHON_SYS_EXECUTABLE like torch-sys.
  • losses.rs: two gaussian-peak tests asserted values that are mathematically
    unreachable for a half-pixel keypoint: exp(-0.5/8) = 0.9394 (< 0.95) and
    exp(-0.5/4.5) = 0.8948 (< 0.9). Thresholds 0.93 / 0.89 with the math.
  • trainer.rs: evaluate() and new evaluate_with_dump() share ONE loop
    (evaluate_inner with an optional JSONL sink), so --eval-only measures with
    exactly the metric training validation uses.
  • train.rs: --val-dir uses a held-out MM-Fi dir as validation, taking
    precedence over the automatic subject-disjoint split; any subject overlap
    with --data-dir is refused as a leak (ADR-155 Tier-1.2). The automatic
    split and the synthetic smoke-test fallback are unchanged.
    --eval-only --checkpoint --val-dir [--dump-preds ]
    loads a checkpoint and runs the validation loop standalone.

Local evidence (PyTorch 2.11, LIBTORCH_USE_PYTORCH=1, --test-threads=1):
main 353 pass / 2 fail (+ loader error without LD_LIBRARY_PATH);
this branch 355/355 with no LD_LIBRARY_PATH.

Co-authored-by: claude-flow ruv@ruv.net

Source commit: bf61d4e21f77bd58f4d1a364c9c10a73aaa2116a

Container images publish separately through the sensing-server release workflow.
Firmware downloads are attached to the dedicated vX.Y.Z-esp32 releases.

Don't miss a new RuView release

NewReleases is sending notifications on new releases.