docs: finalize v182-v191 reproduction audit
Browse files
experiments/objectnav_v182_v187_v189_v191/README.md
CHANGED
|
@@ -71,7 +71,7 @@ SR@0.25、SPL@0.25、SoftSPL 和最终 DTG 的场景聚类 95% CI 都支持 corr
|
|
| 71 |
|
| 72 |
```text
|
| 73 |
code_snapshot/nav3r/ v182/v183 及依赖的第一方代码快照
|
| 74 |
-
code_snapshot/scripts/
|
| 75 |
code_snapshot/third_party/MTU3D/ MTU3D layer3→layer4 hook 对应文件
|
| 76 |
launchers/v189_*/ v189 预注册、启动、分析和测试
|
| 77 |
launchers/v191_*/ v191 selection、预注册、启动、分析和测试
|
|
@@ -82,9 +82,11 @@ evidence/v191_full386/ 320/386 条分析、审计和中文报告
|
|
| 82 |
paths.env.example 外部资源路径模板
|
| 83 |
release_manifest.json 权重 SHA、条件规模和预期视频数
|
| 84 |
verify_release.py 本地代码/HF 下载包完整性检查
|
|
|
|
|
|
|
| 85 |
```
|
| 86 |
|
| 87 |
-
`code_snapshot/scripts/run_mtu3d_objectnav_ab.py` 是后续增加 VLN-CE 分支后的兼容超集;ObjectNav
|
| 88 |
|
| 89 |
## 4. Hugging Face 目录
|
| 90 |
|
|
@@ -168,4 +170,3 @@ python eval/objectnav_v182_v187_v189_v191/verify_release.py \
|
|
| 168 |
```
|
| 169 |
|
| 170 |
验收必须确认三套最终权重 SHA、v187/v189/v191 视频数量、所有 chain/video audit 状态、逐 episode 身份配对和 v191 的 320/386 汇总都一致。
|
| 171 |
-
|
|
|
|
| 71 |
|
| 72 |
```text
|
| 73 |
code_snapshot/nav3r/ v182/v183 及依赖的第一方代码快照
|
| 74 |
+
code_snapshot/scripts/ 正式 staging 的依赖完备净化快照
|
| 75 |
code_snapshot/third_party/MTU3D/ MTU3D layer3→layer4 hook 对应文件
|
| 76 |
launchers/v189_*/ v189 预注册、启动、分析和测试
|
| 77 |
launchers/v191_*/ v191 selection、预注册、启动、分析和测试
|
|
|
|
| 82 |
paths.env.example 外部资源路径模板
|
| 83 |
release_manifest.json 权重 SHA、条件规模和预期视频数
|
| 84 |
verify_release.py 本地代码/HF 下载包完整性检查
|
| 85 |
+
code_provenance.json 正式 SHA、发布 SHA 与兼容超集边界
|
| 86 |
+
REPRODUCIBILITY_AUDIT.md 面向论文复现的完整性审计
|
| 87 |
```
|
| 88 |
|
| 89 |
+
`code_snapshot/scripts/run_mtu3d_objectnav_ab.py` 是后续增加 VLN-CE 分支后的兼容超集;ObjectNav worker、状态同步、底层 launcher、审计脚本和模型代码保持正式版本。v187/v191 预注册中仍保存正式运行时该文件的原 SHA `17ad9d...`,不会把后续兼容性扩展伪装成逐字节相同历史源文件。v189 分析器也有后续诊断扩展,但对正式输入的回放输出与归档 `analysis.json` 逐字节一致;详情见 `code_provenance.json`。
|
| 90 |
|
| 91 |
## 4. Hugging Face 目录
|
| 92 |
|
|
|
|
| 170 |
```
|
| 171 |
|
| 172 |
验收必须确认三套最终权重 SHA、v187/v189/v191 视频数量、所有 chain/video audit 状态、逐 episode 身份配对和 v191 的 320/386 汇总都一致。
|
|
|
experiments/objectnav_v182_v187_v189_v191/REPRODUCIBILITY_AUDIT.md
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# v182 / v187 / v189 / v191 复现完整性审计
|
| 2 |
+
|
| 3 |
+
## 结论
|
| 4 |
+
|
| 5 |
+
发布包足以完成两类复现:
|
| 6 |
+
|
| 7 |
+
1. 不启动 Habitat,直接从逐 episode JSONL 重算 v187/v189/v191 的全部表格、配对差值、场景聚类 bootstrap 和视频审计;
|
| 8 |
+
2. 在用户自行取得 HM3D、ObjectNav-v2 与公开上游权重后,重新训练 v182 三种子并重跑 Habitat 闭环。
|
| 9 |
+
|
| 10 |
+
它不是一个“下载后零配置运行”的容器镜像。CUDA、Habitat-Sim、MTU3D、Sonata/PTv3、ZPlusM、MVSplat、FastSAM 及受许可约束的 HM3D 必须由复现者安装或下载,路径由 `paths.env.example` 提供。
|
| 11 |
+
|
| 12 |
+
## 已验证内容
|
| 13 |
+
|
| 14 |
+
- GitHub 包不含 checkpoint、场景、点云、RGB-D、视频、token 或私钥;仓库级敏感信息和大文件检查通过。
|
| 15 |
+
- `code_snapshot/nav3r/` 与 `code_snapshot/scripts/` 包含 v182 训练、v183 安全仲裁、v185/v186 状态同步、ObjectNav worker、指标与视频审计的依赖闭包;两个与本实验无关且含旧机器私有绝对路径的 legacy H800 launcher 已从发布快照移除。
|
| 16 |
+
- v182/v183/worker/state-sync 相关测试 34/34 通过;v189/v191 分析测试 14/14 通过。
|
| 17 |
+
- HF 发布目录包含 v182 三种子 final adapter、三种子 source adapter、冻结 v132 task adapter、训练契约、所有逐 episode 记录及 1,620 个 MP4。
|
| 18 |
+
- HF 上传前对 2,258 个文件生成 `SHA256SUMS` 并逐文件复算通过;三种子和任务 adapter 的独立 SHA 记录在 `release_manifest.json`。
|
| 19 |
+
- v187/v189/v191 的 provenance 均引用 v182 seed123 final adapter,SHA 为 `39650e...b437b`。
|
| 20 |
+
- v189 当前分析器对原始输入回放,生成的 `analysis.json` 与正式归档结果 SHA256 完全相同:`eefa99...96a78`。
|
| 21 |
+
|
| 22 |
+
## 历史源码边界
|
| 23 |
+
|
| 24 |
+
正式预注册保留了运行当时的每个源码 SHA。除下面两项外,发布快照与预注册逐字节一致:
|
| 25 |
+
|
| 26 |
+
- `run_mtu3d_objectnav_ab.py`:运行时旧 SHA 为 `17ad9d...e288`;远程现存文件是后来增加 VLN-CE 分支的兼容超集,SHA 为 `da4298...e6cf`。ObjectNav worker、在线状态机、底层 launcher 和审计脚本仍逐字节一致。
|
| 27 |
+
- v189 analyzer:运行时旧 SHA 为 `cd29d8...386d`;现存文件是增加诊断输出后的版本,SHA 为 `0b2b6f...6a05`。对正式原始数据的回放输出与归档 `analysis.json` 逐字节相同。
|
| 28 |
+
|
| 29 |
+
这两项不能描述为“历史源文件逐字节复原”。机器可读对应关系见 `code_provenance.json`。它们不妨碍指标复算;闭环重跑属于功能复现而非旧入口的字节级复现。
|
| 30 |
+
|
| 31 |
+
## 有意不发布的资产
|
| 32 |
+
|
| 33 |
+
- HM3D/HM3D-Semantics GLB、navmesh 和 ObjectNav-v2 episode;
|
| 34 |
+
- MTU3D、Sonata/PTv3、ZPlusM、MVSplat、FastSAM 的公开或上游权重;
|
| 35 |
+
- v177 约 117 GB、可由发布采集代码和 licensed HM3D 再生的中间点记忆缓存。
|
| 36 |
+
|
| 37 |
+
发布了 v177 的 teacher labels、selection、采集报告、缓存审计和质量字段契约,因此数据划分、标签时序与训练来源仍可审查。
|
| 38 |
+
|
| 39 |
+
## 论文复现建议
|
| 40 |
+
|
| 41 |
+
论文中应同时引用 Git commit、HF revision、`release_manifest.json` 与 HF `SHA256SUMS`。不要只引用“v187/v191”目录名,也不要把 v182 的离线 Ground/Joint 当作 Habitat SR/SPL。
|
experiments/objectnav_v182_v187_v189_v191/SHA256SUMS
CHANGED
|
@@ -1,4 +1,6 @@
|
|
| 1 |
-
|
|
|
|
|
|
|
| 2 |
a1cc1776fd5a6078e665e2c73cc8f1277db1c2c9b3e30558047d70195c8199eb ./release_manifest.json
|
| 3 |
9c86806331708f32e3d7592fa3a8cd4bec10f2beff4c2dbc91b29b4bb772e448 ./v182_offline/aggregate/formal_phase_a_amendment_r1_to_r2.json
|
| 4 |
f0d1073532b97d9fc7840429a53de796e930c589a61131f97e86b3a6d6fa8beb ./v182_offline/aggregate/formal_phase_a_amendment_r2_to_r3.json
|
|
|
|
| 1 |
+
71dde147f616c1460a164eb83f9b300d8c741c35375d4691a1579c6b7e3ac5d0 ./README.md
|
| 2 |
+
82fa145fa5e4e9a4d23aa0618670908cc02aa5f5c7443f748114ec1ec454caf1 ./REPRODUCIBILITY_AUDIT.md
|
| 3 |
+
41eabf217f6792e1c337c9cfcc1be1879425851ca825b8aa463c9902e3ea2711 ./code_provenance.json
|
| 4 |
a1cc1776fd5a6078e665e2c73cc8f1277db1c2c9b3e30558047d70195c8199eb ./release_manifest.json
|
| 5 |
9c86806331708f32e3d7592fa3a8cd4bec10f2beff4c2dbc91b29b4bb772e448 ./v182_offline/aggregate/formal_phase_a_amendment_r1_to_r2.json
|
| 6 |
f0d1073532b97d9fc7840429a53de796e930c589a61131f97e86b3a6d6fa8beb ./v182_offline/aggregate/formal_phase_a_amendment_r2_to_r3.json
|
experiments/objectnav_v182_v187_v189_v191/code_provenance.json
ADDED
|
@@ -0,0 +1,77 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"schema": "nav3r-objectnav-v182-v187-v189-v191-code-provenance/v1",
|
| 3 |
+
"formal_vs_packaged": {
|
| 4 |
+
"code_snapshot/nav3r/navigation/objectnav_online.py": {
|
| 5 |
+
"formal_sha256": "053d9579ccb7fd349427bf2d0e932f2730eac014db59f8a8266fe3edfc924b94",
|
| 6 |
+
"packaged_sha256": "053d9579ccb7fd349427bf2d0e932f2730eac014db59f8a8266fe3edfc924b94",
|
| 7 |
+
"status": "byte_exact"
|
| 8 |
+
},
|
| 9 |
+
"code_snapshot/scripts/run_mtu3d_objectnav_ab.py": {
|
| 10 |
+
"formal_sha256": "17ad9d19946f46b5af8983541d3e1500082a7356b8c6dd7180b95e7bc1e7e288",
|
| 11 |
+
"packaged_sha256": "da4298f1ab83f9a9d2f0ea4343fdd1009ad7faec31fd6785bf8e3291da68e6cf",
|
| 12 |
+
"status": "later_vlnce_compatible_superset_original_objectnav_entrypoint_unavailable"
|
| 13 |
+
},
|
| 14 |
+
"code_snapshot/scripts/mtu3d_objectnav_worker.py": {
|
| 15 |
+
"formal_sha256": "9a5ee91d3c55d8cab17d83b12d9d69a4e83a40ca004cee4d02573d9bfd8e4e79",
|
| 16 |
+
"packaged_sha256": "9a5ee91d3c55d8cab17d83b12d9d69a4e83a40ca004cee4d02573d9bfd8e4e79",
|
| 17 |
+
"status": "byte_exact"
|
| 18 |
+
},
|
| 19 |
+
"code_snapshot/scripts/run_objectnav_v26_eval_h100.sh": {
|
| 20 |
+
"formal_sha256": "46e9ded95b6dcd6d9b15d402e0bee9174489484cb3ee57a1948ccefdd3f5221e",
|
| 21 |
+
"packaged_sha256": "46e9ded95b6dcd6d9b15d402e0bee9174489484cb3ee57a1948ccefdd3f5221e",
|
| 22 |
+
"status": "byte_exact"
|
| 23 |
+
},
|
| 24 |
+
"code_snapshot/scripts/analyze_objectnav_v187_state_synced_confirmatory66.py": {
|
| 25 |
+
"formal_sha256": "cdfd5e6ef64d1945fc461e4c85badf47c65b6312deea286cfa74fe0864e0f9fb",
|
| 26 |
+
"packaged_sha256": "cdfd5e6ef64d1945fc461e4c85badf47c65b6312deea286cfa74fe0864e0f9fb",
|
| 27 |
+
"status": "byte_exact"
|
| 28 |
+
},
|
| 29 |
+
"code_snapshot/scripts/run_objectnav_v187_state_synced_confirmatory66_h100.sh": {
|
| 30 |
+
"formal_sha256": "801c43cb9221119819cc4472326075e522c71d0f51d9e90b1005968878edbb78",
|
| 31 |
+
"packaged_sha256": "801c43cb9221119819cc4472326075e522c71d0f51d9e90b1005968878edbb78",
|
| 32 |
+
"status": "byte_exact"
|
| 33 |
+
},
|
| 34 |
+
"code_snapshot/scripts/audit_objectnav_v26_ggf_chain.py": {
|
| 35 |
+
"formal_sha256": "6254ac42afc23850daa88e41b2a0622bb7ed49fc9cada0336bb5103b82b26440",
|
| 36 |
+
"packaged_sha256": "6254ac42afc23850daa88e41b2a0622bb7ed49fc9cada0336bb5103b82b26440",
|
| 37 |
+
"status": "byte_exact"
|
| 38 |
+
},
|
| 39 |
+
"code_snapshot/scripts/audit_navigation_videos_v30.py": {
|
| 40 |
+
"formal_sha256": "38d205a3a8d0d5a7a2e3c675792df41b64612d07a2033255d5a1de24f6a6960b",
|
| 41 |
+
"packaged_sha256": "38d205a3a8d0d5a7a2e3c675792df41b64612d07a2033255d5a1de24f6a6960b",
|
| 42 |
+
"status": "byte_exact"
|
| 43 |
+
},
|
| 44 |
+
"code_snapshot/scripts/summarize_zplusm_runtime_v26.py": {
|
| 45 |
+
"formal_sha256": "3e576569909a8322516c5b13b97f7b264ae8ccd9858f7718579368def8400df8",
|
| 46 |
+
"packaged_sha256": "3e576569909a8322516c5b13b97f7b264ae8ccd9858f7718579368def8400df8",
|
| 47 |
+
"status": "byte_exact"
|
| 48 |
+
},
|
| 49 |
+
"launchers/v189_v187_full_ablation66_20260824/analyze_objectnav_v189_v187_full_ablation66.py": {
|
| 50 |
+
"formal_sha256": "cd29d8a26a2ebda87454ff02f0e5ce8e16c924073f11a056729627d6d983386d",
|
| 51 |
+
"packaged_sha256": "0b2b6f4d7b013930f6b2ec5071e4e3ad909c6dba4baf8ba4c57ab5251ba56a05",
|
| 52 |
+
"status": "later_diagnostics_superset_exact_output_replay_passed",
|
| 53 |
+
"archived_analysis_sha256": "eefa9903414242c577ad35081ccc89a7600dd79682f2b82b693a735eef896a78",
|
| 54 |
+
"replayed_analysis_sha256": "eefa9903414242c577ad35081ccc89a7600dd79682f2b82b693a735eef896a78"
|
| 55 |
+
},
|
| 56 |
+
"launchers/v191_v187_full386_20260824/build_v191_fresh320_selection.py": {
|
| 57 |
+
"formal_sha256": "b8e9cf268197dcf4c9a5ceee68248fa787a0445ab884b09d1ccb82ecf4810ec4",
|
| 58 |
+
"packaged_sha256": "b8e9cf268197dcf4c9a5ceee68248fa787a0445ab884b09d1ccb82ecf4810ec4",
|
| 59 |
+
"status": "byte_exact"
|
| 60 |
+
},
|
| 61 |
+
"launchers/v191_v187_full386_20260824/analyze_objectnav_v191_full386.py": {
|
| 62 |
+
"formal_sha256": "48c3eb6e33b2f5a03e086c850a4caf0bdd8852e337476629c02027c3a22ff9fa",
|
| 63 |
+
"packaged_sha256": "48c3eb6e33b2f5a03e086c850a4caf0bdd8852e337476629c02027c3a22ff9fa",
|
| 64 |
+
"status": "byte_exact"
|
| 65 |
+
},
|
| 66 |
+
"launchers/v191_v187_full386_20260824/test_analyze_objectnav_v191_full386.py": {
|
| 67 |
+
"formal_sha256": "d6fd11128baeacc29c6d555058ba847a39e440ad013d9e9168b609c14a0f8ae8",
|
| 68 |
+
"packaged_sha256": "d6fd11128baeacc29c6d555058ba847a39e440ad013d9e9168b609c14a0f8ae8",
|
| 69 |
+
"status": "byte_exact"
|
| 70 |
+
}
|
| 71 |
+
},
|
| 72 |
+
"test_evidence": {
|
| 73 |
+
"v182_v183_worker_state_sync_tests": "34 passed",
|
| 74 |
+
"v189_v191_analysis_tests": "14 passed",
|
| 75 |
+
"v189_current_analyzer_replay": "byte-identical analysis.json"
|
| 76 |
+
}
|
| 77 |
+
}
|