# 官方代码复现 代码:`../../patch_policy`([gaoyuezhou/patch_policy](https://github.com/gaoyuezhou/patch_policy))。 权重:(本目录 git 不含 `*.pt`)。 配置:`train_pusht_diffusion_1gpu`,550 epoch(约 5 万 step),训练中不做环境评估,结束时 100 ep。 ## §3.5 编码器(Push-T × DP) | 实验 | 编码器 | 本机 | 论文 Table 8 | |------|--------|-----:|-------------:| | webssl256 | WebSSL 256 × 1024 | **0.737±0.030** | 0.80±0.01 | | dino256 | DINOv2 256 × 384 | **0.725±0.032** | 0.81±0.01 | | vjepa2_patch | V-JEPA2 256 × 1024 | **0.696±0.031** | 0.72±0.04 | | siglip2_patch | SigLIP2 196 × 768 | **0.560±0.039** | 0.64±0.02 | 排序与论文一致:**WebSSL ≈ DINOv2 > V-JEPA2 > SigLIP2**。DINOv3 未跑(gated)。 ## §3.7 压缩(DINOv2 + DP) | 实验 | tokens | final coverage | |------|-------:|---------------:| | dino256 | 256 | **0.725±0.032** | | dino64 | 64 | **0.636±0.037** | | dino16 | 16 | **0.490±0.041** | | dino4 | 4 | **0.471±0.040** | **256 > 64 > 16 ≈ 4**。dino16 不可与 patchpol 0.76 直接比。 ## §3.6 推理速度(已训 checkpoint) 口径对齐官方 `resources_test.py`:`policy(obs, goal, None)`,每步 `cuda.synchronize`,不含 action chunking。GPU 是 **RTX 4080 SUPER**(论文 Table 3 是 H200)。原始数字:`inference/latency.json`。 对照论文 Table 3(有对应权重的三行): | Method | 本机 total / trainable | 本机 policy ms | 论文 | |--------|------------------------|---------------:|------| | **Ours - DP (DINOv2)** | **40.43M / 9.19M** | 562 | 40.43M / 9.19M / 445.85 ms | | **Ours - DP (WebSSL)** | 322.36M / **9.35M** | 578 | 303.66M / 9.35M / 451.68 ms | | **Ours - VQ-BeT (WebSSL)** | **334.10M / 30.44M** | 5.16 | 334.00M / 30.34M / 21.43 ms | 参数量和论文几乎逐项对上。DP 延迟比 H200 高约 1.26×,但仍是去噪 100 步主导(DINOv2 562 vs WebSSL 578,编码器几乎不加时间)。VQ-BeT 本机 5.16 ms 快于论文 21.43 ms,因为 Cube `_1gpu` 的 obs window 是 **2** 不是 5。ResNet / OpenVLA / ACT / VQ-BeT DINOv2 没有本机权重,未测。 全部 10 个终局: | 实验 | Hydra | policy ms | full ms | |------|-------|----------:|--------:| | pusht DP dino256 | `12-27-54` | 562 | 567 | | pusht DP dino64 | `20-12-04` | 576 | 582 | | pusht DP dino16 | `08-18-08` | 571 | 580 | | pusht DP dino4 | `22-42-29` | 561 | 569 | | pusht DP webssl256 | `15-24-12` | 578 | 584 | | pusht DP siglip2 | `01-04-42` | 553 | 582 | | pusht DP vjepa2 | `04-42-19` | 564 | 610 | | cube VQ-BeT webssl_cls | `09-35-53` | 4.91 | 17.25 | | cube VQ-BeT webssl_avgpool | `05-48-51` | 4.92 | 17.22 | | cube VQ-BeT webssl_patch | `10-29-41` | 5.16 | 17.43 | DP 压缩 256→4 **不降** 推理延迟。VQ-BeT 上 patch 相对 CLS 只多 0.25 ms;加上编码器后三者都是 ~17 ms。 ## §3.3 Cube × VQ-BeT × WebSSL `train_cube_1gpu`:obs window **2**(论文 5),batch 64。指标 `entered`(max 2)。± 为 100 episode SEM。 | 实验 | Hydra | 本机 entered | 论文 Table 1 | |------|-------|-------------:|-------------:| | **webssl_patch** | `10-29-41` | **1.68±0.068**(12 / 8 / 80) | 1.68±0.03 | | webssl_cls | `09-35-53` | **0.14±0.035**(86 / 14 / 0) | 0.23±0.01 | | webssl_avgpool | `05-48-51` | **0.13±0.037**(88 / 11 / 1) | 0.25±0.02 | 括号为 0 / 1 / 2 个方块放入目标的 episode 数。排序与论文一致:**patch ≫ CLS ≈ AvgPool**。patch 均值与 Table 1 相同;global 两条略低于论文,但仍接近 0。window=2 不能当 Table 1 同设定,但 §3.3 的拉开已经出现。 权重在 `outputs/cube/<日期>/<时刻>/`。损失曲线:[plots/](plots/)。