ml: 第二轮审查 B-1~B-8 处置 + 一键训练控制台

- B-1 运行时投影护栏恢复 5 mm;老师轨迹按认证最小间隙 < 3 mm 剔除(stats/build_dataset,gapDrop)
- B-2 APG 端点+中点 hinge 取均值;B-3 check_r2 空匹配保护、5000×50000、分块 256,pass=false 时 prep 停下
- B-4 R7 按全部 B/C 题统计;B-5 r8 起点贴柱;B-7 pipeline r4(export_onnx --random,训练前测延迟)
- B-8 起步失败 ≤0.2%、column_gap 分块、pipefail、门禁结果先写 .tmp
- 训练控制台:ml/console.bat|sh → ml/monitor.py(开始/停止/进度/日志接口)+ monitor.html;
  pipeline.sh all 支持 FROM/TO,阶段状态写 ml/runs/pipeline.json(ml/pstate.py);训练/APG 日志加 total、t
- 文档:README 一键运行与训练控制台;审查文档追加第三轮处置;方案余量决策与 R4 时点
This commit is contained in:
Hark
2026-10-17 17:15:16 +00:00
parent 655e1fb93c
commit 14d72a9794
21 changed files with 1465 additions and 57 deletions
+1 -1
View File
@@ -56,7 +56,7 @@ function r8Cases(N, seed) {
tries++;
const b = rq(); if (!S.collideFree(b) || !nearColumn(b)) continue;
for (let t = 0; t < 200; t++) {
const a = rq(); if (!S.collideFree(a)) continue;
const a = rq(); if (!S.collideFree(a) || !nearColumn(a)) continue; // 2026-10-18:起点也贴柱 → 两侧都要绕远(方案 R8 口径)
if (Math.abs(d(a, b)[0]) < 140 || segOK(a, b)) continue;
cases.push({ q0: a, T: S.fk(b, 0), R: null }); break;
}