fix: 闭环失败定位与显存修复——新增 ml/eval/diag_cl.py(Python/JS 特征口径、同噪声动作差、碰撞时刻/组对、开安全层到达率);kin.gaps 按幸存胶囊对数(PAIR_BUDGET=2e6)自动分块(实测原 4096 点 cap 40 峰值约 30 GB);dagger/collect.py cap=gap_min+1 分块;新增 docs/本机执行清单.md(本机计算唯一要求清单)
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
# 本机执行清单(给本地 AI 逐条执行)
|
||||
|
||||
本文件是 Hark 对本机计算的唯一要求清单。按顺序执行,每一步把「回传」里的文件或输出原样交给用户,不要跳步,不要自行改代码。
|
||||
所有命令在仓库根目录(G:\Robot_v2\机器人手臂)的 Git Bash 里运行。完成的条目由 Hark 在下一次提交里删掉。
|
||||
|
||||
当前状态(2026-10-19 02:00):第二次预训练开环已正常(候选多样性 0.65、8 候选最好 2.9 mm),闭环仍 0% 到达 / 100% 碰撞;
|
||||
DAgger 阶段曾把显存吃到约 30 GB,原因是 kin.gaps 一次几千个点、cap=40 mm,已修复(kin.gaps 自动分块),尚未实测。
|
||||
|
||||
## 第 0 步:同步代码
|
||||
|
||||
```bash
|
||||
git fetch gitea && git reset --hard gitea/main
|
||||
git log --oneline -1 # 应为「fix: 闭环失败定位与显存修复……」或更新
|
||||
```
|
||||
|
||||
- 训练控制台若开着,先点「停止」,确认没有 python 训练进程在跑。
|
||||
- 不要启动 DAgger / M5,等 Hark 看完第 1、2 步的结果再定。
|
||||
|
||||
## 第 1 步:gaps 显存峰值(不到 1 分钟)
|
||||
|
||||
```bash
|
||||
PYTHONUTF8=1 python - <<'EOF'
|
||||
import torch
|
||||
from ml.common.kin_torch import Kin
|
||||
kin = Kin(device='cuda')
|
||||
for n, cap in [(512, 40.0), (4096, 4.0), (4096, 40.0)]:
|
||||
q = kin.lo + (kin.hi - kin.lo) * torch.rand(n, 6, device='cuda')
|
||||
torch.cuda.empty_cache(); torch.cuda.reset_peak_memory_stats()
|
||||
with torch.no_grad(): kin.gaps(q, cap)
|
||||
print(f'n={n:5d} cap={cap:4.0f} peak {torch.cuda.max_memory_allocated() / 2**30:6.2f} GiB', flush=True)
|
||||
EOF
|
||||
```
|
||||
|
||||
- 通过:三行峰值都 ≤ 2 GiB。
|
||||
- 任务管理器里专用显存接近 24 GB 或共享显存开始上涨:立刻 Ctrl+C,回传已打印的行,不要继续第 2 步。
|
||||
- 回传:终端输出的 3 行。
|
||||
|
||||
## 第 2 步:闭环失败定位(约 2–4 分钟)
|
||||
|
||||
```bash
|
||||
PYTHONUTF8=1 python -m ml.eval.diag_cl --ckpt ml/runs/base/last.pt --n 256 --out ml/runs/diag_cl.json
|
||||
```
|
||||
|
||||
- 运行期间看一眼任务管理器,专用显存应远低于 24 GB;超过 22 GB 就 Ctrl+C 并回传终端输出。
|
||||
- 回传:`ml/runs/diag_cl.json`、`ml/runs/replay_teacher.json`、`ml/runs/base/log.jsonl`。
|
||||
|
||||
## 回传汇总
|
||||
|
||||
| 步骤 | 回传内容 |
|
||||
|---|---|
|
||||
| 1 | 终端 3 行峰值 |
|
||||
| 2 | ml/runs/diag_cl.json、ml/runs/replay_teacher.json、ml/runs/base/log.jsonl |
|
||||
| 任一步出错 | 终端最后 30 行输出 |
|
||||
Reference in New Issue
Block a user