Commit 60e0f9e3 60e0f9e3fa475fba593139908637bb31ab72c3f0 by cnb.bofCdSsphPA

Preserve live FMA smoke state for fast session restart

Capture the current real-FMA CPU smoke checkpoint, restart path, and delivery handoff so the next session can resume without re-diagnosing an expected long-running training stage.

Constraint: Real FMA smoke is still running on CPU with no GPU available
Rejected: Wait for final smoke completion before documenting | would delay a usable handoff artifact
Confidence: high
Scope-risk: narrow
Directive: Keep staging explicit; do not include datasets, smoke outputs, checkpoints, or caches
Tested: git diff review; live process check; validate-splits on /tmp/fma_real_smoke_stopcheck/fma/manifests
Not-tested: Final FMA smoke metrics after Epoch 1 completion
1 parent fd574b22
......@@ -72,6 +72,29 @@
- `hybrid` 波动收敛
- 更接近商用的数据集组合评测
## 5.5 最新真实 FMA smoke 运行态(2026-06-02)
- 真实 FMA 数据已本地就绪:`acr-engine/data/raw/fma_small_audio/`
- 已验证:
- `num_audio_files=8000`
- `eligible_query_files=7994`
- `ready_for_smoke=true`
- 当前有一条真实 FMA 端到端 smoke 正在运行:
- 进程:`src/data/external_adapters.py smoke-local fma ...`
- 输出:`/tmp/fma_real_smoke_stopcheck`
- 训练子进程:`train.py --data /tmp/fma_real_smoke_stopcheck/fma/manifests ...`
- 最新 checkpoint(2026-06-02 12:09 UTC):
- `train.py` 仍在运行
- `ELAPSED=12:00`
- `catalog_references=8000`
- `train_queries=6401`
- `test_queries=1593`
- `fma_models_smoke/` 仍为空,这在当前实现中是正常现象,因为 `best_model.pt` 只会在 `Epoch 1` 结束后首次保存
- 环境确认无 GPU:
- `nvidia-smi` 不可用
- `torch.cuda.is_available() = false`
- 因此当前最真实的卡点不是 bug,而是 **CPU-only 真实 FMA smoke 耗时长**
## 6. 高风险注意事项
- `git status` 中通常会有大量:
......
## 2026-06-02 交付包补齐最新真实 FMA 运行态与重启接力说明 checkpoint
完成项:
- 更新 `docs/session-handoff.md`,补齐真实 FMA smoke 的最新运行态、卡点与重启后第一优先级动作。
- 更新 `docs/delivery-handoff-2026-06-02.md`,把当前最关键卡点切换为“真实 FMA CPU 长训练仍在执行中”。
- 更新 `docs/changelist-2026-06-02.md`,记录本次交付包的新增证据与下一步。
- 更新 `AGENT.md`,写入最新真实 FMA smoke 运行态记忆。
- 修正 `docs/README.md` 中“4 组/5 组主文档”的表述不一致。
验证结果:
- `ps -p 311629 -o pid,etime,%cpu,%mem,cmd` 显示 `train.py` 仍在运行。
- `validate-splits /tmp/fma_real_smoke_stopcheck/fma/manifests` => `ok=true`
- `/tmp/fma_real_smoke_stopcheck/fma_models_smoke/` 当前为空目录,符合 `Epoch 1` 结束后首次保存的实现逻辑。
结论:
- 当前可交付的最新事实已经被沉淀进 handoff 包,新 session 重启后无需重复排查“是否卡死”。
- 现阶段最真实的 blocker 是 **无 GPU 环境下真实 FMA 全量 smoke 训练耗时长**,而不是流程错误。
## 2026-06-02 真实 FMA smoke 启动并进入 CPU 长训练 checkpoint
完成项:
......
......@@ -4,7 +4,7 @@
## 一页结论
当前文档入口过多,现统一浓缩为 **4 组主文档**
当前文档入口过多,现统一浓缩为 **5 组主文档**
1. **项目与架构**
2. **数据与评测**
......
......@@ -110,3 +110,31 @@ cd /workspace/acr-engine
- manifest 校验通过:`catalog_references=8000`, `train_queries=6401`, `test_queries=1593`
- 当前环境无 GPU,真实 smoke 正在 CPU 上进入长训练阶段
- 训练中途 `fma_models_smoke/` 为空是正常现象,因为 `train.py``Epoch 1` 结束后才首次保存 `best_model.pt`
## 本次收尾补充(12:09 UTC fresh evidence)
- 已确认真实 FMA smoke 仍在 CPU 训练中:`train.py` `ELAPSED=12:00`
- 已再次确认 manifest 校验通过:
- `catalog_references=8000`
- `train_queries=6401`
- `test_queries=1593`
- `val_queries=0`
- 已确认 `/tmp/fma_real_smoke_stopcheck/fma_models_smoke/` 仍为空目录,但这符合当前 `train.py` 的 epoch-end 保存逻辑。
- 已将这些状态同步写入:
- [./session-handoff.md](./session-handoff.md)
- [./delivery-handoff-2026-06-02.md](./delivery-handoff-2026-06-02.md)
- [./CHANGELOG.md](./CHANGELOG.md)
- [../AGENT.md](../AGENT.md)
### 现在的真正卡点
1. 无 GPU,真实 FMA 全量 smoke 训练时间长。
2. MTG-Jamendo 本地目录尚未就绪,无法进入同级 smoke。
3. 工作区有大量数据噪音,必须继续精准暂存。
### 重启后的直接动作
1. 先看 [./session-handoff.md](./session-handoff.md)
2. 再检查真实 FMA smoke 是否已经产出 `best_model.pt` 或进入 `build-index/evaluate`
3. 若完成,则先补文档、changelog、commit、push,再继续下一轮 benchmark。
......
......@@ -16,9 +16,35 @@
- cap48 结果已明确存在 seed sensitivity。
- 文档已经浓缩为可导航结构。
## 当前最关键交付事实(12:09 UTC checkpoint)
- 真正还在持续执行的是 **真实 FMA 全量 smoke**,不是 toy benchmark。
- 当前主训练进程:
- `PID=311629`
- `ELAPSED=12:00`
- `%CPU≈615`
- 当前 manifest 规模:
- `catalog_references=8000`
- `train_queries=6401`
- `test_queries=1593`
- 当前模型目录 `/tmp/fma_real_smoke_stopcheck/fma_models_smoke/` 仍为空,但这是符合当前 `train.py` 实现的正常现象:`best_model.pt` 会在 `Epoch 1` 结束后首次保存。
- 所以这轮交付最重要的不是“最终精度”,而是**把正在跑的真实大规模 smoke 状态、卡点和续跑方式明确记录下来**
## 当前卡点
### 卡点 1:还没有单一全局默认策略
### 卡点 1:真实 FMA 全量 smoke 仍在 CPU 长训练中
当前最新状态:
- 真实 FMA smoke 已启动并持续运行
- 当前环境无 GPU
- `fma_models_smoke/` 为空不代表失败,而是 epoch-end 保存逻辑所致
真正待做:
- 等待 `Epoch 1` 结束并确认首个模型文件
- 继续捕获 `build-index` / `evaluate` 转场证据
- 完成后立即回写文档、commit、push
### 卡点 2:还没有单一全局默认策略
当前最新状态:
- cap48 三 seed 聚合:`high_energy` 更稳
......@@ -31,7 +57,7 @@
- 补 cap64 multi-seed
- 继续降低 `hybrid` 波动
### 卡点 2:工作区噪音很大
### 卡点 3:工作区噪音很大
当前有大量未跟踪或变更的数据/产物文件,提交时必须精准暂存文档文件。
......
......@@ -53,6 +53,50 @@
---
### 最新 checkpoint(2026-06-02 12:09 UTC)
- 真实 FMA smoke 主进程仍在运行:
- `PID=311494``src/data/external_adapters.py smoke-local fma ...`
- `PID=311629``train.py --data /tmp/fma_real_smoke_stopcheck/fma/manifests ...`
- 最新观测:
- `train.py ELAPSED=12:00`
- `%CPU≈615`
- `%MEM≈10.4`
- manifest 仍有效:
- `catalog_references=8000`
- `train_queries=6401`
- `test_queries=1593`
- `val_queries=0`
- `/tmp/fma_real_smoke_stopcheck/fma_models_smoke/` 当前仍为空目录。
- 这是**符合当前 train.py 保存逻辑**的:`best_model.pt` 要到 `Epoch 1` 结束后才会首次落盘。
### 当前卡点(最新)
1. **真实 FMA smoke 尚未出首个模型文件**
- 原因不是异常,而是当前环境无 GPU,且本次使用真实 FMA 全量 8000 首参考。
2. **MTG-Jamendo 目录仍未就绪**
- `data/raw/mtg_jamendo_audio` 当前仍缺少可用音频文件,暂时无法进入同级别 smoke。
3. **工作树噪音依旧很大**
- 提交时必须继续只显式暂存文档 / 脚本,不能误带 `data/external_smoke``data/raw`、checkpoint、`__pycache__`
### 重启后第一优先级动作
1. 先检查真实 FMA smoke 是否完成:
```bash
ps -p 311629 -o pid,etime,%cpu,%mem,cmd
find /tmp/fma_real_smoke_stopcheck/fma_models_smoke -maxdepth 2 \( -type f -o -type d \) | sort
pgrep -af 'train.py --data /tmp/fma_real_smoke_stopcheck|run_demo.py build-index --data /tmp/fma_real_smoke_stopcheck|evaluate.py --data /tmp/fma_real_smoke_stopcheck'
```
2. 如果 smoke 完成:
- 收集 `report.json` / metrics / artifacts
- 回写 `docs/open-dataset-workflow.md`
- 回写 `docs/CHANGELOG.md`
- commit + push
3. 如果 smoke 仍在跑:
- 不要误判为空模型目录是 bug
- 继续等待 `Epoch 1` 结束或切换到 `build-index/evaluate`
## 1. 项目是什么
这是一个面向**音乐片段识别 / 音乐检索**的 ACR 引擎,核心路线是:
......