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
Showing
6 changed files
with
142 additions
and
3 deletions
| ... | @@ -72,6 +72,29 @@ | ... | @@ -72,6 +72,29 @@ |
| 72 | - `hybrid` 波动收敛 | 72 | - `hybrid` 波动收敛 |
| 73 | - 更接近商用的数据集组合评测 | 73 | - 更接近商用的数据集组合评测 |
| 74 | 74 | ||
| 75 | ## 5.5 最新真实 FMA smoke 运行态(2026-06-02) | ||
| 76 | |||
| 77 | - 真实 FMA 数据已本地就绪:`acr-engine/data/raw/fma_small_audio/` | ||
| 78 | - 已验证: | ||
| 79 | - `num_audio_files=8000` | ||
| 80 | - `eligible_query_files=7994` | ||
| 81 | - `ready_for_smoke=true` | ||
| 82 | - 当前有一条真实 FMA 端到端 smoke 正在运行: | ||
| 83 | - 进程:`src/data/external_adapters.py smoke-local fma ...` | ||
| 84 | - 输出:`/tmp/fma_real_smoke_stopcheck` | ||
| 85 | - 训练子进程:`train.py --data /tmp/fma_real_smoke_stopcheck/fma/manifests ...` | ||
| 86 | - 最新 checkpoint(2026-06-02 12:09 UTC): | ||
| 87 | - `train.py` 仍在运行 | ||
| 88 | - `ELAPSED=12:00` | ||
| 89 | - `catalog_references=8000` | ||
| 90 | - `train_queries=6401` | ||
| 91 | - `test_queries=1593` | ||
| 92 | - `fma_models_smoke/` 仍为空,这在当前实现中是正常现象,因为 `best_model.pt` 只会在 `Epoch 1` 结束后首次保存 | ||
| 93 | - 环境确认无 GPU: | ||
| 94 | - `nvidia-smi` 不可用 | ||
| 95 | - `torch.cuda.is_available() = false` | ||
| 96 | - 因此当前最真实的卡点不是 bug,而是 **CPU-only 真实 FMA smoke 耗时长**。 | ||
| 97 | |||
| 75 | ## 6. 高风险注意事项 | 98 | ## 6. 高风险注意事项 |
| 76 | 99 | ||
| 77 | - `git status` 中通常会有大量: | 100 | - `git status` 中通常会有大量: | ... | ... |
| 1 | ## 2026-06-02 交付包补齐最新真实 FMA 运行态与重启接力说明 checkpoint | ||
| 2 | |||
| 3 | 完成项: | ||
| 4 | - 更新 `docs/session-handoff.md`,补齐真实 FMA smoke 的最新运行态、卡点与重启后第一优先级动作。 | ||
| 5 | - 更新 `docs/delivery-handoff-2026-06-02.md`,把当前最关键卡点切换为“真实 FMA CPU 长训练仍在执行中”。 | ||
| 6 | - 更新 `docs/changelist-2026-06-02.md`,记录本次交付包的新增证据与下一步。 | ||
| 7 | - 更新 `AGENT.md`,写入最新真实 FMA smoke 运行态记忆。 | ||
| 8 | - 修正 `docs/README.md` 中“4 组/5 组主文档”的表述不一致。 | ||
| 9 | |||
| 10 | 验证结果: | ||
| 11 | - `ps -p 311629 -o pid,etime,%cpu,%mem,cmd` 显示 `train.py` 仍在运行。 | ||
| 12 | - `validate-splits /tmp/fma_real_smoke_stopcheck/fma/manifests` => `ok=true` | ||
| 13 | - `/tmp/fma_real_smoke_stopcheck/fma_models_smoke/` 当前为空目录,符合 `Epoch 1` 结束后首次保存的实现逻辑。 | ||
| 14 | |||
| 15 | 结论: | ||
| 16 | - 当前可交付的最新事实已经被沉淀进 handoff 包,新 session 重启后无需重复排查“是否卡死”。 | ||
| 17 | - 现阶段最真实的 blocker 是 **无 GPU 环境下真实 FMA 全量 smoke 训练耗时长**,而不是流程错误。 | ||
| 18 | |||
| 1 | ## 2026-06-02 真实 FMA smoke 启动并进入 CPU 长训练 checkpoint | 19 | ## 2026-06-02 真实 FMA smoke 启动并进入 CPU 长训练 checkpoint |
| 2 | 20 | ||
| 3 | 完成项: | 21 | 完成项: | ... | ... |
| ... | @@ -110,3 +110,31 @@ cd /workspace/acr-engine | ... | @@ -110,3 +110,31 @@ cd /workspace/acr-engine |
| 110 | - manifest 校验通过:`catalog_references=8000`, `train_queries=6401`, `test_queries=1593` | 110 | - manifest 校验通过:`catalog_references=8000`, `train_queries=6401`, `test_queries=1593` |
| 111 | - 当前环境无 GPU,真实 smoke 正在 CPU 上进入长训练阶段 | 111 | - 当前环境无 GPU,真实 smoke 正在 CPU 上进入长训练阶段 |
| 112 | - 训练中途 `fma_models_smoke/` 为空是正常现象,因为 `train.py` 在 `Epoch 1` 结束后才首次保存 `best_model.pt` | 112 | - 训练中途 `fma_models_smoke/` 为空是正常现象,因为 `train.py` 在 `Epoch 1` 结束后才首次保存 `best_model.pt` |
| 113 | |||
| 114 | |||
| 115 | ## 本次收尾补充(12:09 UTC fresh evidence) | ||
| 116 | |||
| 117 | - 已确认真实 FMA smoke 仍在 CPU 训练中:`train.py` `ELAPSED=12:00`。 | ||
| 118 | - 已再次确认 manifest 校验通过: | ||
| 119 | - `catalog_references=8000` | ||
| 120 | - `train_queries=6401` | ||
| 121 | - `test_queries=1593` | ||
| 122 | - `val_queries=0` | ||
| 123 | - 已确认 `/tmp/fma_real_smoke_stopcheck/fma_models_smoke/` 仍为空目录,但这符合当前 `train.py` 的 epoch-end 保存逻辑。 | ||
| 124 | - 已将这些状态同步写入: | ||
| 125 | - [./session-handoff.md](./session-handoff.md) | ||
| 126 | - [./delivery-handoff-2026-06-02.md](./delivery-handoff-2026-06-02.md) | ||
| 127 | - [./CHANGELOG.md](./CHANGELOG.md) | ||
| 128 | - [../AGENT.md](../AGENT.md) | ||
| 129 | |||
| 130 | ### 现在的真正卡点 | ||
| 131 | |||
| 132 | 1. 无 GPU,真实 FMA 全量 smoke 训练时间长。 | ||
| 133 | 2. MTG-Jamendo 本地目录尚未就绪,无法进入同级 smoke。 | ||
| 134 | 3. 工作区有大量数据噪音,必须继续精准暂存。 | ||
| 135 | |||
| 136 | ### 重启后的直接动作 | ||
| 137 | |||
| 138 | 1. 先看 [./session-handoff.md](./session-handoff.md)。 | ||
| 139 | 2. 再检查真实 FMA smoke 是否已经产出 `best_model.pt` 或进入 `build-index/evaluate`。 | ||
| 140 | 3. 若完成,则先补文档、changelog、commit、push,再继续下一轮 benchmark。 | ... | ... |
| ... | @@ -16,9 +16,35 @@ | ... | @@ -16,9 +16,35 @@ |
| 16 | - cap48 结果已明确存在 seed sensitivity。 | 16 | - cap48 结果已明确存在 seed sensitivity。 |
| 17 | - 文档已经浓缩为可导航结构。 | 17 | - 文档已经浓缩为可导航结构。 |
| 18 | 18 | ||
| 19 | ## 当前最关键交付事实(12:09 UTC checkpoint) | ||
| 20 | |||
| 21 | - 真正还在持续执行的是 **真实 FMA 全量 smoke**,不是 toy benchmark。 | ||
| 22 | - 当前主训练进程: | ||
| 23 | - `PID=311629` | ||
| 24 | - `ELAPSED=12:00` | ||
| 25 | - `%CPU≈615` | ||
| 26 | - 当前 manifest 规模: | ||
| 27 | - `catalog_references=8000` | ||
| 28 | - `train_queries=6401` | ||
| 29 | - `test_queries=1593` | ||
| 30 | - 当前模型目录 `/tmp/fma_real_smoke_stopcheck/fma_models_smoke/` 仍为空,但这是符合当前 `train.py` 实现的正常现象:`best_model.pt` 会在 `Epoch 1` 结束后首次保存。 | ||
| 31 | - 所以这轮交付最重要的不是“最终精度”,而是**把正在跑的真实大规模 smoke 状态、卡点和续跑方式明确记录下来**。 | ||
| 32 | |||
| 19 | ## 当前卡点 | 33 | ## 当前卡点 |
| 20 | 34 | ||
| 21 | ### 卡点 1:还没有单一全局默认策略 | 35 | ### 卡点 1:真实 FMA 全量 smoke 仍在 CPU 长训练中 |
| 36 | |||
| 37 | 当前最新状态: | ||
| 38 | - 真实 FMA smoke 已启动并持续运行 | ||
| 39 | - 当前环境无 GPU | ||
| 40 | - `fma_models_smoke/` 为空不代表失败,而是 epoch-end 保存逻辑所致 | ||
| 41 | |||
| 42 | 真正待做: | ||
| 43 | - 等待 `Epoch 1` 结束并确认首个模型文件 | ||
| 44 | - 继续捕获 `build-index` / `evaluate` 转场证据 | ||
| 45 | - 完成后立即回写文档、commit、push | ||
| 46 | |||
| 47 | ### 卡点 2:还没有单一全局默认策略 | ||
| 22 | 48 | ||
| 23 | 当前最新状态: | 49 | 当前最新状态: |
| 24 | - cap48 三 seed 聚合:`high_energy` 更稳 | 50 | - cap48 三 seed 聚合:`high_energy` 更稳 |
| ... | @@ -31,7 +57,7 @@ | ... | @@ -31,7 +57,7 @@ |
| 31 | - 补 cap64 multi-seed | 57 | - 补 cap64 multi-seed |
| 32 | - 继续降低 `hybrid` 波动 | 58 | - 继续降低 `hybrid` 波动 |
| 33 | 59 | ||
| 34 | ### 卡点 2:工作区噪音很大 | 60 | ### 卡点 3:工作区噪音很大 |
| 35 | 61 | ||
| 36 | 当前有大量未跟踪或变更的数据/产物文件,提交时必须精准暂存文档文件。 | 62 | 当前有大量未跟踪或变更的数据/产物文件,提交时必须精准暂存文档文件。 |
| 37 | 63 | ... | ... |
| ... | @@ -53,6 +53,50 @@ | ... | @@ -53,6 +53,50 @@ |
| 53 | 53 | ||
| 54 | --- | 54 | --- |
| 55 | 55 | ||
| 56 | ### 最新 checkpoint(2026-06-02 12:09 UTC) | ||
| 57 | |||
| 58 | - 真实 FMA smoke 主进程仍在运行: | ||
| 59 | - `PID=311494`:`src/data/external_adapters.py smoke-local fma ...` | ||
| 60 | - `PID=311629`:`train.py --data /tmp/fma_real_smoke_stopcheck/fma/manifests ...` | ||
| 61 | - 最新观测: | ||
| 62 | - `train.py ELAPSED=12:00` | ||
| 63 | - `%CPU≈615` | ||
| 64 | - `%MEM≈10.4` | ||
| 65 | - manifest 仍有效: | ||
| 66 | - `catalog_references=8000` | ||
| 67 | - `train_queries=6401` | ||
| 68 | - `test_queries=1593` | ||
| 69 | - `val_queries=0` | ||
| 70 | - `/tmp/fma_real_smoke_stopcheck/fma_models_smoke/` 当前仍为空目录。 | ||
| 71 | - 这是**符合当前 train.py 保存逻辑**的:`best_model.pt` 要到 `Epoch 1` 结束后才会首次落盘。 | ||
| 72 | |||
| 73 | ### 当前卡点(最新) | ||
| 74 | |||
| 75 | 1. **真实 FMA smoke 尚未出首个模型文件** | ||
| 76 | - 原因不是异常,而是当前环境无 GPU,且本次使用真实 FMA 全量 8000 首参考。 | ||
| 77 | 2. **MTG-Jamendo 目录仍未就绪** | ||
| 78 | - `data/raw/mtg_jamendo_audio` 当前仍缺少可用音频文件,暂时无法进入同级别 smoke。 | ||
| 79 | 3. **工作树噪音依旧很大** | ||
| 80 | - 提交时必须继续只显式暂存文档 / 脚本,不能误带 `data/external_smoke`、`data/raw`、checkpoint、`__pycache__`。 | ||
| 81 | |||
| 82 | ### 重启后第一优先级动作 | ||
| 83 | |||
| 84 | 1. 先检查真实 FMA smoke 是否完成: | ||
| 85 | ```bash | ||
| 86 | ps -p 311629 -o pid,etime,%cpu,%mem,cmd | ||
| 87 | find /tmp/fma_real_smoke_stopcheck/fma_models_smoke -maxdepth 2 \( -type f -o -type d \) | sort | ||
| 88 | 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' | ||
| 89 | ``` | ||
| 90 | 2. 如果 smoke 完成: | ||
| 91 | - 收集 `report.json` / metrics / artifacts | ||
| 92 | - 回写 `docs/open-dataset-workflow.md` | ||
| 93 | - 回写 `docs/CHANGELOG.md` | ||
| 94 | - commit + push | ||
| 95 | 3. 如果 smoke 仍在跑: | ||
| 96 | - 不要误判为空模型目录是 bug | ||
| 97 | - 继续等待 `Epoch 1` 结束或切换到 `build-index/evaluate` | ||
| 98 | |||
| 99 | |||
| 56 | ## 1. 项目是什么 | 100 | ## 1. 项目是什么 |
| 57 | 101 | ||
| 58 | 这是一个面向**音乐片段识别 / 音乐检索**的 ACR 引擎,核心路线是: | 102 | 这是一个面向**音乐片段识别 / 音乐检索**的 ACR 引擎,核心路线是: | ... | ... |
-
Please register or sign in to post a comment