EXP-3D-RGBD-DATA-SCALE-V14 协议:只增加训练场景
- 依据:
PLAN_BEFORE_TRAIN_EXT_DATA.md(sha256526c3623…),在读取任何新训练数据之前写定。本协议只把计划落实到数据与代码,不改变任何规则。 - 冻结: 训练开始之前冻结(
preregistration.json)。冻结时哈希协议、计划、全部输入、源码,以及此前所有实验的输出。 - 资源: 全程 CPU(8–23 号核,单线程 BLAS),GPU 暂停。
1. 数据
- 新训练数据 TRAIN-EXT: 见
outputs/EXP-3D-RGBD-TRAIN-EXT-DATA。 - 按计划的规则锁定了 77 个候选;读取之后,55 个有效,22 个未通过冻结的有效性规则。
- 55 个场景来自 29 个 volume:31 个来自官方 train,24 个来自官方 val。
- 与 DEV 不共享 volume;源资产与所有评价场景、受保护场景和 TRAIN72 都不相同。
- 每个场景都有冻结的角色规则要求的 4 个空闲帧(可变视角训练用)。
- 训练集:
- C0:TRAIN72,与 V11 相同。
- C1:TRAIN72 + TRAIN-EXT,共 127 个场景,约为 1.76 倍。
- DEV: 8 个场景,只用于选择 checkpoint 和描述性结果。
- 评价队列:
- 主队列:EVAL-V3(57 个场景)与 EVAL-V4(26 个场景)的近处 query 合并,共 83 个场景。两者场景互不重叠;都与两个训练集按场景和源资产不相交,但可能共享 volume。
- 描述性:EVAL-FAR(79 个场景的远处 query,场景与 EVAL-V3/V4 相同)。
- 不使用: FRESH-V1/V2;受保护的 final holdout 不打开。
2. 训练(配方与 V11 C1 完全相同)
- 模型: hidden 32、expansion 64,64,238 个参数;32³ 网格,CONTEXT_DEPTH bounds,冻结的 V2 C1 损失。
- 优化: 6000 步,Adam 1e-3,梯度裁剪 1.0,每步 1 个场景、1024 条光线。
- 视角: 可变 3–7 视角(V11 的额外视角规则,独立随机数生成器)。
- 初始化: 两个变体的每个 seed 都与 V11 C1 的初始参数完全相同。
- 选择: 在 12 个 checkpoint 中,用冻结的 V2 DEV 规则逐 seed 选择。
- 执行: seed 为 20260928、20260929、20260930;6 个训练并行,每个占一个核。
3. 代码
由 V12 的文件逐字派生(/tmp/claude_v14_derive.py,每处替换都检查出现次数),只有以下实质改动:
- 训练集: C1 的训练集为 TRAIN_EXT。V14 自带
train_records,按 V14 的变体表取训练集。 - 原因:V12 借用的 V8 版本查的是 V8 的变体表(所有变体都是 TRAIN72),照抄会让 C1 悄悄地仍在 TRAIN72 上训练。
- 测试
test_train_records_follow_the_v14_table_and_not_the_v8_table专门检查这一点。 - 状态文件: DEV 曲线评价只记录状态哈希,不保存状态文件;只有选中的 checkpoint 保存状态(节省约 10 GB 磁盘)。所有读取状态文件的代码都只读选中的那一份。
- EVAL 阶段: 新写的
scripts/evaluate_rgbd_data_scale_eval.py(seal / score / analyze)。 - 三个队列一次封存,渲染深度与不透明度。
-
封存之前,C0 的每个预测都必须与已封存的 V11 C1 预测一致(最大差 ≤ 1e-6),否则停止、不读取任何 query 深度。对照的封存分别来自:EVAL-V3 为 V11,EVAL-V4 为 EVAL-V4 复现实验,EVAL-FAR 为 V13。
-
finalize 的附加检查: 每个变体的训练记录只能出现本变体训练集中的场景。
- 验证:
- 7 个单元测试;
- 两轮合成数据全流程排练(第二轮含 finalize),都 PASS;
- 排练中确认:C0 只用了 TRAIN72 的场景,C1 用到了新场景;DEV 曲线没有状态文件;C0 与按 V13 代码路径生成的对照逐位一致。
4. 判定(与计划相同)
- P1: DATA_GAIN = FAR AbsRel(C0) − FAR AbsRel(C1),合并的 83 个场景,冻结的 V2 gate(与 V11 COMPLETION_GAIN 同一函数)。
- P2: AbsRel(REPROJ_HARMONIC) − AbsRel(HFILL8 of C1),同一批场景,INPAINT-V1 的标签规则。
- 分支:
- A:P1 SUPPORTED 且 P2 ABOVE;
- B:只满足其一;
- C:两者都不满足。
- 次要与描述性:
- HFILL8_DATA_GAIN(V2 gate);
- AHFILL8(不透明度阈值 0.5),因为阈值是在 EVAL-V3/V4 上选定的,只作描述;
- 各队列分别的结果(含 EVAL-FAR);
- DEV 的 DATA_GAIN_DEV 与训练曲线;
- carrier 与常数、与 REPROJ_NN 的差。
- 聚合: 与 V11 相同。每个场景内 seed 等权,再取角色均值;场景 bootstrap 10,000 次,seed 20260928。
5. 禁止项
- 不得根据任何结果修改训练集、配方、步数、选择规则、评价队列、判定或分支。
- 基础设施故障(信号终止)按冻结的策略归档后重跑;其他错误不重试,主训练失败则整个实验停止。
- 不打开 FRESH 与受保护的 final holdout。