1202kbs commited on
Commit
be0f1ec
·
verified ·
1 Parent(s): c8aa43a

FAR release bundles

Browse files
Files changed (46) hide show
  1. README.md +81 -1
  2. agent_cell_detector.pt +3 -0
  3. ai2thor_dyn/far_meta/checkpoints/0500000.pth.tar +3 -0
  4. ai2thor_dyn/far_meta/config.yaml +994 -0
  5. ai2thor_dyn/far_multicue/checkpoints/0500000.pth.tar +3 -0
  6. ai2thor_dyn/far_multicue/config.yaml +994 -0
  7. ai2thor_dyn/temporal/checkpoints/0500000.pth.tar +3 -0
  8. ai2thor_dyn/temporal/config.yaml +967 -0
  9. ai2thor_dyn/worldmem/checkpoints/0500000.pth.tar +3 -0
  10. ai2thor_dyn/worldmem/config.yaml +972 -0
  11. ai2thor_v3/far_multicue/checkpoints/0700000.pth.tar +3 -0
  12. ai2thor_v3/far_multicue/config.yaml +858 -0
  13. ai2thor_v3/temporal/checkpoints/0700000.pth.tar +3 -0
  14. ai2thor_v3/temporal/config.yaml +832 -0
  15. ai2thor_v3/worldmem/checkpoints/0700000.pth.tar +3 -0
  16. ai2thor_v3/worldmem/config.yaml +837 -0
  17. bundles.json +363 -0
  18. loopnav/far_meta/checkpoints/0700000.pth.tar +3 -0
  19. loopnav/far_meta/config.yaml +384 -0
  20. loopnav/far_multicue/checkpoints/0700000.pth.tar +3 -0
  21. loopnav/far_multicue/config.yaml +385 -0
  22. loopnav/far_visual/checkpoints/0700000.pth.tar +3 -0
  23. loopnav/far_visual/config.yaml +384 -0
  24. loopnav/longlive_rag/checkpoints/0700000.pth.tar +3 -0
  25. loopnav/longlive_rag/config.yaml +570 -0
  26. loopnav/temporal/checkpoints/0700000.pth.tar +3 -0
  27. loopnav/temporal/config.yaml +363 -0
  28. loopnav/worldmem/checkpoints/0700000.pth.tar +3 -0
  29. loopnav/worldmem/config.yaml +368 -0
  30. oasis_500m_vit_vae.pth +3 -0
  31. soundspaces_v1/far_meta/checkpoints/0700000.pth.tar +3 -0
  32. soundspaces_v1/far_meta/config.yaml +458 -0
  33. soundspaces_v1/far_multicue/checkpoints/0700000.pth.tar +3 -0
  34. soundspaces_v1/far_multicue/config.yaml +458 -0
  35. soundspaces_v1/temporal/checkpoints/0700000.pth.tar +3 -0
  36. soundspaces_v1/temporal/config.yaml +435 -0
  37. soundspaces_v1/worldmem/checkpoints/0700000.pth.tar +3 -0
  38. soundspaces_v1/worldmem/config.yaml +440 -0
  39. soundspaces_v2/far_meta/checkpoints/0700000.pth.tar +3 -0
  40. soundspaces_v2/far_meta/config.yaml +550 -0
  41. soundspaces_v2/far_multicue/checkpoints/0700000.pth.tar +3 -0
  42. soundspaces_v2/far_multicue/config.yaml +550 -0
  43. soundspaces_v2/temporal/checkpoints/0700000.pth.tar +3 -0
  44. soundspaces_v2/temporal/config.yaml +526 -0
  45. soundspaces_v2/worldmem/checkpoints/0700000.pth.tar +3 -0
  46. soundspaces_v2/worldmem/config.yaml +531 -0
README.md CHANGED
@@ -1,3 +1,83 @@
1
  ---
2
- license: apache-2.0
 
 
 
 
 
 
3
  ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  ---
2
+ license: cc-by-nc-4.0
3
+ tags:
4
+ - world-model
5
+ - diffusion
6
+ - retrieval
7
+ - navigation
8
+ - embodied-ai
9
  ---
10
+
11
+ # FAR checkpoints
12
+
13
+ Checkpoint bundles for **FAR**, a latent-diffusion world model with a learned,
14
+ action-conditioned retrieval memory, and its baselines, on the LoopNav,
15
+ SoundSpaces and AI2-THOR corpora. Code: TODO repo URL. Paper: TODO.
16
+
17
+ ## Layout
18
+
19
+ The repo mirrors the code's `models/` directory, so a download lands exactly
20
+ where the configs, launchers and notebooks look:
21
+
22
+ ```
23
+ <corpus>/<arm>/config.yaml # rebuilds the model (Hydra)
24
+ <corpus>/<arm>/checkpoints/<step>.pth.tar # EMA generator weights + memory state + step (inference only)
25
+ oasis_500m_vit_vae.pth # ViT-VAE tokenizer for LoopNav latents
26
+ agent_cell_detector.pt # latent agent-cell detector for the AI2-THOR-dyn probe
27
+ bundles.json # this listing with sizes and SHA-256
28
+ ```
29
+
30
+ Bundles hold what inference needs (EMA generator, the trained or frozen memory
31
+ state, the training step) and cannot resume training. The SDXL VAE used for
32
+ the SoundSpaces and AI2-THOR corpora is fetched from `madebyollin/sdxl-vae-fp16-fix`
33
+ automatically.
34
+
35
+ ## Download
36
+
37
+ ```bash
38
+ python scripts/download_release.py # everything, ~12 GB
39
+ python scripts/download_release.py --corpus ai2thor_v3 # one corpus
40
+ python scripts/download_release.py --arm loopnav/far_multicue
41
+ ```
42
+
43
+ or `huggingface-cli download 1202kbs/FAR-Checkpoints --local-dir models`.
44
+
45
+ ## Bundles
46
+
47
+ | Corpus | Bundle | Arm | Step | Size |
48
+ |---|---|---|---|---|
49
+ | AI2-THOR-dyn | `ai2thor_dyn/far_meta` | FAR -- Meta | 500k | 0.56 GB |
50
+ | AI2-THOR-dyn | `ai2thor_dyn/far_multicue` | FAR -- Multi-Cue | 500k | 0.56 GB |
51
+ | AI2-THOR-dyn | `ai2thor_dyn/temporal` | Temporal | 500k | 0.49 GB |
52
+ | AI2-THOR-dyn | `ai2thor_dyn/worldmem` | WorldMem | 500k | 0.49 GB |
53
+ | AI2-THOR v3 | `ai2thor_v3/far_multicue` | FAR -- Multi-Cue | 700k | 0.55 GB |
54
+ | AI2-THOR v3 | `ai2thor_v3/temporal` | Temporal | 700k | 0.49 GB |
55
+ | AI2-THOR v3 | `ai2thor_v3/worldmem` | WorldMem | 700k | 0.49 GB |
56
+ | LoopNav | `loopnav/far_meta` | FAR -- Meta | 700k | 0.55 GB |
57
+ | LoopNav | `loopnav/far_multicue` | FAR -- Multi-Cue | 700k | 0.55 GB |
58
+ | LoopNav | `loopnav/far_visual` | FAR -- Visual | 700k | 0.55 GB |
59
+ | LoopNav | `loopnav/longlive_rag` | LongLive-RAG | 700k | 0.55 GB |
60
+ | LoopNav | `loopnav/temporal` | Temporal | 700k | 0.49 GB |
61
+ | LoopNav | `loopnav/worldmem` | WorldMem | 700k | 0.49 GB |
62
+ | SoundSpaces v1 | `soundspaces_v1/far_meta` | FAR -- Meta | 700k | 0.55 GB |
63
+ | SoundSpaces v1 | `soundspaces_v1/far_multicue` | FAR -- Multi-Cue | 700k | 0.55 GB |
64
+ | SoundSpaces v1 | `soundspaces_v1/temporal` | Temporal | 700k | 0.49 GB |
65
+ | SoundSpaces v1 | `soundspaces_v1/worldmem` | WorldMem | 700k | 0.49 GB |
66
+ | SoundSpaces v2 | `soundspaces_v2/far_meta` | FAR -- Meta | 700k | 0.55 GB |
67
+ | SoundSpaces v2 | `soundspaces_v2/far_multicue` | FAR -- Multi-Cue | 700k | 0.55 GB |
68
+ | SoundSpaces v2 | `soundspaces_v2/temporal` | Temporal | 700k | 0.49 GB |
69
+ | SoundSpaces v2 | `soundspaces_v2/worldmem` | WorldMem | 700k | 0.49 GB |
70
+
71
+ "Temporal" and "WorldMem" are the recency and field-of-view retrieval
72
+ baselines, "LongLive-RAG" the content-query retrieval baseline; the FAR arms
73
+ differ in the cues the retriever fuses (metadata, visual, multi-cue).
74
+
75
+ ## License
76
+
77
+ CC BY-NC 4.0. The generator and diffusion code these weights belong to are
78
+ adapted from Navigation World Models and DiT (Meta Platforms, CC BY-NC 4.0);
79
+ see the code repository's THIRD_PARTY_NOTICES.md.
80
+
81
+ ## Citation
82
+
83
+ TODO
agent_cell_detector.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5d2a3eeec72e0f3707fdcd5543c4f917b5344d9ff4ec9a1b0e193989e23182d5
3
+ size 177781
ai2thor_dyn/far_meta/checkpoints/0500000.pth.tar ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0df9561e2e2922b5f576c29f625102681c0ad381dfd36d68419b8b1b3f5f5be4
3
+ size 596752547
ai2thor_dyn/far_meta/config.yaml ADDED
@@ -0,0 +1,994 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ recon:
2
+ spec:
3
+ _target_: far.builders.data.build_dataspec
4
+ local_pos_stats:
5
+ min:
6
+ - -2.5
7
+ - -4
8
+ max:
9
+ - 5
10
+ - 4
11
+ meters_per_waypoint: 0.25
12
+ max_frame_offset: 128
13
+ len_traj_pred: ${len_traj_pred}
14
+ planner_mu_init:
15
+ - -0.1
16
+ - 0
17
+ - 0
18
+ planner_sigma_init:
19
+ - 0.02
20
+ - 0.1
21
+ - 0.3142
22
+ pose_fields:
23
+ - x
24
+ - 'y'
25
+ - z
26
+ - pitch
27
+ - yaw
28
+ pose_dim: 5
29
+ pos_dim: 2
30
+ angle_dim: 1
31
+ pose_mode: 2d
32
+ fps: 4.0
33
+ shared:
34
+ manifest_path: results/manifests/recon/recon_split.json
35
+ backend:
36
+ _target_: far.data.backends.NavigationBackend
37
+ transform:
38
+ _target_: far.data.transforms.make_centercrop_resize
39
+ image_height: ${image_height}
40
+ image_width: ${image_width}
41
+ sampler:
42
+ context_goal:
43
+ _target_: far.data.samplers.ContextGoalSampler
44
+ context_pool_size: 12
45
+ len_traj_pred: ${len_traj_pred}
46
+ goals_per_obs: ${goals_per_obs}
47
+ context_traj:
48
+ _target_: far.data.samplers.ContextTrajectorySampler
49
+ context_pool_size: 12
50
+ len_traj_pred: ${len_traj_pred}
51
+ formatter:
52
+ context_pose:
53
+ _target_: far.data.formatters.ContextPoseFormatter2D
54
+ spec: ${recon.spec}
55
+ train:
56
+ _target_: far.data.datasets.FormattedVideoDataset
57
+ formatter: ${recon.formatter.context_pose}
58
+ base_dataset:
59
+ _target_: far.data.datasets.VideoDataset
60
+ manifest_path: ${recon.shared.manifest_path}
61
+ index_path: results/indices/recon/recon_train.json
62
+ backend: ${recon.shared.backend}
63
+ sampler: ${recon.sampler.context_goal}
64
+ transform: ${recon.shared.transform}
65
+ test:
66
+ _target_: far.data.datasets.FormattedVideoDataset
67
+ formatter: ${recon.formatter.context_pose}
68
+ base_dataset:
69
+ _target_: far.data.datasets.VideoDataset
70
+ manifest_path: ${recon.shared.manifest_path}
71
+ index_path: results/indices/recon/recon_test.json
72
+ backend: ${recon.shared.backend}
73
+ sampler: ${recon.sampler.context_goal}
74
+ transform: ${recon.shared.transform}
75
+ eval:
76
+ _target_: far.data.datasets.FormattedVideoDataset
77
+ formatter: ${recon.formatter.context_pose}
78
+ base_dataset:
79
+ _target_: far.data.datasets.VideoDataset
80
+ manifest_path: ${recon.shared.manifest_path}
81
+ index_path: results/indices/recon/recon_test_time.json
82
+ backend: ${recon.shared.backend}
83
+ sampler: ${recon.sampler.context_traj}
84
+ transform: ${recon.shared.transform}
85
+ eval_traj:
86
+ _target_: far.data.datasets.FormattedVideoDataset
87
+ formatter: ${recon.formatter.context_pose}
88
+ base_dataset:
89
+ _target_: far.data.datasets.VideoDataset
90
+ manifest_path: ${recon.shared.manifest_path}
91
+ index_path: results/indices/recon/recon_test_plan.json
92
+ backend: ${recon.shared.backend}
93
+ sampler: ${recon.sampler.context_traj}
94
+ transform: ${recon.shared.transform}
95
+ loopnav:
96
+ spec:
97
+ _target_: far.builders.data.build_dataspec
98
+ local_pos_stats:
99
+ min:
100
+ - -2.5
101
+ - -4
102
+ - 0
103
+ max:
104
+ - 5
105
+ - 4
106
+ - 1
107
+ meters_per_waypoint: 0.25
108
+ max_frame_offset: 128
109
+ len_traj_pred: ${len_traj_pred}
110
+ planner_mu_init:
111
+ - -0.1
112
+ - 0
113
+ - 0
114
+ - 0
115
+ - 0
116
+ planner_sigma_init:
117
+ - 0.02
118
+ - 0.1
119
+ - 0
120
+ - 0
121
+ - 0.3142
122
+ pose_fields:
123
+ - x
124
+ - 'y'
125
+ - z
126
+ - pitch
127
+ - yaw
128
+ pose_dim: 5
129
+ pos_dim: 3
130
+ angle_dim: 2
131
+ pose_mode: 3d
132
+ fps: 20.0
133
+ shared:
134
+ manifest_path: results/manifests/loopnav/loopnav_split.json
135
+ backend:
136
+ _target_: far.data.backends.LoopNavBackend
137
+ standard_frame: false
138
+ transform:
139
+ _target_: far.data.transforms.make_resize
140
+ image_height: ${image_height}
141
+ image_width: ${image_width}
142
+ sampler:
143
+ random_clip:
144
+ _target_: far.data.samplers.RandomClipSampler
145
+ clip_len: 16
146
+ frame_stride: 10
147
+ context_goal:
148
+ _target_: far.data.samplers.ContextGoalSampler
149
+ context_pool_size: 100
150
+ len_traj_pred: ${len_traj_pred}
151
+ goals_per_obs: ${goals_per_obs}
152
+ context_traj:
153
+ _target_: far.data.samplers.ContextTrajectorySampler
154
+ context_pool_size: 100
155
+ len_traj_pred: ${len_traj_pred}
156
+ formatter:
157
+ frame:
158
+ _target_: far.data.formatters.FrameFormatter
159
+ context_pose:
160
+ _target_: far.data.formatters.ContextPoseFormatter
161
+ spec: ${loopnav.spec}
162
+ train_tokenizer:
163
+ _target_: far.data.datasets.FormattedIterableDataset
164
+ formatter: ${loopnav.formatter.frame}
165
+ base_dataset:
166
+ _target_: far.data.datasets.WebVideoIterableDataset
167
+ manifest_path: results/manifests/loopnav/loopnav.json
168
+ index_path: results/indices/loopnav/loopnav_train_ABCA.json
169
+ backend:
170
+ _target_: far.data.backends.WebDatasetBackend
171
+ sampler: ${loopnav.sampler.random_clip}
172
+ transform: ${loopnav.shared.transform}
173
+ cache_dir: null
174
+ cache_size: 100
175
+ shuffle_shards: 32
176
+ shuffle_samples: 100
177
+ loopnav_latent:
178
+ spec:
179
+ _target_: far.builders.data.build_dataspec
180
+ local_pos_stats:
181
+ min:
182
+ - 0
183
+ - 0
184
+ - 0
185
+ max:
186
+ - 1
187
+ - 1
188
+ - 1
189
+ meters_per_waypoint: 1.0
190
+ max_frame_offset: 20.0
191
+ len_traj_pred: ${len_traj_pred}
192
+ planner_mu_init:
193
+ - -0.1
194
+ - 0
195
+ - 0
196
+ - 0
197
+ - 0
198
+ planner_sigma_init:
199
+ - 0.02
200
+ - 0.1
201
+ - 0
202
+ - 0
203
+ - 0.3142
204
+ pose_fields:
205
+ - x
206
+ - 'y'
207
+ - z
208
+ - pitch
209
+ - yaw
210
+ pose_dim: 5
211
+ pos_dim: 3
212
+ angle_dim: 2
213
+ pose_mode: 3d
214
+ fps: 20.0
215
+ shared:
216
+ manifest_path: ${oc.env:FAR_RESULT_ROOT}/manifests/loopnav/loopnav_latent.json
217
+ backend:
218
+ _target_: far.data.backends.LatentLoopNavBackend
219
+ key_suffix: .keys.npy
220
+ standard_frame: false
221
+ transform: null
222
+ sampler:
223
+ random_clip:
224
+ _target_: far.data.samplers.RandomClipSampler
225
+ clip_len: 16
226
+ frame_stride: 10
227
+ context_goal:
228
+ _target_: far.data.samplers.ContextGoalSampler
229
+ context_pool_size: 200
230
+ len_traj_pred: ${len_traj_pred}
231
+ goals_per_obs: ${goals_per_obs}
232
+ context_goal_test:
233
+ _target_: far.data.samplers.ContextGoalSampler
234
+ context_pool_size: 200
235
+ len_traj_pred: ${len_traj_pred}
236
+ goals_per_obs: 4
237
+ context_traj:
238
+ _target_: far.data.samplers.ContextTrajectorySampler
239
+ context_pool_size: 200
240
+ len_traj_pred: ${len_traj_pred}
241
+ formatter:
242
+ frame:
243
+ _target_: far.data.formatters.FrameFormatter
244
+ context_pose:
245
+ _target_: far.data.formatters.ContextPoseFormatter
246
+ spec: ${loopnav_latent.spec}
247
+ train:
248
+ _target_: far.data.datasets.FormattedVideoDataset
249
+ formatter: ${loopnav_latent.formatter.context_pose}
250
+ base_dataset:
251
+ _target_: far.data.datasets.VideoDataset
252
+ manifest_path: ${loopnav_latent.shared.manifest_path}
253
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/loopnav/loopnav_latent_train.json
254
+ backend: ${loopnav_latent.shared.backend}
255
+ sampler: ${loopnav_latent.sampler.context_goal}
256
+ transform: ${loopnav_latent.shared.transform}
257
+ test:
258
+ _target_: far.data.datasets.FormattedVideoDataset
259
+ formatter: ${loopnav_latent.formatter.context_pose}
260
+ base_dataset:
261
+ _target_: far.data.datasets.VideoDataset
262
+ manifest_path: ${loopnav_latent.shared.manifest_path}
263
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/loopnav/loopnav_latent_test.json
264
+ backend: ${loopnav_latent.shared.backend}
265
+ sampler: ${loopnav_latent.sampler.context_goal_test}
266
+ transform: ${loopnav_latent.shared.transform}
267
+ soundspaces_latent:
268
+ spec:
269
+ _target_: far.builders.data.build_dataspec
270
+ local_pos_stats:
271
+ min:
272
+ - 0
273
+ - 0
274
+ - 0
275
+ max:
276
+ - 1
277
+ - 1
278
+ - 1
279
+ meters_per_waypoint: 1.0
280
+ max_frame_offset: 10.0
281
+ len_traj_pred: ${len_traj_pred}
282
+ planner_mu_init:
283
+ - -0.1
284
+ - 0
285
+ - 0
286
+ - 0
287
+ - 0
288
+ planner_sigma_init:
289
+ - 0.02
290
+ - 0.1
291
+ - 0
292
+ - 0
293
+ - 0.3142
294
+ pose_fields:
295
+ - x
296
+ - 'y'
297
+ - z
298
+ - pitch
299
+ - yaw
300
+ pose_dim: 5
301
+ pos_dim: 3
302
+ angle_dim: 2
303
+ pose_mode: 3d
304
+ fps: 10.0
305
+ shared:
306
+ manifest_path: ${oc.env:FAR_RESULT_ROOT}/manifests/soundspaces/soundspaces_latent.json
307
+ backend:
308
+ _target_: far.data.backends.SoundSpacesBackend
309
+ key_suffix: null
310
+ audio_mode: null
311
+ audio_window_hops: 48
312
+ transform: null
313
+ sampler:
314
+ random_clip:
315
+ _target_: far.data.samplers.RandomClipSampler
316
+ clip_len: 16
317
+ frame_stride: 5
318
+ context_goal:
319
+ _target_: far.data.samplers.ContextGoalSampler
320
+ context_pool_size: 200
321
+ len_traj_pred: ${len_traj_pred}
322
+ goals_per_obs: ${goals_per_obs}
323
+ context_goal_test:
324
+ _target_: far.data.samplers.ContextGoalSampler
325
+ context_pool_size: 200
326
+ len_traj_pred: ${len_traj_pred}
327
+ goals_per_obs: 4
328
+ context_traj:
329
+ _target_: far.data.samplers.ContextTrajectorySampler
330
+ context_pool_size: 200
331
+ len_traj_pred: ${len_traj_pred}
332
+ formatter:
333
+ frame:
334
+ _target_: far.data.formatters.FrameFormatter
335
+ context_pose:
336
+ _target_: far.data.formatters.ContextPoseFormatter
337
+ spec: ${soundspaces_latent.spec}
338
+ train:
339
+ _target_: far.data.datasets.FormattedVideoDataset
340
+ formatter: ${soundspaces_latent.formatter.context_pose}
341
+ base_dataset:
342
+ _target_: far.data.datasets.VideoDataset
343
+ manifest_path: ${soundspaces_latent.shared.manifest_path}
344
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/soundspaces/soundspaces_latent_train.json
345
+ backend: ${soundspaces_latent.shared.backend}
346
+ sampler: ${soundspaces_latent.sampler.context_goal}
347
+ transform: ${soundspaces_latent.shared.transform}
348
+ test:
349
+ _target_: far.data.datasets.FormattedVideoDataset
350
+ formatter: ${soundspaces_latent.formatter.context_pose}
351
+ base_dataset:
352
+ _target_: far.data.datasets.VideoDataset
353
+ manifest_path: ${soundspaces_latent.shared.manifest_path}
354
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/soundspaces/soundspaces_latent_test.json
355
+ backend: ${soundspaces_latent.shared.backend}
356
+ sampler: ${soundspaces_latent.sampler.context_goal_test}
357
+ transform: ${soundspaces_latent.shared.transform}
358
+ soundspaces_v2_latent:
359
+ spec:
360
+ _target_: far.builders.data.build_dataspec
361
+ local_pos_stats:
362
+ min:
363
+ - 0
364
+ - 0
365
+ - 0
366
+ max:
367
+ - 1
368
+ - 1
369
+ - 1
370
+ meters_per_waypoint: 1.0
371
+ max_frame_offset: 10.0
372
+ len_traj_pred: ${len_traj_pred}
373
+ planner_mu_init:
374
+ - -0.1
375
+ - 0
376
+ - 0
377
+ - 0
378
+ - 0
379
+ planner_sigma_init:
380
+ - 0.02
381
+ - 0.1
382
+ - 0
383
+ - 0
384
+ - 0.3142
385
+ pose_fields:
386
+ - x
387
+ - 'y'
388
+ - z
389
+ - pitch
390
+ - yaw
391
+ pose_dim: 5
392
+ pos_dim: 3
393
+ angle_dim: 2
394
+ pose_mode: 3d
395
+ fps: 10.0
396
+ shared:
397
+ manifest_path: ${oc.env:FAR_RESULT_ROOT}/manifests/soundspaces_v2/soundspaces_v2_latent.json
398
+ backend:
399
+ _target_: far.data.backends.SoundSpacesBackend
400
+ key_suffix: null
401
+ audio_mode: null
402
+ audio_window_hops: 48
403
+ transform: null
404
+ sampler:
405
+ random_clip:
406
+ _target_: far.data.samplers.RandomClipSampler
407
+ clip_len: 16
408
+ frame_stride: 5
409
+ context_goal:
410
+ _target_: far.data.samplers.ContextGoalSampler
411
+ context_pool_size: 200
412
+ len_traj_pred: ${len_traj_pred}
413
+ goals_per_obs: ${goals_per_obs}
414
+ context_goal_test:
415
+ _target_: far.data.samplers.ContextGoalSampler
416
+ context_pool_size: 200
417
+ len_traj_pred: ${len_traj_pred}
418
+ goals_per_obs: 4
419
+ context_traj:
420
+ _target_: far.data.samplers.ContextTrajectorySampler
421
+ context_pool_size: 200
422
+ len_traj_pred: ${len_traj_pred}
423
+ formatter:
424
+ frame:
425
+ _target_: far.data.formatters.FrameFormatter
426
+ context_pose:
427
+ _target_: far.data.formatters.ContextPoseFormatter
428
+ spec: ${soundspaces_v2_latent.spec}
429
+ train:
430
+ _target_: far.data.datasets.FormattedVideoDataset
431
+ formatter: ${soundspaces_v2_latent.formatter.context_pose}
432
+ base_dataset:
433
+ _target_: far.data.datasets.VideoDataset
434
+ manifest_path: ${soundspaces_v2_latent.shared.manifest_path}
435
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/soundspaces_v2/soundspaces_v2_latent_train.json
436
+ backend: ${soundspaces_v2_latent.shared.backend}
437
+ sampler: ${soundspaces_v2_latent.sampler.context_goal}
438
+ transform: ${soundspaces_v2_latent.shared.transform}
439
+ test:
440
+ _target_: far.data.datasets.FormattedVideoDataset
441
+ formatter: ${soundspaces_v2_latent.formatter.context_pose}
442
+ base_dataset:
443
+ _target_: far.data.datasets.VideoDataset
444
+ manifest_path: ${soundspaces_v2_latent.shared.manifest_path}
445
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/soundspaces_v2/soundspaces_v2_latent_test.json
446
+ backend: ${soundspaces_v2_latent.shared.backend}
447
+ sampler: ${soundspaces_v2_latent.sampler.context_goal_test}
448
+ transform: ${soundspaces_v2_latent.shared.transform}
449
+ ai2thor_latent:
450
+ spec:
451
+ _target_: far.builders.data.build_dataspec
452
+ local_pos_stats:
453
+ min:
454
+ - 0
455
+ - 0
456
+ - 0
457
+ max:
458
+ - 1
459
+ - 1
460
+ - 1
461
+ meters_per_waypoint: 1.0
462
+ max_frame_offset: 10.0
463
+ len_traj_pred: ${len_traj_pred}
464
+ planner_mu_init:
465
+ - -0.1
466
+ - 0
467
+ - 0
468
+ - 0
469
+ - 0
470
+ planner_sigma_init:
471
+ - 0.02
472
+ - 0.1
473
+ - 0
474
+ - 0
475
+ - 0.3142
476
+ pose_fields:
477
+ - x
478
+ - 'y'
479
+ - z
480
+ - pitch
481
+ - yaw
482
+ pose_dim: 5
483
+ pos_dim: 3
484
+ angle_dim: 2
485
+ pose_mode: 3d
486
+ fps: 10.0
487
+ shared:
488
+ manifest_path: ${oc.env:FAR_RESULT_ROOT}/manifests/ai2thor/ai2thor_latent.json
489
+ backend:
490
+ _target_: far.data.backends.THORBackend
491
+ key_suffix: null
492
+ transform: null
493
+ sampler:
494
+ random_clip:
495
+ _target_: far.data.samplers.RandomClipSampler
496
+ clip_len: 16
497
+ frame_stride: 5
498
+ context_goal:
499
+ _target_: far.data.samplers.ContextGoalSampler
500
+ context_pool_size: 200
501
+ len_traj_pred: ${len_traj_pred}
502
+ goals_per_obs: ${goals_per_obs}
503
+ context_goal_test:
504
+ _target_: far.data.samplers.ContextGoalSampler
505
+ context_pool_size: 200
506
+ len_traj_pred: ${len_traj_pred}
507
+ goals_per_obs: 4
508
+ context_traj:
509
+ _target_: far.data.samplers.ContextTrajectorySampler
510
+ context_pool_size: 200
511
+ len_traj_pred: ${len_traj_pred}
512
+ formatter:
513
+ frame:
514
+ _target_: far.data.formatters.FrameFormatter
515
+ context_pose:
516
+ _target_: far.data.formatters.ContextPoseFormatter
517
+ spec: ${ai2thor_latent.spec}
518
+ train:
519
+ _target_: far.data.datasets.FormattedVideoDataset
520
+ formatter: ${ai2thor_latent.formatter.context_pose}
521
+ base_dataset:
522
+ _target_: far.data.datasets.VideoDataset
523
+ manifest_path: ${ai2thor_latent.shared.manifest_path}
524
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/ai2thor/ai2thor_latent_train.json
525
+ backend: ${ai2thor_latent.shared.backend}
526
+ sampler: ${ai2thor_latent.sampler.context_goal}
527
+ transform: ${ai2thor_latent.shared.transform}
528
+ test:
529
+ _target_: far.data.datasets.FormattedVideoDataset
530
+ formatter: ${ai2thor_latent.formatter.context_pose}
531
+ base_dataset:
532
+ _target_: far.data.datasets.VideoDataset
533
+ manifest_path: ${ai2thor_latent.shared.manifest_path}
534
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/ai2thor/ai2thor_latent_test.json
535
+ backend: ${ai2thor_latent.shared.backend}
536
+ sampler: ${ai2thor_latent.sampler.context_goal_test}
537
+ transform: ${ai2thor_latent.shared.transform}
538
+ ai2thor_v2_latent:
539
+ spec:
540
+ _target_: far.builders.data.build_dataspec
541
+ local_pos_stats:
542
+ min:
543
+ - 0
544
+ - 0
545
+ - 0
546
+ max:
547
+ - 1
548
+ - 1
549
+ - 1
550
+ meters_per_waypoint: 1.0
551
+ max_frame_offset: 10.0
552
+ len_traj_pred: ${len_traj_pred}
553
+ planner_mu_init:
554
+ - -0.1
555
+ - 0
556
+ - 0
557
+ - 0
558
+ - 0
559
+ planner_sigma_init:
560
+ - 0.02
561
+ - 0.1
562
+ - 0
563
+ - 0
564
+ - 0.3142
565
+ pose_fields:
566
+ - x
567
+ - 'y'
568
+ - z
569
+ - pitch
570
+ - yaw
571
+ pose_dim: 5
572
+ pos_dim: 3
573
+ angle_dim: 2
574
+ pose_mode: 3d
575
+ fps: 10.0
576
+ shared:
577
+ manifest_path: results/manifests/ai2thor_v2/ai2thor_v2_latent.json
578
+ backend:
579
+ _target_: far.data.backends.THORBackend
580
+ key_suffix: null
581
+ mask_suffix: null
582
+ transform: null
583
+ sampler:
584
+ random_clip:
585
+ _target_: far.data.samplers.RandomClipSampler
586
+ clip_len: 16
587
+ frame_stride: 5
588
+ context_goal:
589
+ _target_: far.data.samplers.ContextGoalSampler
590
+ context_pool_size: 200
591
+ len_traj_pred: ${len_traj_pred}
592
+ goals_per_obs: ${goals_per_obs}
593
+ event_bias_p: 0.0
594
+ event_phase: eval
595
+ event_codes: null
596
+ event_pre:
597
+ - -3
598
+ - 5
599
+ event_post:
600
+ - 0
601
+ - 8
602
+ event_goal_anchor: start
603
+ pool_phase: pre_eval
604
+ context_goal_test:
605
+ _target_: far.data.samplers.ContextGoalSampler
606
+ context_pool_size: 200
607
+ len_traj_pred: ${len_traj_pred}
608
+ goals_per_obs: 4
609
+ pool_phase: pre_eval
610
+ context_traj:
611
+ _target_: far.data.samplers.ContextTrajectorySampler
612
+ context_pool_size: 200
613
+ len_traj_pred: ${len_traj_pred}
614
+ pool_phase: pre_eval
615
+ formatter:
616
+ frame:
617
+ _target_: far.data.formatters.FrameFormatter
618
+ context_pose:
619
+ _target_: far.data.formatters.ContextPoseFormatter
620
+ spec: ${ai2thor_v2_latent.spec}
621
+ train:
622
+ _target_: far.data.datasets.FormattedVideoDataset
623
+ formatter: ${ai2thor_v2_latent.formatter.context_pose}
624
+ base_dataset:
625
+ _target_: far.data.datasets.VideoDataset
626
+ manifest_path: ${ai2thor_v2_latent.shared.manifest_path}
627
+ index_path: results/indices/ai2thor_v2/ai2thor_v2_latent_train.json
628
+ backend: ${ai2thor_v2_latent.shared.backend}
629
+ sampler: ${ai2thor_v2_latent.sampler.context_goal}
630
+ transform: ${ai2thor_v2_latent.shared.transform}
631
+ event_index_path: results/indices/ai2thor_v2/ai2thor_v2_latent_train_events.json
632
+ event_frac: null
633
+ test:
634
+ _target_: far.data.datasets.FormattedVideoDataset
635
+ formatter: ${ai2thor_v2_latent.formatter.context_pose}
636
+ base_dataset:
637
+ _target_: far.data.datasets.VideoDataset
638
+ manifest_path: ${ai2thor_v2_latent.shared.manifest_path}
639
+ index_path: results/indices/ai2thor_v2/ai2thor_v2_latent_test.json
640
+ backend: ${ai2thor_v2_latent.shared.backend}
641
+ sampler: ${ai2thor_v2_latent.sampler.context_goal_test}
642
+ transform: ${ai2thor_v2_latent.shared.transform}
643
+ ai2thor_v3_latent:
644
+ spec:
645
+ _target_: far.builders.data.build_dataspec
646
+ local_pos_stats:
647
+ min:
648
+ - 0
649
+ - 0
650
+ - 0
651
+ max:
652
+ - 1
653
+ - 1
654
+ - 1
655
+ meters_per_waypoint: 1.0
656
+ max_frame_offset: 10.0
657
+ len_traj_pred: ${len_traj_pred}
658
+ planner_mu_init:
659
+ - -0.1
660
+ - 0
661
+ - 0
662
+ - 0
663
+ - 0
664
+ planner_sigma_init:
665
+ - 0.02
666
+ - 0.1
667
+ - 0
668
+ - 0
669
+ - 0.3142
670
+ pose_fields:
671
+ - x
672
+ - 'y'
673
+ - z
674
+ - pitch
675
+ - yaw
676
+ pose_dim: 5
677
+ pos_dim: 3
678
+ angle_dim: 2
679
+ pose_mode: 3d
680
+ fps: 10.0
681
+ shared:
682
+ manifest_path: ${oc.env:FAR_RESULT_ROOT}/manifests/ai2thor_v3/ai2thor_v3_latent.json
683
+ backend:
684
+ _target_: far.data.backends.THORBackend
685
+ key_suffix: null
686
+ mask_suffix: null
687
+ transform: null
688
+ sampler:
689
+ random_clip:
690
+ _target_: far.data.samplers.RandomClipSampler
691
+ clip_len: 16
692
+ frame_stride: 5
693
+ context_goal:
694
+ _target_: far.data.samplers.ContextGoalSampler
695
+ context_pool_size: 200
696
+ len_traj_pred: ${len_traj_pred}
697
+ goals_per_obs: ${goals_per_obs}
698
+ event_bias_p: 0.0
699
+ event_phase: eval
700
+ event_codes: null
701
+ event_pre:
702
+ - -3
703
+ - 5
704
+ event_post:
705
+ - 0
706
+ - 8
707
+ event_goal_anchor: start
708
+ pool_phase: pre_eval
709
+ context_goal_test:
710
+ _target_: far.data.samplers.ContextGoalSampler
711
+ context_pool_size: 200
712
+ len_traj_pred: ${len_traj_pred}
713
+ goals_per_obs: 4
714
+ pool_phase: pre_eval
715
+ context_traj:
716
+ _target_: far.data.samplers.ContextTrajectorySampler
717
+ context_pool_size: 200
718
+ len_traj_pred: ${len_traj_pred}
719
+ pool_phase: pre_eval
720
+ formatter:
721
+ frame:
722
+ _target_: far.data.formatters.FrameFormatter
723
+ context_pose:
724
+ _target_: far.data.formatters.ContextPoseFormatter
725
+ spec: ${ai2thor_v3_latent.spec}
726
+ train:
727
+ _target_: far.data.datasets.FormattedVideoDataset
728
+ formatter: ${ai2thor_v3_latent.formatter.context_pose}
729
+ base_dataset:
730
+ _target_: far.data.datasets.VideoDataset
731
+ manifest_path: ${ai2thor_v3_latent.shared.manifest_path}
732
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/ai2thor_v3/ai2thor_v3_latent_train.json
733
+ backend: ${ai2thor_v3_latent.shared.backend}
734
+ sampler: ${ai2thor_v3_latent.sampler.context_goal}
735
+ transform: ${ai2thor_v3_latent.shared.transform}
736
+ event_index_path: ${oc.env:FAR_RESULT_ROOT}/indices/ai2thor_v3/ai2thor_v3_latent_train_events.json
737
+ event_frac: null
738
+ test:
739
+ _target_: far.data.datasets.FormattedVideoDataset
740
+ formatter: ${ai2thor_v3_latent.formatter.context_pose}
741
+ base_dataset:
742
+ _target_: far.data.datasets.VideoDataset
743
+ manifest_path: ${ai2thor_v3_latent.shared.manifest_path}
744
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/ai2thor_v3/ai2thor_v3_latent_test.json
745
+ backend: ${ai2thor_v3_latent.shared.backend}
746
+ sampler: ${ai2thor_v3_latent.sampler.context_goal_test}
747
+ transform: ${ai2thor_v3_latent.shared.transform}
748
+ ai2thor_dyn_latent:
749
+ spec:
750
+ _target_: far.builders.data.build_dataspec
751
+ local_pos_stats:
752
+ min:
753
+ - 0
754
+ - 0
755
+ - 0
756
+ max:
757
+ - 1
758
+ - 1
759
+ - 1
760
+ meters_per_waypoint: 1.0
761
+ max_frame_offset: 10.0
762
+ len_traj_pred: ${len_traj_pred}
763
+ planner_mu_init:
764
+ - -0.1
765
+ - 0
766
+ - 0
767
+ - 0
768
+ - 0
769
+ planner_sigma_init:
770
+ - 0.02
771
+ - 0.1
772
+ - 0
773
+ - 0
774
+ - 0.3142
775
+ pose_fields:
776
+ - x
777
+ - 'y'
778
+ - z
779
+ - pitch
780
+ - yaw
781
+ pose_dim: 5
782
+ pos_dim: 3
783
+ angle_dim: 2
784
+ pose_mode: 3d
785
+ fps: 10.0
786
+ shared:
787
+ manifest_path: ${oc.env:FAR_RESULT_ROOT}/manifests/ai2thor_dyn/ai2thor_dyn_latent.json
788
+ backend:
789
+ _target_: far.data.backends.THORDynBackend
790
+ reveal_anchor: true
791
+ reveal_start_offset: 12
792
+ agent_state: true
793
+ agent_state_pair_s: 1.5
794
+ agent_state_px_min: 100
795
+ agent_state_noise: 0.0
796
+ key_suffix: .keys_obj_v1.npy
797
+ mask_suffix: .agent.npy
798
+ transform: null
799
+ sampler:
800
+ random_clip:
801
+ _target_: far.data.samplers.RandomClipSampler
802
+ clip_len: 16
803
+ frame_stride: 5
804
+ context_goal:
805
+ _target_: far.data.samplers.ContextGoalSampler
806
+ context_pool_size: 400
807
+ len_traj_pred: ${len_traj_pred}
808
+ goals_per_obs: ${goals_per_obs}
809
+ event_bias_p: 0.0
810
+ event_phase: eval
811
+ event_codes: null
812
+ event_pre:
813
+ - 0
814
+ - 10
815
+ event_post:
816
+ - 8
817
+ - 30
818
+ event_goal_anchor: end
819
+ event_len_traj_pred: 135
820
+ pool_phase: pre_eval
821
+ long_horizon_p: 0.0
822
+ long_horizon_min_past: 50
823
+ context_goal_test:
824
+ _target_: far.data.samplers.ContextGoalSampler
825
+ context_pool_size: 400
826
+ len_traj_pred: ${len_traj_pred}
827
+ goals_per_obs: 4
828
+ pool_phase: pre_eval
829
+ event_bias_p: 0.35
830
+ event_phase: eval
831
+ event_codes: null
832
+ event_pre:
833
+ - 0
834
+ - 10
835
+ event_post:
836
+ - 8
837
+ - 30
838
+ event_goal_anchor: end
839
+ event_len_traj_pred: 135
840
+ long_horizon_p: 0.0
841
+ long_horizon_min_past: 50
842
+ context_traj:
843
+ _target_: far.data.samplers.ContextTrajectorySampler
844
+ context_pool_size: 400
845
+ len_traj_pred: ${len_traj_pred}
846
+ pool_phase: pre_eval
847
+ formatter:
848
+ frame:
849
+ _target_: far.data.formatters.FrameFormatter
850
+ context_pose:
851
+ _target_: far.data.formatters.ContextPoseFormatter
852
+ spec: ${ai2thor_dyn_latent.spec}
853
+ train:
854
+ _target_: far.data.datasets.FormattedVideoDataset
855
+ formatter: ${ai2thor_dyn_latent.formatter.context_pose}
856
+ base_dataset:
857
+ _target_: far.data.datasets.VideoDataset
858
+ manifest_path: ${ai2thor_dyn_latent.shared.manifest_path}
859
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/ai2thor_dyn/ai2thor_dyn_latent_train.json
860
+ backend: ${ai2thor_dyn_latent.shared.backend}
861
+ sampler: ${ai2thor_dyn_latent.sampler.context_goal}
862
+ transform: ${ai2thor_dyn_latent.shared.transform}
863
+ event_index_path: ${oc.env:FAR_RESULT_ROOT}/indices/ai2thor_dyn/ai2thor_dyn_latent_train_events.json
864
+ event_frac: 0.35
865
+ test:
866
+ _target_: far.data.datasets.FormattedVideoDataset
867
+ formatter: ${ai2thor_dyn_latent.formatter.context_pose}
868
+ base_dataset:
869
+ _target_: far.data.datasets.VideoDataset
870
+ manifest_path: ${ai2thor_dyn_latent.shared.manifest_path}
871
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/ai2thor_dyn/ai2thor_dyn_latent_test.json
872
+ backend: ${ai2thor_dyn_latent.shared.backend}
873
+ sampler: ${ai2thor_dyn_latent.sampler.context_goal_test}
874
+ transform: ${ai2thor_dyn_latent.shared.transform}
875
+ model:
876
+ tokenizer:
877
+ _target_: far.tokenizers.sd_vae.SD_VAE
878
+ image_height: ${image_height}
879
+ image_width: ${image_width}
880
+ vae_scale: 0.13025
881
+ ckpt_path: models/sdxl-vae-fp16-fix
882
+ generator:
883
+ _target_: far.generators.agent_state.AgentStateCDiT
884
+ depth: 12
885
+ hidden_size: 768
886
+ patch_size: 2
887
+ num_heads: 12
888
+ context_size: 4
889
+ ckpt_path: null
890
+ action_dim: ${action_dim}
891
+ pose_dim: ${pose_dim}
892
+ fov_half_h: 45.0
893
+ fov_half_v: 45.0
894
+ local_pos_stats: ${ai2thor_dyn_latent.spec.local_pos_stats}
895
+ stride_to_seconds: 1.0
896
+ interact_dim: 5
897
+ predictor_dim: 128
898
+ predictor_heads: 4
899
+ pos_loss_weight: 0.05
900
+ state_dim: 6
901
+ memory:
902
+ _target_: far.memories.pnp_cl.PnPRetrieval
903
+ ckpt_path: null
904
+ chunk_size: 30
905
+ num_sets: 5
906
+ softmax_temperature: 0.1
907
+ scoring: meta
908
+ metadata_hidden: 128
909
+ metadata_layers: 3
910
+ local_pos_stats: ${ai2thor_dyn_latent.spec.local_pos_stats}
911
+ stride_to_seconds: 1.0
912
+ metadata_agent_state: false
913
+ encoder_mode: frozen
914
+ adapter_hidden: 384
915
+ query_source: frame
916
+ query_conditioning: action
917
+ gate_eps: 0.05
918
+ query_vit:
919
+ _target_: far.memories.pnp_cl.QueryViT
920
+ img_height: 32
921
+ img_width: 32
922
+ patch_size: 2
923
+ in_chans: 4
924
+ embed_dim: 384
925
+ depth: 6
926
+ num_heads: 12
927
+ action_dim: ${action_dim}
928
+ key_dim: 256
929
+ mlp_ratio: 4.0
930
+ interact_dim: 4
931
+ _target_: far.builders.models.build_ldwm
932
+ _recursive_: false
933
+ condition_on_context_time: true
934
+ condition_on_context_pose: true
935
+ retriever_loss_weight: 1.0
936
+ mask_loss_lambda: 5.0
937
+ mask_max_frac: 0.15
938
+ rag_mask_loss_lambda: 5.0
939
+ agent_loss_weight: 1.0
940
+ agent_reward_weight: 1.0
941
+ agent_cond_binary: true
942
+ diffusion:
943
+ _target_: far.generators.diffusion.create_diffusion
944
+ timestep_respacing: null
945
+ noise_schedule: linear
946
+ diffusion_steps: 1000
947
+ learn_sigma: true
948
+ predict_xstart: false
949
+ sigma_small: false
950
+ use_kl: false
951
+ rescale_learned_sigmas: false
952
+ wandb:
953
+ project: PMem-THOR
954
+ name: null
955
+ entity: null
956
+ mode: online
957
+ group: ai2thor_dyn_latent
958
+ tags:
959
+ - ai2thor_dyn_latent
960
+ run_name: thordyn_cdit_b_pnp_meta_posefa_A_nocue_ctx4_rev_agent
961
+ context_size: 4
962
+ action_dim: 5
963
+ pose_dim: 5
964
+ image_height: 256
965
+ image_width: 256
966
+ len_traj_pred: 32
967
+ goals_per_obs: 4
968
+ lr: 0.0001
969
+ lr_mem: 0.0001
970
+ weight_decay: 0.0
971
+ grad_clip_val: 1.0
972
+ iterations: 5000000
973
+ warmup_steps: 5000
974
+ from_checkpoint: null
975
+ global_seed: 0
976
+ log_every: 100
977
+ ckpt_every: 100000
978
+ latest_every: 2500
979
+ eval_every: 2500
980
+ rag_every: 7
981
+ rag_noise_levels: 4
982
+ rag_mode: diffusion
983
+ rag_ddim_steps: 8
984
+ rag_mse_weight: 1.0
985
+ local_rag: true
986
+ local_rag_weight: 1.0
987
+ rag_anchored_only: true
988
+ bfloat16: false
989
+ torch_compile: true
990
+ batch_size: 16
991
+ eval_batch_size: 32
992
+ num_workers: 12
993
+ datasets:
994
+ - ai2thor_dyn_latent
ai2thor_dyn/far_multicue/checkpoints/0500000.pth.tar ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5ac646018deaae9c66cc19b2b7c4e1714641eeaed01f40a1f0eb9ee815afa6b2
3
+ size 596759399
ai2thor_dyn/far_multicue/config.yaml ADDED
@@ -0,0 +1,994 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ recon:
2
+ spec:
3
+ _target_: far.builders.data.build_dataspec
4
+ local_pos_stats:
5
+ min:
6
+ - -2.5
7
+ - -4
8
+ max:
9
+ - 5
10
+ - 4
11
+ meters_per_waypoint: 0.25
12
+ max_frame_offset: 128
13
+ len_traj_pred: ${len_traj_pred}
14
+ planner_mu_init:
15
+ - -0.1
16
+ - 0
17
+ - 0
18
+ planner_sigma_init:
19
+ - 0.02
20
+ - 0.1
21
+ - 0.3142
22
+ pose_fields:
23
+ - x
24
+ - 'y'
25
+ - z
26
+ - pitch
27
+ - yaw
28
+ pose_dim: 5
29
+ pos_dim: 2
30
+ angle_dim: 1
31
+ pose_mode: 2d
32
+ fps: 4.0
33
+ shared:
34
+ manifest_path: results/manifests/recon/recon_split.json
35
+ backend:
36
+ _target_: far.data.backends.NavigationBackend
37
+ transform:
38
+ _target_: far.data.transforms.make_centercrop_resize
39
+ image_height: ${image_height}
40
+ image_width: ${image_width}
41
+ sampler:
42
+ context_goal:
43
+ _target_: far.data.samplers.ContextGoalSampler
44
+ context_pool_size: 12
45
+ len_traj_pred: ${len_traj_pred}
46
+ goals_per_obs: ${goals_per_obs}
47
+ context_traj:
48
+ _target_: far.data.samplers.ContextTrajectorySampler
49
+ context_pool_size: 12
50
+ len_traj_pred: ${len_traj_pred}
51
+ formatter:
52
+ context_pose:
53
+ _target_: far.data.formatters.ContextPoseFormatter2D
54
+ spec: ${recon.spec}
55
+ train:
56
+ _target_: far.data.datasets.FormattedVideoDataset
57
+ formatter: ${recon.formatter.context_pose}
58
+ base_dataset:
59
+ _target_: far.data.datasets.VideoDataset
60
+ manifest_path: ${recon.shared.manifest_path}
61
+ index_path: results/indices/recon/recon_train.json
62
+ backend: ${recon.shared.backend}
63
+ sampler: ${recon.sampler.context_goal}
64
+ transform: ${recon.shared.transform}
65
+ test:
66
+ _target_: far.data.datasets.FormattedVideoDataset
67
+ formatter: ${recon.formatter.context_pose}
68
+ base_dataset:
69
+ _target_: far.data.datasets.VideoDataset
70
+ manifest_path: ${recon.shared.manifest_path}
71
+ index_path: results/indices/recon/recon_test.json
72
+ backend: ${recon.shared.backend}
73
+ sampler: ${recon.sampler.context_goal}
74
+ transform: ${recon.shared.transform}
75
+ eval:
76
+ _target_: far.data.datasets.FormattedVideoDataset
77
+ formatter: ${recon.formatter.context_pose}
78
+ base_dataset:
79
+ _target_: far.data.datasets.VideoDataset
80
+ manifest_path: ${recon.shared.manifest_path}
81
+ index_path: results/indices/recon/recon_test_time.json
82
+ backend: ${recon.shared.backend}
83
+ sampler: ${recon.sampler.context_traj}
84
+ transform: ${recon.shared.transform}
85
+ eval_traj:
86
+ _target_: far.data.datasets.FormattedVideoDataset
87
+ formatter: ${recon.formatter.context_pose}
88
+ base_dataset:
89
+ _target_: far.data.datasets.VideoDataset
90
+ manifest_path: ${recon.shared.manifest_path}
91
+ index_path: results/indices/recon/recon_test_plan.json
92
+ backend: ${recon.shared.backend}
93
+ sampler: ${recon.sampler.context_traj}
94
+ transform: ${recon.shared.transform}
95
+ loopnav:
96
+ spec:
97
+ _target_: far.builders.data.build_dataspec
98
+ local_pos_stats:
99
+ min:
100
+ - -2.5
101
+ - -4
102
+ - 0
103
+ max:
104
+ - 5
105
+ - 4
106
+ - 1
107
+ meters_per_waypoint: 0.25
108
+ max_frame_offset: 128
109
+ len_traj_pred: ${len_traj_pred}
110
+ planner_mu_init:
111
+ - -0.1
112
+ - 0
113
+ - 0
114
+ - 0
115
+ - 0
116
+ planner_sigma_init:
117
+ - 0.02
118
+ - 0.1
119
+ - 0
120
+ - 0
121
+ - 0.3142
122
+ pose_fields:
123
+ - x
124
+ - 'y'
125
+ - z
126
+ - pitch
127
+ - yaw
128
+ pose_dim: 5
129
+ pos_dim: 3
130
+ angle_dim: 2
131
+ pose_mode: 3d
132
+ fps: 20.0
133
+ shared:
134
+ manifest_path: results/manifests/loopnav/loopnav_split.json
135
+ backend:
136
+ _target_: far.data.backends.LoopNavBackend
137
+ standard_frame: false
138
+ transform:
139
+ _target_: far.data.transforms.make_resize
140
+ image_height: ${image_height}
141
+ image_width: ${image_width}
142
+ sampler:
143
+ random_clip:
144
+ _target_: far.data.samplers.RandomClipSampler
145
+ clip_len: 16
146
+ frame_stride: 10
147
+ context_goal:
148
+ _target_: far.data.samplers.ContextGoalSampler
149
+ context_pool_size: 100
150
+ len_traj_pred: ${len_traj_pred}
151
+ goals_per_obs: ${goals_per_obs}
152
+ context_traj:
153
+ _target_: far.data.samplers.ContextTrajectorySampler
154
+ context_pool_size: 100
155
+ len_traj_pred: ${len_traj_pred}
156
+ formatter:
157
+ frame:
158
+ _target_: far.data.formatters.FrameFormatter
159
+ context_pose:
160
+ _target_: far.data.formatters.ContextPoseFormatter
161
+ spec: ${loopnav.spec}
162
+ train_tokenizer:
163
+ _target_: far.data.datasets.FormattedIterableDataset
164
+ formatter: ${loopnav.formatter.frame}
165
+ base_dataset:
166
+ _target_: far.data.datasets.WebVideoIterableDataset
167
+ manifest_path: results/manifests/loopnav/loopnav.json
168
+ index_path: results/indices/loopnav/loopnav_train_ABCA.json
169
+ backend:
170
+ _target_: far.data.backends.WebDatasetBackend
171
+ sampler: ${loopnav.sampler.random_clip}
172
+ transform: ${loopnav.shared.transform}
173
+ cache_dir: null
174
+ cache_size: 100
175
+ shuffle_shards: 32
176
+ shuffle_samples: 100
177
+ loopnav_latent:
178
+ spec:
179
+ _target_: far.builders.data.build_dataspec
180
+ local_pos_stats:
181
+ min:
182
+ - 0
183
+ - 0
184
+ - 0
185
+ max:
186
+ - 1
187
+ - 1
188
+ - 1
189
+ meters_per_waypoint: 1.0
190
+ max_frame_offset: 20.0
191
+ len_traj_pred: ${len_traj_pred}
192
+ planner_mu_init:
193
+ - -0.1
194
+ - 0
195
+ - 0
196
+ - 0
197
+ - 0
198
+ planner_sigma_init:
199
+ - 0.02
200
+ - 0.1
201
+ - 0
202
+ - 0
203
+ - 0.3142
204
+ pose_fields:
205
+ - x
206
+ - 'y'
207
+ - z
208
+ - pitch
209
+ - yaw
210
+ pose_dim: 5
211
+ pos_dim: 3
212
+ angle_dim: 2
213
+ pose_mode: 3d
214
+ fps: 20.0
215
+ shared:
216
+ manifest_path: ${oc.env:FAR_RESULT_ROOT}/manifests/loopnav/loopnav_latent.json
217
+ backend:
218
+ _target_: far.data.backends.LatentLoopNavBackend
219
+ key_suffix: .keys.npy
220
+ standard_frame: false
221
+ transform: null
222
+ sampler:
223
+ random_clip:
224
+ _target_: far.data.samplers.RandomClipSampler
225
+ clip_len: 16
226
+ frame_stride: 10
227
+ context_goal:
228
+ _target_: far.data.samplers.ContextGoalSampler
229
+ context_pool_size: 200
230
+ len_traj_pred: ${len_traj_pred}
231
+ goals_per_obs: ${goals_per_obs}
232
+ context_goal_test:
233
+ _target_: far.data.samplers.ContextGoalSampler
234
+ context_pool_size: 200
235
+ len_traj_pred: ${len_traj_pred}
236
+ goals_per_obs: 4
237
+ context_traj:
238
+ _target_: far.data.samplers.ContextTrajectorySampler
239
+ context_pool_size: 200
240
+ len_traj_pred: ${len_traj_pred}
241
+ formatter:
242
+ frame:
243
+ _target_: far.data.formatters.FrameFormatter
244
+ context_pose:
245
+ _target_: far.data.formatters.ContextPoseFormatter
246
+ spec: ${loopnav_latent.spec}
247
+ train:
248
+ _target_: far.data.datasets.FormattedVideoDataset
249
+ formatter: ${loopnav_latent.formatter.context_pose}
250
+ base_dataset:
251
+ _target_: far.data.datasets.VideoDataset
252
+ manifest_path: ${loopnav_latent.shared.manifest_path}
253
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/loopnav/loopnav_latent_train.json
254
+ backend: ${loopnav_latent.shared.backend}
255
+ sampler: ${loopnav_latent.sampler.context_goal}
256
+ transform: ${loopnav_latent.shared.transform}
257
+ test:
258
+ _target_: far.data.datasets.FormattedVideoDataset
259
+ formatter: ${loopnav_latent.formatter.context_pose}
260
+ base_dataset:
261
+ _target_: far.data.datasets.VideoDataset
262
+ manifest_path: ${loopnav_latent.shared.manifest_path}
263
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/loopnav/loopnav_latent_test.json
264
+ backend: ${loopnav_latent.shared.backend}
265
+ sampler: ${loopnav_latent.sampler.context_goal_test}
266
+ transform: ${loopnav_latent.shared.transform}
267
+ soundspaces_latent:
268
+ spec:
269
+ _target_: far.builders.data.build_dataspec
270
+ local_pos_stats:
271
+ min:
272
+ - 0
273
+ - 0
274
+ - 0
275
+ max:
276
+ - 1
277
+ - 1
278
+ - 1
279
+ meters_per_waypoint: 1.0
280
+ max_frame_offset: 10.0
281
+ len_traj_pred: ${len_traj_pred}
282
+ planner_mu_init:
283
+ - -0.1
284
+ - 0
285
+ - 0
286
+ - 0
287
+ - 0
288
+ planner_sigma_init:
289
+ - 0.02
290
+ - 0.1
291
+ - 0
292
+ - 0
293
+ - 0.3142
294
+ pose_fields:
295
+ - x
296
+ - 'y'
297
+ - z
298
+ - pitch
299
+ - yaw
300
+ pose_dim: 5
301
+ pos_dim: 3
302
+ angle_dim: 2
303
+ pose_mode: 3d
304
+ fps: 10.0
305
+ shared:
306
+ manifest_path: ${oc.env:FAR_RESULT_ROOT}/manifests/soundspaces/soundspaces_latent.json
307
+ backend:
308
+ _target_: far.data.backends.SoundSpacesBackend
309
+ key_suffix: null
310
+ audio_mode: null
311
+ audio_window_hops: 48
312
+ transform: null
313
+ sampler:
314
+ random_clip:
315
+ _target_: far.data.samplers.RandomClipSampler
316
+ clip_len: 16
317
+ frame_stride: 5
318
+ context_goal:
319
+ _target_: far.data.samplers.ContextGoalSampler
320
+ context_pool_size: 200
321
+ len_traj_pred: ${len_traj_pred}
322
+ goals_per_obs: ${goals_per_obs}
323
+ context_goal_test:
324
+ _target_: far.data.samplers.ContextGoalSampler
325
+ context_pool_size: 200
326
+ len_traj_pred: ${len_traj_pred}
327
+ goals_per_obs: 4
328
+ context_traj:
329
+ _target_: far.data.samplers.ContextTrajectorySampler
330
+ context_pool_size: 200
331
+ len_traj_pred: ${len_traj_pred}
332
+ formatter:
333
+ frame:
334
+ _target_: far.data.formatters.FrameFormatter
335
+ context_pose:
336
+ _target_: far.data.formatters.ContextPoseFormatter
337
+ spec: ${soundspaces_latent.spec}
338
+ train:
339
+ _target_: far.data.datasets.FormattedVideoDataset
340
+ formatter: ${soundspaces_latent.formatter.context_pose}
341
+ base_dataset:
342
+ _target_: far.data.datasets.VideoDataset
343
+ manifest_path: ${soundspaces_latent.shared.manifest_path}
344
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/soundspaces/soundspaces_latent_train.json
345
+ backend: ${soundspaces_latent.shared.backend}
346
+ sampler: ${soundspaces_latent.sampler.context_goal}
347
+ transform: ${soundspaces_latent.shared.transform}
348
+ test:
349
+ _target_: far.data.datasets.FormattedVideoDataset
350
+ formatter: ${soundspaces_latent.formatter.context_pose}
351
+ base_dataset:
352
+ _target_: far.data.datasets.VideoDataset
353
+ manifest_path: ${soundspaces_latent.shared.manifest_path}
354
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/soundspaces/soundspaces_latent_test.json
355
+ backend: ${soundspaces_latent.shared.backend}
356
+ sampler: ${soundspaces_latent.sampler.context_goal_test}
357
+ transform: ${soundspaces_latent.shared.transform}
358
+ soundspaces_v2_latent:
359
+ spec:
360
+ _target_: far.builders.data.build_dataspec
361
+ local_pos_stats:
362
+ min:
363
+ - 0
364
+ - 0
365
+ - 0
366
+ max:
367
+ - 1
368
+ - 1
369
+ - 1
370
+ meters_per_waypoint: 1.0
371
+ max_frame_offset: 10.0
372
+ len_traj_pred: ${len_traj_pred}
373
+ planner_mu_init:
374
+ - -0.1
375
+ - 0
376
+ - 0
377
+ - 0
378
+ - 0
379
+ planner_sigma_init:
380
+ - 0.02
381
+ - 0.1
382
+ - 0
383
+ - 0
384
+ - 0.3142
385
+ pose_fields:
386
+ - x
387
+ - 'y'
388
+ - z
389
+ - pitch
390
+ - yaw
391
+ pose_dim: 5
392
+ pos_dim: 3
393
+ angle_dim: 2
394
+ pose_mode: 3d
395
+ fps: 10.0
396
+ shared:
397
+ manifest_path: ${oc.env:FAR_RESULT_ROOT}/manifests/soundspaces_v2/soundspaces_v2_latent.json
398
+ backend:
399
+ _target_: far.data.backends.SoundSpacesBackend
400
+ key_suffix: null
401
+ audio_mode: null
402
+ audio_window_hops: 48
403
+ transform: null
404
+ sampler:
405
+ random_clip:
406
+ _target_: far.data.samplers.RandomClipSampler
407
+ clip_len: 16
408
+ frame_stride: 5
409
+ context_goal:
410
+ _target_: far.data.samplers.ContextGoalSampler
411
+ context_pool_size: 200
412
+ len_traj_pred: ${len_traj_pred}
413
+ goals_per_obs: ${goals_per_obs}
414
+ context_goal_test:
415
+ _target_: far.data.samplers.ContextGoalSampler
416
+ context_pool_size: 200
417
+ len_traj_pred: ${len_traj_pred}
418
+ goals_per_obs: 4
419
+ context_traj:
420
+ _target_: far.data.samplers.ContextTrajectorySampler
421
+ context_pool_size: 200
422
+ len_traj_pred: ${len_traj_pred}
423
+ formatter:
424
+ frame:
425
+ _target_: far.data.formatters.FrameFormatter
426
+ context_pose:
427
+ _target_: far.data.formatters.ContextPoseFormatter
428
+ spec: ${soundspaces_v2_latent.spec}
429
+ train:
430
+ _target_: far.data.datasets.FormattedVideoDataset
431
+ formatter: ${soundspaces_v2_latent.formatter.context_pose}
432
+ base_dataset:
433
+ _target_: far.data.datasets.VideoDataset
434
+ manifest_path: ${soundspaces_v2_latent.shared.manifest_path}
435
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/soundspaces_v2/soundspaces_v2_latent_train.json
436
+ backend: ${soundspaces_v2_latent.shared.backend}
437
+ sampler: ${soundspaces_v2_latent.sampler.context_goal}
438
+ transform: ${soundspaces_v2_latent.shared.transform}
439
+ test:
440
+ _target_: far.data.datasets.FormattedVideoDataset
441
+ formatter: ${soundspaces_v2_latent.formatter.context_pose}
442
+ base_dataset:
443
+ _target_: far.data.datasets.VideoDataset
444
+ manifest_path: ${soundspaces_v2_latent.shared.manifest_path}
445
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/soundspaces_v2/soundspaces_v2_latent_test.json
446
+ backend: ${soundspaces_v2_latent.shared.backend}
447
+ sampler: ${soundspaces_v2_latent.sampler.context_goal_test}
448
+ transform: ${soundspaces_v2_latent.shared.transform}
449
+ ai2thor_latent:
450
+ spec:
451
+ _target_: far.builders.data.build_dataspec
452
+ local_pos_stats:
453
+ min:
454
+ - 0
455
+ - 0
456
+ - 0
457
+ max:
458
+ - 1
459
+ - 1
460
+ - 1
461
+ meters_per_waypoint: 1.0
462
+ max_frame_offset: 10.0
463
+ len_traj_pred: ${len_traj_pred}
464
+ planner_mu_init:
465
+ - -0.1
466
+ - 0
467
+ - 0
468
+ - 0
469
+ - 0
470
+ planner_sigma_init:
471
+ - 0.02
472
+ - 0.1
473
+ - 0
474
+ - 0
475
+ - 0.3142
476
+ pose_fields:
477
+ - x
478
+ - 'y'
479
+ - z
480
+ - pitch
481
+ - yaw
482
+ pose_dim: 5
483
+ pos_dim: 3
484
+ angle_dim: 2
485
+ pose_mode: 3d
486
+ fps: 10.0
487
+ shared:
488
+ manifest_path: ${oc.env:FAR_RESULT_ROOT}/manifests/ai2thor/ai2thor_latent.json
489
+ backend:
490
+ _target_: far.data.backends.THORBackend
491
+ key_suffix: null
492
+ transform: null
493
+ sampler:
494
+ random_clip:
495
+ _target_: far.data.samplers.RandomClipSampler
496
+ clip_len: 16
497
+ frame_stride: 5
498
+ context_goal:
499
+ _target_: far.data.samplers.ContextGoalSampler
500
+ context_pool_size: 200
501
+ len_traj_pred: ${len_traj_pred}
502
+ goals_per_obs: ${goals_per_obs}
503
+ context_goal_test:
504
+ _target_: far.data.samplers.ContextGoalSampler
505
+ context_pool_size: 200
506
+ len_traj_pred: ${len_traj_pred}
507
+ goals_per_obs: 4
508
+ context_traj:
509
+ _target_: far.data.samplers.ContextTrajectorySampler
510
+ context_pool_size: 200
511
+ len_traj_pred: ${len_traj_pred}
512
+ formatter:
513
+ frame:
514
+ _target_: far.data.formatters.FrameFormatter
515
+ context_pose:
516
+ _target_: far.data.formatters.ContextPoseFormatter
517
+ spec: ${ai2thor_latent.spec}
518
+ train:
519
+ _target_: far.data.datasets.FormattedVideoDataset
520
+ formatter: ${ai2thor_latent.formatter.context_pose}
521
+ base_dataset:
522
+ _target_: far.data.datasets.VideoDataset
523
+ manifest_path: ${ai2thor_latent.shared.manifest_path}
524
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/ai2thor/ai2thor_latent_train.json
525
+ backend: ${ai2thor_latent.shared.backend}
526
+ sampler: ${ai2thor_latent.sampler.context_goal}
527
+ transform: ${ai2thor_latent.shared.transform}
528
+ test:
529
+ _target_: far.data.datasets.FormattedVideoDataset
530
+ formatter: ${ai2thor_latent.formatter.context_pose}
531
+ base_dataset:
532
+ _target_: far.data.datasets.VideoDataset
533
+ manifest_path: ${ai2thor_latent.shared.manifest_path}
534
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/ai2thor/ai2thor_latent_test.json
535
+ backend: ${ai2thor_latent.shared.backend}
536
+ sampler: ${ai2thor_latent.sampler.context_goal_test}
537
+ transform: ${ai2thor_latent.shared.transform}
538
+ ai2thor_v2_latent:
539
+ spec:
540
+ _target_: far.builders.data.build_dataspec
541
+ local_pos_stats:
542
+ min:
543
+ - 0
544
+ - 0
545
+ - 0
546
+ max:
547
+ - 1
548
+ - 1
549
+ - 1
550
+ meters_per_waypoint: 1.0
551
+ max_frame_offset: 10.0
552
+ len_traj_pred: ${len_traj_pred}
553
+ planner_mu_init:
554
+ - -0.1
555
+ - 0
556
+ - 0
557
+ - 0
558
+ - 0
559
+ planner_sigma_init:
560
+ - 0.02
561
+ - 0.1
562
+ - 0
563
+ - 0
564
+ - 0.3142
565
+ pose_fields:
566
+ - x
567
+ - 'y'
568
+ - z
569
+ - pitch
570
+ - yaw
571
+ pose_dim: 5
572
+ pos_dim: 3
573
+ angle_dim: 2
574
+ pose_mode: 3d
575
+ fps: 10.0
576
+ shared:
577
+ manifest_path: results/manifests/ai2thor_v2/ai2thor_v2_latent.json
578
+ backend:
579
+ _target_: far.data.backends.THORBackend
580
+ key_suffix: null
581
+ mask_suffix: null
582
+ transform: null
583
+ sampler:
584
+ random_clip:
585
+ _target_: far.data.samplers.RandomClipSampler
586
+ clip_len: 16
587
+ frame_stride: 5
588
+ context_goal:
589
+ _target_: far.data.samplers.ContextGoalSampler
590
+ context_pool_size: 200
591
+ len_traj_pred: ${len_traj_pred}
592
+ goals_per_obs: ${goals_per_obs}
593
+ event_bias_p: 0.0
594
+ event_phase: eval
595
+ event_codes: null
596
+ event_pre:
597
+ - -3
598
+ - 5
599
+ event_post:
600
+ - 0
601
+ - 8
602
+ event_goal_anchor: start
603
+ pool_phase: pre_eval
604
+ context_goal_test:
605
+ _target_: far.data.samplers.ContextGoalSampler
606
+ context_pool_size: 200
607
+ len_traj_pred: ${len_traj_pred}
608
+ goals_per_obs: 4
609
+ pool_phase: pre_eval
610
+ context_traj:
611
+ _target_: far.data.samplers.ContextTrajectorySampler
612
+ context_pool_size: 200
613
+ len_traj_pred: ${len_traj_pred}
614
+ pool_phase: pre_eval
615
+ formatter:
616
+ frame:
617
+ _target_: far.data.formatters.FrameFormatter
618
+ context_pose:
619
+ _target_: far.data.formatters.ContextPoseFormatter
620
+ spec: ${ai2thor_v2_latent.spec}
621
+ train:
622
+ _target_: far.data.datasets.FormattedVideoDataset
623
+ formatter: ${ai2thor_v2_latent.formatter.context_pose}
624
+ base_dataset:
625
+ _target_: far.data.datasets.VideoDataset
626
+ manifest_path: ${ai2thor_v2_latent.shared.manifest_path}
627
+ index_path: results/indices/ai2thor_v2/ai2thor_v2_latent_train.json
628
+ backend: ${ai2thor_v2_latent.shared.backend}
629
+ sampler: ${ai2thor_v2_latent.sampler.context_goal}
630
+ transform: ${ai2thor_v2_latent.shared.transform}
631
+ event_index_path: results/indices/ai2thor_v2/ai2thor_v2_latent_train_events.json
632
+ event_frac: null
633
+ test:
634
+ _target_: far.data.datasets.FormattedVideoDataset
635
+ formatter: ${ai2thor_v2_latent.formatter.context_pose}
636
+ base_dataset:
637
+ _target_: far.data.datasets.VideoDataset
638
+ manifest_path: ${ai2thor_v2_latent.shared.manifest_path}
639
+ index_path: results/indices/ai2thor_v2/ai2thor_v2_latent_test.json
640
+ backend: ${ai2thor_v2_latent.shared.backend}
641
+ sampler: ${ai2thor_v2_latent.sampler.context_goal_test}
642
+ transform: ${ai2thor_v2_latent.shared.transform}
643
+ ai2thor_v3_latent:
644
+ spec:
645
+ _target_: far.builders.data.build_dataspec
646
+ local_pos_stats:
647
+ min:
648
+ - 0
649
+ - 0
650
+ - 0
651
+ max:
652
+ - 1
653
+ - 1
654
+ - 1
655
+ meters_per_waypoint: 1.0
656
+ max_frame_offset: 10.0
657
+ len_traj_pred: ${len_traj_pred}
658
+ planner_mu_init:
659
+ - -0.1
660
+ - 0
661
+ - 0
662
+ - 0
663
+ - 0
664
+ planner_sigma_init:
665
+ - 0.02
666
+ - 0.1
667
+ - 0
668
+ - 0
669
+ - 0.3142
670
+ pose_fields:
671
+ - x
672
+ - 'y'
673
+ - z
674
+ - pitch
675
+ - yaw
676
+ pose_dim: 5
677
+ pos_dim: 3
678
+ angle_dim: 2
679
+ pose_mode: 3d
680
+ fps: 10.0
681
+ shared:
682
+ manifest_path: ${oc.env:FAR_RESULT_ROOT}/manifests/ai2thor_v3/ai2thor_v3_latent.json
683
+ backend:
684
+ _target_: far.data.backends.THORBackend
685
+ key_suffix: null
686
+ mask_suffix: null
687
+ transform: null
688
+ sampler:
689
+ random_clip:
690
+ _target_: far.data.samplers.RandomClipSampler
691
+ clip_len: 16
692
+ frame_stride: 5
693
+ context_goal:
694
+ _target_: far.data.samplers.ContextGoalSampler
695
+ context_pool_size: 200
696
+ len_traj_pred: ${len_traj_pred}
697
+ goals_per_obs: ${goals_per_obs}
698
+ event_bias_p: 0.0
699
+ event_phase: eval
700
+ event_codes: null
701
+ event_pre:
702
+ - -3
703
+ - 5
704
+ event_post:
705
+ - 0
706
+ - 8
707
+ event_goal_anchor: start
708
+ pool_phase: pre_eval
709
+ context_goal_test:
710
+ _target_: far.data.samplers.ContextGoalSampler
711
+ context_pool_size: 200
712
+ len_traj_pred: ${len_traj_pred}
713
+ goals_per_obs: 4
714
+ pool_phase: pre_eval
715
+ context_traj:
716
+ _target_: far.data.samplers.ContextTrajectorySampler
717
+ context_pool_size: 200
718
+ len_traj_pred: ${len_traj_pred}
719
+ pool_phase: pre_eval
720
+ formatter:
721
+ frame:
722
+ _target_: far.data.formatters.FrameFormatter
723
+ context_pose:
724
+ _target_: far.data.formatters.ContextPoseFormatter
725
+ spec: ${ai2thor_v3_latent.spec}
726
+ train:
727
+ _target_: far.data.datasets.FormattedVideoDataset
728
+ formatter: ${ai2thor_v3_latent.formatter.context_pose}
729
+ base_dataset:
730
+ _target_: far.data.datasets.VideoDataset
731
+ manifest_path: ${ai2thor_v3_latent.shared.manifest_path}
732
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/ai2thor_v3/ai2thor_v3_latent_train.json
733
+ backend: ${ai2thor_v3_latent.shared.backend}
734
+ sampler: ${ai2thor_v3_latent.sampler.context_goal}
735
+ transform: ${ai2thor_v3_latent.shared.transform}
736
+ event_index_path: ${oc.env:FAR_RESULT_ROOT}/indices/ai2thor_v3/ai2thor_v3_latent_train_events.json
737
+ event_frac: null
738
+ test:
739
+ _target_: far.data.datasets.FormattedVideoDataset
740
+ formatter: ${ai2thor_v3_latent.formatter.context_pose}
741
+ base_dataset:
742
+ _target_: far.data.datasets.VideoDataset
743
+ manifest_path: ${ai2thor_v3_latent.shared.manifest_path}
744
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/ai2thor_v3/ai2thor_v3_latent_test.json
745
+ backend: ${ai2thor_v3_latent.shared.backend}
746
+ sampler: ${ai2thor_v3_latent.sampler.context_goal_test}
747
+ transform: ${ai2thor_v3_latent.shared.transform}
748
+ ai2thor_dyn_latent:
749
+ spec:
750
+ _target_: far.builders.data.build_dataspec
751
+ local_pos_stats:
752
+ min:
753
+ - 0
754
+ - 0
755
+ - 0
756
+ max:
757
+ - 1
758
+ - 1
759
+ - 1
760
+ meters_per_waypoint: 1.0
761
+ max_frame_offset: 10.0
762
+ len_traj_pred: ${len_traj_pred}
763
+ planner_mu_init:
764
+ - -0.1
765
+ - 0
766
+ - 0
767
+ - 0
768
+ - 0
769
+ planner_sigma_init:
770
+ - 0.02
771
+ - 0.1
772
+ - 0
773
+ - 0
774
+ - 0.3142
775
+ pose_fields:
776
+ - x
777
+ - 'y'
778
+ - z
779
+ - pitch
780
+ - yaw
781
+ pose_dim: 5
782
+ pos_dim: 3
783
+ angle_dim: 2
784
+ pose_mode: 3d
785
+ fps: 10.0
786
+ shared:
787
+ manifest_path: ${oc.env:FAR_RESULT_ROOT}/manifests/ai2thor_dyn/ai2thor_dyn_latent.json
788
+ backend:
789
+ _target_: far.data.backends.THORDynBackend
790
+ reveal_anchor: true
791
+ reveal_start_offset: 12
792
+ agent_state: true
793
+ agent_state_pair_s: 1.5
794
+ agent_state_px_min: 100
795
+ agent_state_noise: 0.0
796
+ key_suffix: .keys_obj_v1.npy
797
+ mask_suffix: .agent.npy
798
+ transform: null
799
+ sampler:
800
+ random_clip:
801
+ _target_: far.data.samplers.RandomClipSampler
802
+ clip_len: 16
803
+ frame_stride: 5
804
+ context_goal:
805
+ _target_: far.data.samplers.ContextGoalSampler
806
+ context_pool_size: 400
807
+ len_traj_pred: ${len_traj_pred}
808
+ goals_per_obs: ${goals_per_obs}
809
+ event_bias_p: 0.0
810
+ event_phase: eval
811
+ event_codes: null
812
+ event_pre:
813
+ - 0
814
+ - 10
815
+ event_post:
816
+ - 8
817
+ - 30
818
+ event_goal_anchor: end
819
+ event_len_traj_pred: 135
820
+ pool_phase: pre_eval
821
+ long_horizon_p: 0.0
822
+ long_horizon_min_past: 50
823
+ context_goal_test:
824
+ _target_: far.data.samplers.ContextGoalSampler
825
+ context_pool_size: 400
826
+ len_traj_pred: ${len_traj_pred}
827
+ goals_per_obs: 4
828
+ pool_phase: pre_eval
829
+ event_bias_p: 0.35
830
+ event_phase: eval
831
+ event_codes: null
832
+ event_pre:
833
+ - 0
834
+ - 10
835
+ event_post:
836
+ - 8
837
+ - 30
838
+ event_goal_anchor: end
839
+ event_len_traj_pred: 135
840
+ long_horizon_p: 0.0
841
+ long_horizon_min_past: 50
842
+ context_traj:
843
+ _target_: far.data.samplers.ContextTrajectorySampler
844
+ context_pool_size: 400
845
+ len_traj_pred: ${len_traj_pred}
846
+ pool_phase: pre_eval
847
+ formatter:
848
+ frame:
849
+ _target_: far.data.formatters.FrameFormatter
850
+ context_pose:
851
+ _target_: far.data.formatters.ContextPoseFormatter
852
+ spec: ${ai2thor_dyn_latent.spec}
853
+ train:
854
+ _target_: far.data.datasets.FormattedVideoDataset
855
+ formatter: ${ai2thor_dyn_latent.formatter.context_pose}
856
+ base_dataset:
857
+ _target_: far.data.datasets.VideoDataset
858
+ manifest_path: ${ai2thor_dyn_latent.shared.manifest_path}
859
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/ai2thor_dyn/ai2thor_dyn_latent_train.json
860
+ backend: ${ai2thor_dyn_latent.shared.backend}
861
+ sampler: ${ai2thor_dyn_latent.sampler.context_goal}
862
+ transform: ${ai2thor_dyn_latent.shared.transform}
863
+ event_index_path: ${oc.env:FAR_RESULT_ROOT}/indices/ai2thor_dyn/ai2thor_dyn_latent_train_events.json
864
+ event_frac: 0.35
865
+ test:
866
+ _target_: far.data.datasets.FormattedVideoDataset
867
+ formatter: ${ai2thor_dyn_latent.formatter.context_pose}
868
+ base_dataset:
869
+ _target_: far.data.datasets.VideoDataset
870
+ manifest_path: ${ai2thor_dyn_latent.shared.manifest_path}
871
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/ai2thor_dyn/ai2thor_dyn_latent_test.json
872
+ backend: ${ai2thor_dyn_latent.shared.backend}
873
+ sampler: ${ai2thor_dyn_latent.sampler.context_goal_test}
874
+ transform: ${ai2thor_dyn_latent.shared.transform}
875
+ model:
876
+ tokenizer:
877
+ _target_: far.tokenizers.sd_vae.SD_VAE
878
+ image_height: ${image_height}
879
+ image_width: ${image_width}
880
+ vae_scale: 0.13025
881
+ ckpt_path: models/sdxl-vae-fp16-fix
882
+ generator:
883
+ _target_: far.generators.agent_state.AgentStateCDiT
884
+ depth: 12
885
+ hidden_size: 768
886
+ patch_size: 2
887
+ num_heads: 12
888
+ context_size: 4
889
+ ckpt_path: null
890
+ action_dim: ${action_dim}
891
+ pose_dim: ${pose_dim}
892
+ fov_half_h: 45.0
893
+ fov_half_v: 45.0
894
+ local_pos_stats: ${ai2thor_dyn_latent.spec.local_pos_stats}
895
+ stride_to_seconds: 1.0
896
+ interact_dim: 5
897
+ predictor_dim: 128
898
+ predictor_heads: 4
899
+ pos_loss_weight: 0.05
900
+ state_dim: 6
901
+ memory:
902
+ _target_: far.memories.pnp_cl.PnPRetrieval
903
+ ckpt_path: null
904
+ chunk_size: 30
905
+ num_sets: 5
906
+ softmax_temperature: 0.1
907
+ scoring: meta
908
+ metadata_hidden: 128
909
+ metadata_layers: 3
910
+ local_pos_stats: ${ai2thor_dyn_latent.spec.local_pos_stats}
911
+ stride_to_seconds: 1.0
912
+ metadata_agent_state: true
913
+ encoder_mode: frozen
914
+ adapter_hidden: 384
915
+ query_source: frame
916
+ query_conditioning: action
917
+ gate_eps: 0.05
918
+ query_vit:
919
+ _target_: far.memories.pnp_cl.QueryViT
920
+ img_height: 32
921
+ img_width: 32
922
+ patch_size: 2
923
+ in_chans: 4
924
+ embed_dim: 384
925
+ depth: 6
926
+ num_heads: 12
927
+ action_dim: ${action_dim}
928
+ key_dim: 256
929
+ mlp_ratio: 4.0
930
+ interact_dim: 4
931
+ _target_: far.builders.models.build_ldwm
932
+ _recursive_: false
933
+ condition_on_context_time: true
934
+ condition_on_context_pose: true
935
+ retriever_loss_weight: 1.0
936
+ mask_loss_lambda: 5.0
937
+ mask_max_frac: 0.15
938
+ rag_mask_loss_lambda: 5.0
939
+ agent_loss_weight: 1.0
940
+ agent_reward_weight: 1.0
941
+ agent_cond_binary: true
942
+ diffusion:
943
+ _target_: far.generators.diffusion.create_diffusion
944
+ timestep_respacing: null
945
+ noise_schedule: linear
946
+ diffusion_steps: 1000
947
+ learn_sigma: true
948
+ predict_xstart: false
949
+ sigma_small: false
950
+ use_kl: false
951
+ rescale_learned_sigmas: false
952
+ wandb:
953
+ project: PMem-THOR
954
+ name: null
955
+ entity: null
956
+ mode: online
957
+ group: ai2thor_dyn_latent
958
+ tags:
959
+ - ai2thor_dyn_latent
960
+ run_name: thordyn_cdit_b_pnp_meta_posefa_B_rag_ctx4_rev_agent
961
+ context_size: 4
962
+ action_dim: 5
963
+ pose_dim: 5
964
+ image_height: 256
965
+ image_width: 256
966
+ len_traj_pred: 32
967
+ goals_per_obs: 4
968
+ lr: 0.0001
969
+ lr_mem: 0.0001
970
+ weight_decay: 0.0
971
+ grad_clip_val: 1.0
972
+ iterations: 5000000
973
+ warmup_steps: 5000
974
+ from_checkpoint: null
975
+ global_seed: 0
976
+ log_every: 100
977
+ ckpt_every: 100000
978
+ latest_every: 2500
979
+ eval_every: 2500
980
+ rag_every: 7
981
+ rag_noise_levels: 4
982
+ rag_mode: diffusion
983
+ rag_ddim_steps: 8
984
+ rag_mse_weight: 1.0
985
+ local_rag: true
986
+ local_rag_weight: 1.0
987
+ rag_anchored_only: true
988
+ bfloat16: false
989
+ torch_compile: true
990
+ batch_size: 16
991
+ eval_batch_size: 32
992
+ num_workers: 12
993
+ datasets:
994
+ - ai2thor_dyn_latent
ai2thor_dyn/temporal/checkpoints/0500000.pth.tar ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:672a67249b9039f04dbecea63c432f3048c0919c2da3749529e857c2ff105241
3
+ size 530185339
ai2thor_dyn/temporal/config.yaml ADDED
@@ -0,0 +1,967 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ recon:
2
+ spec:
3
+ _target_: far.builders.data.build_dataspec
4
+ local_pos_stats:
5
+ min:
6
+ - -2.5
7
+ - -4
8
+ max:
9
+ - 5
10
+ - 4
11
+ meters_per_waypoint: 0.25
12
+ max_frame_offset: 128
13
+ len_traj_pred: ${len_traj_pred}
14
+ planner_mu_init:
15
+ - -0.1
16
+ - 0
17
+ - 0
18
+ planner_sigma_init:
19
+ - 0.02
20
+ - 0.1
21
+ - 0.3142
22
+ pose_fields:
23
+ - x
24
+ - 'y'
25
+ - z
26
+ - pitch
27
+ - yaw
28
+ pose_dim: 5
29
+ pos_dim: 2
30
+ angle_dim: 1
31
+ pose_mode: 2d
32
+ fps: 4.0
33
+ shared:
34
+ manifest_path: results/manifests/recon/recon_split.json
35
+ backend:
36
+ _target_: far.data.backends.NavigationBackend
37
+ transform:
38
+ _target_: far.data.transforms.make_centercrop_resize
39
+ image_height: ${image_height}
40
+ image_width: ${image_width}
41
+ sampler:
42
+ context_goal:
43
+ _target_: far.data.samplers.ContextGoalSampler
44
+ context_pool_size: 12
45
+ len_traj_pred: ${len_traj_pred}
46
+ goals_per_obs: ${goals_per_obs}
47
+ context_traj:
48
+ _target_: far.data.samplers.ContextTrajectorySampler
49
+ context_pool_size: 12
50
+ len_traj_pred: ${len_traj_pred}
51
+ formatter:
52
+ context_pose:
53
+ _target_: far.data.formatters.ContextPoseFormatter2D
54
+ spec: ${recon.spec}
55
+ train:
56
+ _target_: far.data.datasets.FormattedVideoDataset
57
+ formatter: ${recon.formatter.context_pose}
58
+ base_dataset:
59
+ _target_: far.data.datasets.VideoDataset
60
+ manifest_path: ${recon.shared.manifest_path}
61
+ index_path: results/indices/recon/recon_train.json
62
+ backend: ${recon.shared.backend}
63
+ sampler: ${recon.sampler.context_goal}
64
+ transform: ${recon.shared.transform}
65
+ test:
66
+ _target_: far.data.datasets.FormattedVideoDataset
67
+ formatter: ${recon.formatter.context_pose}
68
+ base_dataset:
69
+ _target_: far.data.datasets.VideoDataset
70
+ manifest_path: ${recon.shared.manifest_path}
71
+ index_path: results/indices/recon/recon_test.json
72
+ backend: ${recon.shared.backend}
73
+ sampler: ${recon.sampler.context_goal}
74
+ transform: ${recon.shared.transform}
75
+ eval:
76
+ _target_: far.data.datasets.FormattedVideoDataset
77
+ formatter: ${recon.formatter.context_pose}
78
+ base_dataset:
79
+ _target_: far.data.datasets.VideoDataset
80
+ manifest_path: ${recon.shared.manifest_path}
81
+ index_path: results/indices/recon/recon_test_time.json
82
+ backend: ${recon.shared.backend}
83
+ sampler: ${recon.sampler.context_traj}
84
+ transform: ${recon.shared.transform}
85
+ eval_traj:
86
+ _target_: far.data.datasets.FormattedVideoDataset
87
+ formatter: ${recon.formatter.context_pose}
88
+ base_dataset:
89
+ _target_: far.data.datasets.VideoDataset
90
+ manifest_path: ${recon.shared.manifest_path}
91
+ index_path: results/indices/recon/recon_test_plan.json
92
+ backend: ${recon.shared.backend}
93
+ sampler: ${recon.sampler.context_traj}
94
+ transform: ${recon.shared.transform}
95
+ loopnav:
96
+ spec:
97
+ _target_: far.builders.data.build_dataspec
98
+ local_pos_stats:
99
+ min:
100
+ - -2.5
101
+ - -4
102
+ - 0
103
+ max:
104
+ - 5
105
+ - 4
106
+ - 1
107
+ meters_per_waypoint: 0.25
108
+ max_frame_offset: 128
109
+ len_traj_pred: ${len_traj_pred}
110
+ planner_mu_init:
111
+ - -0.1
112
+ - 0
113
+ - 0
114
+ - 0
115
+ - 0
116
+ planner_sigma_init:
117
+ - 0.02
118
+ - 0.1
119
+ - 0
120
+ - 0
121
+ - 0.3142
122
+ pose_fields:
123
+ - x
124
+ - 'y'
125
+ - z
126
+ - pitch
127
+ - yaw
128
+ pose_dim: 5
129
+ pos_dim: 3
130
+ angle_dim: 2
131
+ pose_mode: 3d
132
+ fps: 20.0
133
+ shared:
134
+ manifest_path: results/manifests/loopnav/loopnav_split.json
135
+ backend:
136
+ _target_: far.data.backends.LoopNavBackend
137
+ standard_frame: false
138
+ transform:
139
+ _target_: far.data.transforms.make_resize
140
+ image_height: ${image_height}
141
+ image_width: ${image_width}
142
+ sampler:
143
+ random_clip:
144
+ _target_: far.data.samplers.RandomClipSampler
145
+ clip_len: 16
146
+ frame_stride: 10
147
+ context_goal:
148
+ _target_: far.data.samplers.ContextGoalSampler
149
+ context_pool_size: 100
150
+ len_traj_pred: ${len_traj_pred}
151
+ goals_per_obs: ${goals_per_obs}
152
+ context_traj:
153
+ _target_: far.data.samplers.ContextTrajectorySampler
154
+ context_pool_size: 100
155
+ len_traj_pred: ${len_traj_pred}
156
+ formatter:
157
+ frame:
158
+ _target_: far.data.formatters.FrameFormatter
159
+ context_pose:
160
+ _target_: far.data.formatters.ContextPoseFormatter
161
+ spec: ${loopnav.spec}
162
+ train_tokenizer:
163
+ _target_: far.data.datasets.FormattedIterableDataset
164
+ formatter: ${loopnav.formatter.frame}
165
+ base_dataset:
166
+ _target_: far.data.datasets.WebVideoIterableDataset
167
+ manifest_path: results/manifests/loopnav/loopnav.json
168
+ index_path: results/indices/loopnav/loopnav_train_ABCA.json
169
+ backend:
170
+ _target_: far.data.backends.WebDatasetBackend
171
+ sampler: ${loopnav.sampler.random_clip}
172
+ transform: ${loopnav.shared.transform}
173
+ cache_dir: null
174
+ cache_size: 100
175
+ shuffle_shards: 32
176
+ shuffle_samples: 100
177
+ loopnav_latent:
178
+ spec:
179
+ _target_: far.builders.data.build_dataspec
180
+ local_pos_stats:
181
+ min:
182
+ - 0
183
+ - 0
184
+ - 0
185
+ max:
186
+ - 1
187
+ - 1
188
+ - 1
189
+ meters_per_waypoint: 1.0
190
+ max_frame_offset: 20.0
191
+ len_traj_pred: ${len_traj_pred}
192
+ planner_mu_init:
193
+ - -0.1
194
+ - 0
195
+ - 0
196
+ - 0
197
+ - 0
198
+ planner_sigma_init:
199
+ - 0.02
200
+ - 0.1
201
+ - 0
202
+ - 0
203
+ - 0.3142
204
+ pose_fields:
205
+ - x
206
+ - 'y'
207
+ - z
208
+ - pitch
209
+ - yaw
210
+ pose_dim: 5
211
+ pos_dim: 3
212
+ angle_dim: 2
213
+ pose_mode: 3d
214
+ fps: 20.0
215
+ shared:
216
+ manifest_path: ${oc.env:FAR_RESULT_ROOT}/manifests/loopnav/loopnav_latent.json
217
+ backend:
218
+ _target_: far.data.backends.LatentLoopNavBackend
219
+ key_suffix: .keys.npy
220
+ standard_frame: false
221
+ transform: null
222
+ sampler:
223
+ random_clip:
224
+ _target_: far.data.samplers.RandomClipSampler
225
+ clip_len: 16
226
+ frame_stride: 10
227
+ context_goal:
228
+ _target_: far.data.samplers.ContextGoalSampler
229
+ context_pool_size: 200
230
+ len_traj_pred: ${len_traj_pred}
231
+ goals_per_obs: ${goals_per_obs}
232
+ context_goal_test:
233
+ _target_: far.data.samplers.ContextGoalSampler
234
+ context_pool_size: 200
235
+ len_traj_pred: ${len_traj_pred}
236
+ goals_per_obs: 4
237
+ context_traj:
238
+ _target_: far.data.samplers.ContextTrajectorySampler
239
+ context_pool_size: 200
240
+ len_traj_pred: ${len_traj_pred}
241
+ formatter:
242
+ frame:
243
+ _target_: far.data.formatters.FrameFormatter
244
+ context_pose:
245
+ _target_: far.data.formatters.ContextPoseFormatter
246
+ spec: ${loopnav_latent.spec}
247
+ train:
248
+ _target_: far.data.datasets.FormattedVideoDataset
249
+ formatter: ${loopnav_latent.formatter.context_pose}
250
+ base_dataset:
251
+ _target_: far.data.datasets.VideoDataset
252
+ manifest_path: ${loopnav_latent.shared.manifest_path}
253
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/loopnav/loopnav_latent_train.json
254
+ backend: ${loopnav_latent.shared.backend}
255
+ sampler: ${loopnav_latent.sampler.context_goal}
256
+ transform: ${loopnav_latent.shared.transform}
257
+ test:
258
+ _target_: far.data.datasets.FormattedVideoDataset
259
+ formatter: ${loopnav_latent.formatter.context_pose}
260
+ base_dataset:
261
+ _target_: far.data.datasets.VideoDataset
262
+ manifest_path: ${loopnav_latent.shared.manifest_path}
263
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/loopnav/loopnav_latent_test.json
264
+ backend: ${loopnav_latent.shared.backend}
265
+ sampler: ${loopnav_latent.sampler.context_goal_test}
266
+ transform: ${loopnav_latent.shared.transform}
267
+ soundspaces_latent:
268
+ spec:
269
+ _target_: far.builders.data.build_dataspec
270
+ local_pos_stats:
271
+ min:
272
+ - 0
273
+ - 0
274
+ - 0
275
+ max:
276
+ - 1
277
+ - 1
278
+ - 1
279
+ meters_per_waypoint: 1.0
280
+ max_frame_offset: 10.0
281
+ len_traj_pred: ${len_traj_pred}
282
+ planner_mu_init:
283
+ - -0.1
284
+ - 0
285
+ - 0
286
+ - 0
287
+ - 0
288
+ planner_sigma_init:
289
+ - 0.02
290
+ - 0.1
291
+ - 0
292
+ - 0
293
+ - 0.3142
294
+ pose_fields:
295
+ - x
296
+ - 'y'
297
+ - z
298
+ - pitch
299
+ - yaw
300
+ pose_dim: 5
301
+ pos_dim: 3
302
+ angle_dim: 2
303
+ pose_mode: 3d
304
+ fps: 10.0
305
+ shared:
306
+ manifest_path: ${oc.env:FAR_RESULT_ROOT}/manifests/soundspaces/soundspaces_latent.json
307
+ backend:
308
+ _target_: far.data.backends.SoundSpacesBackend
309
+ key_suffix: null
310
+ audio_mode: null
311
+ audio_window_hops: 48
312
+ transform: null
313
+ sampler:
314
+ random_clip:
315
+ _target_: far.data.samplers.RandomClipSampler
316
+ clip_len: 16
317
+ frame_stride: 5
318
+ context_goal:
319
+ _target_: far.data.samplers.ContextGoalSampler
320
+ context_pool_size: 200
321
+ len_traj_pred: ${len_traj_pred}
322
+ goals_per_obs: ${goals_per_obs}
323
+ context_goal_test:
324
+ _target_: far.data.samplers.ContextGoalSampler
325
+ context_pool_size: 200
326
+ len_traj_pred: ${len_traj_pred}
327
+ goals_per_obs: 4
328
+ context_traj:
329
+ _target_: far.data.samplers.ContextTrajectorySampler
330
+ context_pool_size: 200
331
+ len_traj_pred: ${len_traj_pred}
332
+ formatter:
333
+ frame:
334
+ _target_: far.data.formatters.FrameFormatter
335
+ context_pose:
336
+ _target_: far.data.formatters.ContextPoseFormatter
337
+ spec: ${soundspaces_latent.spec}
338
+ train:
339
+ _target_: far.data.datasets.FormattedVideoDataset
340
+ formatter: ${soundspaces_latent.formatter.context_pose}
341
+ base_dataset:
342
+ _target_: far.data.datasets.VideoDataset
343
+ manifest_path: ${soundspaces_latent.shared.manifest_path}
344
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/soundspaces/soundspaces_latent_train.json
345
+ backend: ${soundspaces_latent.shared.backend}
346
+ sampler: ${soundspaces_latent.sampler.context_goal}
347
+ transform: ${soundspaces_latent.shared.transform}
348
+ test:
349
+ _target_: far.data.datasets.FormattedVideoDataset
350
+ formatter: ${soundspaces_latent.formatter.context_pose}
351
+ base_dataset:
352
+ _target_: far.data.datasets.VideoDataset
353
+ manifest_path: ${soundspaces_latent.shared.manifest_path}
354
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/soundspaces/soundspaces_latent_test.json
355
+ backend: ${soundspaces_latent.shared.backend}
356
+ sampler: ${soundspaces_latent.sampler.context_goal_test}
357
+ transform: ${soundspaces_latent.shared.transform}
358
+ soundspaces_v2_latent:
359
+ spec:
360
+ _target_: far.builders.data.build_dataspec
361
+ local_pos_stats:
362
+ min:
363
+ - 0
364
+ - 0
365
+ - 0
366
+ max:
367
+ - 1
368
+ - 1
369
+ - 1
370
+ meters_per_waypoint: 1.0
371
+ max_frame_offset: 10.0
372
+ len_traj_pred: ${len_traj_pred}
373
+ planner_mu_init:
374
+ - -0.1
375
+ - 0
376
+ - 0
377
+ - 0
378
+ - 0
379
+ planner_sigma_init:
380
+ - 0.02
381
+ - 0.1
382
+ - 0
383
+ - 0
384
+ - 0.3142
385
+ pose_fields:
386
+ - x
387
+ - 'y'
388
+ - z
389
+ - pitch
390
+ - yaw
391
+ pose_dim: 5
392
+ pos_dim: 3
393
+ angle_dim: 2
394
+ pose_mode: 3d
395
+ fps: 10.0
396
+ shared:
397
+ manifest_path: ${oc.env:FAR_RESULT_ROOT}/manifests/soundspaces_v2/soundspaces_v2_latent.json
398
+ backend:
399
+ _target_: far.data.backends.SoundSpacesBackend
400
+ key_suffix: null
401
+ audio_mode: null
402
+ audio_window_hops: 48
403
+ transform: null
404
+ sampler:
405
+ random_clip:
406
+ _target_: far.data.samplers.RandomClipSampler
407
+ clip_len: 16
408
+ frame_stride: 5
409
+ context_goal:
410
+ _target_: far.data.samplers.ContextGoalSampler
411
+ context_pool_size: 200
412
+ len_traj_pred: ${len_traj_pred}
413
+ goals_per_obs: ${goals_per_obs}
414
+ context_goal_test:
415
+ _target_: far.data.samplers.ContextGoalSampler
416
+ context_pool_size: 200
417
+ len_traj_pred: ${len_traj_pred}
418
+ goals_per_obs: 4
419
+ context_traj:
420
+ _target_: far.data.samplers.ContextTrajectorySampler
421
+ context_pool_size: 200
422
+ len_traj_pred: ${len_traj_pred}
423
+ formatter:
424
+ frame:
425
+ _target_: far.data.formatters.FrameFormatter
426
+ context_pose:
427
+ _target_: far.data.formatters.ContextPoseFormatter
428
+ spec: ${soundspaces_v2_latent.spec}
429
+ train:
430
+ _target_: far.data.datasets.FormattedVideoDataset
431
+ formatter: ${soundspaces_v2_latent.formatter.context_pose}
432
+ base_dataset:
433
+ _target_: far.data.datasets.VideoDataset
434
+ manifest_path: ${soundspaces_v2_latent.shared.manifest_path}
435
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/soundspaces_v2/soundspaces_v2_latent_train.json
436
+ backend: ${soundspaces_v2_latent.shared.backend}
437
+ sampler: ${soundspaces_v2_latent.sampler.context_goal}
438
+ transform: ${soundspaces_v2_latent.shared.transform}
439
+ test:
440
+ _target_: far.data.datasets.FormattedVideoDataset
441
+ formatter: ${soundspaces_v2_latent.formatter.context_pose}
442
+ base_dataset:
443
+ _target_: far.data.datasets.VideoDataset
444
+ manifest_path: ${soundspaces_v2_latent.shared.manifest_path}
445
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/soundspaces_v2/soundspaces_v2_latent_test.json
446
+ backend: ${soundspaces_v2_latent.shared.backend}
447
+ sampler: ${soundspaces_v2_latent.sampler.context_goal_test}
448
+ transform: ${soundspaces_v2_latent.shared.transform}
449
+ ai2thor_latent:
450
+ spec:
451
+ _target_: far.builders.data.build_dataspec
452
+ local_pos_stats:
453
+ min:
454
+ - 0
455
+ - 0
456
+ - 0
457
+ max:
458
+ - 1
459
+ - 1
460
+ - 1
461
+ meters_per_waypoint: 1.0
462
+ max_frame_offset: 10.0
463
+ len_traj_pred: ${len_traj_pred}
464
+ planner_mu_init:
465
+ - -0.1
466
+ - 0
467
+ - 0
468
+ - 0
469
+ - 0
470
+ planner_sigma_init:
471
+ - 0.02
472
+ - 0.1
473
+ - 0
474
+ - 0
475
+ - 0.3142
476
+ pose_fields:
477
+ - x
478
+ - 'y'
479
+ - z
480
+ - pitch
481
+ - yaw
482
+ pose_dim: 5
483
+ pos_dim: 3
484
+ angle_dim: 2
485
+ pose_mode: 3d
486
+ fps: 10.0
487
+ shared:
488
+ manifest_path: ${oc.env:FAR_RESULT_ROOT}/manifests/ai2thor/ai2thor_latent.json
489
+ backend:
490
+ _target_: far.data.backends.THORBackend
491
+ key_suffix: null
492
+ transform: null
493
+ sampler:
494
+ random_clip:
495
+ _target_: far.data.samplers.RandomClipSampler
496
+ clip_len: 16
497
+ frame_stride: 5
498
+ context_goal:
499
+ _target_: far.data.samplers.ContextGoalSampler
500
+ context_pool_size: 200
501
+ len_traj_pred: ${len_traj_pred}
502
+ goals_per_obs: ${goals_per_obs}
503
+ context_goal_test:
504
+ _target_: far.data.samplers.ContextGoalSampler
505
+ context_pool_size: 200
506
+ len_traj_pred: ${len_traj_pred}
507
+ goals_per_obs: 4
508
+ context_traj:
509
+ _target_: far.data.samplers.ContextTrajectorySampler
510
+ context_pool_size: 200
511
+ len_traj_pred: ${len_traj_pred}
512
+ formatter:
513
+ frame:
514
+ _target_: far.data.formatters.FrameFormatter
515
+ context_pose:
516
+ _target_: far.data.formatters.ContextPoseFormatter
517
+ spec: ${ai2thor_latent.spec}
518
+ train:
519
+ _target_: far.data.datasets.FormattedVideoDataset
520
+ formatter: ${ai2thor_latent.formatter.context_pose}
521
+ base_dataset:
522
+ _target_: far.data.datasets.VideoDataset
523
+ manifest_path: ${ai2thor_latent.shared.manifest_path}
524
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/ai2thor/ai2thor_latent_train.json
525
+ backend: ${ai2thor_latent.shared.backend}
526
+ sampler: ${ai2thor_latent.sampler.context_goal}
527
+ transform: ${ai2thor_latent.shared.transform}
528
+ test:
529
+ _target_: far.data.datasets.FormattedVideoDataset
530
+ formatter: ${ai2thor_latent.formatter.context_pose}
531
+ base_dataset:
532
+ _target_: far.data.datasets.VideoDataset
533
+ manifest_path: ${ai2thor_latent.shared.manifest_path}
534
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/ai2thor/ai2thor_latent_test.json
535
+ backend: ${ai2thor_latent.shared.backend}
536
+ sampler: ${ai2thor_latent.sampler.context_goal_test}
537
+ transform: ${ai2thor_latent.shared.transform}
538
+ ai2thor_v2_latent:
539
+ spec:
540
+ _target_: far.builders.data.build_dataspec
541
+ local_pos_stats:
542
+ min:
543
+ - 0
544
+ - 0
545
+ - 0
546
+ max:
547
+ - 1
548
+ - 1
549
+ - 1
550
+ meters_per_waypoint: 1.0
551
+ max_frame_offset: 10.0
552
+ len_traj_pred: ${len_traj_pred}
553
+ planner_mu_init:
554
+ - -0.1
555
+ - 0
556
+ - 0
557
+ - 0
558
+ - 0
559
+ planner_sigma_init:
560
+ - 0.02
561
+ - 0.1
562
+ - 0
563
+ - 0
564
+ - 0.3142
565
+ pose_fields:
566
+ - x
567
+ - 'y'
568
+ - z
569
+ - pitch
570
+ - yaw
571
+ pose_dim: 5
572
+ pos_dim: 3
573
+ angle_dim: 2
574
+ pose_mode: 3d
575
+ fps: 10.0
576
+ shared:
577
+ manifest_path: results/manifests/ai2thor_v2/ai2thor_v2_latent.json
578
+ backend:
579
+ _target_: far.data.backends.THORBackend
580
+ key_suffix: null
581
+ mask_suffix: null
582
+ transform: null
583
+ sampler:
584
+ random_clip:
585
+ _target_: far.data.samplers.RandomClipSampler
586
+ clip_len: 16
587
+ frame_stride: 5
588
+ context_goal:
589
+ _target_: far.data.samplers.ContextGoalSampler
590
+ context_pool_size: 200
591
+ len_traj_pred: ${len_traj_pred}
592
+ goals_per_obs: ${goals_per_obs}
593
+ event_bias_p: 0.0
594
+ event_phase: eval
595
+ event_codes: null
596
+ event_pre:
597
+ - -3
598
+ - 5
599
+ event_post:
600
+ - 0
601
+ - 8
602
+ event_goal_anchor: start
603
+ pool_phase: pre_eval
604
+ context_goal_test:
605
+ _target_: far.data.samplers.ContextGoalSampler
606
+ context_pool_size: 200
607
+ len_traj_pred: ${len_traj_pred}
608
+ goals_per_obs: 4
609
+ pool_phase: pre_eval
610
+ context_traj:
611
+ _target_: far.data.samplers.ContextTrajectorySampler
612
+ context_pool_size: 200
613
+ len_traj_pred: ${len_traj_pred}
614
+ pool_phase: pre_eval
615
+ formatter:
616
+ frame:
617
+ _target_: far.data.formatters.FrameFormatter
618
+ context_pose:
619
+ _target_: far.data.formatters.ContextPoseFormatter
620
+ spec: ${ai2thor_v2_latent.spec}
621
+ train:
622
+ _target_: far.data.datasets.FormattedVideoDataset
623
+ formatter: ${ai2thor_v2_latent.formatter.context_pose}
624
+ base_dataset:
625
+ _target_: far.data.datasets.VideoDataset
626
+ manifest_path: ${ai2thor_v2_latent.shared.manifest_path}
627
+ index_path: results/indices/ai2thor_v2/ai2thor_v2_latent_train.json
628
+ backend: ${ai2thor_v2_latent.shared.backend}
629
+ sampler: ${ai2thor_v2_latent.sampler.context_goal}
630
+ transform: ${ai2thor_v2_latent.shared.transform}
631
+ event_index_path: results/indices/ai2thor_v2/ai2thor_v2_latent_train_events.json
632
+ event_frac: null
633
+ test:
634
+ _target_: far.data.datasets.FormattedVideoDataset
635
+ formatter: ${ai2thor_v2_latent.formatter.context_pose}
636
+ base_dataset:
637
+ _target_: far.data.datasets.VideoDataset
638
+ manifest_path: ${ai2thor_v2_latent.shared.manifest_path}
639
+ index_path: results/indices/ai2thor_v2/ai2thor_v2_latent_test.json
640
+ backend: ${ai2thor_v2_latent.shared.backend}
641
+ sampler: ${ai2thor_v2_latent.sampler.context_goal_test}
642
+ transform: ${ai2thor_v2_latent.shared.transform}
643
+ ai2thor_v3_latent:
644
+ spec:
645
+ _target_: far.builders.data.build_dataspec
646
+ local_pos_stats:
647
+ min:
648
+ - 0
649
+ - 0
650
+ - 0
651
+ max:
652
+ - 1
653
+ - 1
654
+ - 1
655
+ meters_per_waypoint: 1.0
656
+ max_frame_offset: 10.0
657
+ len_traj_pred: ${len_traj_pred}
658
+ planner_mu_init:
659
+ - -0.1
660
+ - 0
661
+ - 0
662
+ - 0
663
+ - 0
664
+ planner_sigma_init:
665
+ - 0.02
666
+ - 0.1
667
+ - 0
668
+ - 0
669
+ - 0.3142
670
+ pose_fields:
671
+ - x
672
+ - 'y'
673
+ - z
674
+ - pitch
675
+ - yaw
676
+ pose_dim: 5
677
+ pos_dim: 3
678
+ angle_dim: 2
679
+ pose_mode: 3d
680
+ fps: 10.0
681
+ shared:
682
+ manifest_path: ${oc.env:FAR_RESULT_ROOT}/manifests/ai2thor_v3/ai2thor_v3_latent.json
683
+ backend:
684
+ _target_: far.data.backends.THORBackend
685
+ key_suffix: null
686
+ mask_suffix: null
687
+ transform: null
688
+ sampler:
689
+ random_clip:
690
+ _target_: far.data.samplers.RandomClipSampler
691
+ clip_len: 16
692
+ frame_stride: 5
693
+ context_goal:
694
+ _target_: far.data.samplers.ContextGoalSampler
695
+ context_pool_size: 200
696
+ len_traj_pred: ${len_traj_pred}
697
+ goals_per_obs: ${goals_per_obs}
698
+ event_bias_p: 0.0
699
+ event_phase: eval
700
+ event_codes: null
701
+ event_pre:
702
+ - -3
703
+ - 5
704
+ event_post:
705
+ - 0
706
+ - 8
707
+ event_goal_anchor: start
708
+ pool_phase: pre_eval
709
+ context_goal_test:
710
+ _target_: far.data.samplers.ContextGoalSampler
711
+ context_pool_size: 200
712
+ len_traj_pred: ${len_traj_pred}
713
+ goals_per_obs: 4
714
+ pool_phase: pre_eval
715
+ context_traj:
716
+ _target_: far.data.samplers.ContextTrajectorySampler
717
+ context_pool_size: 200
718
+ len_traj_pred: ${len_traj_pred}
719
+ pool_phase: pre_eval
720
+ formatter:
721
+ frame:
722
+ _target_: far.data.formatters.FrameFormatter
723
+ context_pose:
724
+ _target_: far.data.formatters.ContextPoseFormatter
725
+ spec: ${ai2thor_v3_latent.spec}
726
+ train:
727
+ _target_: far.data.datasets.FormattedVideoDataset
728
+ formatter: ${ai2thor_v3_latent.formatter.context_pose}
729
+ base_dataset:
730
+ _target_: far.data.datasets.VideoDataset
731
+ manifest_path: ${ai2thor_v3_latent.shared.manifest_path}
732
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/ai2thor_v3/ai2thor_v3_latent_train.json
733
+ backend: ${ai2thor_v3_latent.shared.backend}
734
+ sampler: ${ai2thor_v3_latent.sampler.context_goal}
735
+ transform: ${ai2thor_v3_latent.shared.transform}
736
+ event_index_path: ${oc.env:FAR_RESULT_ROOT}/indices/ai2thor_v3/ai2thor_v3_latent_train_events.json
737
+ event_frac: null
738
+ test:
739
+ _target_: far.data.datasets.FormattedVideoDataset
740
+ formatter: ${ai2thor_v3_latent.formatter.context_pose}
741
+ base_dataset:
742
+ _target_: far.data.datasets.VideoDataset
743
+ manifest_path: ${ai2thor_v3_latent.shared.manifest_path}
744
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/ai2thor_v3/ai2thor_v3_latent_test.json
745
+ backend: ${ai2thor_v3_latent.shared.backend}
746
+ sampler: ${ai2thor_v3_latent.sampler.context_goal_test}
747
+ transform: ${ai2thor_v3_latent.shared.transform}
748
+ ai2thor_dyn_latent:
749
+ spec:
750
+ _target_: far.builders.data.build_dataspec
751
+ local_pos_stats:
752
+ min:
753
+ - 0
754
+ - 0
755
+ - 0
756
+ max:
757
+ - 1
758
+ - 1
759
+ - 1
760
+ meters_per_waypoint: 1.0
761
+ max_frame_offset: 10.0
762
+ len_traj_pred: ${len_traj_pred}
763
+ planner_mu_init:
764
+ - -0.1
765
+ - 0
766
+ - 0
767
+ - 0
768
+ - 0
769
+ planner_sigma_init:
770
+ - 0.02
771
+ - 0.1
772
+ - 0
773
+ - 0
774
+ - 0.3142
775
+ pose_fields:
776
+ - x
777
+ - 'y'
778
+ - z
779
+ - pitch
780
+ - yaw
781
+ pose_dim: 5
782
+ pos_dim: 3
783
+ angle_dim: 2
784
+ pose_mode: 3d
785
+ fps: 10.0
786
+ shared:
787
+ manifest_path: ${oc.env:FAR_RESULT_ROOT}/manifests/ai2thor_dyn/ai2thor_dyn_latent.json
788
+ backend:
789
+ _target_: far.data.backends.THORDynBackend
790
+ reveal_anchor: true
791
+ reveal_start_offset: 12
792
+ agent_state: true
793
+ agent_state_pair_s: 1.5
794
+ agent_state_px_min: 100
795
+ agent_state_noise: 0.0
796
+ key_suffix: null
797
+ mask_suffix: .agent.npy
798
+ transform: null
799
+ sampler:
800
+ random_clip:
801
+ _target_: far.data.samplers.RandomClipSampler
802
+ clip_len: 16
803
+ frame_stride: 5
804
+ context_goal:
805
+ _target_: far.data.samplers.ContextGoalSampler
806
+ context_pool_size: 400
807
+ len_traj_pred: ${len_traj_pred}
808
+ goals_per_obs: ${goals_per_obs}
809
+ event_bias_p: 0.0
810
+ event_phase: eval
811
+ event_codes: null
812
+ event_pre:
813
+ - 0
814
+ - 10
815
+ event_post:
816
+ - 8
817
+ - 30
818
+ event_goal_anchor: end
819
+ event_len_traj_pred: 135
820
+ pool_phase: pre_eval
821
+ long_horizon_p: 0.0
822
+ long_horizon_min_past: 50
823
+ context_goal_test:
824
+ _target_: far.data.samplers.ContextGoalSampler
825
+ context_pool_size: 400
826
+ len_traj_pred: ${len_traj_pred}
827
+ goals_per_obs: 4
828
+ pool_phase: pre_eval
829
+ event_bias_p: 0.35
830
+ event_phase: eval
831
+ event_codes: null
832
+ event_pre:
833
+ - 0
834
+ - 10
835
+ event_post:
836
+ - 8
837
+ - 30
838
+ event_goal_anchor: end
839
+ event_len_traj_pred: 135
840
+ long_horizon_p: 0.0
841
+ long_horizon_min_past: 50
842
+ context_traj:
843
+ _target_: far.data.samplers.ContextTrajectorySampler
844
+ context_pool_size: 400
845
+ len_traj_pred: ${len_traj_pred}
846
+ pool_phase: pre_eval
847
+ formatter:
848
+ frame:
849
+ _target_: far.data.formatters.FrameFormatter
850
+ context_pose:
851
+ _target_: far.data.formatters.ContextPoseFormatter
852
+ spec: ${ai2thor_dyn_latent.spec}
853
+ train:
854
+ _target_: far.data.datasets.FormattedVideoDataset
855
+ formatter: ${ai2thor_dyn_latent.formatter.context_pose}
856
+ base_dataset:
857
+ _target_: far.data.datasets.VideoDataset
858
+ manifest_path: ${ai2thor_dyn_latent.shared.manifest_path}
859
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/ai2thor_dyn/ai2thor_dyn_latent_train.json
860
+ backend: ${ai2thor_dyn_latent.shared.backend}
861
+ sampler: ${ai2thor_dyn_latent.sampler.context_goal}
862
+ transform: ${ai2thor_dyn_latent.shared.transform}
863
+ event_index_path: ${oc.env:FAR_RESULT_ROOT}/indices/ai2thor_dyn/ai2thor_dyn_latent_train_events.json
864
+ event_frac: 0.35
865
+ test:
866
+ _target_: far.data.datasets.FormattedVideoDataset
867
+ formatter: ${ai2thor_dyn_latent.formatter.context_pose}
868
+ base_dataset:
869
+ _target_: far.data.datasets.VideoDataset
870
+ manifest_path: ${ai2thor_dyn_latent.shared.manifest_path}
871
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/ai2thor_dyn/ai2thor_dyn_latent_test.json
872
+ backend: ${ai2thor_dyn_latent.shared.backend}
873
+ sampler: ${ai2thor_dyn_latent.sampler.context_goal_test}
874
+ transform: ${ai2thor_dyn_latent.shared.transform}
875
+ model:
876
+ tokenizer:
877
+ _target_: far.tokenizers.sd_vae.SD_VAE
878
+ image_height: ${image_height}
879
+ image_width: ${image_width}
880
+ vae_scale: 0.13025
881
+ ckpt_path: models/sdxl-vae-fp16-fix
882
+ generator:
883
+ _target_: far.generators.agent_state.AgentStateCDiT
884
+ depth: 12
885
+ hidden_size: 768
886
+ patch_size: 2
887
+ num_heads: 12
888
+ context_size: 4
889
+ ckpt_path: null
890
+ action_dim: ${action_dim}
891
+ pose_dim: ${pose_dim}
892
+ fov_half_h: 45.0
893
+ fov_half_v: 45.0
894
+ local_pos_stats: ${ai2thor_dyn_latent.spec.local_pos_stats}
895
+ stride_to_seconds: 1.0
896
+ interact_dim: 5
897
+ predictor_dim: 128
898
+ predictor_heads: 4
899
+ pos_loss_weight: 0.05
900
+ state_dim: 6
901
+ memory:
902
+ _target_: far.memories.baselines.TemporalRetrieval
903
+ interval: 1.0
904
+ _target_: far.builders.models.build_ldwm
905
+ _recursive_: false
906
+ condition_on_context_time: true
907
+ condition_on_context_pose: true
908
+ retriever_loss_weight: 1.0
909
+ mask_loss_lambda: 5.0
910
+ mask_max_frac: 0.15
911
+ rag_mask_loss_lambda: null
912
+ agent_loss_weight: 1.0
913
+ agent_reward_weight: 1.0
914
+ agent_cond_binary: true
915
+ diffusion:
916
+ _target_: far.generators.diffusion.create_diffusion
917
+ timestep_respacing: null
918
+ noise_schedule: linear
919
+ diffusion_steps: 1000
920
+ learn_sigma: true
921
+ predict_xstart: false
922
+ sigma_small: false
923
+ use_kl: false
924
+ rescale_learned_sigmas: false
925
+ wandb:
926
+ project: PMem-THOR
927
+ name: null
928
+ entity: null
929
+ mode: online
930
+ group: ai2thor_dyn_latent
931
+ tags:
932
+ - ai2thor_dyn_latent
933
+ run_name: thordyn_cdit_b_temporal_posefa_rev_agent
934
+ context_size: 4
935
+ action_dim: 5
936
+ pose_dim: 5
937
+ image_height: 256
938
+ image_width: 256
939
+ len_traj_pred: 32
940
+ goals_per_obs: 4
941
+ lr: 0.0001
942
+ lr_mem: null
943
+ weight_decay: 0.0
944
+ grad_clip_val: 1.0
945
+ iterations: 5000000
946
+ warmup_steps: 5000
947
+ from_checkpoint: null
948
+ global_seed: 0
949
+ log_every: 100
950
+ ckpt_every: 100000
951
+ latest_every: 2500
952
+ eval_every: 2500
953
+ rag_every: 0
954
+ rag_noise_levels: 4
955
+ rag_mode: diffusion
956
+ rag_ddim_steps: 8
957
+ rag_mse_weight: 1.0
958
+ local_rag: false
959
+ local_rag_weight: 1.0
960
+ rag_anchored_only: false
961
+ bfloat16: false
962
+ torch_compile: true
963
+ batch_size: 16
964
+ eval_batch_size: 32
965
+ num_workers: 12
966
+ datasets:
967
+ - ai2thor_dyn_latent
ai2thor_dyn/worldmem/checkpoints/0500000.pth.tar ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4b26452f5ef3b4dbf16b60e6bd00f3f06b99f9998be475273fad22f41c8c7d9a
3
+ size 530185339
ai2thor_dyn/worldmem/config.yaml ADDED
@@ -0,0 +1,972 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ recon:
2
+ spec:
3
+ _target_: far.builders.data.build_dataspec
4
+ local_pos_stats:
5
+ min:
6
+ - -2.5
7
+ - -4
8
+ max:
9
+ - 5
10
+ - 4
11
+ meters_per_waypoint: 0.25
12
+ max_frame_offset: 128
13
+ len_traj_pred: ${len_traj_pred}
14
+ planner_mu_init:
15
+ - -0.1
16
+ - 0
17
+ - 0
18
+ planner_sigma_init:
19
+ - 0.02
20
+ - 0.1
21
+ - 0.3142
22
+ pose_fields:
23
+ - x
24
+ - 'y'
25
+ - z
26
+ - pitch
27
+ - yaw
28
+ pose_dim: 5
29
+ pos_dim: 2
30
+ angle_dim: 1
31
+ pose_mode: 2d
32
+ fps: 4.0
33
+ shared:
34
+ manifest_path: results/manifests/recon/recon_split.json
35
+ backend:
36
+ _target_: far.data.backends.NavigationBackend
37
+ transform:
38
+ _target_: far.data.transforms.make_centercrop_resize
39
+ image_height: ${image_height}
40
+ image_width: ${image_width}
41
+ sampler:
42
+ context_goal:
43
+ _target_: far.data.samplers.ContextGoalSampler
44
+ context_pool_size: 12
45
+ len_traj_pred: ${len_traj_pred}
46
+ goals_per_obs: ${goals_per_obs}
47
+ context_traj:
48
+ _target_: far.data.samplers.ContextTrajectorySampler
49
+ context_pool_size: 12
50
+ len_traj_pred: ${len_traj_pred}
51
+ formatter:
52
+ context_pose:
53
+ _target_: far.data.formatters.ContextPoseFormatter2D
54
+ spec: ${recon.spec}
55
+ train:
56
+ _target_: far.data.datasets.FormattedVideoDataset
57
+ formatter: ${recon.formatter.context_pose}
58
+ base_dataset:
59
+ _target_: far.data.datasets.VideoDataset
60
+ manifest_path: ${recon.shared.manifest_path}
61
+ index_path: results/indices/recon/recon_train.json
62
+ backend: ${recon.shared.backend}
63
+ sampler: ${recon.sampler.context_goal}
64
+ transform: ${recon.shared.transform}
65
+ test:
66
+ _target_: far.data.datasets.FormattedVideoDataset
67
+ formatter: ${recon.formatter.context_pose}
68
+ base_dataset:
69
+ _target_: far.data.datasets.VideoDataset
70
+ manifest_path: ${recon.shared.manifest_path}
71
+ index_path: results/indices/recon/recon_test.json
72
+ backend: ${recon.shared.backend}
73
+ sampler: ${recon.sampler.context_goal}
74
+ transform: ${recon.shared.transform}
75
+ eval:
76
+ _target_: far.data.datasets.FormattedVideoDataset
77
+ formatter: ${recon.formatter.context_pose}
78
+ base_dataset:
79
+ _target_: far.data.datasets.VideoDataset
80
+ manifest_path: ${recon.shared.manifest_path}
81
+ index_path: results/indices/recon/recon_test_time.json
82
+ backend: ${recon.shared.backend}
83
+ sampler: ${recon.sampler.context_traj}
84
+ transform: ${recon.shared.transform}
85
+ eval_traj:
86
+ _target_: far.data.datasets.FormattedVideoDataset
87
+ formatter: ${recon.formatter.context_pose}
88
+ base_dataset:
89
+ _target_: far.data.datasets.VideoDataset
90
+ manifest_path: ${recon.shared.manifest_path}
91
+ index_path: results/indices/recon/recon_test_plan.json
92
+ backend: ${recon.shared.backend}
93
+ sampler: ${recon.sampler.context_traj}
94
+ transform: ${recon.shared.transform}
95
+ loopnav:
96
+ spec:
97
+ _target_: far.builders.data.build_dataspec
98
+ local_pos_stats:
99
+ min:
100
+ - -2.5
101
+ - -4
102
+ - 0
103
+ max:
104
+ - 5
105
+ - 4
106
+ - 1
107
+ meters_per_waypoint: 0.25
108
+ max_frame_offset: 128
109
+ len_traj_pred: ${len_traj_pred}
110
+ planner_mu_init:
111
+ - -0.1
112
+ - 0
113
+ - 0
114
+ - 0
115
+ - 0
116
+ planner_sigma_init:
117
+ - 0.02
118
+ - 0.1
119
+ - 0
120
+ - 0
121
+ - 0.3142
122
+ pose_fields:
123
+ - x
124
+ - 'y'
125
+ - z
126
+ - pitch
127
+ - yaw
128
+ pose_dim: 5
129
+ pos_dim: 3
130
+ angle_dim: 2
131
+ pose_mode: 3d
132
+ fps: 20.0
133
+ shared:
134
+ manifest_path: results/manifests/loopnav/loopnav_split.json
135
+ backend:
136
+ _target_: far.data.backends.LoopNavBackend
137
+ standard_frame: false
138
+ transform:
139
+ _target_: far.data.transforms.make_resize
140
+ image_height: ${image_height}
141
+ image_width: ${image_width}
142
+ sampler:
143
+ random_clip:
144
+ _target_: far.data.samplers.RandomClipSampler
145
+ clip_len: 16
146
+ frame_stride: 10
147
+ context_goal:
148
+ _target_: far.data.samplers.ContextGoalSampler
149
+ context_pool_size: 100
150
+ len_traj_pred: ${len_traj_pred}
151
+ goals_per_obs: ${goals_per_obs}
152
+ context_traj:
153
+ _target_: far.data.samplers.ContextTrajectorySampler
154
+ context_pool_size: 100
155
+ len_traj_pred: ${len_traj_pred}
156
+ formatter:
157
+ frame:
158
+ _target_: far.data.formatters.FrameFormatter
159
+ context_pose:
160
+ _target_: far.data.formatters.ContextPoseFormatter
161
+ spec: ${loopnav.spec}
162
+ train_tokenizer:
163
+ _target_: far.data.datasets.FormattedIterableDataset
164
+ formatter: ${loopnav.formatter.frame}
165
+ base_dataset:
166
+ _target_: far.data.datasets.WebVideoIterableDataset
167
+ manifest_path: results/manifests/loopnav/loopnav.json
168
+ index_path: results/indices/loopnav/loopnav_train_ABCA.json
169
+ backend:
170
+ _target_: far.data.backends.WebDatasetBackend
171
+ sampler: ${loopnav.sampler.random_clip}
172
+ transform: ${loopnav.shared.transform}
173
+ cache_dir: null
174
+ cache_size: 100
175
+ shuffle_shards: 32
176
+ shuffle_samples: 100
177
+ loopnav_latent:
178
+ spec:
179
+ _target_: far.builders.data.build_dataspec
180
+ local_pos_stats:
181
+ min:
182
+ - 0
183
+ - 0
184
+ - 0
185
+ max:
186
+ - 1
187
+ - 1
188
+ - 1
189
+ meters_per_waypoint: 1.0
190
+ max_frame_offset: 20.0
191
+ len_traj_pred: ${len_traj_pred}
192
+ planner_mu_init:
193
+ - -0.1
194
+ - 0
195
+ - 0
196
+ - 0
197
+ - 0
198
+ planner_sigma_init:
199
+ - 0.02
200
+ - 0.1
201
+ - 0
202
+ - 0
203
+ - 0.3142
204
+ pose_fields:
205
+ - x
206
+ - 'y'
207
+ - z
208
+ - pitch
209
+ - yaw
210
+ pose_dim: 5
211
+ pos_dim: 3
212
+ angle_dim: 2
213
+ pose_mode: 3d
214
+ fps: 20.0
215
+ shared:
216
+ manifest_path: ${oc.env:FAR_RESULT_ROOT}/manifests/loopnav/loopnav_latent.json
217
+ backend:
218
+ _target_: far.data.backends.LatentLoopNavBackend
219
+ key_suffix: .keys.npy
220
+ standard_frame: false
221
+ transform: null
222
+ sampler:
223
+ random_clip:
224
+ _target_: far.data.samplers.RandomClipSampler
225
+ clip_len: 16
226
+ frame_stride: 10
227
+ context_goal:
228
+ _target_: far.data.samplers.ContextGoalSampler
229
+ context_pool_size: 200
230
+ len_traj_pred: ${len_traj_pred}
231
+ goals_per_obs: ${goals_per_obs}
232
+ context_goal_test:
233
+ _target_: far.data.samplers.ContextGoalSampler
234
+ context_pool_size: 200
235
+ len_traj_pred: ${len_traj_pred}
236
+ goals_per_obs: 4
237
+ context_traj:
238
+ _target_: far.data.samplers.ContextTrajectorySampler
239
+ context_pool_size: 200
240
+ len_traj_pred: ${len_traj_pred}
241
+ formatter:
242
+ frame:
243
+ _target_: far.data.formatters.FrameFormatter
244
+ context_pose:
245
+ _target_: far.data.formatters.ContextPoseFormatter
246
+ spec: ${loopnav_latent.spec}
247
+ train:
248
+ _target_: far.data.datasets.FormattedVideoDataset
249
+ formatter: ${loopnav_latent.formatter.context_pose}
250
+ base_dataset:
251
+ _target_: far.data.datasets.VideoDataset
252
+ manifest_path: ${loopnav_latent.shared.manifest_path}
253
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/loopnav/loopnav_latent_train.json
254
+ backend: ${loopnav_latent.shared.backend}
255
+ sampler: ${loopnav_latent.sampler.context_goal}
256
+ transform: ${loopnav_latent.shared.transform}
257
+ test:
258
+ _target_: far.data.datasets.FormattedVideoDataset
259
+ formatter: ${loopnav_latent.formatter.context_pose}
260
+ base_dataset:
261
+ _target_: far.data.datasets.VideoDataset
262
+ manifest_path: ${loopnav_latent.shared.manifest_path}
263
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/loopnav/loopnav_latent_test.json
264
+ backend: ${loopnav_latent.shared.backend}
265
+ sampler: ${loopnav_latent.sampler.context_goal_test}
266
+ transform: ${loopnav_latent.shared.transform}
267
+ soundspaces_latent:
268
+ spec:
269
+ _target_: far.builders.data.build_dataspec
270
+ local_pos_stats:
271
+ min:
272
+ - 0
273
+ - 0
274
+ - 0
275
+ max:
276
+ - 1
277
+ - 1
278
+ - 1
279
+ meters_per_waypoint: 1.0
280
+ max_frame_offset: 10.0
281
+ len_traj_pred: ${len_traj_pred}
282
+ planner_mu_init:
283
+ - -0.1
284
+ - 0
285
+ - 0
286
+ - 0
287
+ - 0
288
+ planner_sigma_init:
289
+ - 0.02
290
+ - 0.1
291
+ - 0
292
+ - 0
293
+ - 0.3142
294
+ pose_fields:
295
+ - x
296
+ - 'y'
297
+ - z
298
+ - pitch
299
+ - yaw
300
+ pose_dim: 5
301
+ pos_dim: 3
302
+ angle_dim: 2
303
+ pose_mode: 3d
304
+ fps: 10.0
305
+ shared:
306
+ manifest_path: ${oc.env:FAR_RESULT_ROOT}/manifests/soundspaces/soundspaces_latent.json
307
+ backend:
308
+ _target_: far.data.backends.SoundSpacesBackend
309
+ key_suffix: null
310
+ audio_mode: null
311
+ audio_window_hops: 48
312
+ transform: null
313
+ sampler:
314
+ random_clip:
315
+ _target_: far.data.samplers.RandomClipSampler
316
+ clip_len: 16
317
+ frame_stride: 5
318
+ context_goal:
319
+ _target_: far.data.samplers.ContextGoalSampler
320
+ context_pool_size: 200
321
+ len_traj_pred: ${len_traj_pred}
322
+ goals_per_obs: ${goals_per_obs}
323
+ context_goal_test:
324
+ _target_: far.data.samplers.ContextGoalSampler
325
+ context_pool_size: 200
326
+ len_traj_pred: ${len_traj_pred}
327
+ goals_per_obs: 4
328
+ context_traj:
329
+ _target_: far.data.samplers.ContextTrajectorySampler
330
+ context_pool_size: 200
331
+ len_traj_pred: ${len_traj_pred}
332
+ formatter:
333
+ frame:
334
+ _target_: far.data.formatters.FrameFormatter
335
+ context_pose:
336
+ _target_: far.data.formatters.ContextPoseFormatter
337
+ spec: ${soundspaces_latent.spec}
338
+ train:
339
+ _target_: far.data.datasets.FormattedVideoDataset
340
+ formatter: ${soundspaces_latent.formatter.context_pose}
341
+ base_dataset:
342
+ _target_: far.data.datasets.VideoDataset
343
+ manifest_path: ${soundspaces_latent.shared.manifest_path}
344
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/soundspaces/soundspaces_latent_train.json
345
+ backend: ${soundspaces_latent.shared.backend}
346
+ sampler: ${soundspaces_latent.sampler.context_goal}
347
+ transform: ${soundspaces_latent.shared.transform}
348
+ test:
349
+ _target_: far.data.datasets.FormattedVideoDataset
350
+ formatter: ${soundspaces_latent.formatter.context_pose}
351
+ base_dataset:
352
+ _target_: far.data.datasets.VideoDataset
353
+ manifest_path: ${soundspaces_latent.shared.manifest_path}
354
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/soundspaces/soundspaces_latent_test.json
355
+ backend: ${soundspaces_latent.shared.backend}
356
+ sampler: ${soundspaces_latent.sampler.context_goal_test}
357
+ transform: ${soundspaces_latent.shared.transform}
358
+ soundspaces_v2_latent:
359
+ spec:
360
+ _target_: far.builders.data.build_dataspec
361
+ local_pos_stats:
362
+ min:
363
+ - 0
364
+ - 0
365
+ - 0
366
+ max:
367
+ - 1
368
+ - 1
369
+ - 1
370
+ meters_per_waypoint: 1.0
371
+ max_frame_offset: 10.0
372
+ len_traj_pred: ${len_traj_pred}
373
+ planner_mu_init:
374
+ - -0.1
375
+ - 0
376
+ - 0
377
+ - 0
378
+ - 0
379
+ planner_sigma_init:
380
+ - 0.02
381
+ - 0.1
382
+ - 0
383
+ - 0
384
+ - 0.3142
385
+ pose_fields:
386
+ - x
387
+ - 'y'
388
+ - z
389
+ - pitch
390
+ - yaw
391
+ pose_dim: 5
392
+ pos_dim: 3
393
+ angle_dim: 2
394
+ pose_mode: 3d
395
+ fps: 10.0
396
+ shared:
397
+ manifest_path: ${oc.env:FAR_RESULT_ROOT}/manifests/soundspaces_v2/soundspaces_v2_latent.json
398
+ backend:
399
+ _target_: far.data.backends.SoundSpacesBackend
400
+ key_suffix: null
401
+ audio_mode: null
402
+ audio_window_hops: 48
403
+ transform: null
404
+ sampler:
405
+ random_clip:
406
+ _target_: far.data.samplers.RandomClipSampler
407
+ clip_len: 16
408
+ frame_stride: 5
409
+ context_goal:
410
+ _target_: far.data.samplers.ContextGoalSampler
411
+ context_pool_size: 200
412
+ len_traj_pred: ${len_traj_pred}
413
+ goals_per_obs: ${goals_per_obs}
414
+ context_goal_test:
415
+ _target_: far.data.samplers.ContextGoalSampler
416
+ context_pool_size: 200
417
+ len_traj_pred: ${len_traj_pred}
418
+ goals_per_obs: 4
419
+ context_traj:
420
+ _target_: far.data.samplers.ContextTrajectorySampler
421
+ context_pool_size: 200
422
+ len_traj_pred: ${len_traj_pred}
423
+ formatter:
424
+ frame:
425
+ _target_: far.data.formatters.FrameFormatter
426
+ context_pose:
427
+ _target_: far.data.formatters.ContextPoseFormatter
428
+ spec: ${soundspaces_v2_latent.spec}
429
+ train:
430
+ _target_: far.data.datasets.FormattedVideoDataset
431
+ formatter: ${soundspaces_v2_latent.formatter.context_pose}
432
+ base_dataset:
433
+ _target_: far.data.datasets.VideoDataset
434
+ manifest_path: ${soundspaces_v2_latent.shared.manifest_path}
435
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/soundspaces_v2/soundspaces_v2_latent_train.json
436
+ backend: ${soundspaces_v2_latent.shared.backend}
437
+ sampler: ${soundspaces_v2_latent.sampler.context_goal}
438
+ transform: ${soundspaces_v2_latent.shared.transform}
439
+ test:
440
+ _target_: far.data.datasets.FormattedVideoDataset
441
+ formatter: ${soundspaces_v2_latent.formatter.context_pose}
442
+ base_dataset:
443
+ _target_: far.data.datasets.VideoDataset
444
+ manifest_path: ${soundspaces_v2_latent.shared.manifest_path}
445
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/soundspaces_v2/soundspaces_v2_latent_test.json
446
+ backend: ${soundspaces_v2_latent.shared.backend}
447
+ sampler: ${soundspaces_v2_latent.sampler.context_goal_test}
448
+ transform: ${soundspaces_v2_latent.shared.transform}
449
+ ai2thor_latent:
450
+ spec:
451
+ _target_: far.builders.data.build_dataspec
452
+ local_pos_stats:
453
+ min:
454
+ - 0
455
+ - 0
456
+ - 0
457
+ max:
458
+ - 1
459
+ - 1
460
+ - 1
461
+ meters_per_waypoint: 1.0
462
+ max_frame_offset: 10.0
463
+ len_traj_pred: ${len_traj_pred}
464
+ planner_mu_init:
465
+ - -0.1
466
+ - 0
467
+ - 0
468
+ - 0
469
+ - 0
470
+ planner_sigma_init:
471
+ - 0.02
472
+ - 0.1
473
+ - 0
474
+ - 0
475
+ - 0.3142
476
+ pose_fields:
477
+ - x
478
+ - 'y'
479
+ - z
480
+ - pitch
481
+ - yaw
482
+ pose_dim: 5
483
+ pos_dim: 3
484
+ angle_dim: 2
485
+ pose_mode: 3d
486
+ fps: 10.0
487
+ shared:
488
+ manifest_path: ${oc.env:FAR_RESULT_ROOT}/manifests/ai2thor/ai2thor_latent.json
489
+ backend:
490
+ _target_: far.data.backends.THORBackend
491
+ key_suffix: null
492
+ transform: null
493
+ sampler:
494
+ random_clip:
495
+ _target_: far.data.samplers.RandomClipSampler
496
+ clip_len: 16
497
+ frame_stride: 5
498
+ context_goal:
499
+ _target_: far.data.samplers.ContextGoalSampler
500
+ context_pool_size: 200
501
+ len_traj_pred: ${len_traj_pred}
502
+ goals_per_obs: ${goals_per_obs}
503
+ context_goal_test:
504
+ _target_: far.data.samplers.ContextGoalSampler
505
+ context_pool_size: 200
506
+ len_traj_pred: ${len_traj_pred}
507
+ goals_per_obs: 4
508
+ context_traj:
509
+ _target_: far.data.samplers.ContextTrajectorySampler
510
+ context_pool_size: 200
511
+ len_traj_pred: ${len_traj_pred}
512
+ formatter:
513
+ frame:
514
+ _target_: far.data.formatters.FrameFormatter
515
+ context_pose:
516
+ _target_: far.data.formatters.ContextPoseFormatter
517
+ spec: ${ai2thor_latent.spec}
518
+ train:
519
+ _target_: far.data.datasets.FormattedVideoDataset
520
+ formatter: ${ai2thor_latent.formatter.context_pose}
521
+ base_dataset:
522
+ _target_: far.data.datasets.VideoDataset
523
+ manifest_path: ${ai2thor_latent.shared.manifest_path}
524
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/ai2thor/ai2thor_latent_train.json
525
+ backend: ${ai2thor_latent.shared.backend}
526
+ sampler: ${ai2thor_latent.sampler.context_goal}
527
+ transform: ${ai2thor_latent.shared.transform}
528
+ test:
529
+ _target_: far.data.datasets.FormattedVideoDataset
530
+ formatter: ${ai2thor_latent.formatter.context_pose}
531
+ base_dataset:
532
+ _target_: far.data.datasets.VideoDataset
533
+ manifest_path: ${ai2thor_latent.shared.manifest_path}
534
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/ai2thor/ai2thor_latent_test.json
535
+ backend: ${ai2thor_latent.shared.backend}
536
+ sampler: ${ai2thor_latent.sampler.context_goal_test}
537
+ transform: ${ai2thor_latent.shared.transform}
538
+ ai2thor_v2_latent:
539
+ spec:
540
+ _target_: far.builders.data.build_dataspec
541
+ local_pos_stats:
542
+ min:
543
+ - 0
544
+ - 0
545
+ - 0
546
+ max:
547
+ - 1
548
+ - 1
549
+ - 1
550
+ meters_per_waypoint: 1.0
551
+ max_frame_offset: 10.0
552
+ len_traj_pred: ${len_traj_pred}
553
+ planner_mu_init:
554
+ - -0.1
555
+ - 0
556
+ - 0
557
+ - 0
558
+ - 0
559
+ planner_sigma_init:
560
+ - 0.02
561
+ - 0.1
562
+ - 0
563
+ - 0
564
+ - 0.3142
565
+ pose_fields:
566
+ - x
567
+ - 'y'
568
+ - z
569
+ - pitch
570
+ - yaw
571
+ pose_dim: 5
572
+ pos_dim: 3
573
+ angle_dim: 2
574
+ pose_mode: 3d
575
+ fps: 10.0
576
+ shared:
577
+ manifest_path: results/manifests/ai2thor_v2/ai2thor_v2_latent.json
578
+ backend:
579
+ _target_: far.data.backends.THORBackend
580
+ key_suffix: null
581
+ mask_suffix: null
582
+ transform: null
583
+ sampler:
584
+ random_clip:
585
+ _target_: far.data.samplers.RandomClipSampler
586
+ clip_len: 16
587
+ frame_stride: 5
588
+ context_goal:
589
+ _target_: far.data.samplers.ContextGoalSampler
590
+ context_pool_size: 200
591
+ len_traj_pred: ${len_traj_pred}
592
+ goals_per_obs: ${goals_per_obs}
593
+ event_bias_p: 0.0
594
+ event_phase: eval
595
+ event_codes: null
596
+ event_pre:
597
+ - -3
598
+ - 5
599
+ event_post:
600
+ - 0
601
+ - 8
602
+ event_goal_anchor: start
603
+ pool_phase: pre_eval
604
+ context_goal_test:
605
+ _target_: far.data.samplers.ContextGoalSampler
606
+ context_pool_size: 200
607
+ len_traj_pred: ${len_traj_pred}
608
+ goals_per_obs: 4
609
+ pool_phase: pre_eval
610
+ context_traj:
611
+ _target_: far.data.samplers.ContextTrajectorySampler
612
+ context_pool_size: 200
613
+ len_traj_pred: ${len_traj_pred}
614
+ pool_phase: pre_eval
615
+ formatter:
616
+ frame:
617
+ _target_: far.data.formatters.FrameFormatter
618
+ context_pose:
619
+ _target_: far.data.formatters.ContextPoseFormatter
620
+ spec: ${ai2thor_v2_latent.spec}
621
+ train:
622
+ _target_: far.data.datasets.FormattedVideoDataset
623
+ formatter: ${ai2thor_v2_latent.formatter.context_pose}
624
+ base_dataset:
625
+ _target_: far.data.datasets.VideoDataset
626
+ manifest_path: ${ai2thor_v2_latent.shared.manifest_path}
627
+ index_path: results/indices/ai2thor_v2/ai2thor_v2_latent_train.json
628
+ backend: ${ai2thor_v2_latent.shared.backend}
629
+ sampler: ${ai2thor_v2_latent.sampler.context_goal}
630
+ transform: ${ai2thor_v2_latent.shared.transform}
631
+ event_index_path: results/indices/ai2thor_v2/ai2thor_v2_latent_train_events.json
632
+ event_frac: null
633
+ test:
634
+ _target_: far.data.datasets.FormattedVideoDataset
635
+ formatter: ${ai2thor_v2_latent.formatter.context_pose}
636
+ base_dataset:
637
+ _target_: far.data.datasets.VideoDataset
638
+ manifest_path: ${ai2thor_v2_latent.shared.manifest_path}
639
+ index_path: results/indices/ai2thor_v2/ai2thor_v2_latent_test.json
640
+ backend: ${ai2thor_v2_latent.shared.backend}
641
+ sampler: ${ai2thor_v2_latent.sampler.context_goal_test}
642
+ transform: ${ai2thor_v2_latent.shared.transform}
643
+ ai2thor_v3_latent:
644
+ spec:
645
+ _target_: far.builders.data.build_dataspec
646
+ local_pos_stats:
647
+ min:
648
+ - 0
649
+ - 0
650
+ - 0
651
+ max:
652
+ - 1
653
+ - 1
654
+ - 1
655
+ meters_per_waypoint: 1.0
656
+ max_frame_offset: 10.0
657
+ len_traj_pred: ${len_traj_pred}
658
+ planner_mu_init:
659
+ - -0.1
660
+ - 0
661
+ - 0
662
+ - 0
663
+ - 0
664
+ planner_sigma_init:
665
+ - 0.02
666
+ - 0.1
667
+ - 0
668
+ - 0
669
+ - 0.3142
670
+ pose_fields:
671
+ - x
672
+ - 'y'
673
+ - z
674
+ - pitch
675
+ - yaw
676
+ pose_dim: 5
677
+ pos_dim: 3
678
+ angle_dim: 2
679
+ pose_mode: 3d
680
+ fps: 10.0
681
+ shared:
682
+ manifest_path: ${oc.env:FAR_RESULT_ROOT}/manifests/ai2thor_v3/ai2thor_v3_latent.json
683
+ backend:
684
+ _target_: far.data.backends.THORBackend
685
+ key_suffix: null
686
+ mask_suffix: null
687
+ transform: null
688
+ sampler:
689
+ random_clip:
690
+ _target_: far.data.samplers.RandomClipSampler
691
+ clip_len: 16
692
+ frame_stride: 5
693
+ context_goal:
694
+ _target_: far.data.samplers.ContextGoalSampler
695
+ context_pool_size: 200
696
+ len_traj_pred: ${len_traj_pred}
697
+ goals_per_obs: ${goals_per_obs}
698
+ event_bias_p: 0.0
699
+ event_phase: eval
700
+ event_codes: null
701
+ event_pre:
702
+ - -3
703
+ - 5
704
+ event_post:
705
+ - 0
706
+ - 8
707
+ event_goal_anchor: start
708
+ pool_phase: pre_eval
709
+ context_goal_test:
710
+ _target_: far.data.samplers.ContextGoalSampler
711
+ context_pool_size: 200
712
+ len_traj_pred: ${len_traj_pred}
713
+ goals_per_obs: 4
714
+ pool_phase: pre_eval
715
+ context_traj:
716
+ _target_: far.data.samplers.ContextTrajectorySampler
717
+ context_pool_size: 200
718
+ len_traj_pred: ${len_traj_pred}
719
+ pool_phase: pre_eval
720
+ formatter:
721
+ frame:
722
+ _target_: far.data.formatters.FrameFormatter
723
+ context_pose:
724
+ _target_: far.data.formatters.ContextPoseFormatter
725
+ spec: ${ai2thor_v3_latent.spec}
726
+ train:
727
+ _target_: far.data.datasets.FormattedVideoDataset
728
+ formatter: ${ai2thor_v3_latent.formatter.context_pose}
729
+ base_dataset:
730
+ _target_: far.data.datasets.VideoDataset
731
+ manifest_path: ${ai2thor_v3_latent.shared.manifest_path}
732
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/ai2thor_v3/ai2thor_v3_latent_train.json
733
+ backend: ${ai2thor_v3_latent.shared.backend}
734
+ sampler: ${ai2thor_v3_latent.sampler.context_goal}
735
+ transform: ${ai2thor_v3_latent.shared.transform}
736
+ event_index_path: ${oc.env:FAR_RESULT_ROOT}/indices/ai2thor_v3/ai2thor_v3_latent_train_events.json
737
+ event_frac: null
738
+ test:
739
+ _target_: far.data.datasets.FormattedVideoDataset
740
+ formatter: ${ai2thor_v3_latent.formatter.context_pose}
741
+ base_dataset:
742
+ _target_: far.data.datasets.VideoDataset
743
+ manifest_path: ${ai2thor_v3_latent.shared.manifest_path}
744
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/ai2thor_v3/ai2thor_v3_latent_test.json
745
+ backend: ${ai2thor_v3_latent.shared.backend}
746
+ sampler: ${ai2thor_v3_latent.sampler.context_goal_test}
747
+ transform: ${ai2thor_v3_latent.shared.transform}
748
+ ai2thor_dyn_latent:
749
+ spec:
750
+ _target_: far.builders.data.build_dataspec
751
+ local_pos_stats:
752
+ min:
753
+ - 0
754
+ - 0
755
+ - 0
756
+ max:
757
+ - 1
758
+ - 1
759
+ - 1
760
+ meters_per_waypoint: 1.0
761
+ max_frame_offset: 10.0
762
+ len_traj_pred: ${len_traj_pred}
763
+ planner_mu_init:
764
+ - -0.1
765
+ - 0
766
+ - 0
767
+ - 0
768
+ - 0
769
+ planner_sigma_init:
770
+ - 0.02
771
+ - 0.1
772
+ - 0
773
+ - 0
774
+ - 0.3142
775
+ pose_fields:
776
+ - x
777
+ - 'y'
778
+ - z
779
+ - pitch
780
+ - yaw
781
+ pose_dim: 5
782
+ pos_dim: 3
783
+ angle_dim: 2
784
+ pose_mode: 3d
785
+ fps: 10.0
786
+ shared:
787
+ manifest_path: ${oc.env:FAR_RESULT_ROOT}/manifests/ai2thor_dyn/ai2thor_dyn_latent.json
788
+ backend:
789
+ _target_: far.data.backends.THORDynBackend
790
+ reveal_anchor: true
791
+ reveal_start_offset: 12
792
+ agent_state: true
793
+ agent_state_pair_s: 1.5
794
+ agent_state_px_min: 100
795
+ agent_state_noise: 0.0
796
+ key_suffix: null
797
+ mask_suffix: .agent.npy
798
+ transform: null
799
+ sampler:
800
+ random_clip:
801
+ _target_: far.data.samplers.RandomClipSampler
802
+ clip_len: 16
803
+ frame_stride: 5
804
+ context_goal:
805
+ _target_: far.data.samplers.ContextGoalSampler
806
+ context_pool_size: 400
807
+ len_traj_pred: ${len_traj_pred}
808
+ goals_per_obs: ${goals_per_obs}
809
+ event_bias_p: 0.0
810
+ event_phase: eval
811
+ event_codes: null
812
+ event_pre:
813
+ - 0
814
+ - 10
815
+ event_post:
816
+ - 8
817
+ - 30
818
+ event_goal_anchor: end
819
+ event_len_traj_pred: 135
820
+ pool_phase: pre_eval
821
+ long_horizon_p: 0.0
822
+ long_horizon_min_past: 50
823
+ context_goal_test:
824
+ _target_: far.data.samplers.ContextGoalSampler
825
+ context_pool_size: 400
826
+ len_traj_pred: ${len_traj_pred}
827
+ goals_per_obs: 4
828
+ pool_phase: pre_eval
829
+ event_bias_p: 0.35
830
+ event_phase: eval
831
+ event_codes: null
832
+ event_pre:
833
+ - 0
834
+ - 10
835
+ event_post:
836
+ - 8
837
+ - 30
838
+ event_goal_anchor: end
839
+ event_len_traj_pred: 135
840
+ long_horizon_p: 0.0
841
+ long_horizon_min_past: 50
842
+ context_traj:
843
+ _target_: far.data.samplers.ContextTrajectorySampler
844
+ context_pool_size: 400
845
+ len_traj_pred: ${len_traj_pred}
846
+ pool_phase: pre_eval
847
+ formatter:
848
+ frame:
849
+ _target_: far.data.formatters.FrameFormatter
850
+ context_pose:
851
+ _target_: far.data.formatters.ContextPoseFormatter
852
+ spec: ${ai2thor_dyn_latent.spec}
853
+ train:
854
+ _target_: far.data.datasets.FormattedVideoDataset
855
+ formatter: ${ai2thor_dyn_latent.formatter.context_pose}
856
+ base_dataset:
857
+ _target_: far.data.datasets.VideoDataset
858
+ manifest_path: ${ai2thor_dyn_latent.shared.manifest_path}
859
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/ai2thor_dyn/ai2thor_dyn_latent_train.json
860
+ backend: ${ai2thor_dyn_latent.shared.backend}
861
+ sampler: ${ai2thor_dyn_latent.sampler.context_goal}
862
+ transform: ${ai2thor_dyn_latent.shared.transform}
863
+ event_index_path: ${oc.env:FAR_RESULT_ROOT}/indices/ai2thor_dyn/ai2thor_dyn_latent_train_events.json
864
+ event_frac: 0.35
865
+ test:
866
+ _target_: far.data.datasets.FormattedVideoDataset
867
+ formatter: ${ai2thor_dyn_latent.formatter.context_pose}
868
+ base_dataset:
869
+ _target_: far.data.datasets.VideoDataset
870
+ manifest_path: ${ai2thor_dyn_latent.shared.manifest_path}
871
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/ai2thor_dyn/ai2thor_dyn_latent_test.json
872
+ backend: ${ai2thor_dyn_latent.shared.backend}
873
+ sampler: ${ai2thor_dyn_latent.sampler.context_goal_test}
874
+ transform: ${ai2thor_dyn_latent.shared.transform}
875
+ model:
876
+ tokenizer:
877
+ _target_: far.tokenizers.sd_vae.SD_VAE
878
+ image_height: ${image_height}
879
+ image_width: ${image_width}
880
+ vae_scale: 0.13025
881
+ ckpt_path: models/sdxl-vae-fp16-fix
882
+ generator:
883
+ _target_: far.generators.agent_state.AgentStateCDiT
884
+ depth: 12
885
+ hidden_size: 768
886
+ patch_size: 2
887
+ num_heads: 12
888
+ context_size: 4
889
+ ckpt_path: null
890
+ action_dim: ${action_dim}
891
+ pose_dim: ${pose_dim}
892
+ fov_half_h: 45.0
893
+ fov_half_v: 45.0
894
+ local_pos_stats: ${ai2thor_dyn_latent.spec.local_pos_stats}
895
+ stride_to_seconds: 1.0
896
+ interact_dim: 5
897
+ predictor_dim: 128
898
+ predictor_heads: 4
899
+ pos_loss_weight: 0.05
900
+ state_dim: 6
901
+ memory:
902
+ _target_: far.memories.worldmem.WorldMemRetrieval
903
+ num_samples: 10000
904
+ radius: 2.0
905
+ fov_half_h: 45.0
906
+ fov_half_v: 45.0
907
+ recency_factor: 0.2
908
+ local_pos_stats: ${ai2thor_dyn_latent.spec.local_pos_stats}
909
+ _target_: far.builders.models.build_ldwm
910
+ _recursive_: false
911
+ condition_on_context_time: true
912
+ condition_on_context_pose: true
913
+ retriever_loss_weight: 1.0
914
+ mask_loss_lambda: 5.0
915
+ mask_max_frac: 0.15
916
+ rag_mask_loss_lambda: null
917
+ agent_loss_weight: 1.0
918
+ agent_reward_weight: 1.0
919
+ agent_cond_binary: true
920
+ diffusion:
921
+ _target_: far.generators.diffusion.create_diffusion
922
+ timestep_respacing: null
923
+ noise_schedule: linear
924
+ diffusion_steps: 1000
925
+ learn_sigma: true
926
+ predict_xstart: false
927
+ sigma_small: false
928
+ use_kl: false
929
+ rescale_learned_sigmas: false
930
+ wandb:
931
+ project: PMem-THOR
932
+ name: null
933
+ entity: null
934
+ mode: online
935
+ group: ai2thor_dyn_latent
936
+ tags:
937
+ - ai2thor_dyn_latent
938
+ run_name: thordyn_cdit_b_worldmem_posefa_rev_agent
939
+ context_size: 4
940
+ action_dim: 5
941
+ pose_dim: 5
942
+ image_height: 256
943
+ image_width: 256
944
+ len_traj_pred: 32
945
+ goals_per_obs: 4
946
+ lr: 0.0001
947
+ lr_mem: null
948
+ weight_decay: 0.0
949
+ grad_clip_val: 1.0
950
+ iterations: 5000000
951
+ warmup_steps: 5000
952
+ from_checkpoint: null
953
+ global_seed: 0
954
+ log_every: 100
955
+ ckpt_every: 100000
956
+ latest_every: 2500
957
+ eval_every: 2500
958
+ rag_every: 0
959
+ rag_noise_levels: 4
960
+ rag_mode: diffusion
961
+ rag_ddim_steps: 8
962
+ rag_mse_weight: 1.0
963
+ local_rag: false
964
+ local_rag_weight: 1.0
965
+ rag_anchored_only: false
966
+ bfloat16: false
967
+ torch_compile: true
968
+ batch_size: 16
969
+ eval_batch_size: 32
970
+ num_workers: 12
971
+ datasets:
972
+ - ai2thor_dyn_latent
ai2thor_v3/far_multicue/checkpoints/0700000.pth.tar ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:bd66115fa55d57c005c23c4ae3236797d257e20c977da34069c91248ae05af60
3
+ size 594316275
ai2thor_v3/far_multicue/config.yaml ADDED
@@ -0,0 +1,858 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ recon:
2
+ spec:
3
+ _target_: far.builders.data.build_dataspec
4
+ local_pos_stats:
5
+ min:
6
+ - -2.5
7
+ - -4
8
+ max:
9
+ - 5
10
+ - 4
11
+ meters_per_waypoint: 0.25
12
+ max_frame_offset: 128
13
+ len_traj_pred: ${len_traj_pred}
14
+ planner_mu_init:
15
+ - -0.1
16
+ - 0
17
+ - 0
18
+ planner_sigma_init:
19
+ - 0.02
20
+ - 0.1
21
+ - 0.3142
22
+ pose_fields:
23
+ - x
24
+ - 'y'
25
+ - z
26
+ - pitch
27
+ - yaw
28
+ pose_dim: 5
29
+ pos_dim: 2
30
+ angle_dim: 1
31
+ pose_mode: 2d
32
+ fps: 4.0
33
+ shared:
34
+ manifest_path: results/manifests/recon/recon_split.json
35
+ backend:
36
+ _target_: far.data.backends.NavigationBackend
37
+ transform:
38
+ _target_: far.data.transforms.make_centercrop_resize
39
+ image_height: ${image_height}
40
+ image_width: ${image_width}
41
+ sampler:
42
+ context_goal:
43
+ _target_: far.data.samplers.ContextGoalSampler
44
+ context_pool_size: 12
45
+ len_traj_pred: ${len_traj_pred}
46
+ goals_per_obs: ${goals_per_obs}
47
+ context_traj:
48
+ _target_: far.data.samplers.ContextTrajectorySampler
49
+ context_pool_size: 12
50
+ len_traj_pred: ${len_traj_pred}
51
+ formatter:
52
+ context_pose:
53
+ _target_: far.data.formatters.ContextPoseFormatter2D
54
+ spec: ${recon.spec}
55
+ train:
56
+ _target_: far.data.datasets.FormattedVideoDataset
57
+ formatter: ${recon.formatter.context_pose}
58
+ base_dataset:
59
+ _target_: far.data.datasets.VideoDataset
60
+ manifest_path: ${recon.shared.manifest_path}
61
+ index_path: results/indices/recon/recon_train.json
62
+ backend: ${recon.shared.backend}
63
+ sampler: ${recon.sampler.context_goal}
64
+ transform: ${recon.shared.transform}
65
+ test:
66
+ _target_: far.data.datasets.FormattedVideoDataset
67
+ formatter: ${recon.formatter.context_pose}
68
+ base_dataset:
69
+ _target_: far.data.datasets.VideoDataset
70
+ manifest_path: ${recon.shared.manifest_path}
71
+ index_path: results/indices/recon/recon_test.json
72
+ backend: ${recon.shared.backend}
73
+ sampler: ${recon.sampler.context_goal}
74
+ transform: ${recon.shared.transform}
75
+ eval:
76
+ _target_: far.data.datasets.FormattedVideoDataset
77
+ formatter: ${recon.formatter.context_pose}
78
+ base_dataset:
79
+ _target_: far.data.datasets.VideoDataset
80
+ manifest_path: ${recon.shared.manifest_path}
81
+ index_path: results/indices/recon/recon_test_time.json
82
+ backend: ${recon.shared.backend}
83
+ sampler: ${recon.sampler.context_traj}
84
+ transform: ${recon.shared.transform}
85
+ eval_traj:
86
+ _target_: far.data.datasets.FormattedVideoDataset
87
+ formatter: ${recon.formatter.context_pose}
88
+ base_dataset:
89
+ _target_: far.data.datasets.VideoDataset
90
+ manifest_path: ${recon.shared.manifest_path}
91
+ index_path: results/indices/recon/recon_test_plan.json
92
+ backend: ${recon.shared.backend}
93
+ sampler: ${recon.sampler.context_traj}
94
+ transform: ${recon.shared.transform}
95
+ loopnav:
96
+ spec:
97
+ _target_: far.builders.data.build_dataspec
98
+ local_pos_stats:
99
+ min:
100
+ - -2.5
101
+ - -4
102
+ - 0
103
+ max:
104
+ - 5
105
+ - 4
106
+ - 1
107
+ meters_per_waypoint: 0.25
108
+ max_frame_offset: 128
109
+ len_traj_pred: ${len_traj_pred}
110
+ planner_mu_init:
111
+ - -0.1
112
+ - 0
113
+ - 0
114
+ - 0
115
+ - 0
116
+ planner_sigma_init:
117
+ - 0.02
118
+ - 0.1
119
+ - 0
120
+ - 0
121
+ - 0.3142
122
+ pose_fields:
123
+ - x
124
+ - 'y'
125
+ - z
126
+ - pitch
127
+ - yaw
128
+ pose_dim: 5
129
+ pos_dim: 3
130
+ angle_dim: 2
131
+ pose_mode: 3d
132
+ fps: 20.0
133
+ shared:
134
+ manifest_path: results/manifests/loopnav/loopnav_split.json
135
+ backend:
136
+ _target_: far.data.backends.LoopNavBackend
137
+ standard_frame: false
138
+ transform:
139
+ _target_: far.data.transforms.make_resize
140
+ image_height: ${image_height}
141
+ image_width: ${image_width}
142
+ sampler:
143
+ random_clip:
144
+ _target_: far.data.samplers.RandomClipSampler
145
+ clip_len: 16
146
+ frame_stride: 10
147
+ context_goal:
148
+ _target_: far.data.samplers.ContextGoalSampler
149
+ context_pool_size: 100
150
+ len_traj_pred: ${len_traj_pred}
151
+ goals_per_obs: ${goals_per_obs}
152
+ context_traj:
153
+ _target_: far.data.samplers.ContextTrajectorySampler
154
+ context_pool_size: 100
155
+ len_traj_pred: ${len_traj_pred}
156
+ formatter:
157
+ frame:
158
+ _target_: far.data.formatters.FrameFormatter
159
+ context_pose:
160
+ _target_: far.data.formatters.ContextPoseFormatter
161
+ spec: ${loopnav.spec}
162
+ train_tokenizer:
163
+ _target_: far.data.datasets.FormattedIterableDataset
164
+ formatter: ${loopnav.formatter.frame}
165
+ base_dataset:
166
+ _target_: far.data.datasets.WebVideoIterableDataset
167
+ manifest_path: results/manifests/loopnav/loopnav.json
168
+ index_path: results/indices/loopnav/loopnav_train_ABCA.json
169
+ backend:
170
+ _target_: far.data.backends.WebDatasetBackend
171
+ sampler: ${loopnav.sampler.random_clip}
172
+ transform: ${loopnav.shared.transform}
173
+ cache_dir: null
174
+ cache_size: 100
175
+ shuffle_shards: 32
176
+ shuffle_samples: 100
177
+ loopnav_latent:
178
+ spec:
179
+ _target_: far.builders.data.build_dataspec
180
+ local_pos_stats:
181
+ min:
182
+ - 0
183
+ - 0
184
+ - 0
185
+ max:
186
+ - 1
187
+ - 1
188
+ - 1
189
+ meters_per_waypoint: 1.0
190
+ max_frame_offset: 20.0
191
+ len_traj_pred: ${len_traj_pred}
192
+ planner_mu_init:
193
+ - -0.1
194
+ - 0
195
+ - 0
196
+ - 0
197
+ - 0
198
+ planner_sigma_init:
199
+ - 0.02
200
+ - 0.1
201
+ - 0
202
+ - 0
203
+ - 0.3142
204
+ pose_fields:
205
+ - x
206
+ - 'y'
207
+ - z
208
+ - pitch
209
+ - yaw
210
+ pose_dim: 5
211
+ pos_dim: 3
212
+ angle_dim: 2
213
+ pose_mode: 3d
214
+ fps: 20.0
215
+ shared:
216
+ manifest_path: ${oc.env:FAR_RESULT_ROOT}/manifests/loopnav/loopnav_latent.json
217
+ backend:
218
+ _target_: far.data.backends.LatentLoopNavBackend
219
+ key_suffix: .keys.npy
220
+ standard_frame: false
221
+ transform: null
222
+ sampler:
223
+ random_clip:
224
+ _target_: far.data.samplers.RandomClipSampler
225
+ clip_len: 16
226
+ frame_stride: 10
227
+ context_goal:
228
+ _target_: far.data.samplers.ContextGoalSampler
229
+ context_pool_size: 200
230
+ len_traj_pred: ${len_traj_pred}
231
+ goals_per_obs: ${goals_per_obs}
232
+ context_goal_test:
233
+ _target_: far.data.samplers.ContextGoalSampler
234
+ context_pool_size: 200
235
+ len_traj_pred: ${len_traj_pred}
236
+ goals_per_obs: 4
237
+ context_traj:
238
+ _target_: far.data.samplers.ContextTrajectorySampler
239
+ context_pool_size: 200
240
+ len_traj_pred: ${len_traj_pred}
241
+ formatter:
242
+ frame:
243
+ _target_: far.data.formatters.FrameFormatter
244
+ context_pose:
245
+ _target_: far.data.formatters.ContextPoseFormatter
246
+ spec: ${loopnav_latent.spec}
247
+ train:
248
+ _target_: far.data.datasets.FormattedVideoDataset
249
+ formatter: ${loopnav_latent.formatter.context_pose}
250
+ base_dataset:
251
+ _target_: far.data.datasets.VideoDataset
252
+ manifest_path: ${loopnav_latent.shared.manifest_path}
253
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/loopnav/loopnav_latent_train.json
254
+ backend: ${loopnav_latent.shared.backend}
255
+ sampler: ${loopnav_latent.sampler.context_goal}
256
+ transform: ${loopnav_latent.shared.transform}
257
+ test:
258
+ _target_: far.data.datasets.FormattedVideoDataset
259
+ formatter: ${loopnav_latent.formatter.context_pose}
260
+ base_dataset:
261
+ _target_: far.data.datasets.VideoDataset
262
+ manifest_path: ${loopnav_latent.shared.manifest_path}
263
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/loopnav/loopnav_latent_test.json
264
+ backend: ${loopnav_latent.shared.backend}
265
+ sampler: ${loopnav_latent.sampler.context_goal_test}
266
+ transform: ${loopnav_latent.shared.transform}
267
+ soundspaces_latent:
268
+ spec:
269
+ _target_: far.builders.data.build_dataspec
270
+ local_pos_stats:
271
+ min:
272
+ - 0
273
+ - 0
274
+ - 0
275
+ max:
276
+ - 1
277
+ - 1
278
+ - 1
279
+ meters_per_waypoint: 1.0
280
+ max_frame_offset: 10.0
281
+ len_traj_pred: ${len_traj_pred}
282
+ planner_mu_init:
283
+ - -0.1
284
+ - 0
285
+ - 0
286
+ - 0
287
+ - 0
288
+ planner_sigma_init:
289
+ - 0.02
290
+ - 0.1
291
+ - 0
292
+ - 0
293
+ - 0.3142
294
+ pose_fields:
295
+ - x
296
+ - 'y'
297
+ - z
298
+ - pitch
299
+ - yaw
300
+ pose_dim: 5
301
+ pos_dim: 3
302
+ angle_dim: 2
303
+ pose_mode: 3d
304
+ fps: 10.0
305
+ shared:
306
+ manifest_path: ${oc.env:FAR_RESULT_ROOT}/manifests/soundspaces/soundspaces_latent.json
307
+ backend:
308
+ _target_: far.data.backends.SoundSpacesBackend
309
+ key_suffix: null
310
+ audio_mode: null
311
+ audio_window_hops: 48
312
+ transform: null
313
+ sampler:
314
+ random_clip:
315
+ _target_: far.data.samplers.RandomClipSampler
316
+ clip_len: 16
317
+ frame_stride: 5
318
+ context_goal:
319
+ _target_: far.data.samplers.ContextGoalSampler
320
+ context_pool_size: 200
321
+ len_traj_pred: ${len_traj_pred}
322
+ goals_per_obs: ${goals_per_obs}
323
+ context_goal_test:
324
+ _target_: far.data.samplers.ContextGoalSampler
325
+ context_pool_size: 200
326
+ len_traj_pred: ${len_traj_pred}
327
+ goals_per_obs: 4
328
+ context_traj:
329
+ _target_: far.data.samplers.ContextTrajectorySampler
330
+ context_pool_size: 200
331
+ len_traj_pred: ${len_traj_pred}
332
+ formatter:
333
+ frame:
334
+ _target_: far.data.formatters.FrameFormatter
335
+ context_pose:
336
+ _target_: far.data.formatters.ContextPoseFormatter
337
+ spec: ${soundspaces_latent.spec}
338
+ train:
339
+ _target_: far.data.datasets.FormattedVideoDataset
340
+ formatter: ${soundspaces_latent.formatter.context_pose}
341
+ base_dataset:
342
+ _target_: far.data.datasets.VideoDataset
343
+ manifest_path: ${soundspaces_latent.shared.manifest_path}
344
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/soundspaces/soundspaces_latent_train.json
345
+ backend: ${soundspaces_latent.shared.backend}
346
+ sampler: ${soundspaces_latent.sampler.context_goal}
347
+ transform: ${soundspaces_latent.shared.transform}
348
+ test:
349
+ _target_: far.data.datasets.FormattedVideoDataset
350
+ formatter: ${soundspaces_latent.formatter.context_pose}
351
+ base_dataset:
352
+ _target_: far.data.datasets.VideoDataset
353
+ manifest_path: ${soundspaces_latent.shared.manifest_path}
354
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/soundspaces/soundspaces_latent_test.json
355
+ backend: ${soundspaces_latent.shared.backend}
356
+ sampler: ${soundspaces_latent.sampler.context_goal_test}
357
+ transform: ${soundspaces_latent.shared.transform}
358
+ soundspaces_v2_latent:
359
+ spec:
360
+ _target_: far.builders.data.build_dataspec
361
+ local_pos_stats:
362
+ min:
363
+ - 0
364
+ - 0
365
+ - 0
366
+ max:
367
+ - 1
368
+ - 1
369
+ - 1
370
+ meters_per_waypoint: 1.0
371
+ max_frame_offset: 10.0
372
+ len_traj_pred: ${len_traj_pred}
373
+ planner_mu_init:
374
+ - -0.1
375
+ - 0
376
+ - 0
377
+ - 0
378
+ - 0
379
+ planner_sigma_init:
380
+ - 0.02
381
+ - 0.1
382
+ - 0
383
+ - 0
384
+ - 0.3142
385
+ pose_fields:
386
+ - x
387
+ - 'y'
388
+ - z
389
+ - pitch
390
+ - yaw
391
+ pose_dim: 5
392
+ pos_dim: 3
393
+ angle_dim: 2
394
+ pose_mode: 3d
395
+ fps: 10.0
396
+ shared:
397
+ manifest_path: ${oc.env:FAR_RESULT_ROOT}/manifests/soundspaces_v2/soundspaces_v2_latent.json
398
+ backend:
399
+ _target_: far.data.backends.SoundSpacesBackend
400
+ key_suffix: null
401
+ audio_mode: null
402
+ audio_window_hops: 48
403
+ transform: null
404
+ sampler:
405
+ random_clip:
406
+ _target_: far.data.samplers.RandomClipSampler
407
+ clip_len: 16
408
+ frame_stride: 5
409
+ context_goal:
410
+ _target_: far.data.samplers.ContextGoalSampler
411
+ context_pool_size: 200
412
+ len_traj_pred: ${len_traj_pred}
413
+ goals_per_obs: ${goals_per_obs}
414
+ context_goal_test:
415
+ _target_: far.data.samplers.ContextGoalSampler
416
+ context_pool_size: 200
417
+ len_traj_pred: ${len_traj_pred}
418
+ goals_per_obs: 4
419
+ context_traj:
420
+ _target_: far.data.samplers.ContextTrajectorySampler
421
+ context_pool_size: 200
422
+ len_traj_pred: ${len_traj_pred}
423
+ formatter:
424
+ frame:
425
+ _target_: far.data.formatters.FrameFormatter
426
+ context_pose:
427
+ _target_: far.data.formatters.ContextPoseFormatter
428
+ spec: ${soundspaces_v2_latent.spec}
429
+ train:
430
+ _target_: far.data.datasets.FormattedVideoDataset
431
+ formatter: ${soundspaces_v2_latent.formatter.context_pose}
432
+ base_dataset:
433
+ _target_: far.data.datasets.VideoDataset
434
+ manifest_path: ${soundspaces_v2_latent.shared.manifest_path}
435
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/soundspaces_v2/soundspaces_v2_latent_train.json
436
+ backend: ${soundspaces_v2_latent.shared.backend}
437
+ sampler: ${soundspaces_v2_latent.sampler.context_goal}
438
+ transform: ${soundspaces_v2_latent.shared.transform}
439
+ test:
440
+ _target_: far.data.datasets.FormattedVideoDataset
441
+ formatter: ${soundspaces_v2_latent.formatter.context_pose}
442
+ base_dataset:
443
+ _target_: far.data.datasets.VideoDataset
444
+ manifest_path: ${soundspaces_v2_latent.shared.manifest_path}
445
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/soundspaces_v2/soundspaces_v2_latent_test.json
446
+ backend: ${soundspaces_v2_latent.shared.backend}
447
+ sampler: ${soundspaces_v2_latent.sampler.context_goal_test}
448
+ transform: ${soundspaces_v2_latent.shared.transform}
449
+ ai2thor_latent:
450
+ spec:
451
+ _target_: far.builders.data.build_dataspec
452
+ local_pos_stats:
453
+ min:
454
+ - 0
455
+ - 0
456
+ - 0
457
+ max:
458
+ - 1
459
+ - 1
460
+ - 1
461
+ meters_per_waypoint: 1.0
462
+ max_frame_offset: 10.0
463
+ len_traj_pred: ${len_traj_pred}
464
+ planner_mu_init:
465
+ - -0.1
466
+ - 0
467
+ - 0
468
+ - 0
469
+ - 0
470
+ planner_sigma_init:
471
+ - 0.02
472
+ - 0.1
473
+ - 0
474
+ - 0
475
+ - 0.3142
476
+ pose_fields:
477
+ - x
478
+ - 'y'
479
+ - z
480
+ - pitch
481
+ - yaw
482
+ pose_dim: 5
483
+ pos_dim: 3
484
+ angle_dim: 2
485
+ pose_mode: 3d
486
+ fps: 10.0
487
+ shared:
488
+ manifest_path: ${oc.env:FAR_RESULT_ROOT}/manifests/ai2thor/ai2thor_latent.json
489
+ backend:
490
+ _target_: far.data.backends.THORBackend
491
+ key_suffix: null
492
+ transform: null
493
+ sampler:
494
+ random_clip:
495
+ _target_: far.data.samplers.RandomClipSampler
496
+ clip_len: 16
497
+ frame_stride: 5
498
+ context_goal:
499
+ _target_: far.data.samplers.ContextGoalSampler
500
+ context_pool_size: 200
501
+ len_traj_pred: ${len_traj_pred}
502
+ goals_per_obs: ${goals_per_obs}
503
+ context_goal_test:
504
+ _target_: far.data.samplers.ContextGoalSampler
505
+ context_pool_size: 200
506
+ len_traj_pred: ${len_traj_pred}
507
+ goals_per_obs: 4
508
+ context_traj:
509
+ _target_: far.data.samplers.ContextTrajectorySampler
510
+ context_pool_size: 200
511
+ len_traj_pred: ${len_traj_pred}
512
+ formatter:
513
+ frame:
514
+ _target_: far.data.formatters.FrameFormatter
515
+ context_pose:
516
+ _target_: far.data.formatters.ContextPoseFormatter
517
+ spec: ${ai2thor_latent.spec}
518
+ train:
519
+ _target_: far.data.datasets.FormattedVideoDataset
520
+ formatter: ${ai2thor_latent.formatter.context_pose}
521
+ base_dataset:
522
+ _target_: far.data.datasets.VideoDataset
523
+ manifest_path: ${ai2thor_latent.shared.manifest_path}
524
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/ai2thor/ai2thor_latent_train.json
525
+ backend: ${ai2thor_latent.shared.backend}
526
+ sampler: ${ai2thor_latent.sampler.context_goal}
527
+ transform: ${ai2thor_latent.shared.transform}
528
+ test:
529
+ _target_: far.data.datasets.FormattedVideoDataset
530
+ formatter: ${ai2thor_latent.formatter.context_pose}
531
+ base_dataset:
532
+ _target_: far.data.datasets.VideoDataset
533
+ manifest_path: ${ai2thor_latent.shared.manifest_path}
534
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/ai2thor/ai2thor_latent_test.json
535
+ backend: ${ai2thor_latent.shared.backend}
536
+ sampler: ${ai2thor_latent.sampler.context_goal_test}
537
+ transform: ${ai2thor_latent.shared.transform}
538
+ ai2thor_v2_latent:
539
+ spec:
540
+ _target_: far.builders.data.build_dataspec
541
+ local_pos_stats:
542
+ min:
543
+ - 0
544
+ - 0
545
+ - 0
546
+ max:
547
+ - 1
548
+ - 1
549
+ - 1
550
+ meters_per_waypoint: 1.0
551
+ max_frame_offset: 10.0
552
+ len_traj_pred: ${len_traj_pred}
553
+ planner_mu_init:
554
+ - -0.1
555
+ - 0
556
+ - 0
557
+ - 0
558
+ - 0
559
+ planner_sigma_init:
560
+ - 0.02
561
+ - 0.1
562
+ - 0
563
+ - 0
564
+ - 0.3142
565
+ pose_fields:
566
+ - x
567
+ - 'y'
568
+ - z
569
+ - pitch
570
+ - yaw
571
+ pose_dim: 5
572
+ pos_dim: 3
573
+ angle_dim: 2
574
+ pose_mode: 3d
575
+ fps: 10.0
576
+ shared:
577
+ manifest_path: results/manifests/ai2thor_v2/ai2thor_v2_latent.json
578
+ backend:
579
+ _target_: far.data.backends.THORBackend
580
+ key_suffix: null
581
+ mask_suffix: null
582
+ transform: null
583
+ sampler:
584
+ random_clip:
585
+ _target_: far.data.samplers.RandomClipSampler
586
+ clip_len: 16
587
+ frame_stride: 5
588
+ context_goal:
589
+ _target_: far.data.samplers.ContextGoalSampler
590
+ context_pool_size: 200
591
+ len_traj_pred: ${len_traj_pred}
592
+ goals_per_obs: ${goals_per_obs}
593
+ event_bias_p: 0.0
594
+ event_phase: eval
595
+ event_codes: null
596
+ event_pre:
597
+ - -3
598
+ - 5
599
+ event_post:
600
+ - 0
601
+ - 8
602
+ event_goal_anchor: start
603
+ pool_phase: pre_eval
604
+ context_goal_test:
605
+ _target_: far.data.samplers.ContextGoalSampler
606
+ context_pool_size: 200
607
+ len_traj_pred: ${len_traj_pred}
608
+ goals_per_obs: 4
609
+ pool_phase: pre_eval
610
+ context_traj:
611
+ _target_: far.data.samplers.ContextTrajectorySampler
612
+ context_pool_size: 200
613
+ len_traj_pred: ${len_traj_pred}
614
+ pool_phase: pre_eval
615
+ formatter:
616
+ frame:
617
+ _target_: far.data.formatters.FrameFormatter
618
+ context_pose:
619
+ _target_: far.data.formatters.ContextPoseFormatter
620
+ spec: ${ai2thor_v2_latent.spec}
621
+ train:
622
+ _target_: far.data.datasets.FormattedVideoDataset
623
+ formatter: ${ai2thor_v2_latent.formatter.context_pose}
624
+ base_dataset:
625
+ _target_: far.data.datasets.VideoDataset
626
+ manifest_path: ${ai2thor_v2_latent.shared.manifest_path}
627
+ index_path: results/indices/ai2thor_v2/ai2thor_v2_latent_train.json
628
+ backend: ${ai2thor_v2_latent.shared.backend}
629
+ sampler: ${ai2thor_v2_latent.sampler.context_goal}
630
+ transform: ${ai2thor_v2_latent.shared.transform}
631
+ event_index_path: results/indices/ai2thor_v2/ai2thor_v2_latent_train_events.json
632
+ event_frac: null
633
+ test:
634
+ _target_: far.data.datasets.FormattedVideoDataset
635
+ formatter: ${ai2thor_v2_latent.formatter.context_pose}
636
+ base_dataset:
637
+ _target_: far.data.datasets.VideoDataset
638
+ manifest_path: ${ai2thor_v2_latent.shared.manifest_path}
639
+ index_path: results/indices/ai2thor_v2/ai2thor_v2_latent_test.json
640
+ backend: ${ai2thor_v2_latent.shared.backend}
641
+ sampler: ${ai2thor_v2_latent.sampler.context_goal_test}
642
+ transform: ${ai2thor_v2_latent.shared.transform}
643
+ ai2thor_v3_latent:
644
+ spec:
645
+ _target_: far.builders.data.build_dataspec
646
+ local_pos_stats:
647
+ min:
648
+ - 0
649
+ - 0
650
+ - 0
651
+ max:
652
+ - 1
653
+ - 1
654
+ - 1
655
+ meters_per_waypoint: 1.0
656
+ max_frame_offset: 10.0
657
+ len_traj_pred: ${len_traj_pred}
658
+ planner_mu_init:
659
+ - -0.1
660
+ - 0
661
+ - 0
662
+ - 0
663
+ - 0
664
+ planner_sigma_init:
665
+ - 0.02
666
+ - 0.1
667
+ - 0
668
+ - 0
669
+ - 0.3142
670
+ pose_fields:
671
+ - x
672
+ - 'y'
673
+ - z
674
+ - pitch
675
+ - yaw
676
+ pose_dim: 5
677
+ pos_dim: 3
678
+ angle_dim: 2
679
+ pose_mode: 3d
680
+ fps: 10.0
681
+ shared:
682
+ manifest_path: ${oc.env:FAR_RESULT_ROOT}/manifests/ai2thor_v3/ai2thor_v3_latent.json
683
+ backend:
684
+ _target_: far.data.backends.THORBackend
685
+ key_suffix: .keys_thor_v1.npy
686
+ mask_suffix: .change_interact.npy
687
+ transform: null
688
+ sampler:
689
+ random_clip:
690
+ _target_: far.data.samplers.RandomClipSampler
691
+ clip_len: 16
692
+ frame_stride: 5
693
+ context_goal:
694
+ _target_: far.data.samplers.ContextGoalSampler
695
+ context_pool_size: 400
696
+ len_traj_pred: ${len_traj_pred}
697
+ goals_per_obs: ${goals_per_obs}
698
+ event_bias_p: 0.0
699
+ event_phase: eval
700
+ event_codes: null
701
+ event_pre:
702
+ - -5
703
+ - 5
704
+ event_post:
705
+ - 0
706
+ - 14
707
+ event_goal_anchor: start
708
+ pool_phase: pre_eval
709
+ context_goal_test:
710
+ _target_: far.data.samplers.ContextGoalSampler
711
+ context_pool_size: 400
712
+ len_traj_pred: ${len_traj_pred}
713
+ goals_per_obs: 4
714
+ pool_phase: pre_eval
715
+ context_traj:
716
+ _target_: far.data.samplers.ContextTrajectorySampler
717
+ context_pool_size: 200
718
+ len_traj_pred: ${len_traj_pred}
719
+ pool_phase: pre_eval
720
+ formatter:
721
+ frame:
722
+ _target_: far.data.formatters.FrameFormatter
723
+ context_pose:
724
+ _target_: far.data.formatters.ContextPoseFormatter
725
+ spec: ${ai2thor_v3_latent.spec}
726
+ train:
727
+ _target_: far.data.datasets.FormattedVideoDataset
728
+ formatter: ${ai2thor_v3_latent.formatter.context_pose}
729
+ base_dataset:
730
+ _target_: far.data.datasets.VideoDataset
731
+ manifest_path: ${ai2thor_v3_latent.shared.manifest_path}
732
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/ai2thor_v3/ai2thor_v3_latent_train.json
733
+ backend: ${ai2thor_v3_latent.shared.backend}
734
+ sampler: ${ai2thor_v3_latent.sampler.context_goal}
735
+ transform: ${ai2thor_v3_latent.shared.transform}
736
+ event_index_path: ${oc.env:FAR_RESULT_ROOT}/indices/ai2thor_v3/ai2thor_v3_latent_train_events.json
737
+ event_frac: 0.3
738
+ test:
739
+ _target_: far.data.datasets.FormattedVideoDataset
740
+ formatter: ${ai2thor_v3_latent.formatter.context_pose}
741
+ base_dataset:
742
+ _target_: far.data.datasets.VideoDataset
743
+ manifest_path: ${ai2thor_v3_latent.shared.manifest_path}
744
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/ai2thor_v3/ai2thor_v3_latent_test.json
745
+ backend: ${ai2thor_v3_latent.shared.backend}
746
+ sampler: ${ai2thor_v3_latent.sampler.context_goal_test}
747
+ transform: ${ai2thor_v3_latent.shared.transform}
748
+ model:
749
+ tokenizer:
750
+ _target_: far.tokenizers.sd_vae.SD_VAE
751
+ image_height: ${image_height}
752
+ image_width: ${image_width}
753
+ vae_scale: 0.13025
754
+ ckpt_path: models/sdxl-vae-fp16-fix
755
+ generator:
756
+ _target_: far.generators.cdit_mod_pose_fa.CDiT
757
+ depth: 12
758
+ hidden_size: 768
759
+ patch_size: 2
760
+ num_heads: 12
761
+ context_size: 4
762
+ ckpt_path: null
763
+ action_dim: ${action_dim}
764
+ pose_dim: ${pose_dim}
765
+ fov_half_h: 45.0
766
+ fov_half_v: 45.0
767
+ local_pos_stats: ${ai2thor_v3_latent.spec.local_pos_stats}
768
+ stride_to_seconds: 1.0
769
+ interact_dim: 5
770
+ memory:
771
+ _target_: far.memories.pnp_cl.PnPRetrieval
772
+ ckpt_path: null
773
+ chunk_size: 10
774
+ num_sets: 5
775
+ softmax_temperature: 1.0
776
+ scoring: visual+meta_z
777
+ metadata_hidden: 128
778
+ metadata_layers: 3
779
+ local_pos_stats: ${ai2thor_v3_latent.spec.local_pos_stats}
780
+ stride_to_seconds: 1.0
781
+ encoder_mode: adapter
782
+ adapter_hidden: 384
783
+ query_source: frame
784
+ query_conditioning: action
785
+ gate_eps: 0.05
786
+ query_vit:
787
+ _target_: far.memories.pnp_cl.QueryViT
788
+ img_height: 32
789
+ img_width: 32
790
+ patch_size: 2
791
+ in_chans: 4
792
+ embed_dim: 384
793
+ depth: 6
794
+ num_heads: 12
795
+ action_dim: ${action_dim}
796
+ key_dim: 256
797
+ mlp_ratio: 4.0
798
+ interact_dim: 4
799
+ _target_: far.builders.models.build_ldwm
800
+ _recursive_: false
801
+ condition_on_context_time: true
802
+ condition_on_context_pose: true
803
+ retriever_loss_weight: 1.0
804
+ mask_loss_lambda: 0.3
805
+ mask_max_frac: 0.15
806
+ rag_mask_loss_lambda: null
807
+ diffusion:
808
+ _target_: far.generators.diffusion.create_diffusion
809
+ timestep_respacing: null
810
+ noise_schedule: linear
811
+ diffusion_steps: 1000
812
+ learn_sigma: true
813
+ predict_xstart: false
814
+ sigma_small: false
815
+ use_kl: false
816
+ rescale_learned_sigmas: false
817
+ wandb:
818
+ project: PMem-THOR
819
+ name: null
820
+ entity: null
821
+ mode: online
822
+ group: ai2thor_v3_latent
823
+ tags:
824
+ - ai2thor_v3_latent
825
+ run_name: thor3_cdit_b_pnp_vmz_posefa
826
+ context_size: 4
827
+ action_dim: 5
828
+ pose_dim: 5
829
+ image_height: 256
830
+ image_width: 256
831
+ len_traj_pred: 32
832
+ goals_per_obs: 4
833
+ lr: 0.0001
834
+ lr_mem: 0.0001
835
+ weight_decay: 0.0
836
+ grad_clip_val: 1.0
837
+ iterations: 5000000
838
+ warmup_steps: 5000
839
+ from_checkpoint: null
840
+ global_seed: 0
841
+ log_every: 100
842
+ ckpt_every: 100000
843
+ latest_every: 2500
844
+ eval_every: 2500
845
+ rag_every: 20
846
+ rag_noise_levels: 4
847
+ rag_mode: diffusion
848
+ rag_ddim_steps: 8
849
+ rag_mse_weight: 1.0
850
+ local_rag: true
851
+ local_rag_weight: 1.0
852
+ bfloat16: false
853
+ torch_compile: true
854
+ batch_size: 16
855
+ eval_batch_size: 32
856
+ num_workers: 12
857
+ datasets:
858
+ - ai2thor_v3_latent
ai2thor_v3/temporal/checkpoints/0700000.pth.tar ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:fe9512b34ba3a2f124c284525f45084df115ab3a8244b8a8dbe728693ef0da89
3
+ size 526958337
ai2thor_v3/temporal/config.yaml ADDED
@@ -0,0 +1,832 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ recon:
2
+ spec:
3
+ _target_: far.builders.data.build_dataspec
4
+ local_pos_stats:
5
+ min:
6
+ - -2.5
7
+ - -4
8
+ max:
9
+ - 5
10
+ - 4
11
+ meters_per_waypoint: 0.25
12
+ max_frame_offset: 128
13
+ len_traj_pred: ${len_traj_pred}
14
+ planner_mu_init:
15
+ - -0.1
16
+ - 0
17
+ - 0
18
+ planner_sigma_init:
19
+ - 0.02
20
+ - 0.1
21
+ - 0.3142
22
+ pose_fields:
23
+ - x
24
+ - 'y'
25
+ - z
26
+ - pitch
27
+ - yaw
28
+ pose_dim: 5
29
+ pos_dim: 2
30
+ angle_dim: 1
31
+ pose_mode: 2d
32
+ fps: 4.0
33
+ shared:
34
+ manifest_path: results/manifests/recon/recon_split.json
35
+ backend:
36
+ _target_: far.data.backends.NavigationBackend
37
+ transform:
38
+ _target_: far.data.transforms.make_centercrop_resize
39
+ image_height: ${image_height}
40
+ image_width: ${image_width}
41
+ sampler:
42
+ context_goal:
43
+ _target_: far.data.samplers.ContextGoalSampler
44
+ context_pool_size: 12
45
+ len_traj_pred: ${len_traj_pred}
46
+ goals_per_obs: ${goals_per_obs}
47
+ context_traj:
48
+ _target_: far.data.samplers.ContextTrajectorySampler
49
+ context_pool_size: 12
50
+ len_traj_pred: ${len_traj_pred}
51
+ formatter:
52
+ context_pose:
53
+ _target_: far.data.formatters.ContextPoseFormatter2D
54
+ spec: ${recon.spec}
55
+ train:
56
+ _target_: far.data.datasets.FormattedVideoDataset
57
+ formatter: ${recon.formatter.context_pose}
58
+ base_dataset:
59
+ _target_: far.data.datasets.VideoDataset
60
+ manifest_path: ${recon.shared.manifest_path}
61
+ index_path: results/indices/recon/recon_train.json
62
+ backend: ${recon.shared.backend}
63
+ sampler: ${recon.sampler.context_goal}
64
+ transform: ${recon.shared.transform}
65
+ test:
66
+ _target_: far.data.datasets.FormattedVideoDataset
67
+ formatter: ${recon.formatter.context_pose}
68
+ base_dataset:
69
+ _target_: far.data.datasets.VideoDataset
70
+ manifest_path: ${recon.shared.manifest_path}
71
+ index_path: results/indices/recon/recon_test.json
72
+ backend: ${recon.shared.backend}
73
+ sampler: ${recon.sampler.context_goal}
74
+ transform: ${recon.shared.transform}
75
+ eval:
76
+ _target_: far.data.datasets.FormattedVideoDataset
77
+ formatter: ${recon.formatter.context_pose}
78
+ base_dataset:
79
+ _target_: far.data.datasets.VideoDataset
80
+ manifest_path: ${recon.shared.manifest_path}
81
+ index_path: results/indices/recon/recon_test_time.json
82
+ backend: ${recon.shared.backend}
83
+ sampler: ${recon.sampler.context_traj}
84
+ transform: ${recon.shared.transform}
85
+ eval_traj:
86
+ _target_: far.data.datasets.FormattedVideoDataset
87
+ formatter: ${recon.formatter.context_pose}
88
+ base_dataset:
89
+ _target_: far.data.datasets.VideoDataset
90
+ manifest_path: ${recon.shared.manifest_path}
91
+ index_path: results/indices/recon/recon_test_plan.json
92
+ backend: ${recon.shared.backend}
93
+ sampler: ${recon.sampler.context_traj}
94
+ transform: ${recon.shared.transform}
95
+ loopnav:
96
+ spec:
97
+ _target_: far.builders.data.build_dataspec
98
+ local_pos_stats:
99
+ min:
100
+ - -2.5
101
+ - -4
102
+ - 0
103
+ max:
104
+ - 5
105
+ - 4
106
+ - 1
107
+ meters_per_waypoint: 0.25
108
+ max_frame_offset: 128
109
+ len_traj_pred: ${len_traj_pred}
110
+ planner_mu_init:
111
+ - -0.1
112
+ - 0
113
+ - 0
114
+ - 0
115
+ - 0
116
+ planner_sigma_init:
117
+ - 0.02
118
+ - 0.1
119
+ - 0
120
+ - 0
121
+ - 0.3142
122
+ pose_fields:
123
+ - x
124
+ - 'y'
125
+ - z
126
+ - pitch
127
+ - yaw
128
+ pose_dim: 5
129
+ pos_dim: 3
130
+ angle_dim: 2
131
+ pose_mode: 3d
132
+ fps: 20.0
133
+ shared:
134
+ manifest_path: results/manifests/loopnav/loopnav_split.json
135
+ backend:
136
+ _target_: far.data.backends.LoopNavBackend
137
+ standard_frame: false
138
+ transform:
139
+ _target_: far.data.transforms.make_resize
140
+ image_height: ${image_height}
141
+ image_width: ${image_width}
142
+ sampler:
143
+ random_clip:
144
+ _target_: far.data.samplers.RandomClipSampler
145
+ clip_len: 16
146
+ frame_stride: 10
147
+ context_goal:
148
+ _target_: far.data.samplers.ContextGoalSampler
149
+ context_pool_size: 100
150
+ len_traj_pred: ${len_traj_pred}
151
+ goals_per_obs: ${goals_per_obs}
152
+ context_traj:
153
+ _target_: far.data.samplers.ContextTrajectorySampler
154
+ context_pool_size: 100
155
+ len_traj_pred: ${len_traj_pred}
156
+ formatter:
157
+ frame:
158
+ _target_: far.data.formatters.FrameFormatter
159
+ context_pose:
160
+ _target_: far.data.formatters.ContextPoseFormatter
161
+ spec: ${loopnav.spec}
162
+ train_tokenizer:
163
+ _target_: far.data.datasets.FormattedIterableDataset
164
+ formatter: ${loopnav.formatter.frame}
165
+ base_dataset:
166
+ _target_: far.data.datasets.WebVideoIterableDataset
167
+ manifest_path: results/manifests/loopnav/loopnav.json
168
+ index_path: results/indices/loopnav/loopnav_train_ABCA.json
169
+ backend:
170
+ _target_: far.data.backends.WebDatasetBackend
171
+ sampler: ${loopnav.sampler.random_clip}
172
+ transform: ${loopnav.shared.transform}
173
+ cache_dir: null
174
+ cache_size: 100
175
+ shuffle_shards: 32
176
+ shuffle_samples: 100
177
+ loopnav_latent:
178
+ spec:
179
+ _target_: far.builders.data.build_dataspec
180
+ local_pos_stats:
181
+ min:
182
+ - 0
183
+ - 0
184
+ - 0
185
+ max:
186
+ - 1
187
+ - 1
188
+ - 1
189
+ meters_per_waypoint: 1.0
190
+ max_frame_offset: 20.0
191
+ len_traj_pred: ${len_traj_pred}
192
+ planner_mu_init:
193
+ - -0.1
194
+ - 0
195
+ - 0
196
+ - 0
197
+ - 0
198
+ planner_sigma_init:
199
+ - 0.02
200
+ - 0.1
201
+ - 0
202
+ - 0
203
+ - 0.3142
204
+ pose_fields:
205
+ - x
206
+ - 'y'
207
+ - z
208
+ - pitch
209
+ - yaw
210
+ pose_dim: 5
211
+ pos_dim: 3
212
+ angle_dim: 2
213
+ pose_mode: 3d
214
+ fps: 20.0
215
+ shared:
216
+ manifest_path: ${oc.env:FAR_RESULT_ROOT}/manifests/loopnav/loopnav_latent.json
217
+ backend:
218
+ _target_: far.data.backends.LatentLoopNavBackend
219
+ key_suffix: .keys.npy
220
+ standard_frame: false
221
+ transform: null
222
+ sampler:
223
+ random_clip:
224
+ _target_: far.data.samplers.RandomClipSampler
225
+ clip_len: 16
226
+ frame_stride: 10
227
+ context_goal:
228
+ _target_: far.data.samplers.ContextGoalSampler
229
+ context_pool_size: 200
230
+ len_traj_pred: ${len_traj_pred}
231
+ goals_per_obs: ${goals_per_obs}
232
+ context_goal_test:
233
+ _target_: far.data.samplers.ContextGoalSampler
234
+ context_pool_size: 200
235
+ len_traj_pred: ${len_traj_pred}
236
+ goals_per_obs: 4
237
+ context_traj:
238
+ _target_: far.data.samplers.ContextTrajectorySampler
239
+ context_pool_size: 200
240
+ len_traj_pred: ${len_traj_pred}
241
+ formatter:
242
+ frame:
243
+ _target_: far.data.formatters.FrameFormatter
244
+ context_pose:
245
+ _target_: far.data.formatters.ContextPoseFormatter
246
+ spec: ${loopnav_latent.spec}
247
+ train:
248
+ _target_: far.data.datasets.FormattedVideoDataset
249
+ formatter: ${loopnav_latent.formatter.context_pose}
250
+ base_dataset:
251
+ _target_: far.data.datasets.VideoDataset
252
+ manifest_path: ${loopnav_latent.shared.manifest_path}
253
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/loopnav/loopnav_latent_train.json
254
+ backend: ${loopnav_latent.shared.backend}
255
+ sampler: ${loopnav_latent.sampler.context_goal}
256
+ transform: ${loopnav_latent.shared.transform}
257
+ test:
258
+ _target_: far.data.datasets.FormattedVideoDataset
259
+ formatter: ${loopnav_latent.formatter.context_pose}
260
+ base_dataset:
261
+ _target_: far.data.datasets.VideoDataset
262
+ manifest_path: ${loopnav_latent.shared.manifest_path}
263
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/loopnav/loopnav_latent_test.json
264
+ backend: ${loopnav_latent.shared.backend}
265
+ sampler: ${loopnav_latent.sampler.context_goal_test}
266
+ transform: ${loopnav_latent.shared.transform}
267
+ soundspaces_latent:
268
+ spec:
269
+ _target_: far.builders.data.build_dataspec
270
+ local_pos_stats:
271
+ min:
272
+ - 0
273
+ - 0
274
+ - 0
275
+ max:
276
+ - 1
277
+ - 1
278
+ - 1
279
+ meters_per_waypoint: 1.0
280
+ max_frame_offset: 10.0
281
+ len_traj_pred: ${len_traj_pred}
282
+ planner_mu_init:
283
+ - -0.1
284
+ - 0
285
+ - 0
286
+ - 0
287
+ - 0
288
+ planner_sigma_init:
289
+ - 0.02
290
+ - 0.1
291
+ - 0
292
+ - 0
293
+ - 0.3142
294
+ pose_fields:
295
+ - x
296
+ - 'y'
297
+ - z
298
+ - pitch
299
+ - yaw
300
+ pose_dim: 5
301
+ pos_dim: 3
302
+ angle_dim: 2
303
+ pose_mode: 3d
304
+ fps: 10.0
305
+ shared:
306
+ manifest_path: ${oc.env:FAR_RESULT_ROOT}/manifests/soundspaces/soundspaces_latent.json
307
+ backend:
308
+ _target_: far.data.backends.SoundSpacesBackend
309
+ key_suffix: null
310
+ audio_mode: null
311
+ audio_window_hops: 48
312
+ transform: null
313
+ sampler:
314
+ random_clip:
315
+ _target_: far.data.samplers.RandomClipSampler
316
+ clip_len: 16
317
+ frame_stride: 5
318
+ context_goal:
319
+ _target_: far.data.samplers.ContextGoalSampler
320
+ context_pool_size: 200
321
+ len_traj_pred: ${len_traj_pred}
322
+ goals_per_obs: ${goals_per_obs}
323
+ context_goal_test:
324
+ _target_: far.data.samplers.ContextGoalSampler
325
+ context_pool_size: 200
326
+ len_traj_pred: ${len_traj_pred}
327
+ goals_per_obs: 4
328
+ context_traj:
329
+ _target_: far.data.samplers.ContextTrajectorySampler
330
+ context_pool_size: 200
331
+ len_traj_pred: ${len_traj_pred}
332
+ formatter:
333
+ frame:
334
+ _target_: far.data.formatters.FrameFormatter
335
+ context_pose:
336
+ _target_: far.data.formatters.ContextPoseFormatter
337
+ spec: ${soundspaces_latent.spec}
338
+ train:
339
+ _target_: far.data.datasets.FormattedVideoDataset
340
+ formatter: ${soundspaces_latent.formatter.context_pose}
341
+ base_dataset:
342
+ _target_: far.data.datasets.VideoDataset
343
+ manifest_path: ${soundspaces_latent.shared.manifest_path}
344
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/soundspaces/soundspaces_latent_train.json
345
+ backend: ${soundspaces_latent.shared.backend}
346
+ sampler: ${soundspaces_latent.sampler.context_goal}
347
+ transform: ${soundspaces_latent.shared.transform}
348
+ test:
349
+ _target_: far.data.datasets.FormattedVideoDataset
350
+ formatter: ${soundspaces_latent.formatter.context_pose}
351
+ base_dataset:
352
+ _target_: far.data.datasets.VideoDataset
353
+ manifest_path: ${soundspaces_latent.shared.manifest_path}
354
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/soundspaces/soundspaces_latent_test.json
355
+ backend: ${soundspaces_latent.shared.backend}
356
+ sampler: ${soundspaces_latent.sampler.context_goal_test}
357
+ transform: ${soundspaces_latent.shared.transform}
358
+ soundspaces_v2_latent:
359
+ spec:
360
+ _target_: far.builders.data.build_dataspec
361
+ local_pos_stats:
362
+ min:
363
+ - 0
364
+ - 0
365
+ - 0
366
+ max:
367
+ - 1
368
+ - 1
369
+ - 1
370
+ meters_per_waypoint: 1.0
371
+ max_frame_offset: 10.0
372
+ len_traj_pred: ${len_traj_pred}
373
+ planner_mu_init:
374
+ - -0.1
375
+ - 0
376
+ - 0
377
+ - 0
378
+ - 0
379
+ planner_sigma_init:
380
+ - 0.02
381
+ - 0.1
382
+ - 0
383
+ - 0
384
+ - 0.3142
385
+ pose_fields:
386
+ - x
387
+ - 'y'
388
+ - z
389
+ - pitch
390
+ - yaw
391
+ pose_dim: 5
392
+ pos_dim: 3
393
+ angle_dim: 2
394
+ pose_mode: 3d
395
+ fps: 10.0
396
+ shared:
397
+ manifest_path: ${oc.env:FAR_RESULT_ROOT}/manifests/soundspaces_v2/soundspaces_v2_latent.json
398
+ backend:
399
+ _target_: far.data.backends.SoundSpacesBackend
400
+ key_suffix: null
401
+ audio_mode: null
402
+ audio_window_hops: 48
403
+ transform: null
404
+ sampler:
405
+ random_clip:
406
+ _target_: far.data.samplers.RandomClipSampler
407
+ clip_len: 16
408
+ frame_stride: 5
409
+ context_goal:
410
+ _target_: far.data.samplers.ContextGoalSampler
411
+ context_pool_size: 200
412
+ len_traj_pred: ${len_traj_pred}
413
+ goals_per_obs: ${goals_per_obs}
414
+ context_goal_test:
415
+ _target_: far.data.samplers.ContextGoalSampler
416
+ context_pool_size: 200
417
+ len_traj_pred: ${len_traj_pred}
418
+ goals_per_obs: 4
419
+ context_traj:
420
+ _target_: far.data.samplers.ContextTrajectorySampler
421
+ context_pool_size: 200
422
+ len_traj_pred: ${len_traj_pred}
423
+ formatter:
424
+ frame:
425
+ _target_: far.data.formatters.FrameFormatter
426
+ context_pose:
427
+ _target_: far.data.formatters.ContextPoseFormatter
428
+ spec: ${soundspaces_v2_latent.spec}
429
+ train:
430
+ _target_: far.data.datasets.FormattedVideoDataset
431
+ formatter: ${soundspaces_v2_latent.formatter.context_pose}
432
+ base_dataset:
433
+ _target_: far.data.datasets.VideoDataset
434
+ manifest_path: ${soundspaces_v2_latent.shared.manifest_path}
435
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/soundspaces_v2/soundspaces_v2_latent_train.json
436
+ backend: ${soundspaces_v2_latent.shared.backend}
437
+ sampler: ${soundspaces_v2_latent.sampler.context_goal}
438
+ transform: ${soundspaces_v2_latent.shared.transform}
439
+ test:
440
+ _target_: far.data.datasets.FormattedVideoDataset
441
+ formatter: ${soundspaces_v2_latent.formatter.context_pose}
442
+ base_dataset:
443
+ _target_: far.data.datasets.VideoDataset
444
+ manifest_path: ${soundspaces_v2_latent.shared.manifest_path}
445
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/soundspaces_v2/soundspaces_v2_latent_test.json
446
+ backend: ${soundspaces_v2_latent.shared.backend}
447
+ sampler: ${soundspaces_v2_latent.sampler.context_goal_test}
448
+ transform: ${soundspaces_v2_latent.shared.transform}
449
+ ai2thor_latent:
450
+ spec:
451
+ _target_: far.builders.data.build_dataspec
452
+ local_pos_stats:
453
+ min:
454
+ - 0
455
+ - 0
456
+ - 0
457
+ max:
458
+ - 1
459
+ - 1
460
+ - 1
461
+ meters_per_waypoint: 1.0
462
+ max_frame_offset: 10.0
463
+ len_traj_pred: ${len_traj_pred}
464
+ planner_mu_init:
465
+ - -0.1
466
+ - 0
467
+ - 0
468
+ - 0
469
+ - 0
470
+ planner_sigma_init:
471
+ - 0.02
472
+ - 0.1
473
+ - 0
474
+ - 0
475
+ - 0.3142
476
+ pose_fields:
477
+ - x
478
+ - 'y'
479
+ - z
480
+ - pitch
481
+ - yaw
482
+ pose_dim: 5
483
+ pos_dim: 3
484
+ angle_dim: 2
485
+ pose_mode: 3d
486
+ fps: 10.0
487
+ shared:
488
+ manifest_path: ${oc.env:FAR_RESULT_ROOT}/manifests/ai2thor/ai2thor_latent.json
489
+ backend:
490
+ _target_: far.data.backends.THORBackend
491
+ key_suffix: null
492
+ transform: null
493
+ sampler:
494
+ random_clip:
495
+ _target_: far.data.samplers.RandomClipSampler
496
+ clip_len: 16
497
+ frame_stride: 5
498
+ context_goal:
499
+ _target_: far.data.samplers.ContextGoalSampler
500
+ context_pool_size: 200
501
+ len_traj_pred: ${len_traj_pred}
502
+ goals_per_obs: ${goals_per_obs}
503
+ context_goal_test:
504
+ _target_: far.data.samplers.ContextGoalSampler
505
+ context_pool_size: 200
506
+ len_traj_pred: ${len_traj_pred}
507
+ goals_per_obs: 4
508
+ context_traj:
509
+ _target_: far.data.samplers.ContextTrajectorySampler
510
+ context_pool_size: 200
511
+ len_traj_pred: ${len_traj_pred}
512
+ formatter:
513
+ frame:
514
+ _target_: far.data.formatters.FrameFormatter
515
+ context_pose:
516
+ _target_: far.data.formatters.ContextPoseFormatter
517
+ spec: ${ai2thor_latent.spec}
518
+ train:
519
+ _target_: far.data.datasets.FormattedVideoDataset
520
+ formatter: ${ai2thor_latent.formatter.context_pose}
521
+ base_dataset:
522
+ _target_: far.data.datasets.VideoDataset
523
+ manifest_path: ${ai2thor_latent.shared.manifest_path}
524
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/ai2thor/ai2thor_latent_train.json
525
+ backend: ${ai2thor_latent.shared.backend}
526
+ sampler: ${ai2thor_latent.sampler.context_goal}
527
+ transform: ${ai2thor_latent.shared.transform}
528
+ test:
529
+ _target_: far.data.datasets.FormattedVideoDataset
530
+ formatter: ${ai2thor_latent.formatter.context_pose}
531
+ base_dataset:
532
+ _target_: far.data.datasets.VideoDataset
533
+ manifest_path: ${ai2thor_latent.shared.manifest_path}
534
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/ai2thor/ai2thor_latent_test.json
535
+ backend: ${ai2thor_latent.shared.backend}
536
+ sampler: ${ai2thor_latent.sampler.context_goal_test}
537
+ transform: ${ai2thor_latent.shared.transform}
538
+ ai2thor_v2_latent:
539
+ spec:
540
+ _target_: far.builders.data.build_dataspec
541
+ local_pos_stats:
542
+ min:
543
+ - 0
544
+ - 0
545
+ - 0
546
+ max:
547
+ - 1
548
+ - 1
549
+ - 1
550
+ meters_per_waypoint: 1.0
551
+ max_frame_offset: 10.0
552
+ len_traj_pred: ${len_traj_pred}
553
+ planner_mu_init:
554
+ - -0.1
555
+ - 0
556
+ - 0
557
+ - 0
558
+ - 0
559
+ planner_sigma_init:
560
+ - 0.02
561
+ - 0.1
562
+ - 0
563
+ - 0
564
+ - 0.3142
565
+ pose_fields:
566
+ - x
567
+ - 'y'
568
+ - z
569
+ - pitch
570
+ - yaw
571
+ pose_dim: 5
572
+ pos_dim: 3
573
+ angle_dim: 2
574
+ pose_mode: 3d
575
+ fps: 10.0
576
+ shared:
577
+ manifest_path: results/manifests/ai2thor_v2/ai2thor_v2_latent.json
578
+ backend:
579
+ _target_: far.data.backends.THORBackend
580
+ key_suffix: null
581
+ mask_suffix: null
582
+ transform: null
583
+ sampler:
584
+ random_clip:
585
+ _target_: far.data.samplers.RandomClipSampler
586
+ clip_len: 16
587
+ frame_stride: 5
588
+ context_goal:
589
+ _target_: far.data.samplers.ContextGoalSampler
590
+ context_pool_size: 200
591
+ len_traj_pred: ${len_traj_pred}
592
+ goals_per_obs: ${goals_per_obs}
593
+ event_bias_p: 0.0
594
+ event_phase: eval
595
+ event_codes: null
596
+ event_pre:
597
+ - -3
598
+ - 5
599
+ event_post:
600
+ - 0
601
+ - 8
602
+ event_goal_anchor: start
603
+ pool_phase: pre_eval
604
+ context_goal_test:
605
+ _target_: far.data.samplers.ContextGoalSampler
606
+ context_pool_size: 200
607
+ len_traj_pred: ${len_traj_pred}
608
+ goals_per_obs: 4
609
+ pool_phase: pre_eval
610
+ context_traj:
611
+ _target_: far.data.samplers.ContextTrajectorySampler
612
+ context_pool_size: 200
613
+ len_traj_pred: ${len_traj_pred}
614
+ pool_phase: pre_eval
615
+ formatter:
616
+ frame:
617
+ _target_: far.data.formatters.FrameFormatter
618
+ context_pose:
619
+ _target_: far.data.formatters.ContextPoseFormatter
620
+ spec: ${ai2thor_v2_latent.spec}
621
+ train:
622
+ _target_: far.data.datasets.FormattedVideoDataset
623
+ formatter: ${ai2thor_v2_latent.formatter.context_pose}
624
+ base_dataset:
625
+ _target_: far.data.datasets.VideoDataset
626
+ manifest_path: ${ai2thor_v2_latent.shared.manifest_path}
627
+ index_path: results/indices/ai2thor_v2/ai2thor_v2_latent_train.json
628
+ backend: ${ai2thor_v2_latent.shared.backend}
629
+ sampler: ${ai2thor_v2_latent.sampler.context_goal}
630
+ transform: ${ai2thor_v2_latent.shared.transform}
631
+ event_index_path: results/indices/ai2thor_v2/ai2thor_v2_latent_train_events.json
632
+ event_frac: null
633
+ test:
634
+ _target_: far.data.datasets.FormattedVideoDataset
635
+ formatter: ${ai2thor_v2_latent.formatter.context_pose}
636
+ base_dataset:
637
+ _target_: far.data.datasets.VideoDataset
638
+ manifest_path: ${ai2thor_v2_latent.shared.manifest_path}
639
+ index_path: results/indices/ai2thor_v2/ai2thor_v2_latent_test.json
640
+ backend: ${ai2thor_v2_latent.shared.backend}
641
+ sampler: ${ai2thor_v2_latent.sampler.context_goal_test}
642
+ transform: ${ai2thor_v2_latent.shared.transform}
643
+ ai2thor_v3_latent:
644
+ spec:
645
+ _target_: far.builders.data.build_dataspec
646
+ local_pos_stats:
647
+ min:
648
+ - 0
649
+ - 0
650
+ - 0
651
+ max:
652
+ - 1
653
+ - 1
654
+ - 1
655
+ meters_per_waypoint: 1.0
656
+ max_frame_offset: 10.0
657
+ len_traj_pred: ${len_traj_pred}
658
+ planner_mu_init:
659
+ - -0.1
660
+ - 0
661
+ - 0
662
+ - 0
663
+ - 0
664
+ planner_sigma_init:
665
+ - 0.02
666
+ - 0.1
667
+ - 0
668
+ - 0
669
+ - 0.3142
670
+ pose_fields:
671
+ - x
672
+ - 'y'
673
+ - z
674
+ - pitch
675
+ - yaw
676
+ pose_dim: 5
677
+ pos_dim: 3
678
+ angle_dim: 2
679
+ pose_mode: 3d
680
+ fps: 10.0
681
+ shared:
682
+ manifest_path: ${oc.env:FAR_RESULT_ROOT}/manifests/ai2thor_v3/ai2thor_v3_latent.json
683
+ backend:
684
+ _target_: far.data.backends.THORBackend
685
+ key_suffix: null
686
+ mask_suffix: .change_interact.npy
687
+ transform: null
688
+ sampler:
689
+ random_clip:
690
+ _target_: far.data.samplers.RandomClipSampler
691
+ clip_len: 16
692
+ frame_stride: 5
693
+ context_goal:
694
+ _target_: far.data.samplers.ContextGoalSampler
695
+ context_pool_size: 400
696
+ len_traj_pred: ${len_traj_pred}
697
+ goals_per_obs: ${goals_per_obs}
698
+ event_bias_p: 0.0
699
+ event_phase: eval
700
+ event_codes: null
701
+ event_pre:
702
+ - -5
703
+ - 5
704
+ event_post:
705
+ - 0
706
+ - 14
707
+ event_goal_anchor: start
708
+ pool_phase: pre_eval
709
+ context_goal_test:
710
+ _target_: far.data.samplers.ContextGoalSampler
711
+ context_pool_size: 400
712
+ len_traj_pred: ${len_traj_pred}
713
+ goals_per_obs: 4
714
+ pool_phase: pre_eval
715
+ context_traj:
716
+ _target_: far.data.samplers.ContextTrajectorySampler
717
+ context_pool_size: 200
718
+ len_traj_pred: ${len_traj_pred}
719
+ pool_phase: pre_eval
720
+ formatter:
721
+ frame:
722
+ _target_: far.data.formatters.FrameFormatter
723
+ context_pose:
724
+ _target_: far.data.formatters.ContextPoseFormatter
725
+ spec: ${ai2thor_v3_latent.spec}
726
+ train:
727
+ _target_: far.data.datasets.FormattedVideoDataset
728
+ formatter: ${ai2thor_v3_latent.formatter.context_pose}
729
+ base_dataset:
730
+ _target_: far.data.datasets.VideoDataset
731
+ manifest_path: ${ai2thor_v3_latent.shared.manifest_path}
732
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/ai2thor_v3/ai2thor_v3_latent_train.json
733
+ backend: ${ai2thor_v3_latent.shared.backend}
734
+ sampler: ${ai2thor_v3_latent.sampler.context_goal}
735
+ transform: ${ai2thor_v3_latent.shared.transform}
736
+ event_index_path: ${oc.env:FAR_RESULT_ROOT}/indices/ai2thor_v3/ai2thor_v3_latent_train_events.json
737
+ event_frac: 0.3
738
+ test:
739
+ _target_: far.data.datasets.FormattedVideoDataset
740
+ formatter: ${ai2thor_v3_latent.formatter.context_pose}
741
+ base_dataset:
742
+ _target_: far.data.datasets.VideoDataset
743
+ manifest_path: ${ai2thor_v3_latent.shared.manifest_path}
744
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/ai2thor_v3/ai2thor_v3_latent_test.json
745
+ backend: ${ai2thor_v3_latent.shared.backend}
746
+ sampler: ${ai2thor_v3_latent.sampler.context_goal_test}
747
+ transform: ${ai2thor_v3_latent.shared.transform}
748
+ model:
749
+ tokenizer:
750
+ _target_: far.tokenizers.sd_vae.SD_VAE
751
+ image_height: ${image_height}
752
+ image_width: ${image_width}
753
+ vae_scale: 0.13025
754
+ ckpt_path: models/sdxl-vae-fp16-fix
755
+ generator:
756
+ _target_: far.generators.cdit_mod_pose_fa.CDiT
757
+ depth: 12
758
+ hidden_size: 768
759
+ patch_size: 2
760
+ num_heads: 12
761
+ context_size: 4
762
+ ckpt_path: null
763
+ action_dim: ${action_dim}
764
+ pose_dim: ${pose_dim}
765
+ fov_half_h: 45.0
766
+ fov_half_v: 45.0
767
+ local_pos_stats: ${ai2thor_v3_latent.spec.local_pos_stats}
768
+ stride_to_seconds: 1.0
769
+ interact_dim: 5
770
+ memory:
771
+ _target_: far.memories.baselines.TemporalRetrieval
772
+ interval: 1.0
773
+ _target_: far.builders.models.build_ldwm
774
+ _recursive_: false
775
+ condition_on_context_time: true
776
+ condition_on_context_pose: true
777
+ retriever_loss_weight: 1.0
778
+ mask_loss_lambda: 0.3
779
+ mask_max_frac: 0.15
780
+ rag_mask_loss_lambda: null
781
+ diffusion:
782
+ _target_: far.generators.diffusion.create_diffusion
783
+ timestep_respacing: null
784
+ noise_schedule: linear
785
+ diffusion_steps: 1000
786
+ learn_sigma: true
787
+ predict_xstart: false
788
+ sigma_small: false
789
+ use_kl: false
790
+ rescale_learned_sigmas: false
791
+ wandb:
792
+ project: PMem-THOR
793
+ name: null
794
+ entity: null
795
+ mode: online
796
+ group: ai2thor_v3_latent
797
+ tags:
798
+ - ai2thor_v3_latent
799
+ run_name: thor3_cdit_b_temporal_posefa_contin2
800
+ context_size: 4
801
+ action_dim: 5
802
+ pose_dim: 5
803
+ image_height: 256
804
+ image_width: 256
805
+ len_traj_pred: 32
806
+ goals_per_obs: 4
807
+ lr: 0.0001
808
+ lr_mem: null
809
+ weight_decay: 0.0
810
+ grad_clip_val: 1.0
811
+ iterations: 5000000
812
+ warmup_steps: 5000
813
+ from_checkpoint: null
814
+ global_seed: 0
815
+ log_every: 100
816
+ ckpt_every: 100000
817
+ latest_every: 2500
818
+ eval_every: 2500
819
+ rag_every: 0
820
+ rag_noise_levels: 4
821
+ rag_mode: diffusion
822
+ rag_ddim_steps: 8
823
+ rag_mse_weight: 1.0
824
+ local_rag: false
825
+ local_rag_weight: 1.0
826
+ bfloat16: false
827
+ torch_compile: true
828
+ batch_size: 16
829
+ eval_batch_size: 32
830
+ num_workers: 12
831
+ datasets:
832
+ - ai2thor_v3_latent
ai2thor_v3/worldmem/checkpoints/0700000.pth.tar ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d946f4ef956ed2eb34921c0ba26129960852a9ab0c3212c03a0f4fb5e1b09fdc
3
+ size 526958337
ai2thor_v3/worldmem/config.yaml ADDED
@@ -0,0 +1,837 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ recon:
2
+ spec:
3
+ _target_: far.builders.data.build_dataspec
4
+ local_pos_stats:
5
+ min:
6
+ - -2.5
7
+ - -4
8
+ max:
9
+ - 5
10
+ - 4
11
+ meters_per_waypoint: 0.25
12
+ max_frame_offset: 128
13
+ len_traj_pred: ${len_traj_pred}
14
+ planner_mu_init:
15
+ - -0.1
16
+ - 0
17
+ - 0
18
+ planner_sigma_init:
19
+ - 0.02
20
+ - 0.1
21
+ - 0.3142
22
+ pose_fields:
23
+ - x
24
+ - 'y'
25
+ - z
26
+ - pitch
27
+ - yaw
28
+ pose_dim: 5
29
+ pos_dim: 2
30
+ angle_dim: 1
31
+ pose_mode: 2d
32
+ fps: 4.0
33
+ shared:
34
+ manifest_path: results/manifests/recon/recon_split.json
35
+ backend:
36
+ _target_: far.data.backends.NavigationBackend
37
+ transform:
38
+ _target_: far.data.transforms.make_centercrop_resize
39
+ image_height: ${image_height}
40
+ image_width: ${image_width}
41
+ sampler:
42
+ context_goal:
43
+ _target_: far.data.samplers.ContextGoalSampler
44
+ context_pool_size: 12
45
+ len_traj_pred: ${len_traj_pred}
46
+ goals_per_obs: ${goals_per_obs}
47
+ context_traj:
48
+ _target_: far.data.samplers.ContextTrajectorySampler
49
+ context_pool_size: 12
50
+ len_traj_pred: ${len_traj_pred}
51
+ formatter:
52
+ context_pose:
53
+ _target_: far.data.formatters.ContextPoseFormatter2D
54
+ spec: ${recon.spec}
55
+ train:
56
+ _target_: far.data.datasets.FormattedVideoDataset
57
+ formatter: ${recon.formatter.context_pose}
58
+ base_dataset:
59
+ _target_: far.data.datasets.VideoDataset
60
+ manifest_path: ${recon.shared.manifest_path}
61
+ index_path: results/indices/recon/recon_train.json
62
+ backend: ${recon.shared.backend}
63
+ sampler: ${recon.sampler.context_goal}
64
+ transform: ${recon.shared.transform}
65
+ test:
66
+ _target_: far.data.datasets.FormattedVideoDataset
67
+ formatter: ${recon.formatter.context_pose}
68
+ base_dataset:
69
+ _target_: far.data.datasets.VideoDataset
70
+ manifest_path: ${recon.shared.manifest_path}
71
+ index_path: results/indices/recon/recon_test.json
72
+ backend: ${recon.shared.backend}
73
+ sampler: ${recon.sampler.context_goal}
74
+ transform: ${recon.shared.transform}
75
+ eval:
76
+ _target_: far.data.datasets.FormattedVideoDataset
77
+ formatter: ${recon.formatter.context_pose}
78
+ base_dataset:
79
+ _target_: far.data.datasets.VideoDataset
80
+ manifest_path: ${recon.shared.manifest_path}
81
+ index_path: results/indices/recon/recon_test_time.json
82
+ backend: ${recon.shared.backend}
83
+ sampler: ${recon.sampler.context_traj}
84
+ transform: ${recon.shared.transform}
85
+ eval_traj:
86
+ _target_: far.data.datasets.FormattedVideoDataset
87
+ formatter: ${recon.formatter.context_pose}
88
+ base_dataset:
89
+ _target_: far.data.datasets.VideoDataset
90
+ manifest_path: ${recon.shared.manifest_path}
91
+ index_path: results/indices/recon/recon_test_plan.json
92
+ backend: ${recon.shared.backend}
93
+ sampler: ${recon.sampler.context_traj}
94
+ transform: ${recon.shared.transform}
95
+ loopnav:
96
+ spec:
97
+ _target_: far.builders.data.build_dataspec
98
+ local_pos_stats:
99
+ min:
100
+ - -2.5
101
+ - -4
102
+ - 0
103
+ max:
104
+ - 5
105
+ - 4
106
+ - 1
107
+ meters_per_waypoint: 0.25
108
+ max_frame_offset: 128
109
+ len_traj_pred: ${len_traj_pred}
110
+ planner_mu_init:
111
+ - -0.1
112
+ - 0
113
+ - 0
114
+ - 0
115
+ - 0
116
+ planner_sigma_init:
117
+ - 0.02
118
+ - 0.1
119
+ - 0
120
+ - 0
121
+ - 0.3142
122
+ pose_fields:
123
+ - x
124
+ - 'y'
125
+ - z
126
+ - pitch
127
+ - yaw
128
+ pose_dim: 5
129
+ pos_dim: 3
130
+ angle_dim: 2
131
+ pose_mode: 3d
132
+ fps: 20.0
133
+ shared:
134
+ manifest_path: results/manifests/loopnav/loopnav_split.json
135
+ backend:
136
+ _target_: far.data.backends.LoopNavBackend
137
+ standard_frame: false
138
+ transform:
139
+ _target_: far.data.transforms.make_resize
140
+ image_height: ${image_height}
141
+ image_width: ${image_width}
142
+ sampler:
143
+ random_clip:
144
+ _target_: far.data.samplers.RandomClipSampler
145
+ clip_len: 16
146
+ frame_stride: 10
147
+ context_goal:
148
+ _target_: far.data.samplers.ContextGoalSampler
149
+ context_pool_size: 100
150
+ len_traj_pred: ${len_traj_pred}
151
+ goals_per_obs: ${goals_per_obs}
152
+ context_traj:
153
+ _target_: far.data.samplers.ContextTrajectorySampler
154
+ context_pool_size: 100
155
+ len_traj_pred: ${len_traj_pred}
156
+ formatter:
157
+ frame:
158
+ _target_: far.data.formatters.FrameFormatter
159
+ context_pose:
160
+ _target_: far.data.formatters.ContextPoseFormatter
161
+ spec: ${loopnav.spec}
162
+ train_tokenizer:
163
+ _target_: far.data.datasets.FormattedIterableDataset
164
+ formatter: ${loopnav.formatter.frame}
165
+ base_dataset:
166
+ _target_: far.data.datasets.WebVideoIterableDataset
167
+ manifest_path: results/manifests/loopnav/loopnav.json
168
+ index_path: results/indices/loopnav/loopnav_train_ABCA.json
169
+ backend:
170
+ _target_: far.data.backends.WebDatasetBackend
171
+ sampler: ${loopnav.sampler.random_clip}
172
+ transform: ${loopnav.shared.transform}
173
+ cache_dir: null
174
+ cache_size: 100
175
+ shuffle_shards: 32
176
+ shuffle_samples: 100
177
+ loopnav_latent:
178
+ spec:
179
+ _target_: far.builders.data.build_dataspec
180
+ local_pos_stats:
181
+ min:
182
+ - 0
183
+ - 0
184
+ - 0
185
+ max:
186
+ - 1
187
+ - 1
188
+ - 1
189
+ meters_per_waypoint: 1.0
190
+ max_frame_offset: 20.0
191
+ len_traj_pred: ${len_traj_pred}
192
+ planner_mu_init:
193
+ - -0.1
194
+ - 0
195
+ - 0
196
+ - 0
197
+ - 0
198
+ planner_sigma_init:
199
+ - 0.02
200
+ - 0.1
201
+ - 0
202
+ - 0
203
+ - 0.3142
204
+ pose_fields:
205
+ - x
206
+ - 'y'
207
+ - z
208
+ - pitch
209
+ - yaw
210
+ pose_dim: 5
211
+ pos_dim: 3
212
+ angle_dim: 2
213
+ pose_mode: 3d
214
+ fps: 20.0
215
+ shared:
216
+ manifest_path: ${oc.env:FAR_RESULT_ROOT}/manifests/loopnav/loopnav_latent.json
217
+ backend:
218
+ _target_: far.data.backends.LatentLoopNavBackend
219
+ key_suffix: .keys.npy
220
+ standard_frame: false
221
+ transform: null
222
+ sampler:
223
+ random_clip:
224
+ _target_: far.data.samplers.RandomClipSampler
225
+ clip_len: 16
226
+ frame_stride: 10
227
+ context_goal:
228
+ _target_: far.data.samplers.ContextGoalSampler
229
+ context_pool_size: 200
230
+ len_traj_pred: ${len_traj_pred}
231
+ goals_per_obs: ${goals_per_obs}
232
+ context_goal_test:
233
+ _target_: far.data.samplers.ContextGoalSampler
234
+ context_pool_size: 200
235
+ len_traj_pred: ${len_traj_pred}
236
+ goals_per_obs: 4
237
+ context_traj:
238
+ _target_: far.data.samplers.ContextTrajectorySampler
239
+ context_pool_size: 200
240
+ len_traj_pred: ${len_traj_pred}
241
+ formatter:
242
+ frame:
243
+ _target_: far.data.formatters.FrameFormatter
244
+ context_pose:
245
+ _target_: far.data.formatters.ContextPoseFormatter
246
+ spec: ${loopnav_latent.spec}
247
+ train:
248
+ _target_: far.data.datasets.FormattedVideoDataset
249
+ formatter: ${loopnav_latent.formatter.context_pose}
250
+ base_dataset:
251
+ _target_: far.data.datasets.VideoDataset
252
+ manifest_path: ${loopnav_latent.shared.manifest_path}
253
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/loopnav/loopnav_latent_train.json
254
+ backend: ${loopnav_latent.shared.backend}
255
+ sampler: ${loopnav_latent.sampler.context_goal}
256
+ transform: ${loopnav_latent.shared.transform}
257
+ test:
258
+ _target_: far.data.datasets.FormattedVideoDataset
259
+ formatter: ${loopnav_latent.formatter.context_pose}
260
+ base_dataset:
261
+ _target_: far.data.datasets.VideoDataset
262
+ manifest_path: ${loopnav_latent.shared.manifest_path}
263
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/loopnav/loopnav_latent_test.json
264
+ backend: ${loopnav_latent.shared.backend}
265
+ sampler: ${loopnav_latent.sampler.context_goal_test}
266
+ transform: ${loopnav_latent.shared.transform}
267
+ soundspaces_latent:
268
+ spec:
269
+ _target_: far.builders.data.build_dataspec
270
+ local_pos_stats:
271
+ min:
272
+ - 0
273
+ - 0
274
+ - 0
275
+ max:
276
+ - 1
277
+ - 1
278
+ - 1
279
+ meters_per_waypoint: 1.0
280
+ max_frame_offset: 10.0
281
+ len_traj_pred: ${len_traj_pred}
282
+ planner_mu_init:
283
+ - -0.1
284
+ - 0
285
+ - 0
286
+ - 0
287
+ - 0
288
+ planner_sigma_init:
289
+ - 0.02
290
+ - 0.1
291
+ - 0
292
+ - 0
293
+ - 0.3142
294
+ pose_fields:
295
+ - x
296
+ - 'y'
297
+ - z
298
+ - pitch
299
+ - yaw
300
+ pose_dim: 5
301
+ pos_dim: 3
302
+ angle_dim: 2
303
+ pose_mode: 3d
304
+ fps: 10.0
305
+ shared:
306
+ manifest_path: ${oc.env:FAR_RESULT_ROOT}/manifests/soundspaces/soundspaces_latent.json
307
+ backend:
308
+ _target_: far.data.backends.SoundSpacesBackend
309
+ key_suffix: null
310
+ audio_mode: null
311
+ audio_window_hops: 48
312
+ transform: null
313
+ sampler:
314
+ random_clip:
315
+ _target_: far.data.samplers.RandomClipSampler
316
+ clip_len: 16
317
+ frame_stride: 5
318
+ context_goal:
319
+ _target_: far.data.samplers.ContextGoalSampler
320
+ context_pool_size: 200
321
+ len_traj_pred: ${len_traj_pred}
322
+ goals_per_obs: ${goals_per_obs}
323
+ context_goal_test:
324
+ _target_: far.data.samplers.ContextGoalSampler
325
+ context_pool_size: 200
326
+ len_traj_pred: ${len_traj_pred}
327
+ goals_per_obs: 4
328
+ context_traj:
329
+ _target_: far.data.samplers.ContextTrajectorySampler
330
+ context_pool_size: 200
331
+ len_traj_pred: ${len_traj_pred}
332
+ formatter:
333
+ frame:
334
+ _target_: far.data.formatters.FrameFormatter
335
+ context_pose:
336
+ _target_: far.data.formatters.ContextPoseFormatter
337
+ spec: ${soundspaces_latent.spec}
338
+ train:
339
+ _target_: far.data.datasets.FormattedVideoDataset
340
+ formatter: ${soundspaces_latent.formatter.context_pose}
341
+ base_dataset:
342
+ _target_: far.data.datasets.VideoDataset
343
+ manifest_path: ${soundspaces_latent.shared.manifest_path}
344
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/soundspaces/soundspaces_latent_train.json
345
+ backend: ${soundspaces_latent.shared.backend}
346
+ sampler: ${soundspaces_latent.sampler.context_goal}
347
+ transform: ${soundspaces_latent.shared.transform}
348
+ test:
349
+ _target_: far.data.datasets.FormattedVideoDataset
350
+ formatter: ${soundspaces_latent.formatter.context_pose}
351
+ base_dataset:
352
+ _target_: far.data.datasets.VideoDataset
353
+ manifest_path: ${soundspaces_latent.shared.manifest_path}
354
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/soundspaces/soundspaces_latent_test.json
355
+ backend: ${soundspaces_latent.shared.backend}
356
+ sampler: ${soundspaces_latent.sampler.context_goal_test}
357
+ transform: ${soundspaces_latent.shared.transform}
358
+ soundspaces_v2_latent:
359
+ spec:
360
+ _target_: far.builders.data.build_dataspec
361
+ local_pos_stats:
362
+ min:
363
+ - 0
364
+ - 0
365
+ - 0
366
+ max:
367
+ - 1
368
+ - 1
369
+ - 1
370
+ meters_per_waypoint: 1.0
371
+ max_frame_offset: 10.0
372
+ len_traj_pred: ${len_traj_pred}
373
+ planner_mu_init:
374
+ - -0.1
375
+ - 0
376
+ - 0
377
+ - 0
378
+ - 0
379
+ planner_sigma_init:
380
+ - 0.02
381
+ - 0.1
382
+ - 0
383
+ - 0
384
+ - 0.3142
385
+ pose_fields:
386
+ - x
387
+ - 'y'
388
+ - z
389
+ - pitch
390
+ - yaw
391
+ pose_dim: 5
392
+ pos_dim: 3
393
+ angle_dim: 2
394
+ pose_mode: 3d
395
+ fps: 10.0
396
+ shared:
397
+ manifest_path: ${oc.env:FAR_RESULT_ROOT}/manifests/soundspaces_v2/soundspaces_v2_latent.json
398
+ backend:
399
+ _target_: far.data.backends.SoundSpacesBackend
400
+ key_suffix: null
401
+ audio_mode: null
402
+ audio_window_hops: 48
403
+ transform: null
404
+ sampler:
405
+ random_clip:
406
+ _target_: far.data.samplers.RandomClipSampler
407
+ clip_len: 16
408
+ frame_stride: 5
409
+ context_goal:
410
+ _target_: far.data.samplers.ContextGoalSampler
411
+ context_pool_size: 200
412
+ len_traj_pred: ${len_traj_pred}
413
+ goals_per_obs: ${goals_per_obs}
414
+ context_goal_test:
415
+ _target_: far.data.samplers.ContextGoalSampler
416
+ context_pool_size: 200
417
+ len_traj_pred: ${len_traj_pred}
418
+ goals_per_obs: 4
419
+ context_traj:
420
+ _target_: far.data.samplers.ContextTrajectorySampler
421
+ context_pool_size: 200
422
+ len_traj_pred: ${len_traj_pred}
423
+ formatter:
424
+ frame:
425
+ _target_: far.data.formatters.FrameFormatter
426
+ context_pose:
427
+ _target_: far.data.formatters.ContextPoseFormatter
428
+ spec: ${soundspaces_v2_latent.spec}
429
+ train:
430
+ _target_: far.data.datasets.FormattedVideoDataset
431
+ formatter: ${soundspaces_v2_latent.formatter.context_pose}
432
+ base_dataset:
433
+ _target_: far.data.datasets.VideoDataset
434
+ manifest_path: ${soundspaces_v2_latent.shared.manifest_path}
435
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/soundspaces_v2/soundspaces_v2_latent_train.json
436
+ backend: ${soundspaces_v2_latent.shared.backend}
437
+ sampler: ${soundspaces_v2_latent.sampler.context_goal}
438
+ transform: ${soundspaces_v2_latent.shared.transform}
439
+ test:
440
+ _target_: far.data.datasets.FormattedVideoDataset
441
+ formatter: ${soundspaces_v2_latent.formatter.context_pose}
442
+ base_dataset:
443
+ _target_: far.data.datasets.VideoDataset
444
+ manifest_path: ${soundspaces_v2_latent.shared.manifest_path}
445
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/soundspaces_v2/soundspaces_v2_latent_test.json
446
+ backend: ${soundspaces_v2_latent.shared.backend}
447
+ sampler: ${soundspaces_v2_latent.sampler.context_goal_test}
448
+ transform: ${soundspaces_v2_latent.shared.transform}
449
+ ai2thor_latent:
450
+ spec:
451
+ _target_: far.builders.data.build_dataspec
452
+ local_pos_stats:
453
+ min:
454
+ - 0
455
+ - 0
456
+ - 0
457
+ max:
458
+ - 1
459
+ - 1
460
+ - 1
461
+ meters_per_waypoint: 1.0
462
+ max_frame_offset: 10.0
463
+ len_traj_pred: ${len_traj_pred}
464
+ planner_mu_init:
465
+ - -0.1
466
+ - 0
467
+ - 0
468
+ - 0
469
+ - 0
470
+ planner_sigma_init:
471
+ - 0.02
472
+ - 0.1
473
+ - 0
474
+ - 0
475
+ - 0.3142
476
+ pose_fields:
477
+ - x
478
+ - 'y'
479
+ - z
480
+ - pitch
481
+ - yaw
482
+ pose_dim: 5
483
+ pos_dim: 3
484
+ angle_dim: 2
485
+ pose_mode: 3d
486
+ fps: 10.0
487
+ shared:
488
+ manifest_path: ${oc.env:FAR_RESULT_ROOT}/manifests/ai2thor/ai2thor_latent.json
489
+ backend:
490
+ _target_: far.data.backends.THORBackend
491
+ key_suffix: null
492
+ transform: null
493
+ sampler:
494
+ random_clip:
495
+ _target_: far.data.samplers.RandomClipSampler
496
+ clip_len: 16
497
+ frame_stride: 5
498
+ context_goal:
499
+ _target_: far.data.samplers.ContextGoalSampler
500
+ context_pool_size: 200
501
+ len_traj_pred: ${len_traj_pred}
502
+ goals_per_obs: ${goals_per_obs}
503
+ context_goal_test:
504
+ _target_: far.data.samplers.ContextGoalSampler
505
+ context_pool_size: 200
506
+ len_traj_pred: ${len_traj_pred}
507
+ goals_per_obs: 4
508
+ context_traj:
509
+ _target_: far.data.samplers.ContextTrajectorySampler
510
+ context_pool_size: 200
511
+ len_traj_pred: ${len_traj_pred}
512
+ formatter:
513
+ frame:
514
+ _target_: far.data.formatters.FrameFormatter
515
+ context_pose:
516
+ _target_: far.data.formatters.ContextPoseFormatter
517
+ spec: ${ai2thor_latent.spec}
518
+ train:
519
+ _target_: far.data.datasets.FormattedVideoDataset
520
+ formatter: ${ai2thor_latent.formatter.context_pose}
521
+ base_dataset:
522
+ _target_: far.data.datasets.VideoDataset
523
+ manifest_path: ${ai2thor_latent.shared.manifest_path}
524
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/ai2thor/ai2thor_latent_train.json
525
+ backend: ${ai2thor_latent.shared.backend}
526
+ sampler: ${ai2thor_latent.sampler.context_goal}
527
+ transform: ${ai2thor_latent.shared.transform}
528
+ test:
529
+ _target_: far.data.datasets.FormattedVideoDataset
530
+ formatter: ${ai2thor_latent.formatter.context_pose}
531
+ base_dataset:
532
+ _target_: far.data.datasets.VideoDataset
533
+ manifest_path: ${ai2thor_latent.shared.manifest_path}
534
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/ai2thor/ai2thor_latent_test.json
535
+ backend: ${ai2thor_latent.shared.backend}
536
+ sampler: ${ai2thor_latent.sampler.context_goal_test}
537
+ transform: ${ai2thor_latent.shared.transform}
538
+ ai2thor_v2_latent:
539
+ spec:
540
+ _target_: far.builders.data.build_dataspec
541
+ local_pos_stats:
542
+ min:
543
+ - 0
544
+ - 0
545
+ - 0
546
+ max:
547
+ - 1
548
+ - 1
549
+ - 1
550
+ meters_per_waypoint: 1.0
551
+ max_frame_offset: 10.0
552
+ len_traj_pred: ${len_traj_pred}
553
+ planner_mu_init:
554
+ - -0.1
555
+ - 0
556
+ - 0
557
+ - 0
558
+ - 0
559
+ planner_sigma_init:
560
+ - 0.02
561
+ - 0.1
562
+ - 0
563
+ - 0
564
+ - 0.3142
565
+ pose_fields:
566
+ - x
567
+ - 'y'
568
+ - z
569
+ - pitch
570
+ - yaw
571
+ pose_dim: 5
572
+ pos_dim: 3
573
+ angle_dim: 2
574
+ pose_mode: 3d
575
+ fps: 10.0
576
+ shared:
577
+ manifest_path: results/manifests/ai2thor_v2/ai2thor_v2_latent.json
578
+ backend:
579
+ _target_: far.data.backends.THORBackend
580
+ key_suffix: null
581
+ mask_suffix: null
582
+ transform: null
583
+ sampler:
584
+ random_clip:
585
+ _target_: far.data.samplers.RandomClipSampler
586
+ clip_len: 16
587
+ frame_stride: 5
588
+ context_goal:
589
+ _target_: far.data.samplers.ContextGoalSampler
590
+ context_pool_size: 200
591
+ len_traj_pred: ${len_traj_pred}
592
+ goals_per_obs: ${goals_per_obs}
593
+ event_bias_p: 0.0
594
+ event_phase: eval
595
+ event_codes: null
596
+ event_pre:
597
+ - -3
598
+ - 5
599
+ event_post:
600
+ - 0
601
+ - 8
602
+ event_goal_anchor: start
603
+ pool_phase: pre_eval
604
+ context_goal_test:
605
+ _target_: far.data.samplers.ContextGoalSampler
606
+ context_pool_size: 200
607
+ len_traj_pred: ${len_traj_pred}
608
+ goals_per_obs: 4
609
+ pool_phase: pre_eval
610
+ context_traj:
611
+ _target_: far.data.samplers.ContextTrajectorySampler
612
+ context_pool_size: 200
613
+ len_traj_pred: ${len_traj_pred}
614
+ pool_phase: pre_eval
615
+ formatter:
616
+ frame:
617
+ _target_: far.data.formatters.FrameFormatter
618
+ context_pose:
619
+ _target_: far.data.formatters.ContextPoseFormatter
620
+ spec: ${ai2thor_v2_latent.spec}
621
+ train:
622
+ _target_: far.data.datasets.FormattedVideoDataset
623
+ formatter: ${ai2thor_v2_latent.formatter.context_pose}
624
+ base_dataset:
625
+ _target_: far.data.datasets.VideoDataset
626
+ manifest_path: ${ai2thor_v2_latent.shared.manifest_path}
627
+ index_path: results/indices/ai2thor_v2/ai2thor_v2_latent_train.json
628
+ backend: ${ai2thor_v2_latent.shared.backend}
629
+ sampler: ${ai2thor_v2_latent.sampler.context_goal}
630
+ transform: ${ai2thor_v2_latent.shared.transform}
631
+ event_index_path: results/indices/ai2thor_v2/ai2thor_v2_latent_train_events.json
632
+ event_frac: null
633
+ test:
634
+ _target_: far.data.datasets.FormattedVideoDataset
635
+ formatter: ${ai2thor_v2_latent.formatter.context_pose}
636
+ base_dataset:
637
+ _target_: far.data.datasets.VideoDataset
638
+ manifest_path: ${ai2thor_v2_latent.shared.manifest_path}
639
+ index_path: results/indices/ai2thor_v2/ai2thor_v2_latent_test.json
640
+ backend: ${ai2thor_v2_latent.shared.backend}
641
+ sampler: ${ai2thor_v2_latent.sampler.context_goal_test}
642
+ transform: ${ai2thor_v2_latent.shared.transform}
643
+ ai2thor_v3_latent:
644
+ spec:
645
+ _target_: far.builders.data.build_dataspec
646
+ local_pos_stats:
647
+ min:
648
+ - 0
649
+ - 0
650
+ - 0
651
+ max:
652
+ - 1
653
+ - 1
654
+ - 1
655
+ meters_per_waypoint: 1.0
656
+ max_frame_offset: 10.0
657
+ len_traj_pred: ${len_traj_pred}
658
+ planner_mu_init:
659
+ - -0.1
660
+ - 0
661
+ - 0
662
+ - 0
663
+ - 0
664
+ planner_sigma_init:
665
+ - 0.02
666
+ - 0.1
667
+ - 0
668
+ - 0
669
+ - 0.3142
670
+ pose_fields:
671
+ - x
672
+ - 'y'
673
+ - z
674
+ - pitch
675
+ - yaw
676
+ pose_dim: 5
677
+ pos_dim: 3
678
+ angle_dim: 2
679
+ pose_mode: 3d
680
+ fps: 10.0
681
+ shared:
682
+ manifest_path: ${oc.env:FAR_RESULT_ROOT}/manifests/ai2thor_v3/ai2thor_v3_latent.json
683
+ backend:
684
+ _target_: far.data.backends.THORBackend
685
+ key_suffix: null
686
+ mask_suffix: .change_interact.npy
687
+ transform: null
688
+ sampler:
689
+ random_clip:
690
+ _target_: far.data.samplers.RandomClipSampler
691
+ clip_len: 16
692
+ frame_stride: 5
693
+ context_goal:
694
+ _target_: far.data.samplers.ContextGoalSampler
695
+ context_pool_size: 400
696
+ len_traj_pred: ${len_traj_pred}
697
+ goals_per_obs: ${goals_per_obs}
698
+ event_bias_p: 0.0
699
+ event_phase: eval
700
+ event_codes: null
701
+ event_pre:
702
+ - -5
703
+ - 5
704
+ event_post:
705
+ - 0
706
+ - 14
707
+ event_goal_anchor: start
708
+ pool_phase: pre_eval
709
+ context_goal_test:
710
+ _target_: far.data.samplers.ContextGoalSampler
711
+ context_pool_size: 400
712
+ len_traj_pred: ${len_traj_pred}
713
+ goals_per_obs: 4
714
+ pool_phase: pre_eval
715
+ context_traj:
716
+ _target_: far.data.samplers.ContextTrajectorySampler
717
+ context_pool_size: 200
718
+ len_traj_pred: ${len_traj_pred}
719
+ pool_phase: pre_eval
720
+ formatter:
721
+ frame:
722
+ _target_: far.data.formatters.FrameFormatter
723
+ context_pose:
724
+ _target_: far.data.formatters.ContextPoseFormatter
725
+ spec: ${ai2thor_v3_latent.spec}
726
+ train:
727
+ _target_: far.data.datasets.FormattedVideoDataset
728
+ formatter: ${ai2thor_v3_latent.formatter.context_pose}
729
+ base_dataset:
730
+ _target_: far.data.datasets.VideoDataset
731
+ manifest_path: ${ai2thor_v3_latent.shared.manifest_path}
732
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/ai2thor_v3/ai2thor_v3_latent_train.json
733
+ backend: ${ai2thor_v3_latent.shared.backend}
734
+ sampler: ${ai2thor_v3_latent.sampler.context_goal}
735
+ transform: ${ai2thor_v3_latent.shared.transform}
736
+ event_index_path: ${oc.env:FAR_RESULT_ROOT}/indices/ai2thor_v3/ai2thor_v3_latent_train_events.json
737
+ event_frac: 0.3
738
+ test:
739
+ _target_: far.data.datasets.FormattedVideoDataset
740
+ formatter: ${ai2thor_v3_latent.formatter.context_pose}
741
+ base_dataset:
742
+ _target_: far.data.datasets.VideoDataset
743
+ manifest_path: ${ai2thor_v3_latent.shared.manifest_path}
744
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/ai2thor_v3/ai2thor_v3_latent_test.json
745
+ backend: ${ai2thor_v3_latent.shared.backend}
746
+ sampler: ${ai2thor_v3_latent.sampler.context_goal_test}
747
+ transform: ${ai2thor_v3_latent.shared.transform}
748
+ model:
749
+ tokenizer:
750
+ _target_: far.tokenizers.sd_vae.SD_VAE
751
+ image_height: ${image_height}
752
+ image_width: ${image_width}
753
+ vae_scale: 0.13025
754
+ ckpt_path: models/sdxl-vae-fp16-fix
755
+ generator:
756
+ _target_: far.generators.cdit_mod_pose_fa.CDiT
757
+ depth: 12
758
+ hidden_size: 768
759
+ patch_size: 2
760
+ num_heads: 12
761
+ context_size: 4
762
+ ckpt_path: null
763
+ action_dim: ${action_dim}
764
+ pose_dim: ${pose_dim}
765
+ fov_half_h: 45.0
766
+ fov_half_v: 45.0
767
+ local_pos_stats: ${ai2thor_v3_latent.spec.local_pos_stats}
768
+ stride_to_seconds: 1.0
769
+ interact_dim: 5
770
+ memory:
771
+ _target_: far.memories.worldmem.WorldMemRetrieval
772
+ num_samples: 10000
773
+ radius: 2.0
774
+ fov_half_h: 45.0
775
+ fov_half_v: 45.0
776
+ recency_factor: 0.2
777
+ local_pos_stats: ${ai2thor_v3_latent.spec.local_pos_stats}
778
+ _target_: far.builders.models.build_ldwm
779
+ _recursive_: false
780
+ condition_on_context_time: true
781
+ condition_on_context_pose: true
782
+ retriever_loss_weight: 1.0
783
+ mask_loss_lambda: 0.3
784
+ mask_max_frac: 0.15
785
+ rag_mask_loss_lambda: null
786
+ diffusion:
787
+ _target_: far.generators.diffusion.create_diffusion
788
+ timestep_respacing: null
789
+ noise_schedule: linear
790
+ diffusion_steps: 1000
791
+ learn_sigma: true
792
+ predict_xstart: false
793
+ sigma_small: false
794
+ use_kl: false
795
+ rescale_learned_sigmas: false
796
+ wandb:
797
+ project: PMem-THOR
798
+ name: null
799
+ entity: null
800
+ mode: online
801
+ group: ai2thor_v3_latent
802
+ tags:
803
+ - ai2thor_v3_latent
804
+ run_name: thor3_cdit_b_worldmem_posefa
805
+ context_size: 4
806
+ action_dim: 5
807
+ pose_dim: 5
808
+ image_height: 256
809
+ image_width: 256
810
+ len_traj_pred: 32
811
+ goals_per_obs: 4
812
+ lr: 0.0001
813
+ lr_mem: null
814
+ weight_decay: 0.0
815
+ grad_clip_val: 1.0
816
+ iterations: 5000000
817
+ warmup_steps: 5000
818
+ from_checkpoint: null
819
+ global_seed: 0
820
+ log_every: 100
821
+ ckpt_every: 100000
822
+ latest_every: 2500
823
+ eval_every: 2500
824
+ rag_every: 0
825
+ rag_noise_levels: 4
826
+ rag_mode: diffusion
827
+ rag_ddim_steps: 8
828
+ rag_mse_weight: 1.0
829
+ local_rag: false
830
+ local_rag_weight: 1.0
831
+ bfloat16: false
832
+ torch_compile: true
833
+ batch_size: 16
834
+ eval_batch_size: 32
835
+ num_workers: 12
836
+ datasets:
837
+ - ai2thor_v3_latent
bundles.json ADDED
@@ -0,0 +1,363 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "layout": "models/<corpus>/<arm>/{config.yaml,checkpoints/<step>.pth.tar}",
3
+ "bundles": [
4
+ {
5
+ "corpus": "ai2thor_dyn",
6
+ "arm": "far_meta",
7
+ "step": "0500000",
8
+ "role": "ours",
9
+ "release": true,
10
+ "path": "ai2thor_dyn/far_meta/checkpoints/0500000.pth.tar",
11
+ "size_bytes": 596752547,
12
+ "sha256": "0df9561e2e2922b5f576c29f625102681c0ad381dfd36d68419b8b1b3f5f5be4",
13
+ "keys": [
14
+ "ema",
15
+ "memory",
16
+ "train_steps",
17
+ "core_buffers"
18
+ ]
19
+ },
20
+ {
21
+ "corpus": "ai2thor_dyn",
22
+ "arm": "far_multicue",
23
+ "step": "0500000",
24
+ "role": "ours",
25
+ "release": true,
26
+ "path": "ai2thor_dyn/far_multicue/checkpoints/0500000.pth.tar",
27
+ "size_bytes": 596759399,
28
+ "sha256": "5ac646018deaae9c66cc19b2b7c4e1714641eeaed01f40a1f0eb9ee815afa6b2",
29
+ "keys": [
30
+ "ema",
31
+ "memory",
32
+ "train_steps",
33
+ "core_buffers"
34
+ ]
35
+ },
36
+ {
37
+ "corpus": "ai2thor_dyn",
38
+ "arm": "temporal",
39
+ "step": "0500000",
40
+ "role": "baseline",
41
+ "release": true,
42
+ "path": "ai2thor_dyn/temporal/checkpoints/0500000.pth.tar",
43
+ "size_bytes": 530185339,
44
+ "sha256": "672a67249b9039f04dbecea63c432f3048c0919c2da3749529e857c2ff105241",
45
+ "keys": [
46
+ "ema",
47
+ "memory",
48
+ "train_steps",
49
+ "core_buffers"
50
+ ]
51
+ },
52
+ {
53
+ "corpus": "ai2thor_dyn",
54
+ "arm": "worldmem",
55
+ "step": "0500000",
56
+ "role": "baseline",
57
+ "release": true,
58
+ "path": "ai2thor_dyn/worldmem/checkpoints/0500000.pth.tar",
59
+ "size_bytes": 530185339,
60
+ "sha256": "4b26452f5ef3b4dbf16b60e6bd00f3f06b99f9998be475273fad22f41c8c7d9a",
61
+ "keys": [
62
+ "ema",
63
+ "memory",
64
+ "train_steps",
65
+ "core_buffers"
66
+ ]
67
+ },
68
+ {
69
+ "corpus": "ai2thor_v3",
70
+ "arm": "far_multicue",
71
+ "step": "0700000",
72
+ "role": "ours",
73
+ "release": true,
74
+ "path": "ai2thor_v3/far_multicue/checkpoints/0700000.pth.tar",
75
+ "size_bytes": 594316275,
76
+ "sha256": "bd66115fa55d57c005c23c4ae3236797d257e20c977da34069c91248ae05af60",
77
+ "keys": [
78
+ "ema",
79
+ "memory",
80
+ "train_steps",
81
+ "core_buffers"
82
+ ]
83
+ },
84
+ {
85
+ "corpus": "ai2thor_v3",
86
+ "arm": "temporal",
87
+ "step": "0700000",
88
+ "role": "baseline",
89
+ "release": true,
90
+ "path": "ai2thor_v3/temporal/checkpoints/0700000.pth.tar",
91
+ "size_bytes": 526958337,
92
+ "sha256": "fe9512b34ba3a2f124c284525f45084df115ab3a8244b8a8dbe728693ef0da89",
93
+ "keys": [
94
+ "ema",
95
+ "memory",
96
+ "train_steps",
97
+ "core_buffers"
98
+ ]
99
+ },
100
+ {
101
+ "corpus": "ai2thor_v3",
102
+ "arm": "worldmem",
103
+ "step": "0700000",
104
+ "role": "baseline",
105
+ "release": true,
106
+ "path": "ai2thor_v3/worldmem/checkpoints/0700000.pth.tar",
107
+ "size_bytes": 526958337,
108
+ "sha256": "d946f4ef956ed2eb34921c0ba26129960852a9ab0c3212c03a0f4fb5e1b09fdc",
109
+ "keys": [
110
+ "ema",
111
+ "memory",
112
+ "train_steps",
113
+ "core_buffers"
114
+ ]
115
+ },
116
+ {
117
+ "corpus": "loopnav",
118
+ "arm": "far_meta",
119
+ "step": "0700000",
120
+ "role": "ours",
121
+ "release": true,
122
+ "path": "loopnav/far_meta/checkpoints/0700000.pth.tar",
123
+ "size_bytes": 590646031,
124
+ "sha256": "4c2eecd804083576df9e5d707871fd0a487a177a3feb8935469569a54bb70ec3",
125
+ "keys": [
126
+ "ema",
127
+ "memory",
128
+ "train_steps",
129
+ "core_buffers"
130
+ ]
131
+ },
132
+ {
133
+ "corpus": "loopnav",
134
+ "arm": "far_multicue",
135
+ "step": "0700000",
136
+ "role": "ours",
137
+ "release": true,
138
+ "path": "loopnav/far_multicue/checkpoints/0700000.pth.tar",
139
+ "size_bytes": 591437405,
140
+ "sha256": "9933e9410a7bfe4c244756602b1b96ad317db86f2dbb37ff9d803f86290f65af",
141
+ "keys": [
142
+ "ema",
143
+ "memory",
144
+ "train_steps",
145
+ "core_buffers"
146
+ ]
147
+ },
148
+ {
149
+ "corpus": "loopnav",
150
+ "arm": "far_visual",
151
+ "step": "0700000",
152
+ "role": "ablation",
153
+ "release": true,
154
+ "path": "loopnav/far_visual/checkpoints/0700000.pth.tar",
155
+ "size_bytes": 591367375,
156
+ "sha256": "ef0f1e473ce585d877606d64f0bae04099afc9108bf7dca564bf4a279d449705",
157
+ "keys": [
158
+ "ema",
159
+ "memory",
160
+ "train_steps",
161
+ "core_buffers"
162
+ ]
163
+ },
164
+ {
165
+ "corpus": "loopnav",
166
+ "arm": "longlive_rag",
167
+ "step": "0700000",
168
+ "role": "baseline",
169
+ "release": true,
170
+ "path": "loopnav/longlive_rag/checkpoints/0700000.pth.tar",
171
+ "size_bytes": 590567691,
172
+ "sha256": "486b0089f14940c0d90f31b8244ce198d3258380628c0098beff7577de92767f",
173
+ "keys": [
174
+ "ema",
175
+ "memory",
176
+ "train_steps",
177
+ "core_buffers"
178
+ ]
179
+ },
180
+ {
181
+ "corpus": "loopnav",
182
+ "arm": "temporal",
183
+ "step": "0700000",
184
+ "role": "baseline",
185
+ "release": true,
186
+ "path": "loopnav/temporal/checkpoints/0700000.pth.tar",
187
+ "size_bytes": 524674293,
188
+ "sha256": "7559efc7408a420264b6fd5fdb000ed57e1efaf3a2620464d8865e25737386a7",
189
+ "keys": [
190
+ "ema",
191
+ "memory",
192
+ "train_steps",
193
+ "core_buffers"
194
+ ]
195
+ },
196
+ {
197
+ "corpus": "loopnav",
198
+ "arm": "worldmem",
199
+ "step": "0700000",
200
+ "role": "baseline",
201
+ "release": true,
202
+ "path": "loopnav/worldmem/checkpoints/0700000.pth.tar",
203
+ "size_bytes": 524674293,
204
+ "sha256": "d3b0ccf8ad353c1267a07c039f893024042c6b4c2a52cb2396934741241a692a",
205
+ "keys": [
206
+ "ema",
207
+ "memory",
208
+ "train_steps",
209
+ "core_buffers"
210
+ ]
211
+ },
212
+ {
213
+ "corpus": "soundspaces_v1",
214
+ "arm": "far_meta",
215
+ "step": "0700000",
216
+ "role": "ours",
217
+ "release": true,
218
+ "path": "soundspaces_v1/far_meta/checkpoints/0700000.pth.tar",
219
+ "size_bytes": 590474195,
220
+ "sha256": "299fa9ff69f8374acc4204a2a25a457752002b557ee166caa9feb50f02cb51c5",
221
+ "keys": [
222
+ "ema",
223
+ "memory",
224
+ "train_steps",
225
+ "core_buffers"
226
+ ]
227
+ },
228
+ {
229
+ "corpus": "soundspaces_v1",
230
+ "arm": "far_multicue",
231
+ "step": "0700000",
232
+ "role": "ours",
233
+ "release": true,
234
+ "path": "soundspaces_v1/far_multicue/checkpoints/0700000.pth.tar",
235
+ "size_bytes": 591338717,
236
+ "sha256": "9bbaf89285ebd73300b4057fd1a1f44d52203a1767751ece35ea4613ae9f42ea",
237
+ "keys": [
238
+ "ema",
239
+ "memory",
240
+ "train_steps",
241
+ "core_buffers"
242
+ ]
243
+ },
244
+ {
245
+ "corpus": "soundspaces_v1",
246
+ "arm": "temporal",
247
+ "step": "0700000",
248
+ "role": "baseline",
249
+ "release": true,
250
+ "path": "soundspaces_v1/temporal/checkpoints/0700000.pth.tar",
251
+ "size_bytes": 524576185,
252
+ "sha256": "323116a1764a44b0c53c055085239dcb095647809131c9bc5f77204ee789955b",
253
+ "keys": [
254
+ "ema",
255
+ "memory",
256
+ "train_steps",
257
+ "core_buffers"
258
+ ]
259
+ },
260
+ {
261
+ "corpus": "soundspaces_v1",
262
+ "arm": "worldmem",
263
+ "step": "0700000",
264
+ "role": "baseline",
265
+ "release": true,
266
+ "path": "soundspaces_v1/worldmem/checkpoints/0700000.pth.tar",
267
+ "size_bytes": 524576185,
268
+ "sha256": "b4a25b3c10e25baa68360ffe6e088f063a1f79112f58add499d7ce0ca23c4c22",
269
+ "keys": [
270
+ "ema",
271
+ "memory",
272
+ "train_steps",
273
+ "core_buffers"
274
+ ]
275
+ },
276
+ {
277
+ "corpus": "soundspaces_v2",
278
+ "arm": "far_meta",
279
+ "step": "0700000",
280
+ "role": "ours",
281
+ "release": true,
282
+ "path": "soundspaces_v2/far_meta/checkpoints/0700000.pth.tar",
283
+ "size_bytes": 590474195,
284
+ "sha256": "c521386dc7045c4aa24d555dfbc64d18f0760adfb95cb3a6b6d141b66eaf5cc6",
285
+ "keys": [
286
+ "ema",
287
+ "memory",
288
+ "train_steps",
289
+ "core_buffers"
290
+ ]
291
+ },
292
+ {
293
+ "corpus": "soundspaces_v2",
294
+ "arm": "far_multicue",
295
+ "step": "0700000",
296
+ "role": "ours",
297
+ "release": true,
298
+ "path": "soundspaces_v2/far_multicue/checkpoints/0700000.pth.tar",
299
+ "size_bytes": 591338717,
300
+ "sha256": "32409877c67f1a8658364e1b2360e6cc73749979c80c6fd7afeba9a2a5c4e9cf",
301
+ "keys": [
302
+ "ema",
303
+ "memory",
304
+ "train_steps",
305
+ "core_buffers"
306
+ ]
307
+ },
308
+ {
309
+ "corpus": "soundspaces_v2",
310
+ "arm": "temporal",
311
+ "step": "0700000",
312
+ "role": "baseline",
313
+ "release": true,
314
+ "path": "soundspaces_v2/temporal/checkpoints/0700000.pth.tar",
315
+ "size_bytes": 524576185,
316
+ "sha256": "a21bbe5a81d3b61eebc1ae2def893dc1cd3fc37ee72dda8594980301c64bf321",
317
+ "keys": [
318
+ "ema",
319
+ "memory",
320
+ "train_steps",
321
+ "core_buffers"
322
+ ]
323
+ },
324
+ {
325
+ "corpus": "soundspaces_v2",
326
+ "arm": "worldmem",
327
+ "step": "0700000",
328
+ "role": "baseline",
329
+ "release": true,
330
+ "path": "soundspaces_v2/worldmem/checkpoints/0700000.pth.tar",
331
+ "size_bytes": 524576185,
332
+ "sha256": "4ef717aa64f35123d4567e204027d054534129fac18c527d3c266b4a24f0762f",
333
+ "keys": [
334
+ "ema",
335
+ "memory",
336
+ "train_steps",
337
+ "core_buffers"
338
+ ]
339
+ },
340
+ {
341
+ "corpus": null,
342
+ "arm": null,
343
+ "step": null,
344
+ "role": "asset",
345
+ "release": true,
346
+ "path": "oasis_500m_vit_vae.pth",
347
+ "size_bytes": 917069061,
348
+ "sha256": "9f2e2a1645596e5b0dc2ef54f762c70eac6515226632270d58d6fa6c8387ce33",
349
+ "keys": null
350
+ },
351
+ {
352
+ "corpus": null,
353
+ "arm": null,
354
+ "step": null,
355
+ "role": "asset",
356
+ "release": true,
357
+ "path": "agent_cell_detector.pt",
358
+ "size_bytes": 177781,
359
+ "sha256": "5d2a3eeec72e0f3707fdcd5543c4f917b5344d9ff4ec9a1b0e193989e23182d5",
360
+ "keys": null
361
+ }
362
+ ]
363
+ }
loopnav/far_meta/checkpoints/0700000.pth.tar ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4c2eecd804083576df9e5d707871fd0a487a177a3feb8935469569a54bb70ec3
3
+ size 590646031
loopnav/far_meta/config.yaml ADDED
@@ -0,0 +1,384 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ recon:
2
+ spec:
3
+ _target_: far.builders.data.build_dataspec
4
+ local_pos_stats:
5
+ min:
6
+ - -2.5
7
+ - -4
8
+ max:
9
+ - 5
10
+ - 4
11
+ meters_per_waypoint: 0.25
12
+ max_frame_offset: 128
13
+ len_traj_pred: ${len_traj_pred}
14
+ planner_mu_init:
15
+ - -0.1
16
+ - 0
17
+ - 0
18
+ planner_sigma_init:
19
+ - 0.02
20
+ - 0.1
21
+ - 0.3142
22
+ pose_fields:
23
+ - x
24
+ - 'y'
25
+ - z
26
+ - pitch
27
+ - yaw
28
+ pose_dim: 5
29
+ pos_dim: 2
30
+ angle_dim: 1
31
+ pose_mode: 2d
32
+ fps: 4.0
33
+ shared:
34
+ manifest_path: results/manifests/recon/recon_split.json
35
+ backend:
36
+ _target_: far.data.backends.NavigationBackend
37
+ transform:
38
+ _target_: far.data.transforms.make_centercrop_resize
39
+ image_height: ${image_height}
40
+ image_width: ${image_width}
41
+ sampler:
42
+ context_goal:
43
+ _target_: far.data.samplers.ContextGoalSampler
44
+ context_pool_size: 12
45
+ len_traj_pred: ${len_traj_pred}
46
+ goals_per_obs: ${goals_per_obs}
47
+ context_traj:
48
+ _target_: far.data.samplers.ContextTrajectorySampler
49
+ context_pool_size: 12
50
+ len_traj_pred: ${len_traj_pred}
51
+ formatter:
52
+ context_pose:
53
+ _target_: far.data.formatters.ContextPoseFormatter2D
54
+ spec: ${recon.spec}
55
+ train:
56
+ _target_: far.data.datasets.FormattedVideoDataset
57
+ formatter: ${recon.formatter.context_pose}
58
+ base_dataset:
59
+ _target_: far.data.datasets.VideoDataset
60
+ manifest_path: ${recon.shared.manifest_path}
61
+ index_path: results/indices/recon/recon_train.json
62
+ backend: ${recon.shared.backend}
63
+ sampler: ${recon.sampler.context_goal}
64
+ transform: ${recon.shared.transform}
65
+ test:
66
+ _target_: far.data.datasets.FormattedVideoDataset
67
+ formatter: ${recon.formatter.context_pose}
68
+ base_dataset:
69
+ _target_: far.data.datasets.VideoDataset
70
+ manifest_path: ${recon.shared.manifest_path}
71
+ index_path: results/indices/recon/recon_test.json
72
+ backend: ${recon.shared.backend}
73
+ sampler: ${recon.sampler.context_goal}
74
+ transform: ${recon.shared.transform}
75
+ eval:
76
+ _target_: far.data.datasets.FormattedVideoDataset
77
+ formatter: ${recon.formatter.context_pose}
78
+ base_dataset:
79
+ _target_: far.data.datasets.VideoDataset
80
+ manifest_path: ${recon.shared.manifest_path}
81
+ index_path: results/indices/recon/recon_test_time.json
82
+ backend: ${recon.shared.backend}
83
+ sampler: ${recon.sampler.context_traj}
84
+ transform: ${recon.shared.transform}
85
+ eval_traj:
86
+ _target_: far.data.datasets.FormattedVideoDataset
87
+ formatter: ${recon.formatter.context_pose}
88
+ base_dataset:
89
+ _target_: far.data.datasets.VideoDataset
90
+ manifest_path: ${recon.shared.manifest_path}
91
+ index_path: results/indices/recon/recon_test_plan.json
92
+ backend: ${recon.shared.backend}
93
+ sampler: ${recon.sampler.context_traj}
94
+ transform: ${recon.shared.transform}
95
+ loopnav:
96
+ spec:
97
+ _target_: far.builders.data.build_dataspec
98
+ local_pos_stats:
99
+ min:
100
+ - -2.5
101
+ - -4
102
+ - 0
103
+ max:
104
+ - 5
105
+ - 4
106
+ - 1
107
+ meters_per_waypoint: 0.25
108
+ max_frame_offset: 128
109
+ len_traj_pred: ${len_traj_pred}
110
+ planner_mu_init:
111
+ - -0.1
112
+ - 0
113
+ - 0
114
+ - 0
115
+ - 0
116
+ planner_sigma_init:
117
+ - 0.02
118
+ - 0.1
119
+ - 0
120
+ - 0
121
+ - 0.3142
122
+ pose_fields:
123
+ - x
124
+ - 'y'
125
+ - z
126
+ - pitch
127
+ - yaw
128
+ pose_dim: 5
129
+ pos_dim: 3
130
+ angle_dim: 2
131
+ pose_mode: 3d
132
+ fps: 20.0
133
+ shared:
134
+ manifest_path: results/manifests/loopnav/loopnav_split.json
135
+ backend:
136
+ _target_: far.data.backends.LoopNavBackend
137
+ standard_frame: false
138
+ transform:
139
+ _target_: far.data.transforms.make_resize
140
+ image_height: ${image_height}
141
+ image_width: ${image_width}
142
+ sampler:
143
+ random_clip:
144
+ _target_: far.data.samplers.RandomClipSampler
145
+ clip_len: 16
146
+ frame_stride: 10
147
+ context_goal:
148
+ _target_: far.data.samplers.ContextGoalSampler
149
+ context_pool_size: 100
150
+ len_traj_pred: ${len_traj_pred}
151
+ goals_per_obs: ${goals_per_obs}
152
+ context_traj:
153
+ _target_: far.data.samplers.ContextTrajectorySampler
154
+ context_pool_size: 100
155
+ len_traj_pred: ${len_traj_pred}
156
+ formatter:
157
+ frame:
158
+ _target_: far.data.formatters.FrameFormatter
159
+ context_pose:
160
+ _target_: far.data.formatters.ContextPoseFormatter
161
+ spec: ${loopnav.spec}
162
+ train_tokenizer:
163
+ _target_: far.data.datasets.FormattedIterableDataset
164
+ formatter: ${loopnav.formatter.frame}
165
+ base_dataset:
166
+ _target_: far.data.datasets.WebVideoIterableDataset
167
+ manifest_path: results/manifests/loopnav/loopnav.json
168
+ index_path: results/indices/loopnav/loopnav_train_ABCA.json
169
+ backend:
170
+ _target_: far.data.backends.WebDatasetBackend
171
+ sampler: ${loopnav.sampler.random_clip}
172
+ transform: ${loopnav.shared.transform}
173
+ cache_dir: null
174
+ cache_size: 100
175
+ shuffle_shards: 32
176
+ shuffle_samples: 100
177
+ loopnav_latent:
178
+ spec:
179
+ _target_: far.builders.data.build_dataspec
180
+ local_pos_stats:
181
+ min:
182
+ - 0
183
+ - 0
184
+ - 0
185
+ max:
186
+ - 1
187
+ - 1
188
+ - 1
189
+ meters_per_waypoint: 1.0
190
+ max_frame_offset: 20.0
191
+ len_traj_pred: ${len_traj_pred}
192
+ planner_mu_init:
193
+ - -0.1
194
+ - 0
195
+ - 0
196
+ - 0
197
+ - 0
198
+ planner_sigma_init:
199
+ - 0.02
200
+ - 0.1
201
+ - 0
202
+ - 0
203
+ - 0.3142
204
+ pose_fields:
205
+ - x
206
+ - 'y'
207
+ - z
208
+ - pitch
209
+ - yaw
210
+ pose_dim: 5
211
+ pos_dim: 3
212
+ angle_dim: 2
213
+ pose_mode: 3d
214
+ fps: 20.0
215
+ shared:
216
+ manifest_path: ${oc.env:FAR_RESULT_ROOT}/manifests/loopnav/loopnav_latent.json
217
+ backend:
218
+ _target_: far.data.backends.LatentLoopNavBackend
219
+ key_suffix: .keys_jepa.npy
220
+ standard_frame: true
221
+ transform: null
222
+ sampler:
223
+ random_clip:
224
+ _target_: far.data.samplers.RandomClipSampler
225
+ clip_len: 16
226
+ frame_stride: 10
227
+ context_goal:
228
+ _target_: far.data.samplers.ContextGoalSampler
229
+ context_pool_size: 200
230
+ len_traj_pred: ${len_traj_pred}
231
+ goals_per_obs: ${goals_per_obs}
232
+ context_goal_test:
233
+ _target_: far.data.samplers.ContextGoalSampler
234
+ context_pool_size: 200
235
+ len_traj_pred: ${len_traj_pred}
236
+ goals_per_obs: 4
237
+ context_traj:
238
+ _target_: far.data.samplers.ContextTrajectorySampler
239
+ context_pool_size: 200
240
+ len_traj_pred: ${len_traj_pred}
241
+ formatter:
242
+ frame:
243
+ _target_: far.data.formatters.FrameFormatter
244
+ context_pose:
245
+ _target_: far.data.formatters.ContextPoseFormatter
246
+ spec: ${loopnav_latent.spec}
247
+ train:
248
+ _target_: far.data.datasets.FormattedVideoDataset
249
+ formatter: ${loopnav_latent.formatter.context_pose}
250
+ base_dataset:
251
+ _target_: far.data.datasets.VideoDataset
252
+ manifest_path: ${loopnav_latent.shared.manifest_path}
253
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/loopnav/loopnav_latent_train.json
254
+ backend: ${loopnav_latent.shared.backend}
255
+ sampler: ${loopnav_latent.sampler.context_goal}
256
+ transform: ${loopnav_latent.shared.transform}
257
+ test:
258
+ _target_: far.data.datasets.FormattedVideoDataset
259
+ formatter: ${loopnav_latent.formatter.context_pose}
260
+ base_dataset:
261
+ _target_: far.data.datasets.VideoDataset
262
+ manifest_path: ${loopnav_latent.shared.manifest_path}
263
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/loopnav/loopnav_latent_test.json
264
+ backend: ${loopnav_latent.shared.backend}
265
+ sampler: ${loopnav_latent.sampler.context_goal_test}
266
+ transform: ${loopnav_latent.shared.transform}
267
+ model:
268
+ tokenizer:
269
+ _target_: far.tokenizers.vit_vae.ViTVAE
270
+ kl_weight: 1.0e-06
271
+ lpips_weight: 0.0
272
+ ckpt_path: ${oc.env:FAR_MODELS_ROOT}/oasis_500m_vit_vae.pth
273
+ encoder:
274
+ _target_: far.tokenizers.vit_vae.Encoder
275
+ input_height: ${image_height}
276
+ input_width: ${image_width}
277
+ patch_size: 20
278
+ dim: 1024
279
+ depth: 6
280
+ heads: 16
281
+ latent_dim: 16
282
+ use_variational: true
283
+ mlp_ratio: 4.0
284
+ decoder:
285
+ _target_: far.tokenizers.vit_vae.Decoder
286
+ input_height: ${image_height}
287
+ input_width: ${image_width}
288
+ patch_size: 20
289
+ dim: 1024
290
+ depth: 12
291
+ heads: 16
292
+ latent_dim: 16
293
+ mlp_ratio: 4.0
294
+ generator:
295
+ _target_: far.generators.cdit_mod_pose_fa.CDiT
296
+ depth: 12
297
+ hidden_size: 768
298
+ patch_size: 2
299
+ num_heads: 12
300
+ context_size: 4
301
+ ckpt_path: null
302
+ action_dim: ${action_dim}
303
+ pose_dim: ${pose_dim}
304
+ fov_half_h: 52.5
305
+ fov_half_v: 37.5
306
+ local_pos_stats: ${loopnav_latent.spec.local_pos_stats}
307
+ stride_to_seconds: 1.0
308
+ memory:
309
+ _target_: far.memories.pnp_cl.PnPRetrieval
310
+ ckpt_path: null
311
+ chunk_size: 10
312
+ num_sets: 5
313
+ softmax_temperature: 1.0
314
+ scoring: meta
315
+ metadata_hidden: 128
316
+ local_pos_stats: ${loopnav_latent.spec.local_pos_stats}
317
+ stride_to_seconds: 1.0
318
+ encoder_mode: frozen
319
+ adapter_hidden: 384
320
+ query_vit:
321
+ _target_: far.memories.pnp_cl.QueryViT
322
+ img_height: 18
323
+ img_width: 32
324
+ patch_size: 2
325
+ in_chans: 16
326
+ embed_dim: 384
327
+ depth: 6
328
+ num_heads: 12
329
+ action_dim: ${action_dim}
330
+ key_dim: 256
331
+ mlp_ratio: 4.0
332
+ _target_: far.builders.models.build_ldwm
333
+ _recursive_: false
334
+ condition_on_context_time: true
335
+ condition_on_context_pose: true
336
+ retriever_loss_weight: 1.0
337
+ diffusion:
338
+ _target_: far.generators.diffusion.create_diffusion
339
+ timestep_respacing: null
340
+ noise_schedule: linear
341
+ diffusion_steps: 1000
342
+ learn_sigma: true
343
+ predict_xstart: false
344
+ sigma_small: false
345
+ use_kl: false
346
+ rescale_learned_sigmas: false
347
+ wandb:
348
+ project: PMem-World
349
+ name: null
350
+ entity: null
351
+ mode: online
352
+ group: loopnav_latent
353
+ tags:
354
+ - loopnav_latent
355
+ run_name: nwm_cdit_b_pnp_meta_posefa_l1_ddim20
356
+ context_size: 4
357
+ action_dim: 5
358
+ pose_dim: 5
359
+ image_height: 360
360
+ image_width: 640
361
+ len_traj_pred: 128
362
+ goals_per_obs: 4
363
+ lr: 0.0001
364
+ lr_mem: 0.0001
365
+ weight_decay: 0.0
366
+ grad_clip_val: 1.0
367
+ iterations: 5000000
368
+ warmup_steps: 5000
369
+ from_checkpoint: null
370
+ global_seed: 0
371
+ log_every: 100
372
+ ckpt_every: 100000
373
+ eval_every: 2500
374
+ rag_every: 20
375
+ rag_noise_levels: 4
376
+ local_rag: true
377
+ local_rag_weight: 1.0
378
+ bfloat16: false
379
+ torch_compile: true
380
+ batch_size: 32
381
+ eval_batch_size: 64
382
+ num_workers: 12
383
+ datasets:
384
+ - loopnav_latent
loopnav/far_multicue/checkpoints/0700000.pth.tar ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9933e9410a7bfe4c244756602b1b96ad317db86f2dbb37ff9d803f86290f65af
3
+ size 591437405
loopnav/far_multicue/config.yaml ADDED
@@ -0,0 +1,385 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ recon:
2
+ spec:
3
+ _target_: far.builders.data.build_dataspec
4
+ local_pos_stats:
5
+ min:
6
+ - -2.5
7
+ - -4
8
+ max:
9
+ - 5
10
+ - 4
11
+ meters_per_waypoint: 0.25
12
+ max_frame_offset: 128
13
+ len_traj_pred: ${len_traj_pred}
14
+ planner_mu_init:
15
+ - -0.1
16
+ - 0
17
+ - 0
18
+ planner_sigma_init:
19
+ - 0.02
20
+ - 0.1
21
+ - 0.3142
22
+ pose_fields:
23
+ - x
24
+ - 'y'
25
+ - z
26
+ - pitch
27
+ - yaw
28
+ pose_dim: 5
29
+ pos_dim: 2
30
+ angle_dim: 1
31
+ pose_mode: 2d
32
+ fps: 4.0
33
+ shared:
34
+ manifest_path: results/manifests/recon/recon_split.json
35
+ backend:
36
+ _target_: far.data.backends.NavigationBackend
37
+ transform:
38
+ _target_: far.data.transforms.make_centercrop_resize
39
+ image_height: ${image_height}
40
+ image_width: ${image_width}
41
+ sampler:
42
+ context_goal:
43
+ _target_: far.data.samplers.ContextGoalSampler
44
+ context_pool_size: 12
45
+ len_traj_pred: ${len_traj_pred}
46
+ goals_per_obs: ${goals_per_obs}
47
+ context_traj:
48
+ _target_: far.data.samplers.ContextTrajectorySampler
49
+ context_pool_size: 12
50
+ len_traj_pred: ${len_traj_pred}
51
+ formatter:
52
+ context_pose:
53
+ _target_: far.data.formatters.ContextPoseFormatter2D
54
+ spec: ${recon.spec}
55
+ train:
56
+ _target_: far.data.datasets.FormattedVideoDataset
57
+ formatter: ${recon.formatter.context_pose}
58
+ base_dataset:
59
+ _target_: far.data.datasets.VideoDataset
60
+ manifest_path: ${recon.shared.manifest_path}
61
+ index_path: results/indices/recon/recon_train.json
62
+ backend: ${recon.shared.backend}
63
+ sampler: ${recon.sampler.context_goal}
64
+ transform: ${recon.shared.transform}
65
+ test:
66
+ _target_: far.data.datasets.FormattedVideoDataset
67
+ formatter: ${recon.formatter.context_pose}
68
+ base_dataset:
69
+ _target_: far.data.datasets.VideoDataset
70
+ manifest_path: ${recon.shared.manifest_path}
71
+ index_path: results/indices/recon/recon_test.json
72
+ backend: ${recon.shared.backend}
73
+ sampler: ${recon.sampler.context_goal}
74
+ transform: ${recon.shared.transform}
75
+ eval:
76
+ _target_: far.data.datasets.FormattedVideoDataset
77
+ formatter: ${recon.formatter.context_pose}
78
+ base_dataset:
79
+ _target_: far.data.datasets.VideoDataset
80
+ manifest_path: ${recon.shared.manifest_path}
81
+ index_path: results/indices/recon/recon_test_time.json
82
+ backend: ${recon.shared.backend}
83
+ sampler: ${recon.sampler.context_traj}
84
+ transform: ${recon.shared.transform}
85
+ eval_traj:
86
+ _target_: far.data.datasets.FormattedVideoDataset
87
+ formatter: ${recon.formatter.context_pose}
88
+ base_dataset:
89
+ _target_: far.data.datasets.VideoDataset
90
+ manifest_path: ${recon.shared.manifest_path}
91
+ index_path: results/indices/recon/recon_test_plan.json
92
+ backend: ${recon.shared.backend}
93
+ sampler: ${recon.sampler.context_traj}
94
+ transform: ${recon.shared.transform}
95
+ loopnav:
96
+ spec:
97
+ _target_: far.builders.data.build_dataspec
98
+ local_pos_stats:
99
+ min:
100
+ - -2.5
101
+ - -4
102
+ - 0
103
+ max:
104
+ - 5
105
+ - 4
106
+ - 1
107
+ meters_per_waypoint: 0.25
108
+ max_frame_offset: 128
109
+ len_traj_pred: ${len_traj_pred}
110
+ planner_mu_init:
111
+ - -0.1
112
+ - 0
113
+ - 0
114
+ - 0
115
+ - 0
116
+ planner_sigma_init:
117
+ - 0.02
118
+ - 0.1
119
+ - 0
120
+ - 0
121
+ - 0.3142
122
+ pose_fields:
123
+ - x
124
+ - 'y'
125
+ - z
126
+ - pitch
127
+ - yaw
128
+ pose_dim: 5
129
+ pos_dim: 3
130
+ angle_dim: 2
131
+ pose_mode: 3d
132
+ fps: 20.0
133
+ shared:
134
+ manifest_path: results/manifests/loopnav/loopnav_split.json
135
+ backend:
136
+ _target_: far.data.backends.LoopNavBackend
137
+ standard_frame: false
138
+ transform:
139
+ _target_: far.data.transforms.make_resize
140
+ image_height: ${image_height}
141
+ image_width: ${image_width}
142
+ sampler:
143
+ random_clip:
144
+ _target_: far.data.samplers.RandomClipSampler
145
+ clip_len: 16
146
+ frame_stride: 10
147
+ context_goal:
148
+ _target_: far.data.samplers.ContextGoalSampler
149
+ context_pool_size: 100
150
+ len_traj_pred: ${len_traj_pred}
151
+ goals_per_obs: ${goals_per_obs}
152
+ context_traj:
153
+ _target_: far.data.samplers.ContextTrajectorySampler
154
+ context_pool_size: 100
155
+ len_traj_pred: ${len_traj_pred}
156
+ formatter:
157
+ frame:
158
+ _target_: far.data.formatters.FrameFormatter
159
+ context_pose:
160
+ _target_: far.data.formatters.ContextPoseFormatter
161
+ spec: ${loopnav.spec}
162
+ train_tokenizer:
163
+ _target_: far.data.datasets.FormattedIterableDataset
164
+ formatter: ${loopnav.formatter.frame}
165
+ base_dataset:
166
+ _target_: far.data.datasets.WebVideoIterableDataset
167
+ manifest_path: results/manifests/loopnav/loopnav.json
168
+ index_path: results/indices/loopnav/loopnav_train_ABCA.json
169
+ backend:
170
+ _target_: far.data.backends.WebDatasetBackend
171
+ sampler: ${loopnav.sampler.random_clip}
172
+ transform: ${loopnav.shared.transform}
173
+ cache_dir: null
174
+ cache_size: 100
175
+ shuffle_shards: 32
176
+ shuffle_samples: 100
177
+ loopnav_latent:
178
+ spec:
179
+ _target_: far.builders.data.build_dataspec
180
+ local_pos_stats:
181
+ min:
182
+ - 0
183
+ - 0
184
+ - 0
185
+ max:
186
+ - 1
187
+ - 1
188
+ - 1
189
+ meters_per_waypoint: 1.0
190
+ max_frame_offset: 20.0
191
+ len_traj_pred: ${len_traj_pred}
192
+ planner_mu_init:
193
+ - -0.1
194
+ - 0
195
+ - 0
196
+ - 0
197
+ - 0
198
+ planner_sigma_init:
199
+ - 0.02
200
+ - 0.1
201
+ - 0
202
+ - 0
203
+ - 0.3142
204
+ pose_fields:
205
+ - x
206
+ - 'y'
207
+ - z
208
+ - pitch
209
+ - yaw
210
+ pose_dim: 5
211
+ pos_dim: 3
212
+ angle_dim: 2
213
+ pose_mode: 3d
214
+ fps: 20.0
215
+ shared:
216
+ manifest_path: results/manifests/loopnav/loopnav_latent.json
217
+ backend:
218
+ _target_: far.data.backends.LatentLoopNavBackend
219
+ key_suffix: .keys_jepa.npy
220
+ standard_frame: true
221
+ transform: null
222
+ sampler:
223
+ random_clip:
224
+ _target_: far.data.samplers.RandomClipSampler
225
+ clip_len: 16
226
+ frame_stride: 10
227
+ context_goal:
228
+ _target_: far.data.samplers.ContextGoalSampler
229
+ context_pool_size: 200
230
+ len_traj_pred: ${len_traj_pred}
231
+ goals_per_obs: ${goals_per_obs}
232
+ context_goal_test:
233
+ _target_: far.data.samplers.ContextGoalSampler
234
+ context_pool_size: 200
235
+ len_traj_pred: ${len_traj_pred}
236
+ goals_per_obs: 4
237
+ context_traj:
238
+ _target_: far.data.samplers.ContextTrajectorySampler
239
+ context_pool_size: 200
240
+ len_traj_pred: ${len_traj_pred}
241
+ formatter:
242
+ frame:
243
+ _target_: far.data.formatters.FrameFormatter
244
+ context_pose:
245
+ _target_: far.data.formatters.ContextPoseFormatter
246
+ spec: ${loopnav_latent.spec}
247
+ train:
248
+ _target_: far.data.datasets.FormattedVideoDataset
249
+ formatter: ${loopnav_latent.formatter.context_pose}
250
+ base_dataset:
251
+ _target_: far.data.datasets.VideoDataset
252
+ manifest_path: ${loopnav_latent.shared.manifest_path}
253
+ index_path: results/indices/loopnav/loopnav_latent_train.json
254
+ backend: ${loopnav_latent.shared.backend}
255
+ sampler: ${loopnav_latent.sampler.context_goal}
256
+ transform: ${loopnav_latent.shared.transform}
257
+ test:
258
+ _target_: far.data.datasets.FormattedVideoDataset
259
+ formatter: ${loopnav_latent.formatter.context_pose}
260
+ base_dataset:
261
+ _target_: far.data.datasets.VideoDataset
262
+ manifest_path: ${loopnav_latent.shared.manifest_path}
263
+ index_path: results/indices/loopnav/loopnav_latent_test.json
264
+ backend: ${loopnav_latent.shared.backend}
265
+ sampler: ${loopnav_latent.sampler.context_goal_test}
266
+ transform: ${loopnav_latent.shared.transform}
267
+ model:
268
+ tokenizer:
269
+ _target_: far.tokenizers.vit_vae.ViTVAE
270
+ kl_weight: 1.0e-06
271
+ lpips_weight: 0.0
272
+ ckpt_path: models/oasis_500m_vit_vae.pth
273
+ encoder:
274
+ _target_: far.tokenizers.vit_vae.Encoder
275
+ input_height: ${image_height}
276
+ input_width: ${image_width}
277
+ patch_size: 20
278
+ dim: 1024
279
+ depth: 6
280
+ heads: 16
281
+ latent_dim: 16
282
+ use_variational: true
283
+ mlp_ratio: 4.0
284
+ decoder:
285
+ _target_: far.tokenizers.vit_vae.Decoder
286
+ input_height: ${image_height}
287
+ input_width: ${image_width}
288
+ patch_size: 20
289
+ dim: 1024
290
+ depth: 12
291
+ heads: 16
292
+ latent_dim: 16
293
+ mlp_ratio: 4.0
294
+ generator:
295
+ _target_: far.generators.cdit_mod_pose_fa.CDiT
296
+ depth: 12
297
+ hidden_size: 768
298
+ patch_size: 2
299
+ num_heads: 12
300
+ context_size: 4
301
+ ckpt_path: null
302
+ action_dim: ${action_dim}
303
+ pose_dim: ${pose_dim}
304
+ fov_half_h: 52.5
305
+ fov_half_v: 37.5
306
+ local_pos_stats: ${loopnav_latent.spec.local_pos_stats}
307
+ stride_to_seconds: 1.0
308
+ memory:
309
+ _target_: far.memories.pnp_cl.PnPRetrieval
310
+ ckpt_path: null
311
+ chunk_size: 10
312
+ num_sets: 5
313
+ softmax_temperature: 1.0
314
+ scoring: visual+meta_z
315
+ metadata_hidden: 128
316
+ local_pos_stats: ${loopnav_latent.spec.local_pos_stats}
317
+ stride_to_seconds: 1.0
318
+ encoder_mode: adapter
319
+ adapter_hidden: 384
320
+ gate_eps: 0.05
321
+ query_vit:
322
+ _target_: far.memories.pnp_cl.QueryViT
323
+ img_height: 18
324
+ img_width: 32
325
+ patch_size: 2
326
+ in_chans: 16
327
+ embed_dim: 384
328
+ depth: 6
329
+ num_heads: 12
330
+ action_dim: ${action_dim}
331
+ key_dim: 256
332
+ mlp_ratio: 4.0
333
+ _target_: far.builders.models.build_ldwm
334
+ _recursive_: false
335
+ condition_on_context_time: true
336
+ condition_on_context_pose: true
337
+ retriever_loss_weight: 1.0
338
+ diffusion:
339
+ _target_: far.generators.diffusion.create_diffusion
340
+ timestep_respacing: null
341
+ noise_schedule: linear
342
+ diffusion_steps: 1000
343
+ learn_sigma: true
344
+ predict_xstart: false
345
+ sigma_small: false
346
+ use_kl: false
347
+ rescale_learned_sigmas: false
348
+ wandb:
349
+ project: PMem
350
+ name: null
351
+ entity: null
352
+ mode: online
353
+ group: null
354
+ tags: null
355
+ run_name: nwm_cdit_b_pnp_vmz_posefa_l1_ddim20
356
+ context_size: 4
357
+ action_dim: 5
358
+ pose_dim: 5
359
+ image_height: 360
360
+ image_width: 640
361
+ len_traj_pred: 128
362
+ goals_per_obs: 4
363
+ lr: 0.0001
364
+ lr_mem: 0.0001
365
+ weight_decay: 0.0
366
+ grad_clip_val: 1.0
367
+ iterations: 5000000
368
+ warmup_steps: 5000
369
+ from_checkpoint: null
370
+ global_seed: 0
371
+ log_every: 100
372
+ ckpt_every: 100000
373
+ latest_every: 10000
374
+ eval_every: 2500
375
+ rag_every: 20
376
+ rag_noise_levels: 4
377
+ local_rag: true
378
+ local_rag_weight: 1.0
379
+ bfloat16: false
380
+ torch_compile: true
381
+ batch_size: 32
382
+ eval_batch_size: 64
383
+ num_workers: 12
384
+ datasets:
385
+ - loopnav_latent
loopnav/far_visual/checkpoints/0700000.pth.tar ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ef0f1e473ce585d877606d64f0bae04099afc9108bf7dca564bf4a279d449705
3
+ size 591367375
loopnav/far_visual/config.yaml ADDED
@@ -0,0 +1,384 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ recon:
2
+ spec:
3
+ _target_: far.builders.data.build_dataspec
4
+ local_pos_stats:
5
+ min:
6
+ - -2.5
7
+ - -4
8
+ max:
9
+ - 5
10
+ - 4
11
+ meters_per_waypoint: 0.25
12
+ max_frame_offset: 128
13
+ len_traj_pred: ${len_traj_pred}
14
+ planner_mu_init:
15
+ - -0.1
16
+ - 0
17
+ - 0
18
+ planner_sigma_init:
19
+ - 0.02
20
+ - 0.1
21
+ - 0.3142
22
+ pose_fields:
23
+ - x
24
+ - 'y'
25
+ - z
26
+ - pitch
27
+ - yaw
28
+ pose_dim: 5
29
+ pos_dim: 2
30
+ angle_dim: 1
31
+ pose_mode: 2d
32
+ fps: 4.0
33
+ shared:
34
+ manifest_path: results/manifests/recon/recon_split.json
35
+ backend:
36
+ _target_: far.data.backends.NavigationBackend
37
+ transform:
38
+ _target_: far.data.transforms.make_centercrop_resize
39
+ image_height: ${image_height}
40
+ image_width: ${image_width}
41
+ sampler:
42
+ context_goal:
43
+ _target_: far.data.samplers.ContextGoalSampler
44
+ context_pool_size: 12
45
+ len_traj_pred: ${len_traj_pred}
46
+ goals_per_obs: ${goals_per_obs}
47
+ context_traj:
48
+ _target_: far.data.samplers.ContextTrajectorySampler
49
+ context_pool_size: 12
50
+ len_traj_pred: ${len_traj_pred}
51
+ formatter:
52
+ context_pose:
53
+ _target_: far.data.formatters.ContextPoseFormatter2D
54
+ spec: ${recon.spec}
55
+ train:
56
+ _target_: far.data.datasets.FormattedVideoDataset
57
+ formatter: ${recon.formatter.context_pose}
58
+ base_dataset:
59
+ _target_: far.data.datasets.VideoDataset
60
+ manifest_path: ${recon.shared.manifest_path}
61
+ index_path: results/indices/recon/recon_train.json
62
+ backend: ${recon.shared.backend}
63
+ sampler: ${recon.sampler.context_goal}
64
+ transform: ${recon.shared.transform}
65
+ test:
66
+ _target_: far.data.datasets.FormattedVideoDataset
67
+ formatter: ${recon.formatter.context_pose}
68
+ base_dataset:
69
+ _target_: far.data.datasets.VideoDataset
70
+ manifest_path: ${recon.shared.manifest_path}
71
+ index_path: results/indices/recon/recon_test.json
72
+ backend: ${recon.shared.backend}
73
+ sampler: ${recon.sampler.context_goal}
74
+ transform: ${recon.shared.transform}
75
+ eval:
76
+ _target_: far.data.datasets.FormattedVideoDataset
77
+ formatter: ${recon.formatter.context_pose}
78
+ base_dataset:
79
+ _target_: far.data.datasets.VideoDataset
80
+ manifest_path: ${recon.shared.manifest_path}
81
+ index_path: results/indices/recon/recon_test_time.json
82
+ backend: ${recon.shared.backend}
83
+ sampler: ${recon.sampler.context_traj}
84
+ transform: ${recon.shared.transform}
85
+ eval_traj:
86
+ _target_: far.data.datasets.FormattedVideoDataset
87
+ formatter: ${recon.formatter.context_pose}
88
+ base_dataset:
89
+ _target_: far.data.datasets.VideoDataset
90
+ manifest_path: ${recon.shared.manifest_path}
91
+ index_path: results/indices/recon/recon_test_plan.json
92
+ backend: ${recon.shared.backend}
93
+ sampler: ${recon.sampler.context_traj}
94
+ transform: ${recon.shared.transform}
95
+ loopnav:
96
+ spec:
97
+ _target_: far.builders.data.build_dataspec
98
+ local_pos_stats:
99
+ min:
100
+ - -2.5
101
+ - -4
102
+ - 0
103
+ max:
104
+ - 5
105
+ - 4
106
+ - 1
107
+ meters_per_waypoint: 0.25
108
+ max_frame_offset: 128
109
+ len_traj_pred: ${len_traj_pred}
110
+ planner_mu_init:
111
+ - -0.1
112
+ - 0
113
+ - 0
114
+ - 0
115
+ - 0
116
+ planner_sigma_init:
117
+ - 0.02
118
+ - 0.1
119
+ - 0
120
+ - 0
121
+ - 0.3142
122
+ pose_fields:
123
+ - x
124
+ - 'y'
125
+ - z
126
+ - pitch
127
+ - yaw
128
+ pose_dim: 5
129
+ pos_dim: 3
130
+ angle_dim: 2
131
+ pose_mode: 3d
132
+ fps: 20.0
133
+ shared:
134
+ manifest_path: results/manifests/loopnav/loopnav_split.json
135
+ backend:
136
+ _target_: far.data.backends.LoopNavBackend
137
+ standard_frame: false
138
+ transform:
139
+ _target_: far.data.transforms.make_resize
140
+ image_height: ${image_height}
141
+ image_width: ${image_width}
142
+ sampler:
143
+ random_clip:
144
+ _target_: far.data.samplers.RandomClipSampler
145
+ clip_len: 16
146
+ frame_stride: 10
147
+ context_goal:
148
+ _target_: far.data.samplers.ContextGoalSampler
149
+ context_pool_size: 100
150
+ len_traj_pred: ${len_traj_pred}
151
+ goals_per_obs: ${goals_per_obs}
152
+ context_traj:
153
+ _target_: far.data.samplers.ContextTrajectorySampler
154
+ context_pool_size: 100
155
+ len_traj_pred: ${len_traj_pred}
156
+ formatter:
157
+ frame:
158
+ _target_: far.data.formatters.FrameFormatter
159
+ context_pose:
160
+ _target_: far.data.formatters.ContextPoseFormatter
161
+ spec: ${loopnav.spec}
162
+ train_tokenizer:
163
+ _target_: far.data.datasets.FormattedIterableDataset
164
+ formatter: ${loopnav.formatter.frame}
165
+ base_dataset:
166
+ _target_: far.data.datasets.WebVideoIterableDataset
167
+ manifest_path: results/manifests/loopnav/loopnav.json
168
+ index_path: results/indices/loopnav/loopnav_train_ABCA.json
169
+ backend:
170
+ _target_: far.data.backends.WebDatasetBackend
171
+ sampler: ${loopnav.sampler.random_clip}
172
+ transform: ${loopnav.shared.transform}
173
+ cache_dir: null
174
+ cache_size: 100
175
+ shuffle_shards: 32
176
+ shuffle_samples: 100
177
+ loopnav_latent:
178
+ spec:
179
+ _target_: far.builders.data.build_dataspec
180
+ local_pos_stats:
181
+ min:
182
+ - 0
183
+ - 0
184
+ - 0
185
+ max:
186
+ - 1
187
+ - 1
188
+ - 1
189
+ meters_per_waypoint: 1.0
190
+ max_frame_offset: 20.0
191
+ len_traj_pred: ${len_traj_pred}
192
+ planner_mu_init:
193
+ - -0.1
194
+ - 0
195
+ - 0
196
+ - 0
197
+ - 0
198
+ planner_sigma_init:
199
+ - 0.02
200
+ - 0.1
201
+ - 0
202
+ - 0
203
+ - 0.3142
204
+ pose_fields:
205
+ - x
206
+ - 'y'
207
+ - z
208
+ - pitch
209
+ - yaw
210
+ pose_dim: 5
211
+ pos_dim: 3
212
+ angle_dim: 2
213
+ pose_mode: 3d
214
+ fps: 20.0
215
+ shared:
216
+ manifest_path: ${oc.env:FAR_RESULT_ROOT}/manifests/loopnav/loopnav_latent.json
217
+ backend:
218
+ _target_: far.data.backends.LatentLoopNavBackend
219
+ key_suffix: .keys_jepa.npy
220
+ standard_frame: true
221
+ transform: null
222
+ sampler:
223
+ random_clip:
224
+ _target_: far.data.samplers.RandomClipSampler
225
+ clip_len: 16
226
+ frame_stride: 10
227
+ context_goal:
228
+ _target_: far.data.samplers.ContextGoalSampler
229
+ context_pool_size: 200
230
+ len_traj_pred: ${len_traj_pred}
231
+ goals_per_obs: ${goals_per_obs}
232
+ context_goal_test:
233
+ _target_: far.data.samplers.ContextGoalSampler
234
+ context_pool_size: 200
235
+ len_traj_pred: ${len_traj_pred}
236
+ goals_per_obs: 4
237
+ context_traj:
238
+ _target_: far.data.samplers.ContextTrajectorySampler
239
+ context_pool_size: 200
240
+ len_traj_pred: ${len_traj_pred}
241
+ formatter:
242
+ frame:
243
+ _target_: far.data.formatters.FrameFormatter
244
+ context_pose:
245
+ _target_: far.data.formatters.ContextPoseFormatter
246
+ spec: ${loopnav_latent.spec}
247
+ train:
248
+ _target_: far.data.datasets.FormattedVideoDataset
249
+ formatter: ${loopnav_latent.formatter.context_pose}
250
+ base_dataset:
251
+ _target_: far.data.datasets.VideoDataset
252
+ manifest_path: ${loopnav_latent.shared.manifest_path}
253
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/loopnav/loopnav_latent_train.json
254
+ backend: ${loopnav_latent.shared.backend}
255
+ sampler: ${loopnav_latent.sampler.context_goal}
256
+ transform: ${loopnav_latent.shared.transform}
257
+ test:
258
+ _target_: far.data.datasets.FormattedVideoDataset
259
+ formatter: ${loopnav_latent.formatter.context_pose}
260
+ base_dataset:
261
+ _target_: far.data.datasets.VideoDataset
262
+ manifest_path: ${loopnav_latent.shared.manifest_path}
263
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/loopnav/loopnav_latent_test.json
264
+ backend: ${loopnav_latent.shared.backend}
265
+ sampler: ${loopnav_latent.sampler.context_goal_test}
266
+ transform: ${loopnav_latent.shared.transform}
267
+ model:
268
+ tokenizer:
269
+ _target_: far.tokenizers.vit_vae.ViTVAE
270
+ kl_weight: 1.0e-06
271
+ lpips_weight: 0.0
272
+ ckpt_path: ${oc.env:FAR_MODELS_ROOT}/oasis_500m_vit_vae.pth
273
+ encoder:
274
+ _target_: far.tokenizers.vit_vae.Encoder
275
+ input_height: ${image_height}
276
+ input_width: ${image_width}
277
+ patch_size: 20
278
+ dim: 1024
279
+ depth: 6
280
+ heads: 16
281
+ latent_dim: 16
282
+ use_variational: true
283
+ mlp_ratio: 4.0
284
+ decoder:
285
+ _target_: far.tokenizers.vit_vae.Decoder
286
+ input_height: ${image_height}
287
+ input_width: ${image_width}
288
+ patch_size: 20
289
+ dim: 1024
290
+ depth: 12
291
+ heads: 16
292
+ latent_dim: 16
293
+ mlp_ratio: 4.0
294
+ generator:
295
+ _target_: far.generators.cdit_mod_pose_fa.CDiT
296
+ depth: 12
297
+ hidden_size: 768
298
+ patch_size: 2
299
+ num_heads: 12
300
+ context_size: 4
301
+ ckpt_path: null
302
+ action_dim: ${action_dim}
303
+ pose_dim: ${pose_dim}
304
+ fov_half_h: 52.5
305
+ fov_half_v: 37.5
306
+ local_pos_stats: ${loopnav_latent.spec.local_pos_stats}
307
+ stride_to_seconds: 1.0
308
+ memory:
309
+ _target_: far.memories.pnp_cl.PnPRetrieval
310
+ ckpt_path: null
311
+ chunk_size: 10
312
+ num_sets: 5
313
+ softmax_temperature: 1.0
314
+ scoring: visual
315
+ metadata_hidden: 128
316
+ local_pos_stats: ${loopnav_latent.spec.local_pos_stats}
317
+ stride_to_seconds: 1.0
318
+ encoder_mode: adapter
319
+ adapter_hidden: 384
320
+ query_vit:
321
+ _target_: far.memories.pnp_cl.QueryViT
322
+ img_height: 18
323
+ img_width: 32
324
+ patch_size: 2
325
+ in_chans: 16
326
+ embed_dim: 384
327
+ depth: 6
328
+ num_heads: 12
329
+ action_dim: ${action_dim}
330
+ key_dim: 256
331
+ mlp_ratio: 4.0
332
+ _target_: far.builders.models.build_ldwm
333
+ _recursive_: false
334
+ condition_on_context_time: true
335
+ condition_on_context_pose: true
336
+ retriever_loss_weight: 1.0
337
+ diffusion:
338
+ _target_: far.generators.diffusion.create_diffusion
339
+ timestep_respacing: null
340
+ noise_schedule: linear
341
+ diffusion_steps: 1000
342
+ learn_sigma: true
343
+ predict_xstart: false
344
+ sigma_small: false
345
+ use_kl: false
346
+ rescale_learned_sigmas: false
347
+ wandb:
348
+ project: PMem-World
349
+ name: null
350
+ entity: null
351
+ mode: online
352
+ group: loopnav_latent
353
+ tags:
354
+ - loopnav_latent
355
+ run_name: nwm_cdit_b_pnp_visual_posefa_l1_ddim20
356
+ context_size: 4
357
+ action_dim: 5
358
+ pose_dim: 5
359
+ image_height: 360
360
+ image_width: 640
361
+ len_traj_pred: 128
362
+ goals_per_obs: 4
363
+ lr: 0.0001
364
+ lr_mem: 0.0001
365
+ weight_decay: 0.0
366
+ grad_clip_val: 1.0
367
+ iterations: 5000000
368
+ warmup_steps: 5000
369
+ from_checkpoint: null
370
+ global_seed: 0
371
+ log_every: 100
372
+ ckpt_every: 100000
373
+ eval_every: 2500
374
+ rag_every: 20
375
+ rag_noise_levels: 4
376
+ local_rag: true
377
+ local_rag_weight: 1.0
378
+ bfloat16: false
379
+ torch_compile: true
380
+ batch_size: 32
381
+ eval_batch_size: 64
382
+ num_workers: 12
383
+ datasets:
384
+ - loopnav_latent
loopnav/longlive_rag/checkpoints/0700000.pth.tar ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:486b0089f14940c0d90f31b8244ce198d3258380628c0098beff7577de92767f
3
+ size 590567691
loopnav/longlive_rag/config.yaml ADDED
@@ -0,0 +1,570 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ recon:
2
+ spec:
3
+ _target_: far.builders.data.build_dataspec
4
+ local_pos_stats:
5
+ min:
6
+ - -2.5
7
+ - -4
8
+ max:
9
+ - 5
10
+ - 4
11
+ meters_per_waypoint: 0.25
12
+ max_frame_offset: 128
13
+ len_traj_pred: ${len_traj_pred}
14
+ planner_mu_init:
15
+ - -0.1
16
+ - 0
17
+ - 0
18
+ planner_sigma_init:
19
+ - 0.02
20
+ - 0.1
21
+ - 0.3142
22
+ pose_fields:
23
+ - x
24
+ - 'y'
25
+ - z
26
+ - pitch
27
+ - yaw
28
+ pose_dim: 5
29
+ pos_dim: 2
30
+ angle_dim: 1
31
+ pose_mode: 2d
32
+ fps: 4.0
33
+ shared:
34
+ manifest_path: results/manifests/recon/recon_split.json
35
+ backend:
36
+ _target_: far.data.backends.NavigationBackend
37
+ transform:
38
+ _target_: far.data.transforms.make_centercrop_resize
39
+ image_height: ${image_height}
40
+ image_width: ${image_width}
41
+ sampler:
42
+ context_goal:
43
+ _target_: far.data.samplers.ContextGoalSampler
44
+ context_pool_size: 12
45
+ len_traj_pred: ${len_traj_pred}
46
+ goals_per_obs: ${goals_per_obs}
47
+ context_traj:
48
+ _target_: far.data.samplers.ContextTrajectorySampler
49
+ context_pool_size: 12
50
+ len_traj_pred: ${len_traj_pred}
51
+ formatter:
52
+ context_pose:
53
+ _target_: far.data.formatters.ContextPoseFormatter2D
54
+ spec: ${recon.spec}
55
+ train:
56
+ _target_: far.data.datasets.FormattedVideoDataset
57
+ formatter: ${recon.formatter.context_pose}
58
+ base_dataset:
59
+ _target_: far.data.datasets.VideoDataset
60
+ manifest_path: ${recon.shared.manifest_path}
61
+ index_path: results/indices/recon/recon_train.json
62
+ backend: ${recon.shared.backend}
63
+ sampler: ${recon.sampler.context_goal}
64
+ transform: ${recon.shared.transform}
65
+ test:
66
+ _target_: far.data.datasets.FormattedVideoDataset
67
+ formatter: ${recon.formatter.context_pose}
68
+ base_dataset:
69
+ _target_: far.data.datasets.VideoDataset
70
+ manifest_path: ${recon.shared.manifest_path}
71
+ index_path: results/indices/recon/recon_test.json
72
+ backend: ${recon.shared.backend}
73
+ sampler: ${recon.sampler.context_goal}
74
+ transform: ${recon.shared.transform}
75
+ eval:
76
+ _target_: far.data.datasets.FormattedVideoDataset
77
+ formatter: ${recon.formatter.context_pose}
78
+ base_dataset:
79
+ _target_: far.data.datasets.VideoDataset
80
+ manifest_path: ${recon.shared.manifest_path}
81
+ index_path: results/indices/recon/recon_test_time.json
82
+ backend: ${recon.shared.backend}
83
+ sampler: ${recon.sampler.context_traj}
84
+ transform: ${recon.shared.transform}
85
+ eval_traj:
86
+ _target_: far.data.datasets.FormattedVideoDataset
87
+ formatter: ${recon.formatter.context_pose}
88
+ base_dataset:
89
+ _target_: far.data.datasets.VideoDataset
90
+ manifest_path: ${recon.shared.manifest_path}
91
+ index_path: results/indices/recon/recon_test_plan.json
92
+ backend: ${recon.shared.backend}
93
+ sampler: ${recon.sampler.context_traj}
94
+ transform: ${recon.shared.transform}
95
+ loopnav:
96
+ spec:
97
+ _target_: far.builders.data.build_dataspec
98
+ local_pos_stats:
99
+ min:
100
+ - -2.5
101
+ - -4
102
+ - 0
103
+ max:
104
+ - 5
105
+ - 4
106
+ - 1
107
+ meters_per_waypoint: 0.25
108
+ max_frame_offset: 128
109
+ len_traj_pred: ${len_traj_pred}
110
+ planner_mu_init:
111
+ - -0.1
112
+ - 0
113
+ - 0
114
+ - 0
115
+ - 0
116
+ planner_sigma_init:
117
+ - 0.02
118
+ - 0.1
119
+ - 0
120
+ - 0
121
+ - 0.3142
122
+ pose_fields:
123
+ - x
124
+ - 'y'
125
+ - z
126
+ - pitch
127
+ - yaw
128
+ pose_dim: 5
129
+ pos_dim: 3
130
+ angle_dim: 2
131
+ pose_mode: 3d
132
+ fps: 20.0
133
+ shared:
134
+ manifest_path: results/manifests/loopnav/loopnav_split.json
135
+ backend:
136
+ _target_: far.data.backends.LoopNavBackend
137
+ standard_frame: false
138
+ transform:
139
+ _target_: far.data.transforms.make_resize
140
+ image_height: ${image_height}
141
+ image_width: ${image_width}
142
+ sampler:
143
+ random_clip:
144
+ _target_: far.data.samplers.RandomClipSampler
145
+ clip_len: 16
146
+ frame_stride: 10
147
+ context_goal:
148
+ _target_: far.data.samplers.ContextGoalSampler
149
+ context_pool_size: 100
150
+ len_traj_pred: ${len_traj_pred}
151
+ goals_per_obs: ${goals_per_obs}
152
+ context_traj:
153
+ _target_: far.data.samplers.ContextTrajectorySampler
154
+ context_pool_size: 100
155
+ len_traj_pred: ${len_traj_pred}
156
+ formatter:
157
+ frame:
158
+ _target_: far.data.formatters.FrameFormatter
159
+ context_pose:
160
+ _target_: far.data.formatters.ContextPoseFormatter
161
+ spec: ${loopnav.spec}
162
+ train_tokenizer:
163
+ _target_: far.data.datasets.FormattedIterableDataset
164
+ formatter: ${loopnav.formatter.frame}
165
+ base_dataset:
166
+ _target_: far.data.datasets.WebVideoIterableDataset
167
+ manifest_path: results/manifests/loopnav/loopnav.json
168
+ index_path: results/indices/loopnav/loopnav_train_ABCA.json
169
+ backend:
170
+ _target_: far.data.backends.WebDatasetBackend
171
+ sampler: ${loopnav.sampler.random_clip}
172
+ transform: ${loopnav.shared.transform}
173
+ cache_dir: null
174
+ cache_size: 100
175
+ shuffle_shards: 32
176
+ shuffle_samples: 100
177
+ loopnav_latent:
178
+ spec:
179
+ _target_: far.builders.data.build_dataspec
180
+ local_pos_stats:
181
+ min:
182
+ - 0
183
+ - 0
184
+ - 0
185
+ max:
186
+ - 1
187
+ - 1
188
+ - 1
189
+ meters_per_waypoint: 1.0
190
+ max_frame_offset: 20.0
191
+ len_traj_pred: ${len_traj_pred}
192
+ planner_mu_init:
193
+ - -0.1
194
+ - 0
195
+ - 0
196
+ - 0
197
+ - 0
198
+ planner_sigma_init:
199
+ - 0.02
200
+ - 0.1
201
+ - 0
202
+ - 0
203
+ - 0.3142
204
+ pose_fields:
205
+ - x
206
+ - 'y'
207
+ - z
208
+ - pitch
209
+ - yaw
210
+ pose_dim: 5
211
+ pos_dim: 3
212
+ angle_dim: 2
213
+ pose_mode: 3d
214
+ fps: 20.0
215
+ shared:
216
+ manifest_path: results/manifests/loopnav/loopnav_latent.json
217
+ backend:
218
+ _target_: far.data.backends.LatentLoopNavBackend
219
+ key_suffix: .keys_longlive.npy
220
+ standard_frame: true
221
+ transform: null
222
+ sampler:
223
+ random_clip:
224
+ _target_: far.data.samplers.RandomClipSampler
225
+ clip_len: 16
226
+ frame_stride: 10
227
+ context_goal:
228
+ _target_: far.data.samplers.ContextGoalSampler
229
+ context_pool_size: 200
230
+ len_traj_pred: ${len_traj_pred}
231
+ goals_per_obs: ${goals_per_obs}
232
+ context_goal_test:
233
+ _target_: far.data.samplers.ContextGoalSampler
234
+ context_pool_size: 200
235
+ len_traj_pred: ${len_traj_pred}
236
+ goals_per_obs: 4
237
+ context_traj:
238
+ _target_: far.data.samplers.ContextTrajectorySampler
239
+ context_pool_size: 200
240
+ len_traj_pred: ${len_traj_pred}
241
+ formatter:
242
+ frame:
243
+ _target_: far.data.formatters.FrameFormatter
244
+ context_pose:
245
+ _target_: far.data.formatters.ContextPoseFormatter
246
+ spec: ${loopnav_latent.spec}
247
+ train:
248
+ _target_: far.data.datasets.FormattedVideoDataset
249
+ formatter: ${loopnav_latent.formatter.context_pose}
250
+ base_dataset:
251
+ _target_: far.data.datasets.VideoDataset
252
+ manifest_path: ${loopnav_latent.shared.manifest_path}
253
+ index_path: results/indices/loopnav/loopnav_latent_train.json
254
+ backend: ${loopnav_latent.shared.backend}
255
+ sampler: ${loopnav_latent.sampler.context_goal}
256
+ transform: ${loopnav_latent.shared.transform}
257
+ test:
258
+ _target_: far.data.datasets.FormattedVideoDataset
259
+ formatter: ${loopnav_latent.formatter.context_pose}
260
+ base_dataset:
261
+ _target_: far.data.datasets.VideoDataset
262
+ manifest_path: ${loopnav_latent.shared.manifest_path}
263
+ index_path: results/indices/loopnav/loopnav_latent_test.json
264
+ backend: ${loopnav_latent.shared.backend}
265
+ sampler: ${loopnav_latent.sampler.context_goal_test}
266
+ transform: ${loopnav_latent.shared.transform}
267
+ soundspaces_latent:
268
+ spec:
269
+ _target_: far.builders.data.build_dataspec
270
+ local_pos_stats:
271
+ min:
272
+ - 0
273
+ - 0
274
+ - 0
275
+ max:
276
+ - 1
277
+ - 1
278
+ - 1
279
+ meters_per_waypoint: 1.0
280
+ max_frame_offset: 10.0
281
+ len_traj_pred: ${len_traj_pred}
282
+ planner_mu_init:
283
+ - -0.1
284
+ - 0
285
+ - 0
286
+ - 0
287
+ - 0
288
+ planner_sigma_init:
289
+ - 0.02
290
+ - 0.1
291
+ - 0
292
+ - 0
293
+ - 0.3142
294
+ pose_fields:
295
+ - x
296
+ - 'y'
297
+ - z
298
+ - pitch
299
+ - yaw
300
+ pose_dim: 5
301
+ pos_dim: 3
302
+ angle_dim: 2
303
+ pose_mode: 3d
304
+ fps: 10.0
305
+ shared:
306
+ manifest_path: results/manifests/soundspaces/soundspaces_latent.json
307
+ backend:
308
+ _target_: far.data.backends.SoundSpacesBackend
309
+ key_suffix: null
310
+ audio_mode: null
311
+ audio_window_hops: 48
312
+ transform: null
313
+ sampler:
314
+ random_clip:
315
+ _target_: far.data.samplers.RandomClipSampler
316
+ clip_len: 16
317
+ frame_stride: 5
318
+ context_goal:
319
+ _target_: far.data.samplers.ContextGoalSampler
320
+ context_pool_size: 200
321
+ len_traj_pred: ${len_traj_pred}
322
+ goals_per_obs: ${goals_per_obs}
323
+ context_goal_test:
324
+ _target_: far.data.samplers.ContextGoalSampler
325
+ context_pool_size: 200
326
+ len_traj_pred: ${len_traj_pred}
327
+ goals_per_obs: 4
328
+ context_traj:
329
+ _target_: far.data.samplers.ContextTrajectorySampler
330
+ context_pool_size: 200
331
+ len_traj_pred: ${len_traj_pred}
332
+ formatter:
333
+ frame:
334
+ _target_: far.data.formatters.FrameFormatter
335
+ context_pose:
336
+ _target_: far.data.formatters.ContextPoseFormatter
337
+ spec: ${soundspaces_latent.spec}
338
+ train:
339
+ _target_: far.data.datasets.FormattedVideoDataset
340
+ formatter: ${soundspaces_latent.formatter.context_pose}
341
+ base_dataset:
342
+ _target_: far.data.datasets.VideoDataset
343
+ manifest_path: ${soundspaces_latent.shared.manifest_path}
344
+ index_path: results/indices/soundspaces/soundspaces_latent_train.json
345
+ backend: ${soundspaces_latent.shared.backend}
346
+ sampler: ${soundspaces_latent.sampler.context_goal}
347
+ transform: ${soundspaces_latent.shared.transform}
348
+ test:
349
+ _target_: far.data.datasets.FormattedVideoDataset
350
+ formatter: ${soundspaces_latent.formatter.context_pose}
351
+ base_dataset:
352
+ _target_: far.data.datasets.VideoDataset
353
+ manifest_path: ${soundspaces_latent.shared.manifest_path}
354
+ index_path: results/indices/soundspaces/soundspaces_latent_test.json
355
+ backend: ${soundspaces_latent.shared.backend}
356
+ sampler: ${soundspaces_latent.sampler.context_goal_test}
357
+ transform: ${soundspaces_latent.shared.transform}
358
+ soundspaces_v2_latent:
359
+ spec:
360
+ _target_: far.builders.data.build_dataspec
361
+ local_pos_stats:
362
+ min:
363
+ - 0
364
+ - 0
365
+ - 0
366
+ max:
367
+ - 1
368
+ - 1
369
+ - 1
370
+ meters_per_waypoint: 1.0
371
+ max_frame_offset: 10.0
372
+ len_traj_pred: ${len_traj_pred}
373
+ planner_mu_init:
374
+ - -0.1
375
+ - 0
376
+ - 0
377
+ - 0
378
+ - 0
379
+ planner_sigma_init:
380
+ - 0.02
381
+ - 0.1
382
+ - 0
383
+ - 0
384
+ - 0.3142
385
+ pose_fields:
386
+ - x
387
+ - 'y'
388
+ - z
389
+ - pitch
390
+ - yaw
391
+ pose_dim: 5
392
+ pos_dim: 3
393
+ angle_dim: 2
394
+ pose_mode: 3d
395
+ fps: 10.0
396
+ shared:
397
+ manifest_path: results/manifests/soundspaces_v2/soundspaces_v2_latent.json
398
+ backend:
399
+ _target_: far.data.backends.SoundSpacesBackend
400
+ key_suffix: null
401
+ audio_mode: null
402
+ audio_window_hops: 48
403
+ transform: null
404
+ sampler:
405
+ random_clip:
406
+ _target_: far.data.samplers.RandomClipSampler
407
+ clip_len: 16
408
+ frame_stride: 5
409
+ context_goal:
410
+ _target_: far.data.samplers.ContextGoalSampler
411
+ context_pool_size: 200
412
+ len_traj_pred: ${len_traj_pred}
413
+ goals_per_obs: ${goals_per_obs}
414
+ context_goal_test:
415
+ _target_: far.data.samplers.ContextGoalSampler
416
+ context_pool_size: 200
417
+ len_traj_pred: ${len_traj_pred}
418
+ goals_per_obs: 4
419
+ context_traj:
420
+ _target_: far.data.samplers.ContextTrajectorySampler
421
+ context_pool_size: 200
422
+ len_traj_pred: ${len_traj_pred}
423
+ formatter:
424
+ frame:
425
+ _target_: far.data.formatters.FrameFormatter
426
+ context_pose:
427
+ _target_: far.data.formatters.ContextPoseFormatter
428
+ spec: ${soundspaces_v2_latent.spec}
429
+ train:
430
+ _target_: far.data.datasets.FormattedVideoDataset
431
+ formatter: ${soundspaces_v2_latent.formatter.context_pose}
432
+ base_dataset:
433
+ _target_: far.data.datasets.VideoDataset
434
+ manifest_path: ${soundspaces_v2_latent.shared.manifest_path}
435
+ index_path: results/indices/soundspaces_v2/soundspaces_latent_train.json
436
+ backend: ${soundspaces_v2_latent.shared.backend}
437
+ sampler: ${soundspaces_v2_latent.sampler.context_goal}
438
+ transform: ${soundspaces_v2_latent.shared.transform}
439
+ test:
440
+ _target_: far.data.datasets.FormattedVideoDataset
441
+ formatter: ${soundspaces_v2_latent.formatter.context_pose}
442
+ base_dataset:
443
+ _target_: far.data.datasets.VideoDataset
444
+ manifest_path: ${soundspaces_v2_latent.shared.manifest_path}
445
+ index_path: results/indices/soundspaces_v2/soundspaces_latent_test.json
446
+ backend: ${soundspaces_v2_latent.shared.backend}
447
+ sampler: ${soundspaces_v2_latent.sampler.context_goal_test}
448
+ transform: ${soundspaces_v2_latent.shared.transform}
449
+ model:
450
+ tokenizer:
451
+ _target_: far.tokenizers.vit_vae.ViTVAE
452
+ kl_weight: 1.0e-06
453
+ lpips_weight: 0.0
454
+ ckpt_path: models/oasis_500m_vit_vae.pth
455
+ encoder:
456
+ _target_: far.tokenizers.vit_vae.Encoder
457
+ input_height: ${image_height}
458
+ input_width: ${image_width}
459
+ patch_size: 20
460
+ dim: 1024
461
+ depth: 6
462
+ heads: 16
463
+ latent_dim: 16
464
+ use_variational: true
465
+ mlp_ratio: 4.0
466
+ decoder:
467
+ _target_: far.tokenizers.vit_vae.Decoder
468
+ input_height: ${image_height}
469
+ input_width: ${image_width}
470
+ patch_size: 20
471
+ dim: 1024
472
+ depth: 12
473
+ heads: 16
474
+ latent_dim: 16
475
+ mlp_ratio: 4.0
476
+ generator:
477
+ _target_: far.generators.cdit_mod_pose_fa.CDiT
478
+ depth: 12
479
+ hidden_size: 768
480
+ patch_size: 2
481
+ num_heads: 12
482
+ context_size: 4
483
+ ckpt_path: null
484
+ action_dim: ${action_dim}
485
+ pose_dim: ${pose_dim}
486
+ fov_half_h: 52.5
487
+ fov_half_v: 37.5
488
+ local_pos_stats: ${loopnav_latent.spec.local_pos_stats}
489
+ stride_to_seconds: 1.0
490
+ memory:
491
+ _target_: far.memories.pnp_cl.PnPRetrieval
492
+ ckpt_path: null
493
+ chunk_size: 10
494
+ num_sets: 5
495
+ softmax_temperature: 1.0
496
+ scoring: visual
497
+ metadata_hidden: 128
498
+ local_pos_stats: ${loopnav_latent.spec.local_pos_stats}
499
+ stride_to_seconds: 1.0
500
+ encoder_mode: frozen
501
+ adapter_hidden: 384
502
+ query_source: frame
503
+ query_conditioning: none
504
+ gate_eps: 0.05
505
+ query_vit:
506
+ _target_: far.memories.pnp_cl.QueryViT
507
+ img_height: 18
508
+ img_width: 32
509
+ patch_size: 2
510
+ in_chans: 16
511
+ embed_dim: 384
512
+ depth: 6
513
+ num_heads: 12
514
+ action_dim: ${action_dim}
515
+ key_dim: 256
516
+ mlp_ratio: 4.0
517
+ _target_: far.builders.models.build_ldwm
518
+ _recursive_: false
519
+ condition_on_context_time: true
520
+ condition_on_context_pose: true
521
+ retriever_loss_weight: 0.0
522
+ diffusion:
523
+ _target_: far.generators.diffusion.create_diffusion
524
+ timestep_respacing: null
525
+ noise_schedule: linear
526
+ diffusion_steps: 1000
527
+ learn_sigma: true
528
+ predict_xstart: false
529
+ sigma_small: false
530
+ use_kl: false
531
+ rescale_learned_sigmas: false
532
+ wandb:
533
+ project: PMem-World
534
+ name: null
535
+ entity: null
536
+ mode: online
537
+ group: loopnav_latent
538
+ tags:
539
+ - loopnav_latent
540
+ run_name: nwm_cdit_b_pnp_longlive_posefa_l0
541
+ context_size: 4
542
+ action_dim: 5
543
+ pose_dim: 5
544
+ image_height: 360
545
+ image_width: 640
546
+ len_traj_pred: 128
547
+ goals_per_obs: 4
548
+ lr: 0.0001
549
+ lr_mem: null
550
+ weight_decay: 0.0
551
+ grad_clip_val: 1.0
552
+ iterations: 5000000
553
+ warmup_steps: 5000
554
+ from_checkpoint: null
555
+ global_seed: 0
556
+ log_every: 100
557
+ ckpt_every: 100000
558
+ latest_every: 10000
559
+ eval_every: 2500
560
+ rag_every: 0
561
+ rag_noise_levels: 4
562
+ local_rag: false
563
+ local_rag_weight: 1.0
564
+ bfloat16: false
565
+ torch_compile: true
566
+ batch_size: 32
567
+ eval_batch_size: 64
568
+ num_workers: 12
569
+ datasets:
570
+ - loopnav_latent
loopnav/temporal/checkpoints/0700000.pth.tar ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:7559efc7408a420264b6fd5fdb000ed57e1efaf3a2620464d8865e25737386a7
3
+ size 524674293
loopnav/temporal/config.yaml ADDED
@@ -0,0 +1,363 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ recon:
2
+ spec:
3
+ _target_: far.builders.data.build_dataspec
4
+ local_pos_stats:
5
+ min:
6
+ - -2.5
7
+ - -4
8
+ max:
9
+ - 5
10
+ - 4
11
+ meters_per_waypoint: 0.25
12
+ max_frame_offset: 128
13
+ len_traj_pred: ${len_traj_pred}
14
+ planner_mu_init:
15
+ - -0.1
16
+ - 0
17
+ - 0
18
+ planner_sigma_init:
19
+ - 0.02
20
+ - 0.1
21
+ - 0.3142
22
+ pose_fields:
23
+ - x
24
+ - 'y'
25
+ - z
26
+ - pitch
27
+ - yaw
28
+ pose_dim: 5
29
+ pos_dim: 2
30
+ angle_dim: 1
31
+ pose_mode: 2d
32
+ fps: 4.0
33
+ shared:
34
+ manifest_path: results/manifests/recon/recon_split.json
35
+ backend:
36
+ _target_: far.data.backends.NavigationBackend
37
+ transform:
38
+ _target_: far.data.transforms.make_centercrop_resize
39
+ image_height: ${image_height}
40
+ image_width: ${image_width}
41
+ sampler:
42
+ context_goal:
43
+ _target_: far.data.samplers.ContextGoalSampler
44
+ context_pool_size: 12
45
+ len_traj_pred: ${len_traj_pred}
46
+ goals_per_obs: ${goals_per_obs}
47
+ context_traj:
48
+ _target_: far.data.samplers.ContextTrajectorySampler
49
+ context_pool_size: 12
50
+ len_traj_pred: ${len_traj_pred}
51
+ formatter:
52
+ context_pose:
53
+ _target_: far.data.formatters.ContextPoseFormatter2D
54
+ spec: ${recon.spec}
55
+ train:
56
+ _target_: far.data.datasets.FormattedVideoDataset
57
+ formatter: ${recon.formatter.context_pose}
58
+ base_dataset:
59
+ _target_: far.data.datasets.VideoDataset
60
+ manifest_path: ${recon.shared.manifest_path}
61
+ index_path: results/indices/recon/recon_train.json
62
+ backend: ${recon.shared.backend}
63
+ sampler: ${recon.sampler.context_goal}
64
+ transform: ${recon.shared.transform}
65
+ test:
66
+ _target_: far.data.datasets.FormattedVideoDataset
67
+ formatter: ${recon.formatter.context_pose}
68
+ base_dataset:
69
+ _target_: far.data.datasets.VideoDataset
70
+ manifest_path: ${recon.shared.manifest_path}
71
+ index_path: results/indices/recon/recon_test.json
72
+ backend: ${recon.shared.backend}
73
+ sampler: ${recon.sampler.context_goal}
74
+ transform: ${recon.shared.transform}
75
+ eval:
76
+ _target_: far.data.datasets.FormattedVideoDataset
77
+ formatter: ${recon.formatter.context_pose}
78
+ base_dataset:
79
+ _target_: far.data.datasets.VideoDataset
80
+ manifest_path: ${recon.shared.manifest_path}
81
+ index_path: results/indices/recon/recon_test_time.json
82
+ backend: ${recon.shared.backend}
83
+ sampler: ${recon.sampler.context_traj}
84
+ transform: ${recon.shared.transform}
85
+ eval_traj:
86
+ _target_: far.data.datasets.FormattedVideoDataset
87
+ formatter: ${recon.formatter.context_pose}
88
+ base_dataset:
89
+ _target_: far.data.datasets.VideoDataset
90
+ manifest_path: ${recon.shared.manifest_path}
91
+ index_path: results/indices/recon/recon_test_plan.json
92
+ backend: ${recon.shared.backend}
93
+ sampler: ${recon.sampler.context_traj}
94
+ transform: ${recon.shared.transform}
95
+ loopnav:
96
+ spec:
97
+ _target_: far.builders.data.build_dataspec
98
+ local_pos_stats:
99
+ min:
100
+ - -2.5
101
+ - -4
102
+ - 0
103
+ max:
104
+ - 5
105
+ - 4
106
+ - 1
107
+ meters_per_waypoint: 0.25
108
+ max_frame_offset: 128
109
+ len_traj_pred: ${len_traj_pred}
110
+ planner_mu_init:
111
+ - -0.1
112
+ - 0
113
+ - 0
114
+ - 0
115
+ - 0
116
+ planner_sigma_init:
117
+ - 0.02
118
+ - 0.1
119
+ - 0
120
+ - 0
121
+ - 0.3142
122
+ pose_fields:
123
+ - x
124
+ - 'y'
125
+ - z
126
+ - pitch
127
+ - yaw
128
+ pose_dim: 5
129
+ pos_dim: 3
130
+ angle_dim: 2
131
+ pose_mode: 3d
132
+ fps: 20.0
133
+ shared:
134
+ manifest_path: results/manifests/loopnav/loopnav_split.json
135
+ backend:
136
+ _target_: far.data.backends.LoopNavBackend
137
+ standard_frame: false
138
+ transform:
139
+ _target_: far.data.transforms.make_resize
140
+ image_height: ${image_height}
141
+ image_width: ${image_width}
142
+ sampler:
143
+ random_clip:
144
+ _target_: far.data.samplers.RandomClipSampler
145
+ clip_len: 16
146
+ frame_stride: 10
147
+ context_goal:
148
+ _target_: far.data.samplers.ContextGoalSampler
149
+ context_pool_size: 100
150
+ len_traj_pred: ${len_traj_pred}
151
+ goals_per_obs: ${goals_per_obs}
152
+ context_traj:
153
+ _target_: far.data.samplers.ContextTrajectorySampler
154
+ context_pool_size: 100
155
+ len_traj_pred: ${len_traj_pred}
156
+ formatter:
157
+ frame:
158
+ _target_: far.data.formatters.FrameFormatter
159
+ context_pose:
160
+ _target_: far.data.formatters.ContextPoseFormatter
161
+ spec: ${loopnav.spec}
162
+ train_tokenizer:
163
+ _target_: far.data.datasets.FormattedIterableDataset
164
+ formatter: ${loopnav.formatter.frame}
165
+ base_dataset:
166
+ _target_: far.data.datasets.WebVideoIterableDataset
167
+ manifest_path: results/manifests/loopnav/loopnav.json
168
+ index_path: results/indices/loopnav/loopnav_train_ABCA.json
169
+ backend:
170
+ _target_: far.data.backends.WebDatasetBackend
171
+ sampler: ${loopnav.sampler.random_clip}
172
+ transform: ${loopnav.shared.transform}
173
+ cache_dir: null
174
+ cache_size: 100
175
+ shuffle_shards: 32
176
+ shuffle_samples: 100
177
+ loopnav_latent:
178
+ spec:
179
+ _target_: far.builders.data.build_dataspec
180
+ local_pos_stats:
181
+ min:
182
+ - 0
183
+ - 0
184
+ - 0
185
+ max:
186
+ - 1
187
+ - 1
188
+ - 1
189
+ meters_per_waypoint: 1.0
190
+ max_frame_offset: 20.0
191
+ len_traj_pred: ${len_traj_pred}
192
+ planner_mu_init:
193
+ - -0.1
194
+ - 0
195
+ - 0
196
+ - 0
197
+ - 0
198
+ planner_sigma_init:
199
+ - 0.02
200
+ - 0.1
201
+ - 0
202
+ - 0
203
+ - 0.3142
204
+ pose_fields:
205
+ - x
206
+ - 'y'
207
+ - z
208
+ - pitch
209
+ - yaw
210
+ pose_dim: 5
211
+ pos_dim: 3
212
+ angle_dim: 2
213
+ pose_mode: 3d
214
+ fps: 20.0
215
+ shared:
216
+ manifest_path: ${oc.env:FAR_RESULT_ROOT}/manifests/loopnav/loopnav_latent.json
217
+ backend:
218
+ _target_: far.data.backends.LatentLoopNavBackend
219
+ key_suffix: .keys.npy
220
+ standard_frame: true
221
+ transform: null
222
+ sampler:
223
+ random_clip:
224
+ _target_: far.data.samplers.RandomClipSampler
225
+ clip_len: 16
226
+ frame_stride: 10
227
+ context_goal:
228
+ _target_: far.data.samplers.ContextGoalSampler
229
+ context_pool_size: 200
230
+ len_traj_pred: ${len_traj_pred}
231
+ goals_per_obs: ${goals_per_obs}
232
+ context_goal_test:
233
+ _target_: far.data.samplers.ContextGoalSampler
234
+ context_pool_size: 200
235
+ len_traj_pred: ${len_traj_pred}
236
+ goals_per_obs: 4
237
+ context_traj:
238
+ _target_: far.data.samplers.ContextTrajectorySampler
239
+ context_pool_size: 200
240
+ len_traj_pred: ${len_traj_pred}
241
+ formatter:
242
+ frame:
243
+ _target_: far.data.formatters.FrameFormatter
244
+ context_pose:
245
+ _target_: far.data.formatters.ContextPoseFormatter
246
+ spec: ${loopnav_latent.spec}
247
+ train:
248
+ _target_: far.data.datasets.FormattedVideoDataset
249
+ formatter: ${loopnav_latent.formatter.context_pose}
250
+ base_dataset:
251
+ _target_: far.data.datasets.VideoDataset
252
+ manifest_path: ${loopnav_latent.shared.manifest_path}
253
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/loopnav/loopnav_latent_train.json
254
+ backend: ${loopnav_latent.shared.backend}
255
+ sampler: ${loopnav_latent.sampler.context_goal}
256
+ transform: ${loopnav_latent.shared.transform}
257
+ test:
258
+ _target_: far.data.datasets.FormattedVideoDataset
259
+ formatter: ${loopnav_latent.formatter.context_pose}
260
+ base_dataset:
261
+ _target_: far.data.datasets.VideoDataset
262
+ manifest_path: ${loopnav_latent.shared.manifest_path}
263
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/loopnav/loopnav_latent_test.json
264
+ backend: ${loopnav_latent.shared.backend}
265
+ sampler: ${loopnav_latent.sampler.context_goal_test}
266
+ transform: ${loopnav_latent.shared.transform}
267
+ model:
268
+ tokenizer:
269
+ _target_: far.tokenizers.vit_vae.ViTVAE
270
+ kl_weight: 1.0e-06
271
+ lpips_weight: 0.0
272
+ ckpt_path: ${oc.env:FAR_MODELS_ROOT}/oasis_500m_vit_vae.pth
273
+ encoder:
274
+ _target_: far.tokenizers.vit_vae.Encoder
275
+ input_height: ${image_height}
276
+ input_width: ${image_width}
277
+ patch_size: 20
278
+ dim: 1024
279
+ depth: 6
280
+ heads: 16
281
+ latent_dim: 16
282
+ use_variational: true
283
+ mlp_ratio: 4.0
284
+ decoder:
285
+ _target_: far.tokenizers.vit_vae.Decoder
286
+ input_height: ${image_height}
287
+ input_width: ${image_width}
288
+ patch_size: 20
289
+ dim: 1024
290
+ depth: 12
291
+ heads: 16
292
+ latent_dim: 16
293
+ mlp_ratio: 4.0
294
+ generator:
295
+ _target_: far.generators.cdit_mod_pose_fa.CDiT
296
+ depth: 12
297
+ hidden_size: 768
298
+ patch_size: 2
299
+ num_heads: 12
300
+ context_size: 4
301
+ ckpt_path: null
302
+ action_dim: ${action_dim}
303
+ pose_dim: ${pose_dim}
304
+ fov_half_h: 52.5
305
+ fov_half_v: 37.5
306
+ local_pos_stats: ${loopnav_latent.spec.local_pos_stats}
307
+ stride_to_seconds: 1.0
308
+ memory:
309
+ _target_: far.memories.baselines.TemporalRetrieval
310
+ interval: 1.0
311
+ _target_: far.builders.models.build_ldwm
312
+ _recursive_: false
313
+ condition_on_context_time: true
314
+ condition_on_context_pose: true
315
+ retriever_loss_weight: 1.0
316
+ diffusion:
317
+ _target_: far.generators.diffusion.create_diffusion
318
+ timestep_respacing: null
319
+ noise_schedule: linear
320
+ diffusion_steps: 1000
321
+ learn_sigma: true
322
+ predict_xstart: false
323
+ sigma_small: false
324
+ use_kl: false
325
+ rescale_learned_sigmas: false
326
+ wandb:
327
+ project: PMem-World
328
+ name: null
329
+ entity: null
330
+ mode: online
331
+ group: loopnav_latent
332
+ tags:
333
+ - loopnav_latent
334
+ run_name: nwm_cdit_b_temporal_posefa_ddim20
335
+ context_size: 4
336
+ action_dim: 5
337
+ pose_dim: 5
338
+ image_height: 360
339
+ image_width: 640
340
+ len_traj_pred: 128
341
+ goals_per_obs: 4
342
+ lr: 0.0001
343
+ lr_mem: null
344
+ weight_decay: 0.0
345
+ grad_clip_val: 1.0
346
+ iterations: 5000000
347
+ warmup_steps: 5000
348
+ from_checkpoint: null
349
+ global_seed: 0
350
+ log_every: 100
351
+ ckpt_every: 100000
352
+ eval_every: 2500
353
+ rag_every: 0
354
+ rag_noise_levels: 4
355
+ local_rag: false
356
+ local_rag_weight: 1.0
357
+ bfloat16: false
358
+ torch_compile: true
359
+ batch_size: 16
360
+ eval_batch_size: 32
361
+ num_workers: 12
362
+ datasets:
363
+ - loopnav_latent
loopnav/worldmem/checkpoints/0700000.pth.tar ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d3b0ccf8ad353c1267a07c039f893024042c6b4c2a52cb2396934741241a692a
3
+ size 524674293
loopnav/worldmem/config.yaml ADDED
@@ -0,0 +1,368 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ recon:
2
+ spec:
3
+ _target_: far.builders.data.build_dataspec
4
+ local_pos_stats:
5
+ min:
6
+ - -2.5
7
+ - -4
8
+ max:
9
+ - 5
10
+ - 4
11
+ meters_per_waypoint: 0.25
12
+ max_frame_offset: 128
13
+ len_traj_pred: ${len_traj_pred}
14
+ planner_mu_init:
15
+ - -0.1
16
+ - 0
17
+ - 0
18
+ planner_sigma_init:
19
+ - 0.02
20
+ - 0.1
21
+ - 0.3142
22
+ pose_fields:
23
+ - x
24
+ - 'y'
25
+ - z
26
+ - pitch
27
+ - yaw
28
+ pose_dim: 5
29
+ pos_dim: 2
30
+ angle_dim: 1
31
+ pose_mode: 2d
32
+ fps: 4.0
33
+ shared:
34
+ manifest_path: results/manifests/recon/recon_split.json
35
+ backend:
36
+ _target_: far.data.backends.NavigationBackend
37
+ transform:
38
+ _target_: far.data.transforms.make_centercrop_resize
39
+ image_height: ${image_height}
40
+ image_width: ${image_width}
41
+ sampler:
42
+ context_goal:
43
+ _target_: far.data.samplers.ContextGoalSampler
44
+ context_pool_size: 12
45
+ len_traj_pred: ${len_traj_pred}
46
+ goals_per_obs: ${goals_per_obs}
47
+ context_traj:
48
+ _target_: far.data.samplers.ContextTrajectorySampler
49
+ context_pool_size: 12
50
+ len_traj_pred: ${len_traj_pred}
51
+ formatter:
52
+ context_pose:
53
+ _target_: far.data.formatters.ContextPoseFormatter2D
54
+ spec: ${recon.spec}
55
+ train:
56
+ _target_: far.data.datasets.FormattedVideoDataset
57
+ formatter: ${recon.formatter.context_pose}
58
+ base_dataset:
59
+ _target_: far.data.datasets.VideoDataset
60
+ manifest_path: ${recon.shared.manifest_path}
61
+ index_path: results/indices/recon/recon_train.json
62
+ backend: ${recon.shared.backend}
63
+ sampler: ${recon.sampler.context_goal}
64
+ transform: ${recon.shared.transform}
65
+ test:
66
+ _target_: far.data.datasets.FormattedVideoDataset
67
+ formatter: ${recon.formatter.context_pose}
68
+ base_dataset:
69
+ _target_: far.data.datasets.VideoDataset
70
+ manifest_path: ${recon.shared.manifest_path}
71
+ index_path: results/indices/recon/recon_test.json
72
+ backend: ${recon.shared.backend}
73
+ sampler: ${recon.sampler.context_goal}
74
+ transform: ${recon.shared.transform}
75
+ eval:
76
+ _target_: far.data.datasets.FormattedVideoDataset
77
+ formatter: ${recon.formatter.context_pose}
78
+ base_dataset:
79
+ _target_: far.data.datasets.VideoDataset
80
+ manifest_path: ${recon.shared.manifest_path}
81
+ index_path: results/indices/recon/recon_test_time.json
82
+ backend: ${recon.shared.backend}
83
+ sampler: ${recon.sampler.context_traj}
84
+ transform: ${recon.shared.transform}
85
+ eval_traj:
86
+ _target_: far.data.datasets.FormattedVideoDataset
87
+ formatter: ${recon.formatter.context_pose}
88
+ base_dataset:
89
+ _target_: far.data.datasets.VideoDataset
90
+ manifest_path: ${recon.shared.manifest_path}
91
+ index_path: results/indices/recon/recon_test_plan.json
92
+ backend: ${recon.shared.backend}
93
+ sampler: ${recon.sampler.context_traj}
94
+ transform: ${recon.shared.transform}
95
+ loopnav:
96
+ spec:
97
+ _target_: far.builders.data.build_dataspec
98
+ local_pos_stats:
99
+ min:
100
+ - -2.5
101
+ - -4
102
+ - 0
103
+ max:
104
+ - 5
105
+ - 4
106
+ - 1
107
+ meters_per_waypoint: 0.25
108
+ max_frame_offset: 128
109
+ len_traj_pred: ${len_traj_pred}
110
+ planner_mu_init:
111
+ - -0.1
112
+ - 0
113
+ - 0
114
+ - 0
115
+ - 0
116
+ planner_sigma_init:
117
+ - 0.02
118
+ - 0.1
119
+ - 0
120
+ - 0
121
+ - 0.3142
122
+ pose_fields:
123
+ - x
124
+ - 'y'
125
+ - z
126
+ - pitch
127
+ - yaw
128
+ pose_dim: 5
129
+ pos_dim: 3
130
+ angle_dim: 2
131
+ pose_mode: 3d
132
+ fps: 20.0
133
+ shared:
134
+ manifest_path: results/manifests/loopnav/loopnav_split.json
135
+ backend:
136
+ _target_: far.data.backends.LoopNavBackend
137
+ standard_frame: false
138
+ transform:
139
+ _target_: far.data.transforms.make_resize
140
+ image_height: ${image_height}
141
+ image_width: ${image_width}
142
+ sampler:
143
+ random_clip:
144
+ _target_: far.data.samplers.RandomClipSampler
145
+ clip_len: 16
146
+ frame_stride: 10
147
+ context_goal:
148
+ _target_: far.data.samplers.ContextGoalSampler
149
+ context_pool_size: 100
150
+ len_traj_pred: ${len_traj_pred}
151
+ goals_per_obs: ${goals_per_obs}
152
+ context_traj:
153
+ _target_: far.data.samplers.ContextTrajectorySampler
154
+ context_pool_size: 100
155
+ len_traj_pred: ${len_traj_pred}
156
+ formatter:
157
+ frame:
158
+ _target_: far.data.formatters.FrameFormatter
159
+ context_pose:
160
+ _target_: far.data.formatters.ContextPoseFormatter
161
+ spec: ${loopnav.spec}
162
+ train_tokenizer:
163
+ _target_: far.data.datasets.FormattedIterableDataset
164
+ formatter: ${loopnav.formatter.frame}
165
+ base_dataset:
166
+ _target_: far.data.datasets.WebVideoIterableDataset
167
+ manifest_path: results/manifests/loopnav/loopnav.json
168
+ index_path: results/indices/loopnav/loopnav_train_ABCA.json
169
+ backend:
170
+ _target_: far.data.backends.WebDatasetBackend
171
+ sampler: ${loopnav.sampler.random_clip}
172
+ transform: ${loopnav.shared.transform}
173
+ cache_dir: null
174
+ cache_size: 100
175
+ shuffle_shards: 32
176
+ shuffle_samples: 100
177
+ loopnav_latent:
178
+ spec:
179
+ _target_: far.builders.data.build_dataspec
180
+ local_pos_stats:
181
+ min:
182
+ - 0
183
+ - 0
184
+ - 0
185
+ max:
186
+ - 1
187
+ - 1
188
+ - 1
189
+ meters_per_waypoint: 1.0
190
+ max_frame_offset: 20.0
191
+ len_traj_pred: ${len_traj_pred}
192
+ planner_mu_init:
193
+ - -0.1
194
+ - 0
195
+ - 0
196
+ - 0
197
+ - 0
198
+ planner_sigma_init:
199
+ - 0.02
200
+ - 0.1
201
+ - 0
202
+ - 0
203
+ - 0.3142
204
+ pose_fields:
205
+ - x
206
+ - 'y'
207
+ - z
208
+ - pitch
209
+ - yaw
210
+ pose_dim: 5
211
+ pos_dim: 3
212
+ angle_dim: 2
213
+ pose_mode: 3d
214
+ fps: 20.0
215
+ shared:
216
+ manifest_path: results/manifests/loopnav/loopnav_latent.json
217
+ backend:
218
+ _target_: far.data.backends.LatentLoopNavBackend
219
+ key_suffix: .keys.npy
220
+ standard_frame: true
221
+ transform: null
222
+ sampler:
223
+ random_clip:
224
+ _target_: far.data.samplers.RandomClipSampler
225
+ clip_len: 16
226
+ frame_stride: 10
227
+ context_goal:
228
+ _target_: far.data.samplers.ContextGoalSampler
229
+ context_pool_size: 200
230
+ len_traj_pred: ${len_traj_pred}
231
+ goals_per_obs: ${goals_per_obs}
232
+ context_goal_test:
233
+ _target_: far.data.samplers.ContextGoalSampler
234
+ context_pool_size: 200
235
+ len_traj_pred: ${len_traj_pred}
236
+ goals_per_obs: 4
237
+ context_traj:
238
+ _target_: far.data.samplers.ContextTrajectorySampler
239
+ context_pool_size: 200
240
+ len_traj_pred: ${len_traj_pred}
241
+ formatter:
242
+ frame:
243
+ _target_: far.data.formatters.FrameFormatter
244
+ context_pose:
245
+ _target_: far.data.formatters.ContextPoseFormatter
246
+ spec: ${loopnav_latent.spec}
247
+ train:
248
+ _target_: far.data.datasets.FormattedVideoDataset
249
+ formatter: ${loopnav_latent.formatter.context_pose}
250
+ base_dataset:
251
+ _target_: far.data.datasets.VideoDataset
252
+ manifest_path: ${loopnav_latent.shared.manifest_path}
253
+ index_path: results/indices/loopnav/loopnav_latent_train.json
254
+ backend: ${loopnav_latent.shared.backend}
255
+ sampler: ${loopnav_latent.sampler.context_goal}
256
+ transform: ${loopnav_latent.shared.transform}
257
+ test:
258
+ _target_: far.data.datasets.FormattedVideoDataset
259
+ formatter: ${loopnav_latent.formatter.context_pose}
260
+ base_dataset:
261
+ _target_: far.data.datasets.VideoDataset
262
+ manifest_path: ${loopnav_latent.shared.manifest_path}
263
+ index_path: results/indices/loopnav/loopnav_latent_test.json
264
+ backend: ${loopnav_latent.shared.backend}
265
+ sampler: ${loopnav_latent.sampler.context_goal_test}
266
+ transform: ${loopnav_latent.shared.transform}
267
+ model:
268
+ tokenizer:
269
+ _target_: far.tokenizers.vit_vae.ViTVAE
270
+ kl_weight: 1.0e-06
271
+ lpips_weight: 0.0
272
+ ckpt_path: models/oasis_500m_vit_vae.pth
273
+ encoder:
274
+ _target_: far.tokenizers.vit_vae.Encoder
275
+ input_height: ${image_height}
276
+ input_width: ${image_width}
277
+ patch_size: 20
278
+ dim: 1024
279
+ depth: 6
280
+ heads: 16
281
+ latent_dim: 16
282
+ use_variational: true
283
+ mlp_ratio: 4.0
284
+ decoder:
285
+ _target_: far.tokenizers.vit_vae.Decoder
286
+ input_height: ${image_height}
287
+ input_width: ${image_width}
288
+ patch_size: 20
289
+ dim: 1024
290
+ depth: 12
291
+ heads: 16
292
+ latent_dim: 16
293
+ mlp_ratio: 4.0
294
+ generator:
295
+ _target_: far.generators.cdit_mod_pose_fa.CDiT
296
+ depth: 12
297
+ hidden_size: 768
298
+ patch_size: 2
299
+ num_heads: 12
300
+ context_size: 4
301
+ ckpt_path: null
302
+ action_dim: ${action_dim}
303
+ pose_dim: ${pose_dim}
304
+ fov_half_h: 52.5
305
+ fov_half_v: 37.5
306
+ local_pos_stats: ${loopnav_latent.spec.local_pos_stats}
307
+ stride_to_seconds: 1.0
308
+ memory:
309
+ _target_: far.memories.worldmem.WorldMemRetrieval
310
+ num_samples: 10000
311
+ radius: 30.0
312
+ fov_half_h: 52.5
313
+ fov_half_v: 37.5
314
+ recency_factor: 0.2
315
+ local_pos_stats: ${loopnav_latent.spec.local_pos_stats}
316
+ _target_: far.builders.models.build_ldwm
317
+ _recursive_: false
318
+ condition_on_context_time: true
319
+ condition_on_context_pose: true
320
+ retriever_loss_weight: 1.0
321
+ diffusion:
322
+ _target_: far.generators.diffusion.create_diffusion
323
+ timestep_respacing: null
324
+ noise_schedule: linear
325
+ diffusion_steps: 1000
326
+ learn_sigma: true
327
+ predict_xstart: false
328
+ sigma_small: false
329
+ use_kl: false
330
+ rescale_learned_sigmas: false
331
+ wandb:
332
+ project: PMem-World
333
+ name: null
334
+ entity: null
335
+ mode: online
336
+ group: loopnav_latent
337
+ tags:
338
+ - loopnav_latent
339
+ run_name: nwm_cdit_b_worldmem_posefa_ddim20
340
+ context_size: 4
341
+ action_dim: 5
342
+ pose_dim: 5
343
+ image_height: 360
344
+ image_width: 640
345
+ len_traj_pred: 128
346
+ goals_per_obs: 4
347
+ lr: 0.0001
348
+ lr_mem: null
349
+ weight_decay: 0.0
350
+ grad_clip_val: 1.0
351
+ iterations: 5000000
352
+ warmup_steps: 5000
353
+ from_checkpoint: null
354
+ global_seed: 0
355
+ log_every: 100
356
+ ckpt_every: 100000
357
+ eval_every: 2500
358
+ rag_every: 0
359
+ rag_noise_levels: 4
360
+ local_rag: false
361
+ local_rag_weight: 1.0
362
+ bfloat16: false
363
+ torch_compile: true
364
+ batch_size: 32
365
+ eval_batch_size: 64
366
+ num_workers: 12
367
+ datasets:
368
+ - loopnav_latent
oasis_500m_vit_vae.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9f2e2a1645596e5b0dc2ef54f762c70eac6515226632270d58d6fa6c8387ce33
3
+ size 917069061
soundspaces_v1/far_meta/checkpoints/0700000.pth.tar ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:299fa9ff69f8374acc4204a2a25a457752002b557ee166caa9feb50f02cb51c5
3
+ size 590474195
soundspaces_v1/far_meta/config.yaml ADDED
@@ -0,0 +1,458 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ recon:
2
+ spec:
3
+ _target_: far.builders.data.build_dataspec
4
+ local_pos_stats:
5
+ min:
6
+ - -2.5
7
+ - -4
8
+ max:
9
+ - 5
10
+ - 4
11
+ meters_per_waypoint: 0.25
12
+ max_frame_offset: 128
13
+ len_traj_pred: ${len_traj_pred}
14
+ planner_mu_init:
15
+ - -0.1
16
+ - 0
17
+ - 0
18
+ planner_sigma_init:
19
+ - 0.02
20
+ - 0.1
21
+ - 0.3142
22
+ pose_fields:
23
+ - x
24
+ - 'y'
25
+ - z
26
+ - pitch
27
+ - yaw
28
+ pose_dim: 5
29
+ pos_dim: 2
30
+ angle_dim: 1
31
+ pose_mode: 2d
32
+ fps: 4.0
33
+ shared:
34
+ manifest_path: results/manifests/recon/recon_split.json
35
+ backend:
36
+ _target_: far.data.backends.NavigationBackend
37
+ transform:
38
+ _target_: far.data.transforms.make_centercrop_resize
39
+ image_height: ${image_height}
40
+ image_width: ${image_width}
41
+ sampler:
42
+ context_goal:
43
+ _target_: far.data.samplers.ContextGoalSampler
44
+ context_pool_size: 12
45
+ len_traj_pred: ${len_traj_pred}
46
+ goals_per_obs: ${goals_per_obs}
47
+ context_traj:
48
+ _target_: far.data.samplers.ContextTrajectorySampler
49
+ context_pool_size: 12
50
+ len_traj_pred: ${len_traj_pred}
51
+ formatter:
52
+ context_pose:
53
+ _target_: far.data.formatters.ContextPoseFormatter2D
54
+ spec: ${recon.spec}
55
+ train:
56
+ _target_: far.data.datasets.FormattedVideoDataset
57
+ formatter: ${recon.formatter.context_pose}
58
+ base_dataset:
59
+ _target_: far.data.datasets.VideoDataset
60
+ manifest_path: ${recon.shared.manifest_path}
61
+ index_path: results/indices/recon/recon_train.json
62
+ backend: ${recon.shared.backend}
63
+ sampler: ${recon.sampler.context_goal}
64
+ transform: ${recon.shared.transform}
65
+ test:
66
+ _target_: far.data.datasets.FormattedVideoDataset
67
+ formatter: ${recon.formatter.context_pose}
68
+ base_dataset:
69
+ _target_: far.data.datasets.VideoDataset
70
+ manifest_path: ${recon.shared.manifest_path}
71
+ index_path: results/indices/recon/recon_test.json
72
+ backend: ${recon.shared.backend}
73
+ sampler: ${recon.sampler.context_goal}
74
+ transform: ${recon.shared.transform}
75
+ eval:
76
+ _target_: far.data.datasets.FormattedVideoDataset
77
+ formatter: ${recon.formatter.context_pose}
78
+ base_dataset:
79
+ _target_: far.data.datasets.VideoDataset
80
+ manifest_path: ${recon.shared.manifest_path}
81
+ index_path: results/indices/recon/recon_test_time.json
82
+ backend: ${recon.shared.backend}
83
+ sampler: ${recon.sampler.context_traj}
84
+ transform: ${recon.shared.transform}
85
+ eval_traj:
86
+ _target_: far.data.datasets.FormattedVideoDataset
87
+ formatter: ${recon.formatter.context_pose}
88
+ base_dataset:
89
+ _target_: far.data.datasets.VideoDataset
90
+ manifest_path: ${recon.shared.manifest_path}
91
+ index_path: results/indices/recon/recon_test_plan.json
92
+ backend: ${recon.shared.backend}
93
+ sampler: ${recon.sampler.context_traj}
94
+ transform: ${recon.shared.transform}
95
+ loopnav:
96
+ spec:
97
+ _target_: far.builders.data.build_dataspec
98
+ local_pos_stats:
99
+ min:
100
+ - -2.5
101
+ - -4
102
+ - 0
103
+ max:
104
+ - 5
105
+ - 4
106
+ - 1
107
+ meters_per_waypoint: 0.25
108
+ max_frame_offset: 128
109
+ len_traj_pred: ${len_traj_pred}
110
+ planner_mu_init:
111
+ - -0.1
112
+ - 0
113
+ - 0
114
+ - 0
115
+ - 0
116
+ planner_sigma_init:
117
+ - 0.02
118
+ - 0.1
119
+ - 0
120
+ - 0
121
+ - 0.3142
122
+ pose_fields:
123
+ - x
124
+ - 'y'
125
+ - z
126
+ - pitch
127
+ - yaw
128
+ pose_dim: 5
129
+ pos_dim: 3
130
+ angle_dim: 2
131
+ pose_mode: 3d
132
+ fps: 20.0
133
+ shared:
134
+ manifest_path: results/manifests/loopnav/loopnav_split.json
135
+ backend:
136
+ _target_: far.data.backends.LoopNavBackend
137
+ standard_frame: false
138
+ transform:
139
+ _target_: far.data.transforms.make_resize
140
+ image_height: ${image_height}
141
+ image_width: ${image_width}
142
+ sampler:
143
+ random_clip:
144
+ _target_: far.data.samplers.RandomClipSampler
145
+ clip_len: 16
146
+ frame_stride: 10
147
+ context_goal:
148
+ _target_: far.data.samplers.ContextGoalSampler
149
+ context_pool_size: 100
150
+ len_traj_pred: ${len_traj_pred}
151
+ goals_per_obs: ${goals_per_obs}
152
+ context_traj:
153
+ _target_: far.data.samplers.ContextTrajectorySampler
154
+ context_pool_size: 100
155
+ len_traj_pred: ${len_traj_pred}
156
+ formatter:
157
+ frame:
158
+ _target_: far.data.formatters.FrameFormatter
159
+ context_pose:
160
+ _target_: far.data.formatters.ContextPoseFormatter
161
+ spec: ${loopnav.spec}
162
+ train_tokenizer:
163
+ _target_: far.data.datasets.FormattedIterableDataset
164
+ formatter: ${loopnav.formatter.frame}
165
+ base_dataset:
166
+ _target_: far.data.datasets.WebVideoIterableDataset
167
+ manifest_path: results/manifests/loopnav/loopnav.json
168
+ index_path: results/indices/loopnav/loopnav_train_ABCA.json
169
+ backend:
170
+ _target_: far.data.backends.WebDatasetBackend
171
+ sampler: ${loopnav.sampler.random_clip}
172
+ transform: ${loopnav.shared.transform}
173
+ cache_dir: null
174
+ cache_size: 100
175
+ shuffle_shards: 32
176
+ shuffle_samples: 100
177
+ loopnav_latent:
178
+ spec:
179
+ _target_: far.builders.data.build_dataspec
180
+ local_pos_stats:
181
+ min:
182
+ - 0
183
+ - 0
184
+ - 0
185
+ max:
186
+ - 1
187
+ - 1
188
+ - 1
189
+ meters_per_waypoint: 1.0
190
+ max_frame_offset: 20.0
191
+ len_traj_pred: ${len_traj_pred}
192
+ planner_mu_init:
193
+ - -0.1
194
+ - 0
195
+ - 0
196
+ - 0
197
+ - 0
198
+ planner_sigma_init:
199
+ - 0.02
200
+ - 0.1
201
+ - 0
202
+ - 0
203
+ - 0.3142
204
+ pose_fields:
205
+ - x
206
+ - 'y'
207
+ - z
208
+ - pitch
209
+ - yaw
210
+ pose_dim: 5
211
+ pos_dim: 3
212
+ angle_dim: 2
213
+ pose_mode: 3d
214
+ fps: 20.0
215
+ shared:
216
+ manifest_path: ${oc.env:FAR_RESULT_ROOT}/manifests/loopnav/loopnav_latent.json
217
+ backend:
218
+ _target_: far.data.backends.LatentLoopNavBackend
219
+ key_suffix: .keys.npy
220
+ standard_frame: false
221
+ transform: null
222
+ sampler:
223
+ random_clip:
224
+ _target_: far.data.samplers.RandomClipSampler
225
+ clip_len: 16
226
+ frame_stride: 10
227
+ context_goal:
228
+ _target_: far.data.samplers.ContextGoalSampler
229
+ context_pool_size: 200
230
+ len_traj_pred: ${len_traj_pred}
231
+ goals_per_obs: ${goals_per_obs}
232
+ context_goal_test:
233
+ _target_: far.data.samplers.ContextGoalSampler
234
+ context_pool_size: 200
235
+ len_traj_pred: ${len_traj_pred}
236
+ goals_per_obs: 4
237
+ context_traj:
238
+ _target_: far.data.samplers.ContextTrajectorySampler
239
+ context_pool_size: 200
240
+ len_traj_pred: ${len_traj_pred}
241
+ formatter:
242
+ frame:
243
+ _target_: far.data.formatters.FrameFormatter
244
+ context_pose:
245
+ _target_: far.data.formatters.ContextPoseFormatter
246
+ spec: ${loopnav_latent.spec}
247
+ train:
248
+ _target_: far.data.datasets.FormattedVideoDataset
249
+ formatter: ${loopnav_latent.formatter.context_pose}
250
+ base_dataset:
251
+ _target_: far.data.datasets.VideoDataset
252
+ manifest_path: ${loopnav_latent.shared.manifest_path}
253
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/loopnav/loopnav_latent_train.json
254
+ backend: ${loopnav_latent.shared.backend}
255
+ sampler: ${loopnav_latent.sampler.context_goal}
256
+ transform: ${loopnav_latent.shared.transform}
257
+ test:
258
+ _target_: far.data.datasets.FormattedVideoDataset
259
+ formatter: ${loopnav_latent.formatter.context_pose}
260
+ base_dataset:
261
+ _target_: far.data.datasets.VideoDataset
262
+ manifest_path: ${loopnav_latent.shared.manifest_path}
263
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/loopnav/loopnav_latent_test.json
264
+ backend: ${loopnav_latent.shared.backend}
265
+ sampler: ${loopnav_latent.sampler.context_goal_test}
266
+ transform: ${loopnav_latent.shared.transform}
267
+ soundspaces_latent:
268
+ spec:
269
+ _target_: far.builders.data.build_dataspec
270
+ local_pos_stats:
271
+ min:
272
+ - 0
273
+ - 0
274
+ - 0
275
+ max:
276
+ - 1
277
+ - 1
278
+ - 1
279
+ meters_per_waypoint: 1.0
280
+ max_frame_offset: 10.0
281
+ len_traj_pred: ${len_traj_pred}
282
+ planner_mu_init:
283
+ - -0.1
284
+ - 0
285
+ - 0
286
+ - 0
287
+ - 0
288
+ planner_sigma_init:
289
+ - 0.02
290
+ - 0.1
291
+ - 0
292
+ - 0
293
+ - 0.3142
294
+ pose_fields:
295
+ - x
296
+ - 'y'
297
+ - z
298
+ - pitch
299
+ - yaw
300
+ pose_dim: 5
301
+ pos_dim: 3
302
+ angle_dim: 2
303
+ pose_mode: 3d
304
+ fps: 10.0
305
+ shared:
306
+ manifest_path: ${oc.env:FAR_RESULT_ROOT}/manifests/soundspaces/soundspaces_latent.json
307
+ backend:
308
+ _target_: far.data.backends.SoundSpacesBackend
309
+ key_suffix: .keys_audio.npy
310
+ audio_mode: null
311
+ audio_window_hops: 48
312
+ transform: null
313
+ sampler:
314
+ random_clip:
315
+ _target_: far.data.samplers.RandomClipSampler
316
+ clip_len: 16
317
+ frame_stride: 5
318
+ context_goal:
319
+ _target_: far.data.samplers.ContextGoalSampler
320
+ context_pool_size: 200
321
+ len_traj_pred: ${len_traj_pred}
322
+ goals_per_obs: ${goals_per_obs}
323
+ context_goal_test:
324
+ _target_: far.data.samplers.ContextGoalSampler
325
+ context_pool_size: 200
326
+ len_traj_pred: ${len_traj_pred}
327
+ goals_per_obs: 4
328
+ context_traj:
329
+ _target_: far.data.samplers.ContextTrajectorySampler
330
+ context_pool_size: 200
331
+ len_traj_pred: ${len_traj_pred}
332
+ formatter:
333
+ frame:
334
+ _target_: far.data.formatters.FrameFormatter
335
+ context_pose:
336
+ _target_: far.data.formatters.ContextPoseFormatter
337
+ spec: ${soundspaces_latent.spec}
338
+ train:
339
+ _target_: far.data.datasets.FormattedVideoDataset
340
+ formatter: ${soundspaces_latent.formatter.context_pose}
341
+ base_dataset:
342
+ _target_: far.data.datasets.VideoDataset
343
+ manifest_path: ${soundspaces_latent.shared.manifest_path}
344
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/soundspaces/soundspaces_latent_train.json
345
+ backend: ${soundspaces_latent.shared.backend}
346
+ sampler: ${soundspaces_latent.sampler.context_goal}
347
+ transform: ${soundspaces_latent.shared.transform}
348
+ test:
349
+ _target_: far.data.datasets.FormattedVideoDataset
350
+ formatter: ${soundspaces_latent.formatter.context_pose}
351
+ base_dataset:
352
+ _target_: far.data.datasets.VideoDataset
353
+ manifest_path: ${soundspaces_latent.shared.manifest_path}
354
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/soundspaces/soundspaces_latent_test.json
355
+ backend: ${soundspaces_latent.shared.backend}
356
+ sampler: ${soundspaces_latent.sampler.context_goal_test}
357
+ transform: ${soundspaces_latent.shared.transform}
358
+ model:
359
+ tokenizer:
360
+ _target_: far.tokenizers.sd_vae.SD_VAE
361
+ image_height: ${image_height}
362
+ image_width: ${image_width}
363
+ vae_scale: 0.13025
364
+ ckpt_path: models/sdxl-vae-fp16-fix
365
+ generator:
366
+ _target_: far.generators.cdit_mod_pose_fa.CDiT
367
+ depth: 12
368
+ hidden_size: 768
369
+ patch_size: 2
370
+ num_heads: 12
371
+ context_size: 4
372
+ ckpt_path: null
373
+ action_dim: ${action_dim}
374
+ pose_dim: ${pose_dim}
375
+ fov_half_h: 45.0
376
+ fov_half_v: 45.0
377
+ local_pos_stats: ${soundspaces_latent.spec.local_pos_stats}
378
+ stride_to_seconds: 1.0
379
+ memory:
380
+ _target_: far.memories.pnp_cl.PnPRetrieval
381
+ ckpt_path: null
382
+ chunk_size: 10
383
+ num_sets: 5
384
+ softmax_temperature: 1.0
385
+ scoring: meta
386
+ metadata_hidden: 128
387
+ local_pos_stats: ${soundspaces_latent.spec.local_pos_stats}
388
+ stride_to_seconds: 1.0
389
+ encoder_mode: frozen
390
+ adapter_hidden: 384
391
+ query_source: frame
392
+ gate_eps: 0.05
393
+ query_vit:
394
+ _target_: far.memories.pnp_cl.QueryViT
395
+ img_height: 32
396
+ img_width: 32
397
+ patch_size: 2
398
+ in_chans: 4
399
+ embed_dim: 384
400
+ depth: 6
401
+ num_heads: 12
402
+ action_dim: ${action_dim}
403
+ key_dim: 256
404
+ mlp_ratio: 4.0
405
+ _target_: far.builders.models.build_ldwm
406
+ _recursive_: false
407
+ condition_on_context_time: true
408
+ condition_on_context_pose: true
409
+ retriever_loss_weight: 1.0
410
+ diffusion:
411
+ _target_: far.generators.diffusion.create_diffusion
412
+ timestep_respacing: null
413
+ noise_schedule: linear
414
+ diffusion_steps: 1000
415
+ learn_sigma: true
416
+ predict_xstart: false
417
+ sigma_small: false
418
+ use_kl: false
419
+ rescale_learned_sigmas: false
420
+ wandb:
421
+ project: PMem-SS
422
+ name: null
423
+ entity: null
424
+ mode: online
425
+ group: soundspaces_latent
426
+ tags:
427
+ - soundspaces_latent
428
+ run_name: ss_cdit_b_pnp_meta_posefa_ps2
429
+ context_size: 4
430
+ action_dim: 5
431
+ pose_dim: 5
432
+ image_height: 256
433
+ image_width: 256
434
+ len_traj_pred: 128
435
+ goals_per_obs: 4
436
+ lr: 0.0001
437
+ lr_mem: 0.0001
438
+ weight_decay: 0.0
439
+ grad_clip_val: 1.0
440
+ iterations: 5000000
441
+ warmup_steps: 5000
442
+ from_checkpoint: null
443
+ global_seed: 0
444
+ log_every: 100
445
+ ckpt_every: 100000
446
+ latest_every: 10000
447
+ eval_every: 2500
448
+ rag_every: 20
449
+ rag_noise_levels: 4
450
+ local_rag: true
451
+ local_rag_weight: 1.0
452
+ bfloat16: false
453
+ torch_compile: true
454
+ batch_size: 16
455
+ eval_batch_size: 32
456
+ num_workers: 12
457
+ datasets:
458
+ - soundspaces_latent
soundspaces_v1/far_multicue/checkpoints/0700000.pth.tar ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9bbaf89285ebd73300b4057fd1a1f44d52203a1767751ece35ea4613ae9f42ea
3
+ size 591338717
soundspaces_v1/far_multicue/config.yaml ADDED
@@ -0,0 +1,458 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ recon:
2
+ spec:
3
+ _target_: far.builders.data.build_dataspec
4
+ local_pos_stats:
5
+ min:
6
+ - -2.5
7
+ - -4
8
+ max:
9
+ - 5
10
+ - 4
11
+ meters_per_waypoint: 0.25
12
+ max_frame_offset: 128
13
+ len_traj_pred: ${len_traj_pred}
14
+ planner_mu_init:
15
+ - -0.1
16
+ - 0
17
+ - 0
18
+ planner_sigma_init:
19
+ - 0.02
20
+ - 0.1
21
+ - 0.3142
22
+ pose_fields:
23
+ - x
24
+ - 'y'
25
+ - z
26
+ - pitch
27
+ - yaw
28
+ pose_dim: 5
29
+ pos_dim: 2
30
+ angle_dim: 1
31
+ pose_mode: 2d
32
+ fps: 4.0
33
+ shared:
34
+ manifest_path: results/manifests/recon/recon_split.json
35
+ backend:
36
+ _target_: far.data.backends.NavigationBackend
37
+ transform:
38
+ _target_: far.data.transforms.make_centercrop_resize
39
+ image_height: ${image_height}
40
+ image_width: ${image_width}
41
+ sampler:
42
+ context_goal:
43
+ _target_: far.data.samplers.ContextGoalSampler
44
+ context_pool_size: 12
45
+ len_traj_pred: ${len_traj_pred}
46
+ goals_per_obs: ${goals_per_obs}
47
+ context_traj:
48
+ _target_: far.data.samplers.ContextTrajectorySampler
49
+ context_pool_size: 12
50
+ len_traj_pred: ${len_traj_pred}
51
+ formatter:
52
+ context_pose:
53
+ _target_: far.data.formatters.ContextPoseFormatter2D
54
+ spec: ${recon.spec}
55
+ train:
56
+ _target_: far.data.datasets.FormattedVideoDataset
57
+ formatter: ${recon.formatter.context_pose}
58
+ base_dataset:
59
+ _target_: far.data.datasets.VideoDataset
60
+ manifest_path: ${recon.shared.manifest_path}
61
+ index_path: results/indices/recon/recon_train.json
62
+ backend: ${recon.shared.backend}
63
+ sampler: ${recon.sampler.context_goal}
64
+ transform: ${recon.shared.transform}
65
+ test:
66
+ _target_: far.data.datasets.FormattedVideoDataset
67
+ formatter: ${recon.formatter.context_pose}
68
+ base_dataset:
69
+ _target_: far.data.datasets.VideoDataset
70
+ manifest_path: ${recon.shared.manifest_path}
71
+ index_path: results/indices/recon/recon_test.json
72
+ backend: ${recon.shared.backend}
73
+ sampler: ${recon.sampler.context_goal}
74
+ transform: ${recon.shared.transform}
75
+ eval:
76
+ _target_: far.data.datasets.FormattedVideoDataset
77
+ formatter: ${recon.formatter.context_pose}
78
+ base_dataset:
79
+ _target_: far.data.datasets.VideoDataset
80
+ manifest_path: ${recon.shared.manifest_path}
81
+ index_path: results/indices/recon/recon_test_time.json
82
+ backend: ${recon.shared.backend}
83
+ sampler: ${recon.sampler.context_traj}
84
+ transform: ${recon.shared.transform}
85
+ eval_traj:
86
+ _target_: far.data.datasets.FormattedVideoDataset
87
+ formatter: ${recon.formatter.context_pose}
88
+ base_dataset:
89
+ _target_: far.data.datasets.VideoDataset
90
+ manifest_path: ${recon.shared.manifest_path}
91
+ index_path: results/indices/recon/recon_test_plan.json
92
+ backend: ${recon.shared.backend}
93
+ sampler: ${recon.sampler.context_traj}
94
+ transform: ${recon.shared.transform}
95
+ loopnav:
96
+ spec:
97
+ _target_: far.builders.data.build_dataspec
98
+ local_pos_stats:
99
+ min:
100
+ - -2.5
101
+ - -4
102
+ - 0
103
+ max:
104
+ - 5
105
+ - 4
106
+ - 1
107
+ meters_per_waypoint: 0.25
108
+ max_frame_offset: 128
109
+ len_traj_pred: ${len_traj_pred}
110
+ planner_mu_init:
111
+ - -0.1
112
+ - 0
113
+ - 0
114
+ - 0
115
+ - 0
116
+ planner_sigma_init:
117
+ - 0.02
118
+ - 0.1
119
+ - 0
120
+ - 0
121
+ - 0.3142
122
+ pose_fields:
123
+ - x
124
+ - 'y'
125
+ - z
126
+ - pitch
127
+ - yaw
128
+ pose_dim: 5
129
+ pos_dim: 3
130
+ angle_dim: 2
131
+ pose_mode: 3d
132
+ fps: 20.0
133
+ shared:
134
+ manifest_path: results/manifests/loopnav/loopnav_split.json
135
+ backend:
136
+ _target_: far.data.backends.LoopNavBackend
137
+ standard_frame: false
138
+ transform:
139
+ _target_: far.data.transforms.make_resize
140
+ image_height: ${image_height}
141
+ image_width: ${image_width}
142
+ sampler:
143
+ random_clip:
144
+ _target_: far.data.samplers.RandomClipSampler
145
+ clip_len: 16
146
+ frame_stride: 10
147
+ context_goal:
148
+ _target_: far.data.samplers.ContextGoalSampler
149
+ context_pool_size: 100
150
+ len_traj_pred: ${len_traj_pred}
151
+ goals_per_obs: ${goals_per_obs}
152
+ context_traj:
153
+ _target_: far.data.samplers.ContextTrajectorySampler
154
+ context_pool_size: 100
155
+ len_traj_pred: ${len_traj_pred}
156
+ formatter:
157
+ frame:
158
+ _target_: far.data.formatters.FrameFormatter
159
+ context_pose:
160
+ _target_: far.data.formatters.ContextPoseFormatter
161
+ spec: ${loopnav.spec}
162
+ train_tokenizer:
163
+ _target_: far.data.datasets.FormattedIterableDataset
164
+ formatter: ${loopnav.formatter.frame}
165
+ base_dataset:
166
+ _target_: far.data.datasets.WebVideoIterableDataset
167
+ manifest_path: results/manifests/loopnav/loopnav.json
168
+ index_path: results/indices/loopnav/loopnav_train_ABCA.json
169
+ backend:
170
+ _target_: far.data.backends.WebDatasetBackend
171
+ sampler: ${loopnav.sampler.random_clip}
172
+ transform: ${loopnav.shared.transform}
173
+ cache_dir: null
174
+ cache_size: 100
175
+ shuffle_shards: 32
176
+ shuffle_samples: 100
177
+ loopnav_latent:
178
+ spec:
179
+ _target_: far.builders.data.build_dataspec
180
+ local_pos_stats:
181
+ min:
182
+ - 0
183
+ - 0
184
+ - 0
185
+ max:
186
+ - 1
187
+ - 1
188
+ - 1
189
+ meters_per_waypoint: 1.0
190
+ max_frame_offset: 20.0
191
+ len_traj_pred: ${len_traj_pred}
192
+ planner_mu_init:
193
+ - -0.1
194
+ - 0
195
+ - 0
196
+ - 0
197
+ - 0
198
+ planner_sigma_init:
199
+ - 0.02
200
+ - 0.1
201
+ - 0
202
+ - 0
203
+ - 0.3142
204
+ pose_fields:
205
+ - x
206
+ - 'y'
207
+ - z
208
+ - pitch
209
+ - yaw
210
+ pose_dim: 5
211
+ pos_dim: 3
212
+ angle_dim: 2
213
+ pose_mode: 3d
214
+ fps: 20.0
215
+ shared:
216
+ manifest_path: ${oc.env:FAR_RESULT_ROOT}/manifests/loopnav/loopnav_latent.json
217
+ backend:
218
+ _target_: far.data.backends.LatentLoopNavBackend
219
+ key_suffix: .keys.npy
220
+ standard_frame: false
221
+ transform: null
222
+ sampler:
223
+ random_clip:
224
+ _target_: far.data.samplers.RandomClipSampler
225
+ clip_len: 16
226
+ frame_stride: 10
227
+ context_goal:
228
+ _target_: far.data.samplers.ContextGoalSampler
229
+ context_pool_size: 200
230
+ len_traj_pred: ${len_traj_pred}
231
+ goals_per_obs: ${goals_per_obs}
232
+ context_goal_test:
233
+ _target_: far.data.samplers.ContextGoalSampler
234
+ context_pool_size: 200
235
+ len_traj_pred: ${len_traj_pred}
236
+ goals_per_obs: 4
237
+ context_traj:
238
+ _target_: far.data.samplers.ContextTrajectorySampler
239
+ context_pool_size: 200
240
+ len_traj_pred: ${len_traj_pred}
241
+ formatter:
242
+ frame:
243
+ _target_: far.data.formatters.FrameFormatter
244
+ context_pose:
245
+ _target_: far.data.formatters.ContextPoseFormatter
246
+ spec: ${loopnav_latent.spec}
247
+ train:
248
+ _target_: far.data.datasets.FormattedVideoDataset
249
+ formatter: ${loopnav_latent.formatter.context_pose}
250
+ base_dataset:
251
+ _target_: far.data.datasets.VideoDataset
252
+ manifest_path: ${loopnav_latent.shared.manifest_path}
253
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/loopnav/loopnav_latent_train.json
254
+ backend: ${loopnav_latent.shared.backend}
255
+ sampler: ${loopnav_latent.sampler.context_goal}
256
+ transform: ${loopnav_latent.shared.transform}
257
+ test:
258
+ _target_: far.data.datasets.FormattedVideoDataset
259
+ formatter: ${loopnav_latent.formatter.context_pose}
260
+ base_dataset:
261
+ _target_: far.data.datasets.VideoDataset
262
+ manifest_path: ${loopnav_latent.shared.manifest_path}
263
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/loopnav/loopnav_latent_test.json
264
+ backend: ${loopnav_latent.shared.backend}
265
+ sampler: ${loopnav_latent.sampler.context_goal_test}
266
+ transform: ${loopnav_latent.shared.transform}
267
+ soundspaces_latent:
268
+ spec:
269
+ _target_: far.builders.data.build_dataspec
270
+ local_pos_stats:
271
+ min:
272
+ - 0
273
+ - 0
274
+ - 0
275
+ max:
276
+ - 1
277
+ - 1
278
+ - 1
279
+ meters_per_waypoint: 1.0
280
+ max_frame_offset: 10.0
281
+ len_traj_pred: ${len_traj_pred}
282
+ planner_mu_init:
283
+ - -0.1
284
+ - 0
285
+ - 0
286
+ - 0
287
+ - 0
288
+ planner_sigma_init:
289
+ - 0.02
290
+ - 0.1
291
+ - 0
292
+ - 0
293
+ - 0.3142
294
+ pose_fields:
295
+ - x
296
+ - 'y'
297
+ - z
298
+ - pitch
299
+ - yaw
300
+ pose_dim: 5
301
+ pos_dim: 3
302
+ angle_dim: 2
303
+ pose_mode: 3d
304
+ fps: 10.0
305
+ shared:
306
+ manifest_path: ${oc.env:FAR_RESULT_ROOT}/manifests/soundspaces/soundspaces_latent.json
307
+ backend:
308
+ _target_: far.data.backends.SoundSpacesBackend
309
+ key_suffix: .keys_audio.npy
310
+ audio_mode: cue
311
+ audio_window_hops: 48
312
+ transform: null
313
+ sampler:
314
+ random_clip:
315
+ _target_: far.data.samplers.RandomClipSampler
316
+ clip_len: 16
317
+ frame_stride: 5
318
+ context_goal:
319
+ _target_: far.data.samplers.ContextGoalSampler
320
+ context_pool_size: 200
321
+ len_traj_pred: ${len_traj_pred}
322
+ goals_per_obs: ${goals_per_obs}
323
+ context_goal_test:
324
+ _target_: far.data.samplers.ContextGoalSampler
325
+ context_pool_size: 200
326
+ len_traj_pred: ${len_traj_pred}
327
+ goals_per_obs: 4
328
+ context_traj:
329
+ _target_: far.data.samplers.ContextTrajectorySampler
330
+ context_pool_size: 200
331
+ len_traj_pred: ${len_traj_pred}
332
+ formatter:
333
+ frame:
334
+ _target_: far.data.formatters.FrameFormatter
335
+ context_pose:
336
+ _target_: far.data.formatters.ContextPoseFormatter
337
+ spec: ${soundspaces_latent.spec}
338
+ train:
339
+ _target_: far.data.datasets.FormattedVideoDataset
340
+ formatter: ${soundspaces_latent.formatter.context_pose}
341
+ base_dataset:
342
+ _target_: far.data.datasets.VideoDataset
343
+ manifest_path: ${soundspaces_latent.shared.manifest_path}
344
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/soundspaces/soundspaces_latent_train.json
345
+ backend: ${soundspaces_latent.shared.backend}
346
+ sampler: ${soundspaces_latent.sampler.context_goal}
347
+ transform: ${soundspaces_latent.shared.transform}
348
+ test:
349
+ _target_: far.data.datasets.FormattedVideoDataset
350
+ formatter: ${soundspaces_latent.formatter.context_pose}
351
+ base_dataset:
352
+ _target_: far.data.datasets.VideoDataset
353
+ manifest_path: ${soundspaces_latent.shared.manifest_path}
354
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/soundspaces/soundspaces_latent_test.json
355
+ backend: ${soundspaces_latent.shared.backend}
356
+ sampler: ${soundspaces_latent.sampler.context_goal_test}
357
+ transform: ${soundspaces_latent.shared.transform}
358
+ model:
359
+ tokenizer:
360
+ _target_: far.tokenizers.sd_vae.SD_VAE
361
+ image_height: ${image_height}
362
+ image_width: ${image_width}
363
+ vae_scale: 0.13025
364
+ ckpt_path: models/sdxl-vae-fp16-fix
365
+ generator:
366
+ _target_: far.generators.cdit_mod_pose_fa.CDiT
367
+ depth: 12
368
+ hidden_size: 768
369
+ patch_size: 2
370
+ num_heads: 12
371
+ context_size: 4
372
+ ckpt_path: null
373
+ action_dim: ${action_dim}
374
+ pose_dim: ${pose_dim}
375
+ fov_half_h: 45.0
376
+ fov_half_v: 45.0
377
+ local_pos_stats: ${soundspaces_latent.spec.local_pos_stats}
378
+ stride_to_seconds: 1.0
379
+ memory:
380
+ _target_: far.memories.pnp_cl.PnPRetrieval
381
+ ckpt_path: null
382
+ chunk_size: 10
383
+ num_sets: 5
384
+ softmax_temperature: 1.0
385
+ scoring: visual+meta_z
386
+ metadata_hidden: 128
387
+ local_pos_stats: ${soundspaces_latent.spec.local_pos_stats}
388
+ stride_to_seconds: 1.0
389
+ encoder_mode: adapter
390
+ adapter_hidden: 384
391
+ query_source: cue
392
+ gate_eps: 0.05
393
+ query_vit:
394
+ _target_: far.memories.pnp_cl.QueryViT
395
+ img_height: 64
396
+ img_width: 48
397
+ patch_size: 4
398
+ in_chans: 4
399
+ embed_dim: 384
400
+ depth: 6
401
+ num_heads: 12
402
+ action_dim: ${action_dim}
403
+ key_dim: 256
404
+ mlp_ratio: 4.0
405
+ _target_: far.builders.models.build_ldwm
406
+ _recursive_: false
407
+ condition_on_context_time: true
408
+ condition_on_context_pose: true
409
+ retriever_loss_weight: 1.0
410
+ diffusion:
411
+ _target_: far.generators.diffusion.create_diffusion
412
+ timestep_respacing: null
413
+ noise_schedule: linear
414
+ diffusion_steps: 1000
415
+ learn_sigma: true
416
+ predict_xstart: false
417
+ sigma_small: false
418
+ use_kl: false
419
+ rescale_learned_sigmas: false
420
+ wandb:
421
+ project: PMem-SS
422
+ name: null
423
+ entity: null
424
+ mode: online
425
+ group: soundspaces_latent
426
+ tags:
427
+ - soundspaces_latent
428
+ run_name: ss_cdit_b_pnp_amz_posefa_ps2
429
+ context_size: 4
430
+ action_dim: 5
431
+ pose_dim: 5
432
+ image_height: 256
433
+ image_width: 256
434
+ len_traj_pred: 128
435
+ goals_per_obs: 4
436
+ lr: 0.0001
437
+ lr_mem: 0.0001
438
+ weight_decay: 0.0
439
+ grad_clip_val: 1.0
440
+ iterations: 5000000
441
+ warmup_steps: 5000
442
+ from_checkpoint: null
443
+ global_seed: 0
444
+ log_every: 100
445
+ ckpt_every: 100000
446
+ latest_every: 10000
447
+ eval_every: 2500
448
+ rag_every: 20
449
+ rag_noise_levels: 4
450
+ local_rag: true
451
+ local_rag_weight: 1.0
452
+ bfloat16: false
453
+ torch_compile: true
454
+ batch_size: 16
455
+ eval_batch_size: 32
456
+ num_workers: 12
457
+ datasets:
458
+ - soundspaces_latent
soundspaces_v1/temporal/checkpoints/0700000.pth.tar ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:323116a1764a44b0c53c055085239dcb095647809131c9bc5f77204ee789955b
3
+ size 524576185
soundspaces_v1/temporal/config.yaml ADDED
@@ -0,0 +1,435 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ recon:
2
+ spec:
3
+ _target_: far.builders.data.build_dataspec
4
+ local_pos_stats:
5
+ min:
6
+ - -2.5
7
+ - -4
8
+ max:
9
+ - 5
10
+ - 4
11
+ meters_per_waypoint: 0.25
12
+ max_frame_offset: 128
13
+ len_traj_pred: ${len_traj_pred}
14
+ planner_mu_init:
15
+ - -0.1
16
+ - 0
17
+ - 0
18
+ planner_sigma_init:
19
+ - 0.02
20
+ - 0.1
21
+ - 0.3142
22
+ pose_fields:
23
+ - x
24
+ - 'y'
25
+ - z
26
+ - pitch
27
+ - yaw
28
+ pose_dim: 5
29
+ pos_dim: 2
30
+ angle_dim: 1
31
+ pose_mode: 2d
32
+ fps: 4.0
33
+ shared:
34
+ manifest_path: results/manifests/recon/recon_split.json
35
+ backend:
36
+ _target_: far.data.backends.NavigationBackend
37
+ transform:
38
+ _target_: far.data.transforms.make_centercrop_resize
39
+ image_height: ${image_height}
40
+ image_width: ${image_width}
41
+ sampler:
42
+ context_goal:
43
+ _target_: far.data.samplers.ContextGoalSampler
44
+ context_pool_size: 12
45
+ len_traj_pred: ${len_traj_pred}
46
+ goals_per_obs: ${goals_per_obs}
47
+ context_traj:
48
+ _target_: far.data.samplers.ContextTrajectorySampler
49
+ context_pool_size: 12
50
+ len_traj_pred: ${len_traj_pred}
51
+ formatter:
52
+ context_pose:
53
+ _target_: far.data.formatters.ContextPoseFormatter2D
54
+ spec: ${recon.spec}
55
+ train:
56
+ _target_: far.data.datasets.FormattedVideoDataset
57
+ formatter: ${recon.formatter.context_pose}
58
+ base_dataset:
59
+ _target_: far.data.datasets.VideoDataset
60
+ manifest_path: ${recon.shared.manifest_path}
61
+ index_path: results/indices/recon/recon_train.json
62
+ backend: ${recon.shared.backend}
63
+ sampler: ${recon.sampler.context_goal}
64
+ transform: ${recon.shared.transform}
65
+ test:
66
+ _target_: far.data.datasets.FormattedVideoDataset
67
+ formatter: ${recon.formatter.context_pose}
68
+ base_dataset:
69
+ _target_: far.data.datasets.VideoDataset
70
+ manifest_path: ${recon.shared.manifest_path}
71
+ index_path: results/indices/recon/recon_test.json
72
+ backend: ${recon.shared.backend}
73
+ sampler: ${recon.sampler.context_goal}
74
+ transform: ${recon.shared.transform}
75
+ eval:
76
+ _target_: far.data.datasets.FormattedVideoDataset
77
+ formatter: ${recon.formatter.context_pose}
78
+ base_dataset:
79
+ _target_: far.data.datasets.VideoDataset
80
+ manifest_path: ${recon.shared.manifest_path}
81
+ index_path: results/indices/recon/recon_test_time.json
82
+ backend: ${recon.shared.backend}
83
+ sampler: ${recon.sampler.context_traj}
84
+ transform: ${recon.shared.transform}
85
+ eval_traj:
86
+ _target_: far.data.datasets.FormattedVideoDataset
87
+ formatter: ${recon.formatter.context_pose}
88
+ base_dataset:
89
+ _target_: far.data.datasets.VideoDataset
90
+ manifest_path: ${recon.shared.manifest_path}
91
+ index_path: results/indices/recon/recon_test_plan.json
92
+ backend: ${recon.shared.backend}
93
+ sampler: ${recon.sampler.context_traj}
94
+ transform: ${recon.shared.transform}
95
+ loopnav:
96
+ spec:
97
+ _target_: far.builders.data.build_dataspec
98
+ local_pos_stats:
99
+ min:
100
+ - -2.5
101
+ - -4
102
+ - 0
103
+ max:
104
+ - 5
105
+ - 4
106
+ - 1
107
+ meters_per_waypoint: 0.25
108
+ max_frame_offset: 128
109
+ len_traj_pred: ${len_traj_pred}
110
+ planner_mu_init:
111
+ - -0.1
112
+ - 0
113
+ - 0
114
+ - 0
115
+ - 0
116
+ planner_sigma_init:
117
+ - 0.02
118
+ - 0.1
119
+ - 0
120
+ - 0
121
+ - 0.3142
122
+ pose_fields:
123
+ - x
124
+ - 'y'
125
+ - z
126
+ - pitch
127
+ - yaw
128
+ pose_dim: 5
129
+ pos_dim: 3
130
+ angle_dim: 2
131
+ pose_mode: 3d
132
+ fps: 20.0
133
+ shared:
134
+ manifest_path: results/manifests/loopnav/loopnav_split.json
135
+ backend:
136
+ _target_: far.data.backends.LoopNavBackend
137
+ standard_frame: false
138
+ transform:
139
+ _target_: far.data.transforms.make_resize
140
+ image_height: ${image_height}
141
+ image_width: ${image_width}
142
+ sampler:
143
+ random_clip:
144
+ _target_: far.data.samplers.RandomClipSampler
145
+ clip_len: 16
146
+ frame_stride: 10
147
+ context_goal:
148
+ _target_: far.data.samplers.ContextGoalSampler
149
+ context_pool_size: 100
150
+ len_traj_pred: ${len_traj_pred}
151
+ goals_per_obs: ${goals_per_obs}
152
+ context_traj:
153
+ _target_: far.data.samplers.ContextTrajectorySampler
154
+ context_pool_size: 100
155
+ len_traj_pred: ${len_traj_pred}
156
+ formatter:
157
+ frame:
158
+ _target_: far.data.formatters.FrameFormatter
159
+ context_pose:
160
+ _target_: far.data.formatters.ContextPoseFormatter
161
+ spec: ${loopnav.spec}
162
+ train_tokenizer:
163
+ _target_: far.data.datasets.FormattedIterableDataset
164
+ formatter: ${loopnav.formatter.frame}
165
+ base_dataset:
166
+ _target_: far.data.datasets.WebVideoIterableDataset
167
+ manifest_path: results/manifests/loopnav/loopnav.json
168
+ index_path: results/indices/loopnav/loopnav_train_ABCA.json
169
+ backend:
170
+ _target_: far.data.backends.WebDatasetBackend
171
+ sampler: ${loopnav.sampler.random_clip}
172
+ transform: ${loopnav.shared.transform}
173
+ cache_dir: null
174
+ cache_size: 100
175
+ shuffle_shards: 32
176
+ shuffle_samples: 100
177
+ loopnav_latent:
178
+ spec:
179
+ _target_: far.builders.data.build_dataspec
180
+ local_pos_stats:
181
+ min:
182
+ - 0
183
+ - 0
184
+ - 0
185
+ max:
186
+ - 1
187
+ - 1
188
+ - 1
189
+ meters_per_waypoint: 1.0
190
+ max_frame_offset: 20.0
191
+ len_traj_pred: ${len_traj_pred}
192
+ planner_mu_init:
193
+ - -0.1
194
+ - 0
195
+ - 0
196
+ - 0
197
+ - 0
198
+ planner_sigma_init:
199
+ - 0.02
200
+ - 0.1
201
+ - 0
202
+ - 0
203
+ - 0.3142
204
+ pose_fields:
205
+ - x
206
+ - 'y'
207
+ - z
208
+ - pitch
209
+ - yaw
210
+ pose_dim: 5
211
+ pos_dim: 3
212
+ angle_dim: 2
213
+ pose_mode: 3d
214
+ fps: 20.0
215
+ shared:
216
+ manifest_path: ${oc.env:FAR_RESULT_ROOT}/manifests/loopnav/loopnav_latent.json
217
+ backend:
218
+ _target_: far.data.backends.LatentLoopNavBackend
219
+ key_suffix: .keys.npy
220
+ standard_frame: false
221
+ transform: null
222
+ sampler:
223
+ random_clip:
224
+ _target_: far.data.samplers.RandomClipSampler
225
+ clip_len: 16
226
+ frame_stride: 10
227
+ context_goal:
228
+ _target_: far.data.samplers.ContextGoalSampler
229
+ context_pool_size: 200
230
+ len_traj_pred: ${len_traj_pred}
231
+ goals_per_obs: ${goals_per_obs}
232
+ context_goal_test:
233
+ _target_: far.data.samplers.ContextGoalSampler
234
+ context_pool_size: 200
235
+ len_traj_pred: ${len_traj_pred}
236
+ goals_per_obs: 4
237
+ context_traj:
238
+ _target_: far.data.samplers.ContextTrajectorySampler
239
+ context_pool_size: 200
240
+ len_traj_pred: ${len_traj_pred}
241
+ formatter:
242
+ frame:
243
+ _target_: far.data.formatters.FrameFormatter
244
+ context_pose:
245
+ _target_: far.data.formatters.ContextPoseFormatter
246
+ spec: ${loopnav_latent.spec}
247
+ train:
248
+ _target_: far.data.datasets.FormattedVideoDataset
249
+ formatter: ${loopnav_latent.formatter.context_pose}
250
+ base_dataset:
251
+ _target_: far.data.datasets.VideoDataset
252
+ manifest_path: ${loopnav_latent.shared.manifest_path}
253
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/loopnav/loopnav_latent_train.json
254
+ backend: ${loopnav_latent.shared.backend}
255
+ sampler: ${loopnav_latent.sampler.context_goal}
256
+ transform: ${loopnav_latent.shared.transform}
257
+ test:
258
+ _target_: far.data.datasets.FormattedVideoDataset
259
+ formatter: ${loopnav_latent.formatter.context_pose}
260
+ base_dataset:
261
+ _target_: far.data.datasets.VideoDataset
262
+ manifest_path: ${loopnav_latent.shared.manifest_path}
263
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/loopnav/loopnav_latent_test.json
264
+ backend: ${loopnav_latent.shared.backend}
265
+ sampler: ${loopnav_latent.sampler.context_goal_test}
266
+ transform: ${loopnav_latent.shared.transform}
267
+ soundspaces_latent:
268
+ spec:
269
+ _target_: far.builders.data.build_dataspec
270
+ local_pos_stats:
271
+ min:
272
+ - 0
273
+ - 0
274
+ - 0
275
+ max:
276
+ - 1
277
+ - 1
278
+ - 1
279
+ meters_per_waypoint: 1.0
280
+ max_frame_offset: 10.0
281
+ len_traj_pred: ${len_traj_pred}
282
+ planner_mu_init:
283
+ - -0.1
284
+ - 0
285
+ - 0
286
+ - 0
287
+ - 0
288
+ planner_sigma_init:
289
+ - 0.02
290
+ - 0.1
291
+ - 0
292
+ - 0
293
+ - 0.3142
294
+ pose_fields:
295
+ - x
296
+ - 'y'
297
+ - z
298
+ - pitch
299
+ - yaw
300
+ pose_dim: 5
301
+ pos_dim: 3
302
+ angle_dim: 2
303
+ pose_mode: 3d
304
+ fps: 10.0
305
+ shared:
306
+ manifest_path: ${oc.env:FAR_RESULT_ROOT}/manifests/soundspaces/soundspaces_latent.json
307
+ backend:
308
+ _target_: far.data.backends.SoundSpacesBackend
309
+ key_suffix: null
310
+ audio_mode: null
311
+ audio_window_hops: 48
312
+ transform: null
313
+ sampler:
314
+ random_clip:
315
+ _target_: far.data.samplers.RandomClipSampler
316
+ clip_len: 16
317
+ frame_stride: 5
318
+ context_goal:
319
+ _target_: far.data.samplers.ContextGoalSampler
320
+ context_pool_size: 200
321
+ len_traj_pred: ${len_traj_pred}
322
+ goals_per_obs: ${goals_per_obs}
323
+ context_goal_test:
324
+ _target_: far.data.samplers.ContextGoalSampler
325
+ context_pool_size: 200
326
+ len_traj_pred: ${len_traj_pred}
327
+ goals_per_obs: 4
328
+ context_traj:
329
+ _target_: far.data.samplers.ContextTrajectorySampler
330
+ context_pool_size: 200
331
+ len_traj_pred: ${len_traj_pred}
332
+ formatter:
333
+ frame:
334
+ _target_: far.data.formatters.FrameFormatter
335
+ context_pose:
336
+ _target_: far.data.formatters.ContextPoseFormatter
337
+ spec: ${soundspaces_latent.spec}
338
+ train:
339
+ _target_: far.data.datasets.FormattedVideoDataset
340
+ formatter: ${soundspaces_latent.formatter.context_pose}
341
+ base_dataset:
342
+ _target_: far.data.datasets.VideoDataset
343
+ manifest_path: ${soundspaces_latent.shared.manifest_path}
344
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/soundspaces/soundspaces_latent_train.json
345
+ backend: ${soundspaces_latent.shared.backend}
346
+ sampler: ${soundspaces_latent.sampler.context_goal}
347
+ transform: ${soundspaces_latent.shared.transform}
348
+ test:
349
+ _target_: far.data.datasets.FormattedVideoDataset
350
+ formatter: ${soundspaces_latent.formatter.context_pose}
351
+ base_dataset:
352
+ _target_: far.data.datasets.VideoDataset
353
+ manifest_path: ${soundspaces_latent.shared.manifest_path}
354
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/soundspaces/soundspaces_latent_test.json
355
+ backend: ${soundspaces_latent.shared.backend}
356
+ sampler: ${soundspaces_latent.sampler.context_goal_test}
357
+ transform: ${soundspaces_latent.shared.transform}
358
+ model:
359
+ tokenizer:
360
+ _target_: far.tokenizers.sd_vae.SD_VAE
361
+ image_height: ${image_height}
362
+ image_width: ${image_width}
363
+ vae_scale: 0.13025
364
+ ckpt_path: models/sdxl-vae-fp16-fix
365
+ generator:
366
+ _target_: far.generators.cdit_mod_pose_fa.CDiT
367
+ depth: 12
368
+ hidden_size: 768
369
+ patch_size: 2
370
+ num_heads: 12
371
+ context_size: 4
372
+ ckpt_path: null
373
+ action_dim: ${action_dim}
374
+ pose_dim: ${pose_dim}
375
+ fov_half_h: 45.0
376
+ fov_half_v: 45.0
377
+ local_pos_stats: ${soundspaces_latent.spec.local_pos_stats}
378
+ stride_to_seconds: 1.0
379
+ memory:
380
+ _target_: far.memories.baselines.TemporalRetrieval
381
+ interval: 1.0
382
+ _target_: far.builders.models.build_ldwm
383
+ _recursive_: false
384
+ condition_on_context_time: true
385
+ condition_on_context_pose: true
386
+ retriever_loss_weight: 1.0
387
+ diffusion:
388
+ _target_: far.generators.diffusion.create_diffusion
389
+ timestep_respacing: null
390
+ noise_schedule: linear
391
+ diffusion_steps: 1000
392
+ learn_sigma: true
393
+ predict_xstart: false
394
+ sigma_small: false
395
+ use_kl: false
396
+ rescale_learned_sigmas: false
397
+ wandb:
398
+ project: PMem-SS
399
+ name: null
400
+ entity: null
401
+ mode: online
402
+ group: soundspaces_latent
403
+ tags:
404
+ - soundspaces_latent
405
+ run_name: ss_cdit_b_temporal_posefa_ps2
406
+ context_size: 4
407
+ action_dim: 5
408
+ pose_dim: 5
409
+ image_height: 256
410
+ image_width: 256
411
+ len_traj_pred: 128
412
+ goals_per_obs: 4
413
+ lr: 0.0001
414
+ lr_mem: null
415
+ weight_decay: 0.0
416
+ grad_clip_val: 1.0
417
+ iterations: 5000000
418
+ warmup_steps: 5000
419
+ from_checkpoint: null
420
+ global_seed: 0
421
+ log_every: 100
422
+ ckpt_every: 100000
423
+ latest_every: 10000
424
+ eval_every: 2500
425
+ rag_every: 0
426
+ rag_noise_levels: 4
427
+ local_rag: false
428
+ local_rag_weight: 1.0
429
+ bfloat16: false
430
+ torch_compile: true
431
+ batch_size: 9
432
+ eval_batch_size: 16
433
+ num_workers: 12
434
+ datasets:
435
+ - soundspaces_latent
soundspaces_v1/worldmem/checkpoints/0700000.pth.tar ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b4a25b3c10e25baa68360ffe6e088f063a1f79112f58add499d7ce0ca23c4c22
3
+ size 524576185
soundspaces_v1/worldmem/config.yaml ADDED
@@ -0,0 +1,440 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ recon:
2
+ spec:
3
+ _target_: far.builders.data.build_dataspec
4
+ local_pos_stats:
5
+ min:
6
+ - -2.5
7
+ - -4
8
+ max:
9
+ - 5
10
+ - 4
11
+ meters_per_waypoint: 0.25
12
+ max_frame_offset: 128
13
+ len_traj_pred: ${len_traj_pred}
14
+ planner_mu_init:
15
+ - -0.1
16
+ - 0
17
+ - 0
18
+ planner_sigma_init:
19
+ - 0.02
20
+ - 0.1
21
+ - 0.3142
22
+ pose_fields:
23
+ - x
24
+ - 'y'
25
+ - z
26
+ - pitch
27
+ - yaw
28
+ pose_dim: 5
29
+ pos_dim: 2
30
+ angle_dim: 1
31
+ pose_mode: 2d
32
+ fps: 4.0
33
+ shared:
34
+ manifest_path: results/manifests/recon/recon_split.json
35
+ backend:
36
+ _target_: far.data.backends.NavigationBackend
37
+ transform:
38
+ _target_: far.data.transforms.make_centercrop_resize
39
+ image_height: ${image_height}
40
+ image_width: ${image_width}
41
+ sampler:
42
+ context_goal:
43
+ _target_: far.data.samplers.ContextGoalSampler
44
+ context_pool_size: 12
45
+ len_traj_pred: ${len_traj_pred}
46
+ goals_per_obs: ${goals_per_obs}
47
+ context_traj:
48
+ _target_: far.data.samplers.ContextTrajectorySampler
49
+ context_pool_size: 12
50
+ len_traj_pred: ${len_traj_pred}
51
+ formatter:
52
+ context_pose:
53
+ _target_: far.data.formatters.ContextPoseFormatter2D
54
+ spec: ${recon.spec}
55
+ train:
56
+ _target_: far.data.datasets.FormattedVideoDataset
57
+ formatter: ${recon.formatter.context_pose}
58
+ base_dataset:
59
+ _target_: far.data.datasets.VideoDataset
60
+ manifest_path: ${recon.shared.manifest_path}
61
+ index_path: results/indices/recon/recon_train.json
62
+ backend: ${recon.shared.backend}
63
+ sampler: ${recon.sampler.context_goal}
64
+ transform: ${recon.shared.transform}
65
+ test:
66
+ _target_: far.data.datasets.FormattedVideoDataset
67
+ formatter: ${recon.formatter.context_pose}
68
+ base_dataset:
69
+ _target_: far.data.datasets.VideoDataset
70
+ manifest_path: ${recon.shared.manifest_path}
71
+ index_path: results/indices/recon/recon_test.json
72
+ backend: ${recon.shared.backend}
73
+ sampler: ${recon.sampler.context_goal}
74
+ transform: ${recon.shared.transform}
75
+ eval:
76
+ _target_: far.data.datasets.FormattedVideoDataset
77
+ formatter: ${recon.formatter.context_pose}
78
+ base_dataset:
79
+ _target_: far.data.datasets.VideoDataset
80
+ manifest_path: ${recon.shared.manifest_path}
81
+ index_path: results/indices/recon/recon_test_time.json
82
+ backend: ${recon.shared.backend}
83
+ sampler: ${recon.sampler.context_traj}
84
+ transform: ${recon.shared.transform}
85
+ eval_traj:
86
+ _target_: far.data.datasets.FormattedVideoDataset
87
+ formatter: ${recon.formatter.context_pose}
88
+ base_dataset:
89
+ _target_: far.data.datasets.VideoDataset
90
+ manifest_path: ${recon.shared.manifest_path}
91
+ index_path: results/indices/recon/recon_test_plan.json
92
+ backend: ${recon.shared.backend}
93
+ sampler: ${recon.sampler.context_traj}
94
+ transform: ${recon.shared.transform}
95
+ loopnav:
96
+ spec:
97
+ _target_: far.builders.data.build_dataspec
98
+ local_pos_stats:
99
+ min:
100
+ - -2.5
101
+ - -4
102
+ - 0
103
+ max:
104
+ - 5
105
+ - 4
106
+ - 1
107
+ meters_per_waypoint: 0.25
108
+ max_frame_offset: 128
109
+ len_traj_pred: ${len_traj_pred}
110
+ planner_mu_init:
111
+ - -0.1
112
+ - 0
113
+ - 0
114
+ - 0
115
+ - 0
116
+ planner_sigma_init:
117
+ - 0.02
118
+ - 0.1
119
+ - 0
120
+ - 0
121
+ - 0.3142
122
+ pose_fields:
123
+ - x
124
+ - 'y'
125
+ - z
126
+ - pitch
127
+ - yaw
128
+ pose_dim: 5
129
+ pos_dim: 3
130
+ angle_dim: 2
131
+ pose_mode: 3d
132
+ fps: 20.0
133
+ shared:
134
+ manifest_path: results/manifests/loopnav/loopnav_split.json
135
+ backend:
136
+ _target_: far.data.backends.LoopNavBackend
137
+ standard_frame: false
138
+ transform:
139
+ _target_: far.data.transforms.make_resize
140
+ image_height: ${image_height}
141
+ image_width: ${image_width}
142
+ sampler:
143
+ random_clip:
144
+ _target_: far.data.samplers.RandomClipSampler
145
+ clip_len: 16
146
+ frame_stride: 10
147
+ context_goal:
148
+ _target_: far.data.samplers.ContextGoalSampler
149
+ context_pool_size: 100
150
+ len_traj_pred: ${len_traj_pred}
151
+ goals_per_obs: ${goals_per_obs}
152
+ context_traj:
153
+ _target_: far.data.samplers.ContextTrajectorySampler
154
+ context_pool_size: 100
155
+ len_traj_pred: ${len_traj_pred}
156
+ formatter:
157
+ frame:
158
+ _target_: far.data.formatters.FrameFormatter
159
+ context_pose:
160
+ _target_: far.data.formatters.ContextPoseFormatter
161
+ spec: ${loopnav.spec}
162
+ train_tokenizer:
163
+ _target_: far.data.datasets.FormattedIterableDataset
164
+ formatter: ${loopnav.formatter.frame}
165
+ base_dataset:
166
+ _target_: far.data.datasets.WebVideoIterableDataset
167
+ manifest_path: results/manifests/loopnav/loopnav.json
168
+ index_path: results/indices/loopnav/loopnav_train_ABCA.json
169
+ backend:
170
+ _target_: far.data.backends.WebDatasetBackend
171
+ sampler: ${loopnav.sampler.random_clip}
172
+ transform: ${loopnav.shared.transform}
173
+ cache_dir: null
174
+ cache_size: 100
175
+ shuffle_shards: 32
176
+ shuffle_samples: 100
177
+ loopnav_latent:
178
+ spec:
179
+ _target_: far.builders.data.build_dataspec
180
+ local_pos_stats:
181
+ min:
182
+ - 0
183
+ - 0
184
+ - 0
185
+ max:
186
+ - 1
187
+ - 1
188
+ - 1
189
+ meters_per_waypoint: 1.0
190
+ max_frame_offset: 20.0
191
+ len_traj_pred: ${len_traj_pred}
192
+ planner_mu_init:
193
+ - -0.1
194
+ - 0
195
+ - 0
196
+ - 0
197
+ - 0
198
+ planner_sigma_init:
199
+ - 0.02
200
+ - 0.1
201
+ - 0
202
+ - 0
203
+ - 0.3142
204
+ pose_fields:
205
+ - x
206
+ - 'y'
207
+ - z
208
+ - pitch
209
+ - yaw
210
+ pose_dim: 5
211
+ pos_dim: 3
212
+ angle_dim: 2
213
+ pose_mode: 3d
214
+ fps: 20.0
215
+ shared:
216
+ manifest_path: results/manifests/loopnav/loopnav_latent.json
217
+ backend:
218
+ _target_: far.data.backends.LatentLoopNavBackend
219
+ key_suffix: .keys.npy
220
+ standard_frame: false
221
+ transform: null
222
+ sampler:
223
+ random_clip:
224
+ _target_: far.data.samplers.RandomClipSampler
225
+ clip_len: 16
226
+ frame_stride: 10
227
+ context_goal:
228
+ _target_: far.data.samplers.ContextGoalSampler
229
+ context_pool_size: 200
230
+ len_traj_pred: ${len_traj_pred}
231
+ goals_per_obs: ${goals_per_obs}
232
+ context_goal_test:
233
+ _target_: far.data.samplers.ContextGoalSampler
234
+ context_pool_size: 200
235
+ len_traj_pred: ${len_traj_pred}
236
+ goals_per_obs: 4
237
+ context_traj:
238
+ _target_: far.data.samplers.ContextTrajectorySampler
239
+ context_pool_size: 200
240
+ len_traj_pred: ${len_traj_pred}
241
+ formatter:
242
+ frame:
243
+ _target_: far.data.formatters.FrameFormatter
244
+ context_pose:
245
+ _target_: far.data.formatters.ContextPoseFormatter
246
+ spec: ${loopnav_latent.spec}
247
+ train:
248
+ _target_: far.data.datasets.FormattedVideoDataset
249
+ formatter: ${loopnav_latent.formatter.context_pose}
250
+ base_dataset:
251
+ _target_: far.data.datasets.VideoDataset
252
+ manifest_path: ${loopnav_latent.shared.manifest_path}
253
+ index_path: results/indices/loopnav/loopnav_latent_train.json
254
+ backend: ${loopnav_latent.shared.backend}
255
+ sampler: ${loopnav_latent.sampler.context_goal}
256
+ transform: ${loopnav_latent.shared.transform}
257
+ test:
258
+ _target_: far.data.datasets.FormattedVideoDataset
259
+ formatter: ${loopnav_latent.formatter.context_pose}
260
+ base_dataset:
261
+ _target_: far.data.datasets.VideoDataset
262
+ manifest_path: ${loopnav_latent.shared.manifest_path}
263
+ index_path: results/indices/loopnav/loopnav_latent_test.json
264
+ backend: ${loopnav_latent.shared.backend}
265
+ sampler: ${loopnav_latent.sampler.context_goal_test}
266
+ transform: ${loopnav_latent.shared.transform}
267
+ soundspaces_latent:
268
+ spec:
269
+ _target_: far.builders.data.build_dataspec
270
+ local_pos_stats:
271
+ min:
272
+ - 0
273
+ - 0
274
+ - 0
275
+ max:
276
+ - 1
277
+ - 1
278
+ - 1
279
+ meters_per_waypoint: 1.0
280
+ max_frame_offset: 10.0
281
+ len_traj_pred: ${len_traj_pred}
282
+ planner_mu_init:
283
+ - -0.1
284
+ - 0
285
+ - 0
286
+ - 0
287
+ - 0
288
+ planner_sigma_init:
289
+ - 0.02
290
+ - 0.1
291
+ - 0
292
+ - 0
293
+ - 0.3142
294
+ pose_fields:
295
+ - x
296
+ - 'y'
297
+ - z
298
+ - pitch
299
+ - yaw
300
+ pose_dim: 5
301
+ pos_dim: 3
302
+ angle_dim: 2
303
+ pose_mode: 3d
304
+ fps: 10.0
305
+ shared:
306
+ manifest_path: results/manifests/soundspaces/soundspaces_latent.json
307
+ backend:
308
+ _target_: far.data.backends.SoundSpacesBackend
309
+ key_suffix: null
310
+ audio_mode: null
311
+ audio_window_hops: 48
312
+ transform: null
313
+ sampler:
314
+ random_clip:
315
+ _target_: far.data.samplers.RandomClipSampler
316
+ clip_len: 16
317
+ frame_stride: 5
318
+ context_goal:
319
+ _target_: far.data.samplers.ContextGoalSampler
320
+ context_pool_size: 200
321
+ len_traj_pred: ${len_traj_pred}
322
+ goals_per_obs: ${goals_per_obs}
323
+ context_goal_test:
324
+ _target_: far.data.samplers.ContextGoalSampler
325
+ context_pool_size: 200
326
+ len_traj_pred: ${len_traj_pred}
327
+ goals_per_obs: 4
328
+ context_traj:
329
+ _target_: far.data.samplers.ContextTrajectorySampler
330
+ context_pool_size: 200
331
+ len_traj_pred: ${len_traj_pred}
332
+ formatter:
333
+ frame:
334
+ _target_: far.data.formatters.FrameFormatter
335
+ context_pose:
336
+ _target_: far.data.formatters.ContextPoseFormatter
337
+ spec: ${soundspaces_latent.spec}
338
+ train:
339
+ _target_: far.data.datasets.FormattedVideoDataset
340
+ formatter: ${soundspaces_latent.formatter.context_pose}
341
+ base_dataset:
342
+ _target_: far.data.datasets.VideoDataset
343
+ manifest_path: ${soundspaces_latent.shared.manifest_path}
344
+ index_path: results/indices/soundspaces/soundspaces_latent_train.json
345
+ backend: ${soundspaces_latent.shared.backend}
346
+ sampler: ${soundspaces_latent.sampler.context_goal}
347
+ transform: ${soundspaces_latent.shared.transform}
348
+ test:
349
+ _target_: far.data.datasets.FormattedVideoDataset
350
+ formatter: ${soundspaces_latent.formatter.context_pose}
351
+ base_dataset:
352
+ _target_: far.data.datasets.VideoDataset
353
+ manifest_path: ${soundspaces_latent.shared.manifest_path}
354
+ index_path: results/indices/soundspaces/soundspaces_latent_test.json
355
+ backend: ${soundspaces_latent.shared.backend}
356
+ sampler: ${soundspaces_latent.sampler.context_goal_test}
357
+ transform: ${soundspaces_latent.shared.transform}
358
+ model:
359
+ tokenizer:
360
+ _target_: far.tokenizers.sd_vae.SD_VAE
361
+ image_height: ${image_height}
362
+ image_width: ${image_width}
363
+ vae_scale: 0.13025
364
+ ckpt_path: madebyollin/sdxl-vae-fp16-fix
365
+ generator:
366
+ _target_: far.generators.cdit_mod_pose_fa.CDiT
367
+ depth: 12
368
+ hidden_size: 768
369
+ patch_size: 2
370
+ num_heads: 12
371
+ context_size: 4
372
+ ckpt_path: null
373
+ action_dim: ${action_dim}
374
+ pose_dim: ${pose_dim}
375
+ fov_half_h: 45.0
376
+ fov_half_v: 45.0
377
+ local_pos_stats: ${soundspaces_latent.spec.local_pos_stats}
378
+ stride_to_seconds: 1.0
379
+ memory:
380
+ _target_: far.memories.worldmem.WorldMemRetrieval
381
+ num_samples: 10000
382
+ radius: 5.0
383
+ fov_half_h: 45.0
384
+ fov_half_v: 45.0
385
+ recency_factor: 0.2
386
+ local_pos_stats: ${soundspaces_latent.spec.local_pos_stats}
387
+ _target_: far.builders.models.build_ldwm
388
+ _recursive_: false
389
+ condition_on_context_time: true
390
+ condition_on_context_pose: true
391
+ retriever_loss_weight: 1.0
392
+ diffusion:
393
+ _target_: far.generators.diffusion.create_diffusion
394
+ timestep_respacing: null
395
+ noise_schedule: linear
396
+ diffusion_steps: 1000
397
+ learn_sigma: true
398
+ predict_xstart: false
399
+ sigma_small: false
400
+ use_kl: false
401
+ rescale_learned_sigmas: false
402
+ wandb:
403
+ project: PMem-SS
404
+ name: null
405
+ entity: null
406
+ mode: online
407
+ group: soundspaces_latent
408
+ tags:
409
+ - soundspaces_latent
410
+ run_name: ss_cdit_b_worldmem_posefa_ps2
411
+ context_size: 4
412
+ action_dim: 5
413
+ pose_dim: 5
414
+ image_height: 256
415
+ image_width: 256
416
+ len_traj_pred: 128
417
+ goals_per_obs: 4
418
+ lr: 0.0001
419
+ lr_mem: null
420
+ weight_decay: 0.0
421
+ grad_clip_val: 1.0
422
+ iterations: 5000000
423
+ warmup_steps: 5000
424
+ from_checkpoint: null
425
+ global_seed: 0
426
+ log_every: 100
427
+ ckpt_every: 100000
428
+ latest_every: 10000
429
+ eval_every: 2500
430
+ rag_every: 0
431
+ rag_noise_levels: 4
432
+ local_rag: false
433
+ local_rag_weight: 1.0
434
+ bfloat16: false
435
+ torch_compile: true
436
+ batch_size: 16
437
+ eval_batch_size: 32
438
+ num_workers: 12
439
+ datasets:
440
+ - soundspaces_latent
soundspaces_v2/far_meta/checkpoints/0700000.pth.tar ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c521386dc7045c4aa24d555dfbc64d18f0760adfb95cb3a6b6d141b66eaf5cc6
3
+ size 590474195
soundspaces_v2/far_meta/config.yaml ADDED
@@ -0,0 +1,550 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ recon:
2
+ spec:
3
+ _target_: far.builders.data.build_dataspec
4
+ local_pos_stats:
5
+ min:
6
+ - -2.5
7
+ - -4
8
+ max:
9
+ - 5
10
+ - 4
11
+ meters_per_waypoint: 0.25
12
+ max_frame_offset: 128
13
+ len_traj_pred: ${len_traj_pred}
14
+ planner_mu_init:
15
+ - -0.1
16
+ - 0
17
+ - 0
18
+ planner_sigma_init:
19
+ - 0.02
20
+ - 0.1
21
+ - 0.3142
22
+ pose_fields:
23
+ - x
24
+ - 'y'
25
+ - z
26
+ - pitch
27
+ - yaw
28
+ pose_dim: 5
29
+ pos_dim: 2
30
+ angle_dim: 1
31
+ pose_mode: 2d
32
+ fps: 4.0
33
+ shared:
34
+ manifest_path: results/manifests/recon/recon_split.json
35
+ backend:
36
+ _target_: far.data.backends.NavigationBackend
37
+ transform:
38
+ _target_: far.data.transforms.make_centercrop_resize
39
+ image_height: ${image_height}
40
+ image_width: ${image_width}
41
+ sampler:
42
+ context_goal:
43
+ _target_: far.data.samplers.ContextGoalSampler
44
+ context_pool_size: 12
45
+ len_traj_pred: ${len_traj_pred}
46
+ goals_per_obs: ${goals_per_obs}
47
+ context_traj:
48
+ _target_: far.data.samplers.ContextTrajectorySampler
49
+ context_pool_size: 12
50
+ len_traj_pred: ${len_traj_pred}
51
+ formatter:
52
+ context_pose:
53
+ _target_: far.data.formatters.ContextPoseFormatter2D
54
+ spec: ${recon.spec}
55
+ train:
56
+ _target_: far.data.datasets.FormattedVideoDataset
57
+ formatter: ${recon.formatter.context_pose}
58
+ base_dataset:
59
+ _target_: far.data.datasets.VideoDataset
60
+ manifest_path: ${recon.shared.manifest_path}
61
+ index_path: results/indices/recon/recon_train.json
62
+ backend: ${recon.shared.backend}
63
+ sampler: ${recon.sampler.context_goal}
64
+ transform: ${recon.shared.transform}
65
+ test:
66
+ _target_: far.data.datasets.FormattedVideoDataset
67
+ formatter: ${recon.formatter.context_pose}
68
+ base_dataset:
69
+ _target_: far.data.datasets.VideoDataset
70
+ manifest_path: ${recon.shared.manifest_path}
71
+ index_path: results/indices/recon/recon_test.json
72
+ backend: ${recon.shared.backend}
73
+ sampler: ${recon.sampler.context_goal}
74
+ transform: ${recon.shared.transform}
75
+ eval:
76
+ _target_: far.data.datasets.FormattedVideoDataset
77
+ formatter: ${recon.formatter.context_pose}
78
+ base_dataset:
79
+ _target_: far.data.datasets.VideoDataset
80
+ manifest_path: ${recon.shared.manifest_path}
81
+ index_path: results/indices/recon/recon_test_time.json
82
+ backend: ${recon.shared.backend}
83
+ sampler: ${recon.sampler.context_traj}
84
+ transform: ${recon.shared.transform}
85
+ eval_traj:
86
+ _target_: far.data.datasets.FormattedVideoDataset
87
+ formatter: ${recon.formatter.context_pose}
88
+ base_dataset:
89
+ _target_: far.data.datasets.VideoDataset
90
+ manifest_path: ${recon.shared.manifest_path}
91
+ index_path: results/indices/recon/recon_test_plan.json
92
+ backend: ${recon.shared.backend}
93
+ sampler: ${recon.sampler.context_traj}
94
+ transform: ${recon.shared.transform}
95
+ loopnav:
96
+ spec:
97
+ _target_: far.builders.data.build_dataspec
98
+ local_pos_stats:
99
+ min:
100
+ - -2.5
101
+ - -4
102
+ - 0
103
+ max:
104
+ - 5
105
+ - 4
106
+ - 1
107
+ meters_per_waypoint: 0.25
108
+ max_frame_offset: 128
109
+ len_traj_pred: ${len_traj_pred}
110
+ planner_mu_init:
111
+ - -0.1
112
+ - 0
113
+ - 0
114
+ - 0
115
+ - 0
116
+ planner_sigma_init:
117
+ - 0.02
118
+ - 0.1
119
+ - 0
120
+ - 0
121
+ - 0.3142
122
+ pose_fields:
123
+ - x
124
+ - 'y'
125
+ - z
126
+ - pitch
127
+ - yaw
128
+ pose_dim: 5
129
+ pos_dim: 3
130
+ angle_dim: 2
131
+ pose_mode: 3d
132
+ fps: 20.0
133
+ shared:
134
+ manifest_path: results/manifests/loopnav/loopnav_split.json
135
+ backend:
136
+ _target_: far.data.backends.LoopNavBackend
137
+ standard_frame: false
138
+ transform:
139
+ _target_: far.data.transforms.make_resize
140
+ image_height: ${image_height}
141
+ image_width: ${image_width}
142
+ sampler:
143
+ random_clip:
144
+ _target_: far.data.samplers.RandomClipSampler
145
+ clip_len: 16
146
+ frame_stride: 10
147
+ context_goal:
148
+ _target_: far.data.samplers.ContextGoalSampler
149
+ context_pool_size: 100
150
+ len_traj_pred: ${len_traj_pred}
151
+ goals_per_obs: ${goals_per_obs}
152
+ context_traj:
153
+ _target_: far.data.samplers.ContextTrajectorySampler
154
+ context_pool_size: 100
155
+ len_traj_pred: ${len_traj_pred}
156
+ formatter:
157
+ frame:
158
+ _target_: far.data.formatters.FrameFormatter
159
+ context_pose:
160
+ _target_: far.data.formatters.ContextPoseFormatter
161
+ spec: ${loopnav.spec}
162
+ train_tokenizer:
163
+ _target_: far.data.datasets.FormattedIterableDataset
164
+ formatter: ${loopnav.formatter.frame}
165
+ base_dataset:
166
+ _target_: far.data.datasets.WebVideoIterableDataset
167
+ manifest_path: results/manifests/loopnav/loopnav.json
168
+ index_path: results/indices/loopnav/loopnav_train_ABCA.json
169
+ backend:
170
+ _target_: far.data.backends.WebDatasetBackend
171
+ sampler: ${loopnav.sampler.random_clip}
172
+ transform: ${loopnav.shared.transform}
173
+ cache_dir: null
174
+ cache_size: 100
175
+ shuffle_shards: 32
176
+ shuffle_samples: 100
177
+ loopnav_latent:
178
+ spec:
179
+ _target_: far.builders.data.build_dataspec
180
+ local_pos_stats:
181
+ min:
182
+ - 0
183
+ - 0
184
+ - 0
185
+ max:
186
+ - 1
187
+ - 1
188
+ - 1
189
+ meters_per_waypoint: 1.0
190
+ max_frame_offset: 20.0
191
+ len_traj_pred: ${len_traj_pred}
192
+ planner_mu_init:
193
+ - -0.1
194
+ - 0
195
+ - 0
196
+ - 0
197
+ - 0
198
+ planner_sigma_init:
199
+ - 0.02
200
+ - 0.1
201
+ - 0
202
+ - 0
203
+ - 0.3142
204
+ pose_fields:
205
+ - x
206
+ - 'y'
207
+ - z
208
+ - pitch
209
+ - yaw
210
+ pose_dim: 5
211
+ pos_dim: 3
212
+ angle_dim: 2
213
+ pose_mode: 3d
214
+ fps: 20.0
215
+ shared:
216
+ manifest_path: ${oc.env:FAR_RESULT_ROOT}/manifests/loopnav/loopnav_latent.json
217
+ backend:
218
+ _target_: far.data.backends.LatentLoopNavBackend
219
+ key_suffix: .keys.npy
220
+ standard_frame: false
221
+ transform: null
222
+ sampler:
223
+ random_clip:
224
+ _target_: far.data.samplers.RandomClipSampler
225
+ clip_len: 16
226
+ frame_stride: 10
227
+ context_goal:
228
+ _target_: far.data.samplers.ContextGoalSampler
229
+ context_pool_size: 200
230
+ len_traj_pred: ${len_traj_pred}
231
+ goals_per_obs: ${goals_per_obs}
232
+ context_goal_test:
233
+ _target_: far.data.samplers.ContextGoalSampler
234
+ context_pool_size: 200
235
+ len_traj_pred: ${len_traj_pred}
236
+ goals_per_obs: 4
237
+ context_traj:
238
+ _target_: far.data.samplers.ContextTrajectorySampler
239
+ context_pool_size: 200
240
+ len_traj_pred: ${len_traj_pred}
241
+ formatter:
242
+ frame:
243
+ _target_: far.data.formatters.FrameFormatter
244
+ context_pose:
245
+ _target_: far.data.formatters.ContextPoseFormatter
246
+ spec: ${loopnav_latent.spec}
247
+ train:
248
+ _target_: far.data.datasets.FormattedVideoDataset
249
+ formatter: ${loopnav_latent.formatter.context_pose}
250
+ base_dataset:
251
+ _target_: far.data.datasets.VideoDataset
252
+ manifest_path: ${loopnav_latent.shared.manifest_path}
253
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/loopnav/loopnav_latent_train.json
254
+ backend: ${loopnav_latent.shared.backend}
255
+ sampler: ${loopnav_latent.sampler.context_goal}
256
+ transform: ${loopnav_latent.shared.transform}
257
+ test:
258
+ _target_: far.data.datasets.FormattedVideoDataset
259
+ formatter: ${loopnav_latent.formatter.context_pose}
260
+ base_dataset:
261
+ _target_: far.data.datasets.VideoDataset
262
+ manifest_path: ${loopnav_latent.shared.manifest_path}
263
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/loopnav/loopnav_latent_test.json
264
+ backend: ${loopnav_latent.shared.backend}
265
+ sampler: ${loopnav_latent.sampler.context_goal_test}
266
+ transform: ${loopnav_latent.shared.transform}
267
+ soundspaces_latent:
268
+ spec:
269
+ _target_: far.builders.data.build_dataspec
270
+ local_pos_stats:
271
+ min:
272
+ - 0
273
+ - 0
274
+ - 0
275
+ max:
276
+ - 1
277
+ - 1
278
+ - 1
279
+ meters_per_waypoint: 1.0
280
+ max_frame_offset: 10.0
281
+ len_traj_pred: ${len_traj_pred}
282
+ planner_mu_init:
283
+ - -0.1
284
+ - 0
285
+ - 0
286
+ - 0
287
+ - 0
288
+ planner_sigma_init:
289
+ - 0.02
290
+ - 0.1
291
+ - 0
292
+ - 0
293
+ - 0.3142
294
+ pose_fields:
295
+ - x
296
+ - 'y'
297
+ - z
298
+ - pitch
299
+ - yaw
300
+ pose_dim: 5
301
+ pos_dim: 3
302
+ angle_dim: 2
303
+ pose_mode: 3d
304
+ fps: 10.0
305
+ shared:
306
+ manifest_path: ${oc.env:FAR_RESULT_ROOT}/manifests/soundspaces/soundspaces_latent.json
307
+ backend:
308
+ _target_: far.data.backends.SoundSpacesBackend
309
+ key_suffix: null
310
+ audio_mode: null
311
+ audio_window_hops: 48
312
+ transform: null
313
+ sampler:
314
+ random_clip:
315
+ _target_: far.data.samplers.RandomClipSampler
316
+ clip_len: 16
317
+ frame_stride: 5
318
+ context_goal:
319
+ _target_: far.data.samplers.ContextGoalSampler
320
+ context_pool_size: 200
321
+ len_traj_pred: ${len_traj_pred}
322
+ goals_per_obs: ${goals_per_obs}
323
+ context_goal_test:
324
+ _target_: far.data.samplers.ContextGoalSampler
325
+ context_pool_size: 200
326
+ len_traj_pred: ${len_traj_pred}
327
+ goals_per_obs: 4
328
+ context_traj:
329
+ _target_: far.data.samplers.ContextTrajectorySampler
330
+ context_pool_size: 200
331
+ len_traj_pred: ${len_traj_pred}
332
+ formatter:
333
+ frame:
334
+ _target_: far.data.formatters.FrameFormatter
335
+ context_pose:
336
+ _target_: far.data.formatters.ContextPoseFormatter
337
+ spec: ${soundspaces_latent.spec}
338
+ train:
339
+ _target_: far.data.datasets.FormattedVideoDataset
340
+ formatter: ${soundspaces_latent.formatter.context_pose}
341
+ base_dataset:
342
+ _target_: far.data.datasets.VideoDataset
343
+ manifest_path: ${soundspaces_latent.shared.manifest_path}
344
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/soundspaces/soundspaces_latent_train.json
345
+ backend: ${soundspaces_latent.shared.backend}
346
+ sampler: ${soundspaces_latent.sampler.context_goal}
347
+ transform: ${soundspaces_latent.shared.transform}
348
+ test:
349
+ _target_: far.data.datasets.FormattedVideoDataset
350
+ formatter: ${soundspaces_latent.formatter.context_pose}
351
+ base_dataset:
352
+ _target_: far.data.datasets.VideoDataset
353
+ manifest_path: ${soundspaces_latent.shared.manifest_path}
354
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/soundspaces/soundspaces_latent_test.json
355
+ backend: ${soundspaces_latent.shared.backend}
356
+ sampler: ${soundspaces_latent.sampler.context_goal_test}
357
+ transform: ${soundspaces_latent.shared.transform}
358
+ soundspaces_v2_latent:
359
+ spec:
360
+ _target_: far.builders.data.build_dataspec
361
+ local_pos_stats:
362
+ min:
363
+ - 0
364
+ - 0
365
+ - 0
366
+ max:
367
+ - 1
368
+ - 1
369
+ - 1
370
+ meters_per_waypoint: 1.0
371
+ max_frame_offset: 10.0
372
+ len_traj_pred: ${len_traj_pred}
373
+ planner_mu_init:
374
+ - -0.1
375
+ - 0
376
+ - 0
377
+ - 0
378
+ - 0
379
+ planner_sigma_init:
380
+ - 0.02
381
+ - 0.1
382
+ - 0
383
+ - 0
384
+ - 0.3142
385
+ pose_fields:
386
+ - x
387
+ - 'y'
388
+ - z
389
+ - pitch
390
+ - yaw
391
+ pose_dim: 5
392
+ pos_dim: 3
393
+ angle_dim: 2
394
+ pose_mode: 3d
395
+ fps: 10.0
396
+ shared:
397
+ manifest_path: ${oc.env:FAR_RESULT_ROOT}/manifests/soundspaces_v2/soundspaces_v2_latent.json
398
+ backend:
399
+ _target_: far.data.backends.SoundSpacesBackend
400
+ key_suffix: .keys_audio.npy
401
+ audio_mode: null
402
+ audio_window_hops: 48
403
+ transform: null
404
+ sampler:
405
+ random_clip:
406
+ _target_: far.data.samplers.RandomClipSampler
407
+ clip_len: 16
408
+ frame_stride: 5
409
+ context_goal:
410
+ _target_: far.data.samplers.ContextGoalSampler
411
+ context_pool_size: 400
412
+ len_traj_pred: ${len_traj_pred}
413
+ goals_per_obs: ${goals_per_obs}
414
+ context_goal_test:
415
+ _target_: far.data.samplers.ContextGoalSampler
416
+ context_pool_size: 200
417
+ len_traj_pred: ${len_traj_pred}
418
+ goals_per_obs: 4
419
+ context_traj:
420
+ _target_: far.data.samplers.ContextTrajectorySampler
421
+ context_pool_size: 200
422
+ len_traj_pred: ${len_traj_pred}
423
+ formatter:
424
+ frame:
425
+ _target_: far.data.formatters.FrameFormatter
426
+ context_pose:
427
+ _target_: far.data.formatters.ContextPoseFormatter
428
+ spec: ${soundspaces_v2_latent.spec}
429
+ train:
430
+ _target_: far.data.datasets.FormattedVideoDataset
431
+ formatter: ${soundspaces_v2_latent.formatter.context_pose}
432
+ base_dataset:
433
+ _target_: far.data.datasets.VideoDataset
434
+ manifest_path: ${soundspaces_v2_latent.shared.manifest_path}
435
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/soundspaces_v2/soundspaces_v2_latent_train.json
436
+ backend: ${soundspaces_v2_latent.shared.backend}
437
+ sampler: ${soundspaces_v2_latent.sampler.context_goal}
438
+ transform: ${soundspaces_v2_latent.shared.transform}
439
+ test:
440
+ _target_: far.data.datasets.FormattedVideoDataset
441
+ formatter: ${soundspaces_v2_latent.formatter.context_pose}
442
+ base_dataset:
443
+ _target_: far.data.datasets.VideoDataset
444
+ manifest_path: ${soundspaces_v2_latent.shared.manifest_path}
445
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/soundspaces_v2/soundspaces_v2_latent_test.json
446
+ backend: ${soundspaces_v2_latent.shared.backend}
447
+ sampler: ${soundspaces_v2_latent.sampler.context_goal_test}
448
+ transform: ${soundspaces_v2_latent.shared.transform}
449
+ model:
450
+ tokenizer:
451
+ _target_: far.tokenizers.sd_vae.SD_VAE
452
+ image_height: ${image_height}
453
+ image_width: ${image_width}
454
+ vae_scale: 0.13025
455
+ ckpt_path: models/sdxl-vae-fp16-fix
456
+ generator:
457
+ _target_: far.generators.cdit_mod_pose_fa.CDiT
458
+ depth: 12
459
+ hidden_size: 768
460
+ patch_size: 2
461
+ num_heads: 12
462
+ context_size: 4
463
+ ckpt_path: null
464
+ action_dim: ${action_dim}
465
+ pose_dim: ${pose_dim}
466
+ fov_half_h: 45.0
467
+ fov_half_v: 45.0
468
+ local_pos_stats: ${soundspaces_v2_latent.spec.local_pos_stats}
469
+ stride_to_seconds: 1.0
470
+ memory:
471
+ _target_: far.memories.pnp_cl.PnPRetrieval
472
+ ckpt_path: null
473
+ chunk_size: 10
474
+ num_sets: 5
475
+ softmax_temperature: 1.0
476
+ scoring: meta
477
+ metadata_hidden: 128
478
+ local_pos_stats: ${soundspaces_v2_latent.spec.local_pos_stats}
479
+ stride_to_seconds: 1.0
480
+ encoder_mode: frozen
481
+ adapter_hidden: 384
482
+ query_source: frame
483
+ query_conditioning: action
484
+ gate_eps: 0.05
485
+ query_vit:
486
+ _target_: far.memories.pnp_cl.QueryViT
487
+ img_height: 32
488
+ img_width: 32
489
+ patch_size: 2
490
+ in_chans: 4
491
+ embed_dim: 384
492
+ depth: 6
493
+ num_heads: 12
494
+ action_dim: ${action_dim}
495
+ key_dim: 256
496
+ mlp_ratio: 4.0
497
+ _target_: far.builders.models.build_ldwm
498
+ _recursive_: false
499
+ condition_on_context_time: true
500
+ condition_on_context_pose: true
501
+ retriever_loss_weight: 1.0
502
+ diffusion:
503
+ _target_: far.generators.diffusion.create_diffusion
504
+ timestep_respacing: null
505
+ noise_schedule: linear
506
+ diffusion_steps: 1000
507
+ learn_sigma: true
508
+ predict_xstart: false
509
+ sigma_small: false
510
+ use_kl: false
511
+ rescale_learned_sigmas: false
512
+ wandb:
513
+ project: PMem-SS
514
+ name: null
515
+ entity: null
516
+ mode: online
517
+ group: soundspaces_v2_latent
518
+ tags:
519
+ - soundspaces_v2_latent
520
+ run_name: ssv2_cdit_b_pnp_meta_posefa_ps2
521
+ context_size: 4
522
+ action_dim: 5
523
+ pose_dim: 5
524
+ image_height: 256
525
+ image_width: 256
526
+ len_traj_pred: 128
527
+ goals_per_obs: 4
528
+ lr: 0.0001
529
+ lr_mem: 0.0001
530
+ weight_decay: 0.0
531
+ grad_clip_val: 1.0
532
+ iterations: 5000000
533
+ warmup_steps: 5000
534
+ from_checkpoint: null
535
+ global_seed: 0
536
+ log_every: 100
537
+ ckpt_every: 100000
538
+ latest_every: 10000
539
+ eval_every: 2500
540
+ rag_every: 20
541
+ rag_noise_levels: 4
542
+ local_rag: true
543
+ local_rag_weight: 1.0
544
+ bfloat16: false
545
+ torch_compile: true
546
+ batch_size: 16
547
+ eval_batch_size: 32
548
+ num_workers: 12
549
+ datasets:
550
+ - soundspaces_v2_latent
soundspaces_v2/far_multicue/checkpoints/0700000.pth.tar ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:32409877c67f1a8658364e1b2360e6cc73749979c80c6fd7afeba9a2a5c4e9cf
3
+ size 591338717
soundspaces_v2/far_multicue/config.yaml ADDED
@@ -0,0 +1,550 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ recon:
2
+ spec:
3
+ _target_: far.builders.data.build_dataspec
4
+ local_pos_stats:
5
+ min:
6
+ - -2.5
7
+ - -4
8
+ max:
9
+ - 5
10
+ - 4
11
+ meters_per_waypoint: 0.25
12
+ max_frame_offset: 128
13
+ len_traj_pred: ${len_traj_pred}
14
+ planner_mu_init:
15
+ - -0.1
16
+ - 0
17
+ - 0
18
+ planner_sigma_init:
19
+ - 0.02
20
+ - 0.1
21
+ - 0.3142
22
+ pose_fields:
23
+ - x
24
+ - 'y'
25
+ - z
26
+ - pitch
27
+ - yaw
28
+ pose_dim: 5
29
+ pos_dim: 2
30
+ angle_dim: 1
31
+ pose_mode: 2d
32
+ fps: 4.0
33
+ shared:
34
+ manifest_path: results/manifests/recon/recon_split.json
35
+ backend:
36
+ _target_: far.data.backends.NavigationBackend
37
+ transform:
38
+ _target_: far.data.transforms.make_centercrop_resize
39
+ image_height: ${image_height}
40
+ image_width: ${image_width}
41
+ sampler:
42
+ context_goal:
43
+ _target_: far.data.samplers.ContextGoalSampler
44
+ context_pool_size: 12
45
+ len_traj_pred: ${len_traj_pred}
46
+ goals_per_obs: ${goals_per_obs}
47
+ context_traj:
48
+ _target_: far.data.samplers.ContextTrajectorySampler
49
+ context_pool_size: 12
50
+ len_traj_pred: ${len_traj_pred}
51
+ formatter:
52
+ context_pose:
53
+ _target_: far.data.formatters.ContextPoseFormatter2D
54
+ spec: ${recon.spec}
55
+ train:
56
+ _target_: far.data.datasets.FormattedVideoDataset
57
+ formatter: ${recon.formatter.context_pose}
58
+ base_dataset:
59
+ _target_: far.data.datasets.VideoDataset
60
+ manifest_path: ${recon.shared.manifest_path}
61
+ index_path: results/indices/recon/recon_train.json
62
+ backend: ${recon.shared.backend}
63
+ sampler: ${recon.sampler.context_goal}
64
+ transform: ${recon.shared.transform}
65
+ test:
66
+ _target_: far.data.datasets.FormattedVideoDataset
67
+ formatter: ${recon.formatter.context_pose}
68
+ base_dataset:
69
+ _target_: far.data.datasets.VideoDataset
70
+ manifest_path: ${recon.shared.manifest_path}
71
+ index_path: results/indices/recon/recon_test.json
72
+ backend: ${recon.shared.backend}
73
+ sampler: ${recon.sampler.context_goal}
74
+ transform: ${recon.shared.transform}
75
+ eval:
76
+ _target_: far.data.datasets.FormattedVideoDataset
77
+ formatter: ${recon.formatter.context_pose}
78
+ base_dataset:
79
+ _target_: far.data.datasets.VideoDataset
80
+ manifest_path: ${recon.shared.manifest_path}
81
+ index_path: results/indices/recon/recon_test_time.json
82
+ backend: ${recon.shared.backend}
83
+ sampler: ${recon.sampler.context_traj}
84
+ transform: ${recon.shared.transform}
85
+ eval_traj:
86
+ _target_: far.data.datasets.FormattedVideoDataset
87
+ formatter: ${recon.formatter.context_pose}
88
+ base_dataset:
89
+ _target_: far.data.datasets.VideoDataset
90
+ manifest_path: ${recon.shared.manifest_path}
91
+ index_path: results/indices/recon/recon_test_plan.json
92
+ backend: ${recon.shared.backend}
93
+ sampler: ${recon.sampler.context_traj}
94
+ transform: ${recon.shared.transform}
95
+ loopnav:
96
+ spec:
97
+ _target_: far.builders.data.build_dataspec
98
+ local_pos_stats:
99
+ min:
100
+ - -2.5
101
+ - -4
102
+ - 0
103
+ max:
104
+ - 5
105
+ - 4
106
+ - 1
107
+ meters_per_waypoint: 0.25
108
+ max_frame_offset: 128
109
+ len_traj_pred: ${len_traj_pred}
110
+ planner_mu_init:
111
+ - -0.1
112
+ - 0
113
+ - 0
114
+ - 0
115
+ - 0
116
+ planner_sigma_init:
117
+ - 0.02
118
+ - 0.1
119
+ - 0
120
+ - 0
121
+ - 0.3142
122
+ pose_fields:
123
+ - x
124
+ - 'y'
125
+ - z
126
+ - pitch
127
+ - yaw
128
+ pose_dim: 5
129
+ pos_dim: 3
130
+ angle_dim: 2
131
+ pose_mode: 3d
132
+ fps: 20.0
133
+ shared:
134
+ manifest_path: results/manifests/loopnav/loopnav_split.json
135
+ backend:
136
+ _target_: far.data.backends.LoopNavBackend
137
+ standard_frame: false
138
+ transform:
139
+ _target_: far.data.transforms.make_resize
140
+ image_height: ${image_height}
141
+ image_width: ${image_width}
142
+ sampler:
143
+ random_clip:
144
+ _target_: far.data.samplers.RandomClipSampler
145
+ clip_len: 16
146
+ frame_stride: 10
147
+ context_goal:
148
+ _target_: far.data.samplers.ContextGoalSampler
149
+ context_pool_size: 100
150
+ len_traj_pred: ${len_traj_pred}
151
+ goals_per_obs: ${goals_per_obs}
152
+ context_traj:
153
+ _target_: far.data.samplers.ContextTrajectorySampler
154
+ context_pool_size: 100
155
+ len_traj_pred: ${len_traj_pred}
156
+ formatter:
157
+ frame:
158
+ _target_: far.data.formatters.FrameFormatter
159
+ context_pose:
160
+ _target_: far.data.formatters.ContextPoseFormatter
161
+ spec: ${loopnav.spec}
162
+ train_tokenizer:
163
+ _target_: far.data.datasets.FormattedIterableDataset
164
+ formatter: ${loopnav.formatter.frame}
165
+ base_dataset:
166
+ _target_: far.data.datasets.WebVideoIterableDataset
167
+ manifest_path: results/manifests/loopnav/loopnav.json
168
+ index_path: results/indices/loopnav/loopnav_train_ABCA.json
169
+ backend:
170
+ _target_: far.data.backends.WebDatasetBackend
171
+ sampler: ${loopnav.sampler.random_clip}
172
+ transform: ${loopnav.shared.transform}
173
+ cache_dir: null
174
+ cache_size: 100
175
+ shuffle_shards: 32
176
+ shuffle_samples: 100
177
+ loopnav_latent:
178
+ spec:
179
+ _target_: far.builders.data.build_dataspec
180
+ local_pos_stats:
181
+ min:
182
+ - 0
183
+ - 0
184
+ - 0
185
+ max:
186
+ - 1
187
+ - 1
188
+ - 1
189
+ meters_per_waypoint: 1.0
190
+ max_frame_offset: 20.0
191
+ len_traj_pred: ${len_traj_pred}
192
+ planner_mu_init:
193
+ - -0.1
194
+ - 0
195
+ - 0
196
+ - 0
197
+ - 0
198
+ planner_sigma_init:
199
+ - 0.02
200
+ - 0.1
201
+ - 0
202
+ - 0
203
+ - 0.3142
204
+ pose_fields:
205
+ - x
206
+ - 'y'
207
+ - z
208
+ - pitch
209
+ - yaw
210
+ pose_dim: 5
211
+ pos_dim: 3
212
+ angle_dim: 2
213
+ pose_mode: 3d
214
+ fps: 20.0
215
+ shared:
216
+ manifest_path: ${oc.env:FAR_RESULT_ROOT}/manifests/loopnav/loopnav_latent.json
217
+ backend:
218
+ _target_: far.data.backends.LatentLoopNavBackend
219
+ key_suffix: .keys.npy
220
+ standard_frame: false
221
+ transform: null
222
+ sampler:
223
+ random_clip:
224
+ _target_: far.data.samplers.RandomClipSampler
225
+ clip_len: 16
226
+ frame_stride: 10
227
+ context_goal:
228
+ _target_: far.data.samplers.ContextGoalSampler
229
+ context_pool_size: 200
230
+ len_traj_pred: ${len_traj_pred}
231
+ goals_per_obs: ${goals_per_obs}
232
+ context_goal_test:
233
+ _target_: far.data.samplers.ContextGoalSampler
234
+ context_pool_size: 200
235
+ len_traj_pred: ${len_traj_pred}
236
+ goals_per_obs: 4
237
+ context_traj:
238
+ _target_: far.data.samplers.ContextTrajectorySampler
239
+ context_pool_size: 200
240
+ len_traj_pred: ${len_traj_pred}
241
+ formatter:
242
+ frame:
243
+ _target_: far.data.formatters.FrameFormatter
244
+ context_pose:
245
+ _target_: far.data.formatters.ContextPoseFormatter
246
+ spec: ${loopnav_latent.spec}
247
+ train:
248
+ _target_: far.data.datasets.FormattedVideoDataset
249
+ formatter: ${loopnav_latent.formatter.context_pose}
250
+ base_dataset:
251
+ _target_: far.data.datasets.VideoDataset
252
+ manifest_path: ${loopnav_latent.shared.manifest_path}
253
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/loopnav/loopnav_latent_train.json
254
+ backend: ${loopnav_latent.shared.backend}
255
+ sampler: ${loopnav_latent.sampler.context_goal}
256
+ transform: ${loopnav_latent.shared.transform}
257
+ test:
258
+ _target_: far.data.datasets.FormattedVideoDataset
259
+ formatter: ${loopnav_latent.formatter.context_pose}
260
+ base_dataset:
261
+ _target_: far.data.datasets.VideoDataset
262
+ manifest_path: ${loopnav_latent.shared.manifest_path}
263
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/loopnav/loopnav_latent_test.json
264
+ backend: ${loopnav_latent.shared.backend}
265
+ sampler: ${loopnav_latent.sampler.context_goal_test}
266
+ transform: ${loopnav_latent.shared.transform}
267
+ soundspaces_latent:
268
+ spec:
269
+ _target_: far.builders.data.build_dataspec
270
+ local_pos_stats:
271
+ min:
272
+ - 0
273
+ - 0
274
+ - 0
275
+ max:
276
+ - 1
277
+ - 1
278
+ - 1
279
+ meters_per_waypoint: 1.0
280
+ max_frame_offset: 10.0
281
+ len_traj_pred: ${len_traj_pred}
282
+ planner_mu_init:
283
+ - -0.1
284
+ - 0
285
+ - 0
286
+ - 0
287
+ - 0
288
+ planner_sigma_init:
289
+ - 0.02
290
+ - 0.1
291
+ - 0
292
+ - 0
293
+ - 0.3142
294
+ pose_fields:
295
+ - x
296
+ - 'y'
297
+ - z
298
+ - pitch
299
+ - yaw
300
+ pose_dim: 5
301
+ pos_dim: 3
302
+ angle_dim: 2
303
+ pose_mode: 3d
304
+ fps: 10.0
305
+ shared:
306
+ manifest_path: ${oc.env:FAR_RESULT_ROOT}/manifests/soundspaces/soundspaces_latent.json
307
+ backend:
308
+ _target_: far.data.backends.SoundSpacesBackend
309
+ key_suffix: null
310
+ audio_mode: null
311
+ audio_window_hops: 48
312
+ transform: null
313
+ sampler:
314
+ random_clip:
315
+ _target_: far.data.samplers.RandomClipSampler
316
+ clip_len: 16
317
+ frame_stride: 5
318
+ context_goal:
319
+ _target_: far.data.samplers.ContextGoalSampler
320
+ context_pool_size: 200
321
+ len_traj_pred: ${len_traj_pred}
322
+ goals_per_obs: ${goals_per_obs}
323
+ context_goal_test:
324
+ _target_: far.data.samplers.ContextGoalSampler
325
+ context_pool_size: 200
326
+ len_traj_pred: ${len_traj_pred}
327
+ goals_per_obs: 4
328
+ context_traj:
329
+ _target_: far.data.samplers.ContextTrajectorySampler
330
+ context_pool_size: 200
331
+ len_traj_pred: ${len_traj_pred}
332
+ formatter:
333
+ frame:
334
+ _target_: far.data.formatters.FrameFormatter
335
+ context_pose:
336
+ _target_: far.data.formatters.ContextPoseFormatter
337
+ spec: ${soundspaces_latent.spec}
338
+ train:
339
+ _target_: far.data.datasets.FormattedVideoDataset
340
+ formatter: ${soundspaces_latent.formatter.context_pose}
341
+ base_dataset:
342
+ _target_: far.data.datasets.VideoDataset
343
+ manifest_path: ${soundspaces_latent.shared.manifest_path}
344
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/soundspaces/soundspaces_latent_train.json
345
+ backend: ${soundspaces_latent.shared.backend}
346
+ sampler: ${soundspaces_latent.sampler.context_goal}
347
+ transform: ${soundspaces_latent.shared.transform}
348
+ test:
349
+ _target_: far.data.datasets.FormattedVideoDataset
350
+ formatter: ${soundspaces_latent.formatter.context_pose}
351
+ base_dataset:
352
+ _target_: far.data.datasets.VideoDataset
353
+ manifest_path: ${soundspaces_latent.shared.manifest_path}
354
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/soundspaces/soundspaces_latent_test.json
355
+ backend: ${soundspaces_latent.shared.backend}
356
+ sampler: ${soundspaces_latent.sampler.context_goal_test}
357
+ transform: ${soundspaces_latent.shared.transform}
358
+ soundspaces_v2_latent:
359
+ spec:
360
+ _target_: far.builders.data.build_dataspec
361
+ local_pos_stats:
362
+ min:
363
+ - 0
364
+ - 0
365
+ - 0
366
+ max:
367
+ - 1
368
+ - 1
369
+ - 1
370
+ meters_per_waypoint: 1.0
371
+ max_frame_offset: 10.0
372
+ len_traj_pred: ${len_traj_pred}
373
+ planner_mu_init:
374
+ - -0.1
375
+ - 0
376
+ - 0
377
+ - 0
378
+ - 0
379
+ planner_sigma_init:
380
+ - 0.02
381
+ - 0.1
382
+ - 0
383
+ - 0
384
+ - 0.3142
385
+ pose_fields:
386
+ - x
387
+ - 'y'
388
+ - z
389
+ - pitch
390
+ - yaw
391
+ pose_dim: 5
392
+ pos_dim: 3
393
+ angle_dim: 2
394
+ pose_mode: 3d
395
+ fps: 10.0
396
+ shared:
397
+ manifest_path: ${oc.env:FAR_RESULT_ROOT}/manifests/soundspaces_v2/soundspaces_v2_latent.json
398
+ backend:
399
+ _target_: far.data.backends.SoundSpacesBackend
400
+ key_suffix: .keys_audio.npy
401
+ audio_mode: cue
402
+ audio_window_hops: 48
403
+ transform: null
404
+ sampler:
405
+ random_clip:
406
+ _target_: far.data.samplers.RandomClipSampler
407
+ clip_len: 16
408
+ frame_stride: 5
409
+ context_goal:
410
+ _target_: far.data.samplers.ContextGoalSampler
411
+ context_pool_size: 400
412
+ len_traj_pred: ${len_traj_pred}
413
+ goals_per_obs: ${goals_per_obs}
414
+ context_goal_test:
415
+ _target_: far.data.samplers.ContextGoalSampler
416
+ context_pool_size: 200
417
+ len_traj_pred: ${len_traj_pred}
418
+ goals_per_obs: 4
419
+ context_traj:
420
+ _target_: far.data.samplers.ContextTrajectorySampler
421
+ context_pool_size: 200
422
+ len_traj_pred: ${len_traj_pred}
423
+ formatter:
424
+ frame:
425
+ _target_: far.data.formatters.FrameFormatter
426
+ context_pose:
427
+ _target_: far.data.formatters.ContextPoseFormatter
428
+ spec: ${soundspaces_v2_latent.spec}
429
+ train:
430
+ _target_: far.data.datasets.FormattedVideoDataset
431
+ formatter: ${soundspaces_v2_latent.formatter.context_pose}
432
+ base_dataset:
433
+ _target_: far.data.datasets.VideoDataset
434
+ manifest_path: ${soundspaces_v2_latent.shared.manifest_path}
435
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/soundspaces_v2/soundspaces_v2_latent_train.json
436
+ backend: ${soundspaces_v2_latent.shared.backend}
437
+ sampler: ${soundspaces_v2_latent.sampler.context_goal}
438
+ transform: ${soundspaces_v2_latent.shared.transform}
439
+ test:
440
+ _target_: far.data.datasets.FormattedVideoDataset
441
+ formatter: ${soundspaces_v2_latent.formatter.context_pose}
442
+ base_dataset:
443
+ _target_: far.data.datasets.VideoDataset
444
+ manifest_path: ${soundspaces_v2_latent.shared.manifest_path}
445
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/soundspaces_v2/soundspaces_v2_latent_test.json
446
+ backend: ${soundspaces_v2_latent.shared.backend}
447
+ sampler: ${soundspaces_v2_latent.sampler.context_goal_test}
448
+ transform: ${soundspaces_v2_latent.shared.transform}
449
+ model:
450
+ tokenizer:
451
+ _target_: far.tokenizers.sd_vae.SD_VAE
452
+ image_height: ${image_height}
453
+ image_width: ${image_width}
454
+ vae_scale: 0.13025
455
+ ckpt_path: models/sdxl-vae-fp16-fix
456
+ generator:
457
+ _target_: far.generators.cdit_mod_pose_fa.CDiT
458
+ depth: 12
459
+ hidden_size: 768
460
+ patch_size: 2
461
+ num_heads: 12
462
+ context_size: 4
463
+ ckpt_path: null
464
+ action_dim: ${action_dim}
465
+ pose_dim: ${pose_dim}
466
+ fov_half_h: 45.0
467
+ fov_half_v: 45.0
468
+ local_pos_stats: ${soundspaces_v2_latent.spec.local_pos_stats}
469
+ stride_to_seconds: 1.0
470
+ memory:
471
+ _target_: far.memories.pnp_cl.PnPRetrieval
472
+ ckpt_path: null
473
+ chunk_size: 10
474
+ num_sets: 5
475
+ softmax_temperature: 1.0
476
+ scoring: visual+meta_z
477
+ metadata_hidden: 128
478
+ local_pos_stats: ${soundspaces_v2_latent.spec.local_pos_stats}
479
+ stride_to_seconds: 1.0
480
+ encoder_mode: adapter
481
+ adapter_hidden: 384
482
+ query_source: cue
483
+ query_conditioning: action
484
+ gate_eps: 0.05
485
+ query_vit:
486
+ _target_: far.memories.pnp_cl.QueryViT
487
+ img_height: 64
488
+ img_width: 48
489
+ patch_size: 4
490
+ in_chans: 4
491
+ embed_dim: 384
492
+ depth: 6
493
+ num_heads: 12
494
+ action_dim: ${action_dim}
495
+ key_dim: 256
496
+ mlp_ratio: 4.0
497
+ _target_: far.builders.models.build_ldwm
498
+ _recursive_: false
499
+ condition_on_context_time: true
500
+ condition_on_context_pose: true
501
+ retriever_loss_weight: 1.0
502
+ diffusion:
503
+ _target_: far.generators.diffusion.create_diffusion
504
+ timestep_respacing: null
505
+ noise_schedule: linear
506
+ diffusion_steps: 1000
507
+ learn_sigma: true
508
+ predict_xstart: false
509
+ sigma_small: false
510
+ use_kl: false
511
+ rescale_learned_sigmas: false
512
+ wandb:
513
+ project: PMem-SS
514
+ name: null
515
+ entity: null
516
+ mode: online
517
+ group: soundspaces_v2_latent
518
+ tags:
519
+ - soundspaces_v2_latent
520
+ run_name: ssv2_cdit_b_pnp_amz_posefa_ps2
521
+ context_size: 4
522
+ action_dim: 5
523
+ pose_dim: 5
524
+ image_height: 256
525
+ image_width: 256
526
+ len_traj_pred: 128
527
+ goals_per_obs: 4
528
+ lr: 0.0001
529
+ lr_mem: 0.0001
530
+ weight_decay: 0.0
531
+ grad_clip_val: 1.0
532
+ iterations: 5000000
533
+ warmup_steps: 5000
534
+ from_checkpoint: null
535
+ global_seed: 0
536
+ log_every: 100
537
+ ckpt_every: 100000
538
+ latest_every: 10000
539
+ eval_every: 2500
540
+ rag_every: 20
541
+ rag_noise_levels: 4
542
+ local_rag: true
543
+ local_rag_weight: 1.0
544
+ bfloat16: false
545
+ torch_compile: true
546
+ batch_size: 16
547
+ eval_batch_size: 32
548
+ num_workers: 12
549
+ datasets:
550
+ - soundspaces_v2_latent
soundspaces_v2/temporal/checkpoints/0700000.pth.tar ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a21bbe5a81d3b61eebc1ae2def893dc1cd3fc37ee72dda8594980301c64bf321
3
+ size 524576185
soundspaces_v2/temporal/config.yaml ADDED
@@ -0,0 +1,526 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ recon:
2
+ spec:
3
+ _target_: far.builders.data.build_dataspec
4
+ local_pos_stats:
5
+ min:
6
+ - -2.5
7
+ - -4
8
+ max:
9
+ - 5
10
+ - 4
11
+ meters_per_waypoint: 0.25
12
+ max_frame_offset: 128
13
+ len_traj_pred: ${len_traj_pred}
14
+ planner_mu_init:
15
+ - -0.1
16
+ - 0
17
+ - 0
18
+ planner_sigma_init:
19
+ - 0.02
20
+ - 0.1
21
+ - 0.3142
22
+ pose_fields:
23
+ - x
24
+ - 'y'
25
+ - z
26
+ - pitch
27
+ - yaw
28
+ pose_dim: 5
29
+ pos_dim: 2
30
+ angle_dim: 1
31
+ pose_mode: 2d
32
+ fps: 4.0
33
+ shared:
34
+ manifest_path: results/manifests/recon/recon_split.json
35
+ backend:
36
+ _target_: far.data.backends.NavigationBackend
37
+ transform:
38
+ _target_: far.data.transforms.make_centercrop_resize
39
+ image_height: ${image_height}
40
+ image_width: ${image_width}
41
+ sampler:
42
+ context_goal:
43
+ _target_: far.data.samplers.ContextGoalSampler
44
+ context_pool_size: 12
45
+ len_traj_pred: ${len_traj_pred}
46
+ goals_per_obs: ${goals_per_obs}
47
+ context_traj:
48
+ _target_: far.data.samplers.ContextTrajectorySampler
49
+ context_pool_size: 12
50
+ len_traj_pred: ${len_traj_pred}
51
+ formatter:
52
+ context_pose:
53
+ _target_: far.data.formatters.ContextPoseFormatter2D
54
+ spec: ${recon.spec}
55
+ train:
56
+ _target_: far.data.datasets.FormattedVideoDataset
57
+ formatter: ${recon.formatter.context_pose}
58
+ base_dataset:
59
+ _target_: far.data.datasets.VideoDataset
60
+ manifest_path: ${recon.shared.manifest_path}
61
+ index_path: results/indices/recon/recon_train.json
62
+ backend: ${recon.shared.backend}
63
+ sampler: ${recon.sampler.context_goal}
64
+ transform: ${recon.shared.transform}
65
+ test:
66
+ _target_: far.data.datasets.FormattedVideoDataset
67
+ formatter: ${recon.formatter.context_pose}
68
+ base_dataset:
69
+ _target_: far.data.datasets.VideoDataset
70
+ manifest_path: ${recon.shared.manifest_path}
71
+ index_path: results/indices/recon/recon_test.json
72
+ backend: ${recon.shared.backend}
73
+ sampler: ${recon.sampler.context_goal}
74
+ transform: ${recon.shared.transform}
75
+ eval:
76
+ _target_: far.data.datasets.FormattedVideoDataset
77
+ formatter: ${recon.formatter.context_pose}
78
+ base_dataset:
79
+ _target_: far.data.datasets.VideoDataset
80
+ manifest_path: ${recon.shared.manifest_path}
81
+ index_path: results/indices/recon/recon_test_time.json
82
+ backend: ${recon.shared.backend}
83
+ sampler: ${recon.sampler.context_traj}
84
+ transform: ${recon.shared.transform}
85
+ eval_traj:
86
+ _target_: far.data.datasets.FormattedVideoDataset
87
+ formatter: ${recon.formatter.context_pose}
88
+ base_dataset:
89
+ _target_: far.data.datasets.VideoDataset
90
+ manifest_path: ${recon.shared.manifest_path}
91
+ index_path: results/indices/recon/recon_test_plan.json
92
+ backend: ${recon.shared.backend}
93
+ sampler: ${recon.sampler.context_traj}
94
+ transform: ${recon.shared.transform}
95
+ loopnav:
96
+ spec:
97
+ _target_: far.builders.data.build_dataspec
98
+ local_pos_stats:
99
+ min:
100
+ - -2.5
101
+ - -4
102
+ - 0
103
+ max:
104
+ - 5
105
+ - 4
106
+ - 1
107
+ meters_per_waypoint: 0.25
108
+ max_frame_offset: 128
109
+ len_traj_pred: ${len_traj_pred}
110
+ planner_mu_init:
111
+ - -0.1
112
+ - 0
113
+ - 0
114
+ - 0
115
+ - 0
116
+ planner_sigma_init:
117
+ - 0.02
118
+ - 0.1
119
+ - 0
120
+ - 0
121
+ - 0.3142
122
+ pose_fields:
123
+ - x
124
+ - 'y'
125
+ - z
126
+ - pitch
127
+ - yaw
128
+ pose_dim: 5
129
+ pos_dim: 3
130
+ angle_dim: 2
131
+ pose_mode: 3d
132
+ fps: 20.0
133
+ shared:
134
+ manifest_path: results/manifests/loopnav/loopnav_split.json
135
+ backend:
136
+ _target_: far.data.backends.LoopNavBackend
137
+ standard_frame: false
138
+ transform:
139
+ _target_: far.data.transforms.make_resize
140
+ image_height: ${image_height}
141
+ image_width: ${image_width}
142
+ sampler:
143
+ random_clip:
144
+ _target_: far.data.samplers.RandomClipSampler
145
+ clip_len: 16
146
+ frame_stride: 10
147
+ context_goal:
148
+ _target_: far.data.samplers.ContextGoalSampler
149
+ context_pool_size: 100
150
+ len_traj_pred: ${len_traj_pred}
151
+ goals_per_obs: ${goals_per_obs}
152
+ context_traj:
153
+ _target_: far.data.samplers.ContextTrajectorySampler
154
+ context_pool_size: 100
155
+ len_traj_pred: ${len_traj_pred}
156
+ formatter:
157
+ frame:
158
+ _target_: far.data.formatters.FrameFormatter
159
+ context_pose:
160
+ _target_: far.data.formatters.ContextPoseFormatter
161
+ spec: ${loopnav.spec}
162
+ train_tokenizer:
163
+ _target_: far.data.datasets.FormattedIterableDataset
164
+ formatter: ${loopnav.formatter.frame}
165
+ base_dataset:
166
+ _target_: far.data.datasets.WebVideoIterableDataset
167
+ manifest_path: results/manifests/loopnav/loopnav.json
168
+ index_path: results/indices/loopnav/loopnav_train_ABCA.json
169
+ backend:
170
+ _target_: far.data.backends.WebDatasetBackend
171
+ sampler: ${loopnav.sampler.random_clip}
172
+ transform: ${loopnav.shared.transform}
173
+ cache_dir: null
174
+ cache_size: 100
175
+ shuffle_shards: 32
176
+ shuffle_samples: 100
177
+ loopnav_latent:
178
+ spec:
179
+ _target_: far.builders.data.build_dataspec
180
+ local_pos_stats:
181
+ min:
182
+ - 0
183
+ - 0
184
+ - 0
185
+ max:
186
+ - 1
187
+ - 1
188
+ - 1
189
+ meters_per_waypoint: 1.0
190
+ max_frame_offset: 20.0
191
+ len_traj_pred: ${len_traj_pred}
192
+ planner_mu_init:
193
+ - -0.1
194
+ - 0
195
+ - 0
196
+ - 0
197
+ - 0
198
+ planner_sigma_init:
199
+ - 0.02
200
+ - 0.1
201
+ - 0
202
+ - 0
203
+ - 0.3142
204
+ pose_fields:
205
+ - x
206
+ - 'y'
207
+ - z
208
+ - pitch
209
+ - yaw
210
+ pose_dim: 5
211
+ pos_dim: 3
212
+ angle_dim: 2
213
+ pose_mode: 3d
214
+ fps: 20.0
215
+ shared:
216
+ manifest_path: ${oc.env:FAR_RESULT_ROOT}/manifests/loopnav/loopnav_latent.json
217
+ backend:
218
+ _target_: far.data.backends.LatentLoopNavBackend
219
+ key_suffix: .keys.npy
220
+ standard_frame: false
221
+ transform: null
222
+ sampler:
223
+ random_clip:
224
+ _target_: far.data.samplers.RandomClipSampler
225
+ clip_len: 16
226
+ frame_stride: 10
227
+ context_goal:
228
+ _target_: far.data.samplers.ContextGoalSampler
229
+ context_pool_size: 200
230
+ len_traj_pred: ${len_traj_pred}
231
+ goals_per_obs: ${goals_per_obs}
232
+ context_goal_test:
233
+ _target_: far.data.samplers.ContextGoalSampler
234
+ context_pool_size: 200
235
+ len_traj_pred: ${len_traj_pred}
236
+ goals_per_obs: 4
237
+ context_traj:
238
+ _target_: far.data.samplers.ContextTrajectorySampler
239
+ context_pool_size: 200
240
+ len_traj_pred: ${len_traj_pred}
241
+ formatter:
242
+ frame:
243
+ _target_: far.data.formatters.FrameFormatter
244
+ context_pose:
245
+ _target_: far.data.formatters.ContextPoseFormatter
246
+ spec: ${loopnav_latent.spec}
247
+ train:
248
+ _target_: far.data.datasets.FormattedVideoDataset
249
+ formatter: ${loopnav_latent.formatter.context_pose}
250
+ base_dataset:
251
+ _target_: far.data.datasets.VideoDataset
252
+ manifest_path: ${loopnav_latent.shared.manifest_path}
253
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/loopnav/loopnav_latent_train.json
254
+ backend: ${loopnav_latent.shared.backend}
255
+ sampler: ${loopnav_latent.sampler.context_goal}
256
+ transform: ${loopnav_latent.shared.transform}
257
+ test:
258
+ _target_: far.data.datasets.FormattedVideoDataset
259
+ formatter: ${loopnav_latent.formatter.context_pose}
260
+ base_dataset:
261
+ _target_: far.data.datasets.VideoDataset
262
+ manifest_path: ${loopnav_latent.shared.manifest_path}
263
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/loopnav/loopnav_latent_test.json
264
+ backend: ${loopnav_latent.shared.backend}
265
+ sampler: ${loopnav_latent.sampler.context_goal_test}
266
+ transform: ${loopnav_latent.shared.transform}
267
+ soundspaces_latent:
268
+ spec:
269
+ _target_: far.builders.data.build_dataspec
270
+ local_pos_stats:
271
+ min:
272
+ - 0
273
+ - 0
274
+ - 0
275
+ max:
276
+ - 1
277
+ - 1
278
+ - 1
279
+ meters_per_waypoint: 1.0
280
+ max_frame_offset: 10.0
281
+ len_traj_pred: ${len_traj_pred}
282
+ planner_mu_init:
283
+ - -0.1
284
+ - 0
285
+ - 0
286
+ - 0
287
+ - 0
288
+ planner_sigma_init:
289
+ - 0.02
290
+ - 0.1
291
+ - 0
292
+ - 0
293
+ - 0.3142
294
+ pose_fields:
295
+ - x
296
+ - 'y'
297
+ - z
298
+ - pitch
299
+ - yaw
300
+ pose_dim: 5
301
+ pos_dim: 3
302
+ angle_dim: 2
303
+ pose_mode: 3d
304
+ fps: 10.0
305
+ shared:
306
+ manifest_path: ${oc.env:FAR_RESULT_ROOT}/manifests/soundspaces/soundspaces_latent.json
307
+ backend:
308
+ _target_: far.data.backends.SoundSpacesBackend
309
+ key_suffix: null
310
+ audio_mode: null
311
+ audio_window_hops: 48
312
+ transform: null
313
+ sampler:
314
+ random_clip:
315
+ _target_: far.data.samplers.RandomClipSampler
316
+ clip_len: 16
317
+ frame_stride: 5
318
+ context_goal:
319
+ _target_: far.data.samplers.ContextGoalSampler
320
+ context_pool_size: 200
321
+ len_traj_pred: ${len_traj_pred}
322
+ goals_per_obs: ${goals_per_obs}
323
+ context_goal_test:
324
+ _target_: far.data.samplers.ContextGoalSampler
325
+ context_pool_size: 200
326
+ len_traj_pred: ${len_traj_pred}
327
+ goals_per_obs: 4
328
+ context_traj:
329
+ _target_: far.data.samplers.ContextTrajectorySampler
330
+ context_pool_size: 200
331
+ len_traj_pred: ${len_traj_pred}
332
+ formatter:
333
+ frame:
334
+ _target_: far.data.formatters.FrameFormatter
335
+ context_pose:
336
+ _target_: far.data.formatters.ContextPoseFormatter
337
+ spec: ${soundspaces_latent.spec}
338
+ train:
339
+ _target_: far.data.datasets.FormattedVideoDataset
340
+ formatter: ${soundspaces_latent.formatter.context_pose}
341
+ base_dataset:
342
+ _target_: far.data.datasets.VideoDataset
343
+ manifest_path: ${soundspaces_latent.shared.manifest_path}
344
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/soundspaces/soundspaces_latent_train.json
345
+ backend: ${soundspaces_latent.shared.backend}
346
+ sampler: ${soundspaces_latent.sampler.context_goal}
347
+ transform: ${soundspaces_latent.shared.transform}
348
+ test:
349
+ _target_: far.data.datasets.FormattedVideoDataset
350
+ formatter: ${soundspaces_latent.formatter.context_pose}
351
+ base_dataset:
352
+ _target_: far.data.datasets.VideoDataset
353
+ manifest_path: ${soundspaces_latent.shared.manifest_path}
354
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/soundspaces/soundspaces_latent_test.json
355
+ backend: ${soundspaces_latent.shared.backend}
356
+ sampler: ${soundspaces_latent.sampler.context_goal_test}
357
+ transform: ${soundspaces_latent.shared.transform}
358
+ soundspaces_v2_latent:
359
+ spec:
360
+ _target_: far.builders.data.build_dataspec
361
+ local_pos_stats:
362
+ min:
363
+ - 0
364
+ - 0
365
+ - 0
366
+ max:
367
+ - 1
368
+ - 1
369
+ - 1
370
+ meters_per_waypoint: 1.0
371
+ max_frame_offset: 10.0
372
+ len_traj_pred: ${len_traj_pred}
373
+ planner_mu_init:
374
+ - -0.1
375
+ - 0
376
+ - 0
377
+ - 0
378
+ - 0
379
+ planner_sigma_init:
380
+ - 0.02
381
+ - 0.1
382
+ - 0
383
+ - 0
384
+ - 0.3142
385
+ pose_fields:
386
+ - x
387
+ - 'y'
388
+ - z
389
+ - pitch
390
+ - yaw
391
+ pose_dim: 5
392
+ pos_dim: 3
393
+ angle_dim: 2
394
+ pose_mode: 3d
395
+ fps: 10.0
396
+ shared:
397
+ manifest_path: ${oc.env:FAR_RESULT_ROOT}/manifests/soundspaces_v2/soundspaces_v2_latent.json
398
+ backend:
399
+ _target_: far.data.backends.SoundSpacesBackend
400
+ key_suffix: null
401
+ audio_mode: null
402
+ audio_window_hops: 48
403
+ transform: null
404
+ sampler:
405
+ random_clip:
406
+ _target_: far.data.samplers.RandomClipSampler
407
+ clip_len: 16
408
+ frame_stride: 5
409
+ context_goal:
410
+ _target_: far.data.samplers.ContextGoalSampler
411
+ context_pool_size: 400
412
+ len_traj_pred: ${len_traj_pred}
413
+ goals_per_obs: ${goals_per_obs}
414
+ context_goal_test:
415
+ _target_: far.data.samplers.ContextGoalSampler
416
+ context_pool_size: 200
417
+ len_traj_pred: ${len_traj_pred}
418
+ goals_per_obs: 4
419
+ context_traj:
420
+ _target_: far.data.samplers.ContextTrajectorySampler
421
+ context_pool_size: 200
422
+ len_traj_pred: ${len_traj_pred}
423
+ formatter:
424
+ frame:
425
+ _target_: far.data.formatters.FrameFormatter
426
+ context_pose:
427
+ _target_: far.data.formatters.ContextPoseFormatter
428
+ spec: ${soundspaces_v2_latent.spec}
429
+ train:
430
+ _target_: far.data.datasets.FormattedVideoDataset
431
+ formatter: ${soundspaces_v2_latent.formatter.context_pose}
432
+ base_dataset:
433
+ _target_: far.data.datasets.VideoDataset
434
+ manifest_path: ${soundspaces_v2_latent.shared.manifest_path}
435
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/soundspaces_v2/soundspaces_v2_latent_train.json
436
+ backend: ${soundspaces_v2_latent.shared.backend}
437
+ sampler: ${soundspaces_v2_latent.sampler.context_goal}
438
+ transform: ${soundspaces_v2_latent.shared.transform}
439
+ test:
440
+ _target_: far.data.datasets.FormattedVideoDataset
441
+ formatter: ${soundspaces_v2_latent.formatter.context_pose}
442
+ base_dataset:
443
+ _target_: far.data.datasets.VideoDataset
444
+ manifest_path: ${soundspaces_v2_latent.shared.manifest_path}
445
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/soundspaces_v2/soundspaces_v2_latent_test.json
446
+ backend: ${soundspaces_v2_latent.shared.backend}
447
+ sampler: ${soundspaces_v2_latent.sampler.context_goal_test}
448
+ transform: ${soundspaces_v2_latent.shared.transform}
449
+ model:
450
+ tokenizer:
451
+ _target_: far.tokenizers.sd_vae.SD_VAE
452
+ image_height: ${image_height}
453
+ image_width: ${image_width}
454
+ vae_scale: 0.13025
455
+ ckpt_path: models/sdxl-vae-fp16-fix
456
+ generator:
457
+ _target_: far.generators.cdit_mod_pose_fa.CDiT
458
+ depth: 12
459
+ hidden_size: 768
460
+ patch_size: 2
461
+ num_heads: 12
462
+ context_size: 4
463
+ ckpt_path: null
464
+ action_dim: ${action_dim}
465
+ pose_dim: ${pose_dim}
466
+ fov_half_h: 45.0
467
+ fov_half_v: 45.0
468
+ local_pos_stats: ${soundspaces_v2_latent.spec.local_pos_stats}
469
+ stride_to_seconds: 1.0
470
+ memory:
471
+ _target_: far.memories.baselines.TemporalRetrieval
472
+ interval: 1.0
473
+ _target_: far.builders.models.build_ldwm
474
+ _recursive_: false
475
+ condition_on_context_time: true
476
+ condition_on_context_pose: true
477
+ retriever_loss_weight: 1.0
478
+ diffusion:
479
+ _target_: far.generators.diffusion.create_diffusion
480
+ timestep_respacing: null
481
+ noise_schedule: linear
482
+ diffusion_steps: 1000
483
+ learn_sigma: true
484
+ predict_xstart: false
485
+ sigma_small: false
486
+ use_kl: false
487
+ rescale_learned_sigmas: false
488
+ wandb:
489
+ project: PMem-SS
490
+ name: null
491
+ entity: null
492
+ mode: online
493
+ group: soundspaces_v2_latent
494
+ tags:
495
+ - soundspaces_v2_latent
496
+ run_name: ssv2_cdit_b_temporal_posefa_ps2
497
+ context_size: 4
498
+ action_dim: 5
499
+ pose_dim: 5
500
+ image_height: 256
501
+ image_width: 256
502
+ len_traj_pred: 128
503
+ goals_per_obs: 4
504
+ lr: 0.0001
505
+ lr_mem: null
506
+ weight_decay: 0.0
507
+ grad_clip_val: 1.0
508
+ iterations: 5000000
509
+ warmup_steps: 5000
510
+ from_checkpoint: null
511
+ global_seed: 0
512
+ log_every: 100
513
+ ckpt_every: 100000
514
+ latest_every: 10000
515
+ eval_every: 2500
516
+ rag_every: 0
517
+ rag_noise_levels: 4
518
+ local_rag: false
519
+ local_rag_weight: 1.0
520
+ bfloat16: false
521
+ torch_compile: true
522
+ batch_size: 9
523
+ eval_batch_size: 16
524
+ num_workers: 12
525
+ datasets:
526
+ - soundspaces_v2_latent
soundspaces_v2/worldmem/checkpoints/0700000.pth.tar ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4ef717aa64f35123d4567e204027d054534129fac18c527d3c266b4a24f0762f
3
+ size 524576185
soundspaces_v2/worldmem/config.yaml ADDED
@@ -0,0 +1,531 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ recon:
2
+ spec:
3
+ _target_: far.builders.data.build_dataspec
4
+ local_pos_stats:
5
+ min:
6
+ - -2.5
7
+ - -4
8
+ max:
9
+ - 5
10
+ - 4
11
+ meters_per_waypoint: 0.25
12
+ max_frame_offset: 128
13
+ len_traj_pred: ${len_traj_pred}
14
+ planner_mu_init:
15
+ - -0.1
16
+ - 0
17
+ - 0
18
+ planner_sigma_init:
19
+ - 0.02
20
+ - 0.1
21
+ - 0.3142
22
+ pose_fields:
23
+ - x
24
+ - 'y'
25
+ - z
26
+ - pitch
27
+ - yaw
28
+ pose_dim: 5
29
+ pos_dim: 2
30
+ angle_dim: 1
31
+ pose_mode: 2d
32
+ fps: 4.0
33
+ shared:
34
+ manifest_path: results/manifests/recon/recon_split.json
35
+ backend:
36
+ _target_: far.data.backends.NavigationBackend
37
+ transform:
38
+ _target_: far.data.transforms.make_centercrop_resize
39
+ image_height: ${image_height}
40
+ image_width: ${image_width}
41
+ sampler:
42
+ context_goal:
43
+ _target_: far.data.samplers.ContextGoalSampler
44
+ context_pool_size: 12
45
+ len_traj_pred: ${len_traj_pred}
46
+ goals_per_obs: ${goals_per_obs}
47
+ context_traj:
48
+ _target_: far.data.samplers.ContextTrajectorySampler
49
+ context_pool_size: 12
50
+ len_traj_pred: ${len_traj_pred}
51
+ formatter:
52
+ context_pose:
53
+ _target_: far.data.formatters.ContextPoseFormatter2D
54
+ spec: ${recon.spec}
55
+ train:
56
+ _target_: far.data.datasets.FormattedVideoDataset
57
+ formatter: ${recon.formatter.context_pose}
58
+ base_dataset:
59
+ _target_: far.data.datasets.VideoDataset
60
+ manifest_path: ${recon.shared.manifest_path}
61
+ index_path: results/indices/recon/recon_train.json
62
+ backend: ${recon.shared.backend}
63
+ sampler: ${recon.sampler.context_goal}
64
+ transform: ${recon.shared.transform}
65
+ test:
66
+ _target_: far.data.datasets.FormattedVideoDataset
67
+ formatter: ${recon.formatter.context_pose}
68
+ base_dataset:
69
+ _target_: far.data.datasets.VideoDataset
70
+ manifest_path: ${recon.shared.manifest_path}
71
+ index_path: results/indices/recon/recon_test.json
72
+ backend: ${recon.shared.backend}
73
+ sampler: ${recon.sampler.context_goal}
74
+ transform: ${recon.shared.transform}
75
+ eval:
76
+ _target_: far.data.datasets.FormattedVideoDataset
77
+ formatter: ${recon.formatter.context_pose}
78
+ base_dataset:
79
+ _target_: far.data.datasets.VideoDataset
80
+ manifest_path: ${recon.shared.manifest_path}
81
+ index_path: results/indices/recon/recon_test_time.json
82
+ backend: ${recon.shared.backend}
83
+ sampler: ${recon.sampler.context_traj}
84
+ transform: ${recon.shared.transform}
85
+ eval_traj:
86
+ _target_: far.data.datasets.FormattedVideoDataset
87
+ formatter: ${recon.formatter.context_pose}
88
+ base_dataset:
89
+ _target_: far.data.datasets.VideoDataset
90
+ manifest_path: ${recon.shared.manifest_path}
91
+ index_path: results/indices/recon/recon_test_plan.json
92
+ backend: ${recon.shared.backend}
93
+ sampler: ${recon.sampler.context_traj}
94
+ transform: ${recon.shared.transform}
95
+ loopnav:
96
+ spec:
97
+ _target_: far.builders.data.build_dataspec
98
+ local_pos_stats:
99
+ min:
100
+ - -2.5
101
+ - -4
102
+ - 0
103
+ max:
104
+ - 5
105
+ - 4
106
+ - 1
107
+ meters_per_waypoint: 0.25
108
+ max_frame_offset: 128
109
+ len_traj_pred: ${len_traj_pred}
110
+ planner_mu_init:
111
+ - -0.1
112
+ - 0
113
+ - 0
114
+ - 0
115
+ - 0
116
+ planner_sigma_init:
117
+ - 0.02
118
+ - 0.1
119
+ - 0
120
+ - 0
121
+ - 0.3142
122
+ pose_fields:
123
+ - x
124
+ - 'y'
125
+ - z
126
+ - pitch
127
+ - yaw
128
+ pose_dim: 5
129
+ pos_dim: 3
130
+ angle_dim: 2
131
+ pose_mode: 3d
132
+ fps: 20.0
133
+ shared:
134
+ manifest_path: results/manifests/loopnav/loopnav_split.json
135
+ backend:
136
+ _target_: far.data.backends.LoopNavBackend
137
+ standard_frame: false
138
+ transform:
139
+ _target_: far.data.transforms.make_resize
140
+ image_height: ${image_height}
141
+ image_width: ${image_width}
142
+ sampler:
143
+ random_clip:
144
+ _target_: far.data.samplers.RandomClipSampler
145
+ clip_len: 16
146
+ frame_stride: 10
147
+ context_goal:
148
+ _target_: far.data.samplers.ContextGoalSampler
149
+ context_pool_size: 100
150
+ len_traj_pred: ${len_traj_pred}
151
+ goals_per_obs: ${goals_per_obs}
152
+ context_traj:
153
+ _target_: far.data.samplers.ContextTrajectorySampler
154
+ context_pool_size: 100
155
+ len_traj_pred: ${len_traj_pred}
156
+ formatter:
157
+ frame:
158
+ _target_: far.data.formatters.FrameFormatter
159
+ context_pose:
160
+ _target_: far.data.formatters.ContextPoseFormatter
161
+ spec: ${loopnav.spec}
162
+ train_tokenizer:
163
+ _target_: far.data.datasets.FormattedIterableDataset
164
+ formatter: ${loopnav.formatter.frame}
165
+ base_dataset:
166
+ _target_: far.data.datasets.WebVideoIterableDataset
167
+ manifest_path: results/manifests/loopnav/loopnav.json
168
+ index_path: results/indices/loopnav/loopnav_train_ABCA.json
169
+ backend:
170
+ _target_: far.data.backends.WebDatasetBackend
171
+ sampler: ${loopnav.sampler.random_clip}
172
+ transform: ${loopnav.shared.transform}
173
+ cache_dir: null
174
+ cache_size: 100
175
+ shuffle_shards: 32
176
+ shuffle_samples: 100
177
+ loopnav_latent:
178
+ spec:
179
+ _target_: far.builders.data.build_dataspec
180
+ local_pos_stats:
181
+ min:
182
+ - 0
183
+ - 0
184
+ - 0
185
+ max:
186
+ - 1
187
+ - 1
188
+ - 1
189
+ meters_per_waypoint: 1.0
190
+ max_frame_offset: 20.0
191
+ len_traj_pred: ${len_traj_pred}
192
+ planner_mu_init:
193
+ - -0.1
194
+ - 0
195
+ - 0
196
+ - 0
197
+ - 0
198
+ planner_sigma_init:
199
+ - 0.02
200
+ - 0.1
201
+ - 0
202
+ - 0
203
+ - 0.3142
204
+ pose_fields:
205
+ - x
206
+ - 'y'
207
+ - z
208
+ - pitch
209
+ - yaw
210
+ pose_dim: 5
211
+ pos_dim: 3
212
+ angle_dim: 2
213
+ pose_mode: 3d
214
+ fps: 20.0
215
+ shared:
216
+ manifest_path: ${oc.env:FAR_RESULT_ROOT}/manifests/loopnav/loopnav_latent.json
217
+ backend:
218
+ _target_: far.data.backends.LatentLoopNavBackend
219
+ key_suffix: .keys.npy
220
+ standard_frame: false
221
+ transform: null
222
+ sampler:
223
+ random_clip:
224
+ _target_: far.data.samplers.RandomClipSampler
225
+ clip_len: 16
226
+ frame_stride: 10
227
+ context_goal:
228
+ _target_: far.data.samplers.ContextGoalSampler
229
+ context_pool_size: 200
230
+ len_traj_pred: ${len_traj_pred}
231
+ goals_per_obs: ${goals_per_obs}
232
+ context_goal_test:
233
+ _target_: far.data.samplers.ContextGoalSampler
234
+ context_pool_size: 200
235
+ len_traj_pred: ${len_traj_pred}
236
+ goals_per_obs: 4
237
+ context_traj:
238
+ _target_: far.data.samplers.ContextTrajectorySampler
239
+ context_pool_size: 200
240
+ len_traj_pred: ${len_traj_pred}
241
+ formatter:
242
+ frame:
243
+ _target_: far.data.formatters.FrameFormatter
244
+ context_pose:
245
+ _target_: far.data.formatters.ContextPoseFormatter
246
+ spec: ${loopnav_latent.spec}
247
+ train:
248
+ _target_: far.data.datasets.FormattedVideoDataset
249
+ formatter: ${loopnav_latent.formatter.context_pose}
250
+ base_dataset:
251
+ _target_: far.data.datasets.VideoDataset
252
+ manifest_path: ${loopnav_latent.shared.manifest_path}
253
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/loopnav/loopnav_latent_train.json
254
+ backend: ${loopnav_latent.shared.backend}
255
+ sampler: ${loopnav_latent.sampler.context_goal}
256
+ transform: ${loopnav_latent.shared.transform}
257
+ test:
258
+ _target_: far.data.datasets.FormattedVideoDataset
259
+ formatter: ${loopnav_latent.formatter.context_pose}
260
+ base_dataset:
261
+ _target_: far.data.datasets.VideoDataset
262
+ manifest_path: ${loopnav_latent.shared.manifest_path}
263
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/loopnav/loopnav_latent_test.json
264
+ backend: ${loopnav_latent.shared.backend}
265
+ sampler: ${loopnav_latent.sampler.context_goal_test}
266
+ transform: ${loopnav_latent.shared.transform}
267
+ soundspaces_latent:
268
+ spec:
269
+ _target_: far.builders.data.build_dataspec
270
+ local_pos_stats:
271
+ min:
272
+ - 0
273
+ - 0
274
+ - 0
275
+ max:
276
+ - 1
277
+ - 1
278
+ - 1
279
+ meters_per_waypoint: 1.0
280
+ max_frame_offset: 10.0
281
+ len_traj_pred: ${len_traj_pred}
282
+ planner_mu_init:
283
+ - -0.1
284
+ - 0
285
+ - 0
286
+ - 0
287
+ - 0
288
+ planner_sigma_init:
289
+ - 0.02
290
+ - 0.1
291
+ - 0
292
+ - 0
293
+ - 0.3142
294
+ pose_fields:
295
+ - x
296
+ - 'y'
297
+ - z
298
+ - pitch
299
+ - yaw
300
+ pose_dim: 5
301
+ pos_dim: 3
302
+ angle_dim: 2
303
+ pose_mode: 3d
304
+ fps: 10.0
305
+ shared:
306
+ manifest_path: ${oc.env:FAR_RESULT_ROOT}/manifests/soundspaces/soundspaces_latent.json
307
+ backend:
308
+ _target_: far.data.backends.SoundSpacesBackend
309
+ key_suffix: null
310
+ audio_mode: null
311
+ audio_window_hops: 48
312
+ transform: null
313
+ sampler:
314
+ random_clip:
315
+ _target_: far.data.samplers.RandomClipSampler
316
+ clip_len: 16
317
+ frame_stride: 5
318
+ context_goal:
319
+ _target_: far.data.samplers.ContextGoalSampler
320
+ context_pool_size: 200
321
+ len_traj_pred: ${len_traj_pred}
322
+ goals_per_obs: ${goals_per_obs}
323
+ context_goal_test:
324
+ _target_: far.data.samplers.ContextGoalSampler
325
+ context_pool_size: 200
326
+ len_traj_pred: ${len_traj_pred}
327
+ goals_per_obs: 4
328
+ context_traj:
329
+ _target_: far.data.samplers.ContextTrajectorySampler
330
+ context_pool_size: 200
331
+ len_traj_pred: ${len_traj_pred}
332
+ formatter:
333
+ frame:
334
+ _target_: far.data.formatters.FrameFormatter
335
+ context_pose:
336
+ _target_: far.data.formatters.ContextPoseFormatter
337
+ spec: ${soundspaces_latent.spec}
338
+ train:
339
+ _target_: far.data.datasets.FormattedVideoDataset
340
+ formatter: ${soundspaces_latent.formatter.context_pose}
341
+ base_dataset:
342
+ _target_: far.data.datasets.VideoDataset
343
+ manifest_path: ${soundspaces_latent.shared.manifest_path}
344
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/soundspaces/soundspaces_latent_train.json
345
+ backend: ${soundspaces_latent.shared.backend}
346
+ sampler: ${soundspaces_latent.sampler.context_goal}
347
+ transform: ${soundspaces_latent.shared.transform}
348
+ test:
349
+ _target_: far.data.datasets.FormattedVideoDataset
350
+ formatter: ${soundspaces_latent.formatter.context_pose}
351
+ base_dataset:
352
+ _target_: far.data.datasets.VideoDataset
353
+ manifest_path: ${soundspaces_latent.shared.manifest_path}
354
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/soundspaces/soundspaces_latent_test.json
355
+ backend: ${soundspaces_latent.shared.backend}
356
+ sampler: ${soundspaces_latent.sampler.context_goal_test}
357
+ transform: ${soundspaces_latent.shared.transform}
358
+ soundspaces_v2_latent:
359
+ spec:
360
+ _target_: far.builders.data.build_dataspec
361
+ local_pos_stats:
362
+ min:
363
+ - 0
364
+ - 0
365
+ - 0
366
+ max:
367
+ - 1
368
+ - 1
369
+ - 1
370
+ meters_per_waypoint: 1.0
371
+ max_frame_offset: 10.0
372
+ len_traj_pred: ${len_traj_pred}
373
+ planner_mu_init:
374
+ - -0.1
375
+ - 0
376
+ - 0
377
+ - 0
378
+ - 0
379
+ planner_sigma_init:
380
+ - 0.02
381
+ - 0.1
382
+ - 0
383
+ - 0
384
+ - 0.3142
385
+ pose_fields:
386
+ - x
387
+ - 'y'
388
+ - z
389
+ - pitch
390
+ - yaw
391
+ pose_dim: 5
392
+ pos_dim: 3
393
+ angle_dim: 2
394
+ pose_mode: 3d
395
+ fps: 10.0
396
+ shared:
397
+ manifest_path: ${oc.env:FAR_RESULT_ROOT}/manifests/soundspaces_v2/soundspaces_v2_latent.json
398
+ backend:
399
+ _target_: far.data.backends.SoundSpacesBackend
400
+ key_suffix: null
401
+ audio_mode: null
402
+ audio_window_hops: 48
403
+ transform: null
404
+ sampler:
405
+ random_clip:
406
+ _target_: far.data.samplers.RandomClipSampler
407
+ clip_len: 16
408
+ frame_stride: 5
409
+ context_goal:
410
+ _target_: far.data.samplers.ContextGoalSampler
411
+ context_pool_size: 400
412
+ len_traj_pred: ${len_traj_pred}
413
+ goals_per_obs: ${goals_per_obs}
414
+ context_goal_test:
415
+ _target_: far.data.samplers.ContextGoalSampler
416
+ context_pool_size: 200
417
+ len_traj_pred: ${len_traj_pred}
418
+ goals_per_obs: 4
419
+ context_traj:
420
+ _target_: far.data.samplers.ContextTrajectorySampler
421
+ context_pool_size: 200
422
+ len_traj_pred: ${len_traj_pred}
423
+ formatter:
424
+ frame:
425
+ _target_: far.data.formatters.FrameFormatter
426
+ context_pose:
427
+ _target_: far.data.formatters.ContextPoseFormatter
428
+ spec: ${soundspaces_v2_latent.spec}
429
+ train:
430
+ _target_: far.data.datasets.FormattedVideoDataset
431
+ formatter: ${soundspaces_v2_latent.formatter.context_pose}
432
+ base_dataset:
433
+ _target_: far.data.datasets.VideoDataset
434
+ manifest_path: ${soundspaces_v2_latent.shared.manifest_path}
435
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/soundspaces_v2/soundspaces_v2_latent_train.json
436
+ backend: ${soundspaces_v2_latent.shared.backend}
437
+ sampler: ${soundspaces_v2_latent.sampler.context_goal}
438
+ transform: ${soundspaces_v2_latent.shared.transform}
439
+ test:
440
+ _target_: far.data.datasets.FormattedVideoDataset
441
+ formatter: ${soundspaces_v2_latent.formatter.context_pose}
442
+ base_dataset:
443
+ _target_: far.data.datasets.VideoDataset
444
+ manifest_path: ${soundspaces_v2_latent.shared.manifest_path}
445
+ index_path: ${oc.env:FAR_RESULT_ROOT}/indices/soundspaces_v2/soundspaces_v2_latent_test.json
446
+ backend: ${soundspaces_v2_latent.shared.backend}
447
+ sampler: ${soundspaces_v2_latent.sampler.context_goal_test}
448
+ transform: ${soundspaces_v2_latent.shared.transform}
449
+ model:
450
+ tokenizer:
451
+ _target_: far.tokenizers.sd_vae.SD_VAE
452
+ image_height: ${image_height}
453
+ image_width: ${image_width}
454
+ vae_scale: 0.13025
455
+ ckpt_path: models/sdxl-vae-fp16-fix
456
+ generator:
457
+ _target_: far.generators.cdit_mod_pose_fa.CDiT
458
+ depth: 12
459
+ hidden_size: 768
460
+ patch_size: 2
461
+ num_heads: 12
462
+ context_size: 4
463
+ ckpt_path: null
464
+ action_dim: ${action_dim}
465
+ pose_dim: ${pose_dim}
466
+ fov_half_h: 45.0
467
+ fov_half_v: 45.0
468
+ local_pos_stats: ${soundspaces_v2_latent.spec.local_pos_stats}
469
+ stride_to_seconds: 1.0
470
+ memory:
471
+ _target_: far.memories.worldmem.WorldMemRetrieval
472
+ num_samples: 10000
473
+ radius: 5.0
474
+ fov_half_h: 45.0
475
+ fov_half_v: 45.0
476
+ recency_factor: 0.2
477
+ local_pos_stats: ${soundspaces_v2_latent.spec.local_pos_stats}
478
+ _target_: far.builders.models.build_ldwm
479
+ _recursive_: false
480
+ condition_on_context_time: true
481
+ condition_on_context_pose: true
482
+ retriever_loss_weight: 1.0
483
+ diffusion:
484
+ _target_: far.generators.diffusion.create_diffusion
485
+ timestep_respacing: null
486
+ noise_schedule: linear
487
+ diffusion_steps: 1000
488
+ learn_sigma: true
489
+ predict_xstart: false
490
+ sigma_small: false
491
+ use_kl: false
492
+ rescale_learned_sigmas: false
493
+ wandb:
494
+ project: PMem-SS
495
+ name: null
496
+ entity: null
497
+ mode: online
498
+ group: soundspaces_v2_latent
499
+ tags:
500
+ - soundspaces_v2_latent
501
+ run_name: ssv2_cdit_b_worldmem_posefa_ps2
502
+ context_size: 4
503
+ action_dim: 5
504
+ pose_dim: 5
505
+ image_height: 256
506
+ image_width: 256
507
+ len_traj_pred: 128
508
+ goals_per_obs: 4
509
+ lr: 0.0001
510
+ lr_mem: null
511
+ weight_decay: 0.0
512
+ grad_clip_val: 1.0
513
+ iterations: 5000000
514
+ warmup_steps: 5000
515
+ from_checkpoint: null
516
+ global_seed: 0
517
+ log_every: 100
518
+ ckpt_every: 100000
519
+ latest_every: 10000
520
+ eval_every: 2500
521
+ rag_every: 0
522
+ rag_noise_levels: 4
523
+ local_rag: false
524
+ local_rag_weight: 1.0
525
+ bfloat16: false
526
+ torch_compile: true
527
+ batch_size: 16
528
+ eval_batch_size: 32
529
+ num_workers: 12
530
+ datasets:
531
+ - soundspaces_v2_latent