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 @@ ...@@ -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 完成项:
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
4 4
5 ## 一页结论 5 ## 一页结论
6 6
7 当前文档入口过多,现统一浓缩为 **4 组主文档** 7 当前文档入口过多,现统一浓缩为 **5 组主文档**
8 8
9 1. **项目与架构** 9 1. **项目与架构**
10 2. **数据与评测** 10 2. **数据与评测**
......
...@@ -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 引擎,核心路线是:
......