linlianjiang commited on
Commit
0cefa5c
Β·
verified Β·
1 Parent(s): fee05d8

Resume bundle: step 100000/154000 checkpoint + code

Browse files
Files changed (4) hide show
  1. README_RUN.md +94 -0
  2. SHA256 +2 -0
  3. checkpoint_last.pt +3 -0
  4. feedforward_code.tar.gz +3 -0
README_RUN.md ADDED
@@ -0,0 +1,94 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # feedforward β€” resume bundle (step 100000 / 154000)
2
+
3
+ A training run stopped at optimizer step 100000 of 154000. This bundle has the
4
+ checkpoint and the code. Two things you must supply yourself β€” see "What you need
5
+ to add" below.
6
+
7
+ ## Contents
8
+
9
+ | File | Size | Goes to |
10
+ |---|---|---|
11
+ | `checkpoint_last.pt` | 12.9 GiB | `feedforward/outputs/full/checkpoint_last.pt` |
12
+ | `feedforward_code.tar.gz` | 523 KiB | unpacks to `feedforward/` |
13
+ | `SHA256` | β€” | checksums for the two above |
14
+
15
+ ## What you need to add
16
+
17
+ **1. The pretrained VGGT-Omega backbone** β€” `weights/vggt_omega_1b_512.pt`, the
18
+ official 1B fp32 checkpoint. It is **not** in this bundle: the HuggingFace repo is
19
+ gated, so you request access and download it under your own agreement. Once you have
20
+ it, verify you got the identical file:
21
+
22
+ ```
23
+ sha256 c02da418b18bb01d0392598d3f6147366bcde1bb70fd08a5e3bf7925b0667934
24
+ size 4576706117 bytes
25
+ ```
26
+
27
+ Do not substitute `facebook/VGGT-1B` β€” different architecture, the keys will not load
28
+ (`dense_head` here vs. `depth_head`/`point_head`/`track_head` there). Do not
29
+ substitute the bf16 release either; it shifts the distillation numerics 100k steps
30
+ into a run.
31
+
32
+ **2. RealEstate10K** in the pixelSplat shard layout (~510 G):
33
+ `<root>/train/*.torch`, `<root>/test/*.torch`, `<root>/test/index.json`.
34
+
35
+ ## Setup
36
+
37
+ ```bash
38
+ sha256sum -c SHA256 # a 13.8 G transfer earns a check
39
+
40
+ mkdir -p feedforward && tar -xzf feedforward_code.tar.gz -C feedforward
41
+ cd feedforward
42
+ mkdir -p outputs/full weights
43
+ mv ../checkpoint_last.pt outputs/full/
44
+ cp /wherever/you/downloaded/vggt_omega_1b_512.pt weights/
45
+
46
+ pip install -r requirements.txt # install the torch build matching your driver first
47
+ ```
48
+
49
+ ## Three things that will bite you
50
+
51
+ 1. **`weights/vggt_omega_1b_512.pt` is not optional, even to resume.**
52
+ `model.load_pretrained()` at train.py:405 runs unconditionally *before* the resume
53
+ block at train.py:438, and asserts 0 missing / 0 unexpected. Without the file the
54
+ job dies within seconds β€” even though the checkpoint is about to overwrite those
55
+ weights anyway. The frozen teacher then loads it a second time (train.py:417),
56
+ because `DISTILL_TEACHER=1` and it is used at every step.
57
+
58
+ 2. **`checkpoint_last.pt` must sit inside `$OUT_DIR`** (`outputs/full` by default).
59
+ train.py:438 checks that one path and nothing else; anywhere else and the run
60
+ starts fresh from step 0 without complaining. Confirm `RESUMED from step 100000`
61
+ appears in the log before walking away.
62
+
63
+ 3. **Throughput drops here.** Step 100000 is exactly where the curriculum's second
64
+ phase opens (`ANISO_AFTER=100000 SHAPE_AFTER=100000`) and the cosine schedule
65
+ restarts. Expect ~3 it/s rather than the ~17 it/s of the first 100k steps. All 54k
66
+ remaining steps are in the expensive phases β€” budget wall-clock accordingly.
67
+
68
+ ## Running
69
+
70
+ Smoke test first. It hard-fails on things like gsplat being unable to rasterize, which
71
+ otherwise surfaces as a silent ~15 dB quality drop rather than an exception:
72
+
73
+ ```bash
74
+ DATA_ROOT=/path/to/re10k scripts/smoke.sh
75
+ ```
76
+
77
+ Then confirm the `ARM=` line reads
78
+ `curriculum=[aniso@100000 shapeK3@100000->K5@130000 app@130000]` with
79
+ `restarts=100000,130000`, and launch:
80
+
81
+ ```bash
82
+ GPUS=4 DATA_ROOT=/path/to/re10k scripts/train_full.sh
83
+ ```
84
+
85
+ `docs/TRAINING.md` has the full curriculum, multi-GPU notes, protocols and the traps
86
+ hit along the way. Read it before committing a long allocation.
87
+
88
+ `logs/` holds the launchers from the originating cluster (SLURM, 4x H100). Their
89
+ partition names, account and module paths are site-specific β€” treat them as reference,
90
+ not as scripts to run unmodified.
91
+
92
+ Note: `scripts/train_full.sh` differs from git HEAD by one change (`torchrun` β†’
93
+ `$PY -m torch.distributed.run`), which fixes a job that died on `torchrun: not found`
94
+ after the recipe check had already passed. That is intentional; keep it.
SHA256 ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ 793337fabe00fb95c3b76f9fc4446fa8fed55aab3d1da039941e905857a0d58f *checkpoint_last.pt
2
+ 5e4754d9eed949ec3e6df771124dd1d76c77bcd4501448b0948eca2aa7d54954 *feedforward_code.tar.gz
checkpoint_last.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:793337fabe00fb95c3b76f9fc4446fa8fed55aab3d1da039941e905857a0d58f
3
+ size 13831021061
feedforward_code.tar.gz ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5e4754d9eed949ec3e6df771124dd1d76c77bcd4501448b0948eca2aa7d54954
3
+ size 535391