Pramish commited on
Commit
03cefdc
·
verified ·
1 Parent(s): 81330e5

Add LA-CATER, static camera checkpoints

Browse files
lacater_static/ablations/isee_dino/settings.yaml ADDED
@@ -0,0 +1,187 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ optimizer:
2
+ name: Adam
3
+ lr: 0.0004
4
+ lr_scheduler:
5
+ name: exp_decay_with_warmup
6
+ warmup_steps: 2500
7
+ decay_steps: 100000
8
+ model:
9
+ initializer:
10
+ name: FixedLearnedInit
11
+ n_slots: 11
12
+ dim: 64
13
+ encoder:
14
+ backbone:
15
+ name: TimmExtractor
16
+ model: vit_small_patch14_dinov2
17
+ features:
18
+ - vit_block12
19
+ frozen: true
20
+ pretrained: true
21
+ model_kwargs:
22
+ dynamic_img_size: true
23
+ output_transform:
24
+ name: networks.two_layer_mlp
25
+ inp_dim: 384
26
+ outp_dim: 64
27
+ hidden_dim: 768
28
+ layer_norm: true
29
+ post_pos_embed:
30
+ name: ConcatPatchPosEmbed
31
+ n_patches: 1369
32
+ mode: fourier
33
+ bands: 1
34
+ include_raw: false
35
+ norm_features: false
36
+ grouper:
37
+ name: SlotAttention
38
+ inp_dim: 68
39
+ slot_dim: 64
40
+ n_iters: 2
41
+ use_mlp: true
42
+ stream_split: 60
43
+ inp_split: 64
44
+ pos_logit_gain: 1.0
45
+ pos_norm: rms
46
+ pos_mlp: false
47
+ pos_init: identity
48
+ decoder:
49
+ name: CanonMLPDecoder
50
+ inp_dim: 64
51
+ outp_dim: 384
52
+ hidden_dims:
53
+ - 1024
54
+ - 1024
55
+ - 1024
56
+ n_patches: 1369
57
+ pose_dims:
58
+ - 60
59
+ - 64
60
+ content_dims:
61
+ - 0
62
+ - 60
63
+ pose_hidden: 64
64
+ scale_range:
65
+ - 0.01
66
+ - 4.0
67
+ abs_table: false
68
+ h_init: default
69
+ h_hidden_dims: []
70
+ fourier_bands: 8
71
+ delta: 5.0
72
+ pos_gain: 1.0
73
+ gate_mode: none
74
+ dynamics_predictor: null
75
+ predictor:
76
+ name: networks.SplitSlotPredictor
77
+ dim: 64
78
+ content_dims:
79
+ - 0
80
+ - 60
81
+ pose_dims:
82
+ - 60
83
+ - 64
84
+ appearance_blocks: 1
85
+ appearance_heads: 4
86
+ kinematics_blocks: 1
87
+ kinematics_heads: 4
88
+ content_cond_dim: 8
89
+ detach_content_cond: true
90
+ target_encoder: null
91
+ latent_processor:
92
+ first_step_corrector_args:
93
+ n_iters: 3
94
+ mask_resizers: null
95
+ losses:
96
+ loss_featrec:
97
+ name: MSELoss
98
+ pred_dims:
99
+ - 0
100
+ - 384
101
+ loss_ss:
102
+ name: Slot_Slot_Contrastive_Loss
103
+ pred_key: processor.state
104
+ temperature: 0.1
105
+ batch_contrast: true
106
+ patch_inputs: false
107
+ keep_input_dim: true
108
+ dims:
109
+ - 0
110
+ - 60
111
+ loss_weights:
112
+ loss_featrec: 1.0
113
+ loss_ss: 0.5
114
+ input_type: video
115
+ target_type: features
116
+ target_encoder_input: null
117
+ encoder_input: null
118
+ decoder_source: state
119
+ aux_decoders: null
120
+ pointmap: null
121
+ cross_view: null
122
+ occlusion: null
123
+ anchor_supervision: null
124
+ visualize: true
125
+ eval_mode_config: null
126
+ visualize_every_n_steps: 2500
127
+ masks_to_visualize: null
128
+ load_weights: null
129
+ modules_to_load: null
130
+ dataset:
131
+ name: LaCaterVideoDataModule
132
+ root: /group/awm/datasets/la_cater
133
+ batch_size: 32
134
+ chunk_size: 8
135
+ frame_stride: 2
136
+ val_chunk_size: 24
137
+ val_batch_size: 4
138
+ val_max_clips: 250
139
+ num_workers: 16
140
+ num_val_workers: 4
141
+ samples_per_clip: 8
142
+ train_transforms:
143
+ name: movi_train
144
+ type: video
145
+ input_size: 518
146
+ use_movi_normalization: false
147
+ h_flip_prob: 0.5
148
+ val_transforms:
149
+ name: movi_val
150
+ type: video
151
+ input_size: 518
152
+ use_movi_normalization: false
153
+ num_classes: 1
154
+ trainer:
155
+ precision: bf16
156
+ max_steps: 100000
157
+ log_every_n_steps: 500
158
+ val_check_interval: 2500
159
+ gradient_clip_val: 0.05
160
+ accelerator: auto
161
+ train_metrics: null
162
+ val_metrics: null
163
+ activation_reg_schedule: null
164
+ depth_beta_schedule: null
165
+ globals:
166
+ NUM_SLOTS: 11
167
+ SLOT_DIM: 64
168
+ DINO_MODEL: vit_small_patch14_dinov2
169
+ FEAT_DIM: 384
170
+ POS_DIM: 4
171
+ BANDS: 1
172
+ INPUT_SIZE: 518
173
+ NUM_PATCHES: 1369
174
+ NUM_GPUS: 1
175
+ BATCH_SIZE_PER_GPU: 32
176
+ BASE_LR: 0.0001
177
+ CONTENT_LO: 0
178
+ CONTENT_HI: 60
179
+ POSE_LO: 60
180
+ POSE_HI: 64
181
+ experiment_name: permanence_lacater_static_ours_dino
182
+ experiment_group: slotcontrast
183
+ seed: 20260826
184
+ checkpoint_every_n_steps: 1000
185
+ checkpoint_save_top_k: -1
186
+ checkpoint_best: null
187
+ wandb: null
lacater_static/ablations/isee_dino/step100000.ckpt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3a50c6a98b80bdc0af571c7a69013565cc9b92d2b7b322861d41e590d397f723
3
+ size 125037707
lacater_static/ablations/isee_noapp/settings.yaml ADDED
@@ -0,0 +1,185 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ optimizer:
2
+ name: Adam
3
+ lr: 0.0004
4
+ lr_scheduler:
5
+ name: exp_decay_with_warmup
6
+ warmup_steps: 2500
7
+ decay_steps: 100000
8
+ model:
9
+ initializer:
10
+ name: FixedLearnedInit
11
+ n_slots: 11
12
+ dim: 64
13
+ encoder:
14
+ backbone:
15
+ name: NoPEDinoExtractor
16
+ registry_name: nope_dinov2_s
17
+ checkpoint_path: /group/awm/pyext/dinosaw_ckpt/nope_coco_dv2_vits14_reg4.pth
18
+ feature: vit_output
19
+ frozen: true
20
+ output_transform:
21
+ name: networks.two_layer_mlp
22
+ inp_dim: 384
23
+ outp_dim: 64
24
+ hidden_dim: 768
25
+ layer_norm: true
26
+ post_pos_embed:
27
+ name: ConcatPatchPosEmbed
28
+ n_patches: 1369
29
+ mode: fourier
30
+ bands: 1
31
+ include_raw: false
32
+ norm_features: false
33
+ grouper:
34
+ name: SlotAttention
35
+ inp_dim: 68
36
+ slot_dim: 64
37
+ n_iters: 2
38
+ use_mlp: true
39
+ stream_split: 60
40
+ inp_split: 64
41
+ pos_logit_gain: 1.0
42
+ pos_norm: rms
43
+ pos_mlp: false
44
+ pos_init: identity
45
+ decoder:
46
+ name: CanonMLPDecoder
47
+ inp_dim: 64
48
+ outp_dim: 384
49
+ hidden_dims:
50
+ - 1024
51
+ - 1024
52
+ - 1024
53
+ n_patches: 1369
54
+ pose_dims:
55
+ - 60
56
+ - 64
57
+ content_dims:
58
+ - 0
59
+ - 60
60
+ pose_hidden: 64
61
+ scale_range:
62
+ - 0.01
63
+ - 4.0
64
+ abs_table: false
65
+ h_init: default
66
+ h_hidden_dims: []
67
+ fourier_bands: 8
68
+ delta: 5.0
69
+ pos_gain: 1.0
70
+ gate_mode: none
71
+ dynamics_predictor: null
72
+ predictor:
73
+ name: networks.SplitSlotPredictor
74
+ dim: 64
75
+ content_dims:
76
+ - 0
77
+ - 60
78
+ pose_dims:
79
+ - 60
80
+ - 64
81
+ appearance_blocks: 1
82
+ appearance_heads: 4
83
+ kinematics_blocks: 1
84
+ kinematics_heads: 4
85
+ content_cond_dim: 8
86
+ detach_content_cond: true
87
+ content_cond: false
88
+ target_encoder: null
89
+ latent_processor:
90
+ first_step_corrector_args:
91
+ n_iters: 3
92
+ mask_resizers: null
93
+ losses:
94
+ loss_featrec:
95
+ name: MSELoss
96
+ pred_dims:
97
+ - 0
98
+ - 384
99
+ loss_ss:
100
+ name: Slot_Slot_Contrastive_Loss
101
+ pred_key: processor.state
102
+ temperature: 0.1
103
+ batch_contrast: true
104
+ patch_inputs: false
105
+ keep_input_dim: true
106
+ dims:
107
+ - 0
108
+ - 60
109
+ loss_weights:
110
+ loss_featrec: 1.0
111
+ loss_ss: 0.5
112
+ input_type: video
113
+ target_type: features
114
+ target_encoder_input: null
115
+ encoder_input: null
116
+ decoder_source: state
117
+ aux_decoders: null
118
+ pointmap: null
119
+ cross_view: null
120
+ occlusion: null
121
+ anchor_supervision: null
122
+ visualize: true
123
+ eval_mode_config: null
124
+ visualize_every_n_steps: 2500
125
+ masks_to_visualize: null
126
+ load_weights: null
127
+ modules_to_load: null
128
+ dataset:
129
+ name: LaCaterVideoDataModule
130
+ root: /group/awm/datasets/la_cater
131
+ batch_size: 32
132
+ chunk_size: 8
133
+ frame_stride: 2
134
+ val_chunk_size: 24
135
+ val_batch_size: 4
136
+ val_max_clips: 250
137
+ num_workers: 16
138
+ num_val_workers: 4
139
+ samples_per_clip: 8
140
+ train_transforms:
141
+ name: movi_train
142
+ type: video
143
+ input_size: 518
144
+ use_movi_normalization: false
145
+ h_flip_prob: 0.5
146
+ val_transforms:
147
+ name: movi_val
148
+ type: video
149
+ input_size: 518
150
+ use_movi_normalization: false
151
+ num_classes: 1
152
+ trainer:
153
+ precision: bf16
154
+ max_steps: 100000
155
+ log_every_n_steps: 500
156
+ val_check_interval: 2500
157
+ gradient_clip_val: 0.05
158
+ accelerator: auto
159
+ train_metrics: null
160
+ val_metrics: null
161
+ activation_reg_schedule: null
162
+ depth_beta_schedule: null
163
+ globals:
164
+ NUM_SLOTS: 11
165
+ SLOT_DIM: 64
166
+ DINO_MODEL: vit_small_patch14_dinov2
167
+ FEAT_DIM: 384
168
+ POS_DIM: 4
169
+ BANDS: 1
170
+ INPUT_SIZE: 518
171
+ NUM_PATCHES: 1369
172
+ NUM_GPUS: 1
173
+ BATCH_SIZE_PER_GPU: 32
174
+ BASE_LR: 0.0001
175
+ CONTENT_LO: 0
176
+ CONTENT_HI: 60
177
+ POSE_LO: 60
178
+ POSE_HI: 64
179
+ experiment_name: permanence_lacater_static_ours_noapp
180
+ experiment_group: slotcontrast
181
+ seed: 20260826
182
+ checkpoint_every_n_steps: 1000
183
+ checkpoint_save_top_k: -1
184
+ checkpoint_best: null
185
+ wandb: null
lacater_static/ablations/isee_noapp/step100000.ckpt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5a8a3f9d099095935a7637292e1b35a7f35e5bad73e02ab9220ce9034bac5623
3
+ size 122935059
lacater_static/ablations/isee_ssall/settings.yaml ADDED
@@ -0,0 +1,184 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ optimizer:
2
+ name: Adam
3
+ lr: 0.0004
4
+ lr_scheduler:
5
+ name: exp_decay_with_warmup
6
+ warmup_steps: 2500
7
+ decay_steps: 100000
8
+ model:
9
+ initializer:
10
+ name: FixedLearnedInit
11
+ n_slots: 11
12
+ dim: 64
13
+ encoder:
14
+ backbone:
15
+ name: NoPEDinoExtractor
16
+ registry_name: nope_dinov2_s
17
+ checkpoint_path: /group/awm/pyext/dinosaw_ckpt/nope_coco_dv2_vits14_reg4.pth
18
+ feature: vit_output
19
+ frozen: true
20
+ output_transform:
21
+ name: networks.two_layer_mlp
22
+ inp_dim: 384
23
+ outp_dim: 64
24
+ hidden_dim: 768
25
+ layer_norm: true
26
+ post_pos_embed:
27
+ name: ConcatPatchPosEmbed
28
+ n_patches: 1369
29
+ mode: fourier
30
+ bands: 1
31
+ include_raw: false
32
+ norm_features: false
33
+ grouper:
34
+ name: SlotAttention
35
+ inp_dim: 68
36
+ slot_dim: 64
37
+ n_iters: 2
38
+ use_mlp: true
39
+ stream_split: 60
40
+ inp_split: 64
41
+ pos_logit_gain: 1.0
42
+ pos_norm: rms
43
+ pos_mlp: false
44
+ pos_init: identity
45
+ decoder:
46
+ name: CanonMLPDecoder
47
+ inp_dim: 64
48
+ outp_dim: 384
49
+ hidden_dims:
50
+ - 1024
51
+ - 1024
52
+ - 1024
53
+ n_patches: 1369
54
+ pose_dims:
55
+ - 60
56
+ - 64
57
+ content_dims:
58
+ - 0
59
+ - 60
60
+ pose_hidden: 64
61
+ scale_range:
62
+ - 0.01
63
+ - 4.0
64
+ abs_table: false
65
+ h_init: default
66
+ h_hidden_dims: []
67
+ fourier_bands: 8
68
+ delta: 5.0
69
+ pos_gain: 1.0
70
+ gate_mode: none
71
+ dynamics_predictor: null
72
+ predictor:
73
+ name: networks.SplitSlotPredictor
74
+ dim: 64
75
+ content_dims:
76
+ - 0
77
+ - 60
78
+ pose_dims:
79
+ - 60
80
+ - 64
81
+ appearance_blocks: 1
82
+ appearance_heads: 4
83
+ kinematics_blocks: 1
84
+ kinematics_heads: 4
85
+ content_cond_dim: 8
86
+ detach_content_cond: true
87
+ target_encoder: null
88
+ latent_processor:
89
+ first_step_corrector_args:
90
+ n_iters: 3
91
+ mask_resizers: null
92
+ losses:
93
+ loss_featrec:
94
+ name: MSELoss
95
+ pred_dims:
96
+ - 0
97
+ - 384
98
+ loss_ss:
99
+ name: Slot_Slot_Contrastive_Loss
100
+ pred_key: processor.state
101
+ temperature: 0.1
102
+ batch_contrast: true
103
+ patch_inputs: false
104
+ keep_input_dim: true
105
+ dims:
106
+ - 0
107
+ - 64
108
+ loss_weights:
109
+ loss_featrec: 1.0
110
+ loss_ss: 0.5
111
+ input_type: video
112
+ target_type: features
113
+ target_encoder_input: null
114
+ encoder_input: null
115
+ decoder_source: state
116
+ aux_decoders: null
117
+ pointmap: null
118
+ cross_view: null
119
+ occlusion: null
120
+ anchor_supervision: null
121
+ visualize: true
122
+ eval_mode_config: null
123
+ visualize_every_n_steps: 2500
124
+ masks_to_visualize: null
125
+ load_weights: null
126
+ modules_to_load: null
127
+ dataset:
128
+ name: LaCaterVideoDataModule
129
+ root: /group/awm/datasets/la_cater
130
+ batch_size: 32
131
+ chunk_size: 8
132
+ frame_stride: 2
133
+ val_chunk_size: 24
134
+ val_batch_size: 4
135
+ val_max_clips: 250
136
+ num_workers: 16
137
+ num_val_workers: 4
138
+ samples_per_clip: 8
139
+ train_transforms:
140
+ name: movi_train
141
+ type: video
142
+ input_size: 518
143
+ use_movi_normalization: false
144
+ h_flip_prob: 0.5
145
+ val_transforms:
146
+ name: movi_val
147
+ type: video
148
+ input_size: 518
149
+ use_movi_normalization: false
150
+ num_classes: 1
151
+ trainer:
152
+ precision: bf16
153
+ max_steps: 100000
154
+ log_every_n_steps: 500
155
+ val_check_interval: 2500
156
+ gradient_clip_val: 0.05
157
+ accelerator: auto
158
+ train_metrics: null
159
+ val_metrics: null
160
+ activation_reg_schedule: null
161
+ depth_beta_schedule: null
162
+ globals:
163
+ NUM_SLOTS: 11
164
+ SLOT_DIM: 64
165
+ DINO_MODEL: vit_small_patch14_dinov2
166
+ FEAT_DIM: 384
167
+ POS_DIM: 4
168
+ BANDS: 1
169
+ INPUT_SIZE: 518
170
+ NUM_PATCHES: 1369
171
+ NUM_GPUS: 1
172
+ BATCH_SIZE_PER_GPU: 32
173
+ BASE_LR: 0.0001
174
+ CONTENT_LO: 0
175
+ CONTENT_HI: 60
176
+ POSE_LO: 60
177
+ POSE_HI: 64
178
+ experiment_name: permanence_lacater_static_ours_ssall
179
+ experiment_group: slotcontrast
180
+ seed: 20260826
181
+ checkpoint_every_n_steps: 1000
182
+ checkpoint_save_top_k: -1
183
+ checkpoint_best: null
184
+ wandb: null
lacater_static/ablations/isee_ssall/step100000.ckpt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:cb841ab72cd5ee4fc7b2ca3274298ac5866601cf9cd1798b986a917b03dd2632
3
+ size 122940487
lacater_static/ablations/pre4_twostream/settings.yaml ADDED
@@ -0,0 +1,180 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ optimizer:
2
+ name: Adam
3
+ lr: 0.0004
4
+ lr_scheduler:
5
+ name: exp_decay_with_warmup
6
+ warmup_steps: 2500
7
+ decay_steps: 100000
8
+ model:
9
+ initializer:
10
+ name: FixedLearnedInit
11
+ n_slots: 11
12
+ dim: 64
13
+ encoder:
14
+ backbone:
15
+ name: NoPEDinoExtractor
16
+ registry_name: nope_dinov2_s
17
+ checkpoint_path: /group/awm/pyext/dinosaw_ckpt/nope_coco_dv2_vits14_reg4.pth
18
+ feature: vit_output
19
+ frozen: true
20
+ output_transform:
21
+ name: networks.two_layer_mlp
22
+ inp_dim: 384
23
+ outp_dim: 64
24
+ hidden_dim: 768
25
+ layer_norm: true
26
+ post_pos_embed:
27
+ name: ConcatPatchPosEmbed
28
+ n_patches: 1369
29
+ mode: fourier
30
+ bands: 1
31
+ include_raw: false
32
+ norm_features: false
33
+ grouper:
34
+ name: SlotAttention
35
+ inp_dim: 68
36
+ slot_dim: 64
37
+ n_iters: 2
38
+ use_mlp: true
39
+ stream_split: 60
40
+ inp_split: 64
41
+ pos_logit_gain: 1.0
42
+ pos_norm: none
43
+ pos_mlp: false
44
+ pos_init: identity
45
+ decoder:
46
+ name: CanonMLPDecoder
47
+ inp_dim: 64
48
+ outp_dim: 384
49
+ hidden_dims:
50
+ - 1024
51
+ - 1024
52
+ - 1024
53
+ n_patches: 1369
54
+ pose_dims:
55
+ - 60
56
+ - 64
57
+ content_dims:
58
+ - 0
59
+ - 60
60
+ pose_hidden: 64
61
+ scale_range:
62
+ - 0.01
63
+ - 4.0
64
+ abs_table: false
65
+ h_init: default
66
+ h_hidden_dims: []
67
+ fourier_bands: 8
68
+ delta: 5.0
69
+ pos_gain: 1.0
70
+ gate_mode: none
71
+ dynamics_predictor: null
72
+ predictor:
73
+ name: networks.SplitSlotPredictor
74
+ dim: 64
75
+ content_dims:
76
+ - 0
77
+ - 60
78
+ pose_dims:
79
+ - 60
80
+ - 64
81
+ appearance_blocks: 1
82
+ appearance_heads: 4
83
+ kinematics_blocks: 1
84
+ kinematics_heads: 4
85
+ content_cond_dim: 8
86
+ detach_content_cond: true
87
+ target_encoder: null
88
+ latent_processor:
89
+ first_step_corrector_args:
90
+ n_iters: 3
91
+ mask_resizers: null
92
+ losses:
93
+ loss_featrec:
94
+ name: MSELoss
95
+ pred_dims:
96
+ - 0
97
+ - 384
98
+ loss_ss:
99
+ name: Slot_Slot_Contrastive_Loss
100
+ pred_key: processor.state
101
+ temperature: 0.1
102
+ batch_contrast: true
103
+ patch_inputs: false
104
+ keep_input_dim: true
105
+ dims:
106
+ - 0
107
+ - 60
108
+ loss_weights:
109
+ loss_featrec: 1.0
110
+ loss_ss: 0.5
111
+ input_type: video
112
+ target_type: features
113
+ target_encoder_input: null
114
+ encoder_input: null
115
+ aux_decoders: null
116
+ pointmap: null
117
+ cross_view: null
118
+ anchor_supervision: null
119
+ visualize: true
120
+ eval_mode_config: null
121
+ visualize_every_n_steps: 2500
122
+ masks_to_visualize: null
123
+ load_weights: null
124
+ modules_to_load: null
125
+ dataset:
126
+ name: LaCaterVideoDataModule
127
+ root: /group/awm/datasets/la_cater
128
+ batch_size: 32
129
+ chunk_size: 8
130
+ frame_stride: 2
131
+ val_chunk_size: 24
132
+ val_batch_size: 4
133
+ val_max_clips: 250
134
+ num_workers: 16
135
+ num_val_workers: 4
136
+ samples_per_clip: 8
137
+ train_transforms:
138
+ name: movi_train
139
+ type: video
140
+ input_size: 518
141
+ use_movi_normalization: false
142
+ h_flip_prob: 0.5
143
+ val_transforms:
144
+ name: movi_val
145
+ type: video
146
+ input_size: 518
147
+ use_movi_normalization: false
148
+ num_classes: 1
149
+ trainer:
150
+ precision: bf16
151
+ max_steps: 100000
152
+ log_every_n_steps: 500
153
+ val_check_interval: 2500
154
+ gradient_clip_val: 0.05
155
+ accelerator: auto
156
+ train_metrics: null
157
+ val_metrics: null
158
+ activation_reg_schedule: null
159
+ depth_beta_schedule: null
160
+ globals:
161
+ NUM_SLOTS: 11
162
+ SLOT_DIM: 64
163
+ DINO_MODEL: vit_small_patch14_dinov2
164
+ FEAT_DIM: 384
165
+ POS_DIM: 4
166
+ BANDS: 1
167
+ INPUT_SIZE: 518
168
+ NUM_PATCHES: 1369
169
+ NUM_GPUS: 1
170
+ BATCH_SIZE_PER_GPU: 32
171
+ BASE_LR: 0.0001
172
+ CONTENT_LO: 0
173
+ CONTENT_HI: 60
174
+ POSE_LO: 60
175
+ POSE_HI: 64
176
+ experiment_name: lacater_pre4_twostream_100k_t8
177
+ experiment_group: slotcontrast
178
+ seed: 20260826
179
+ checkpoint_every_n_steps: 1000
180
+ checkpoint_save_top_k: -1
lacater_static/ablations/pre4_twostream/step100000.ckpt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:87034c9fa15a4329f8b12d880869e3df82a71add200307c34a993297d12459b0
3
+ size 122946311
lacater_static/isee/encoder_step100000.ckpt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c8f10542eb7a7970fbc029cb1eda90a39e1ad595601dda9348d96b09d36e4e9b
3
+ size 122946311
lacater_static/isee/settings.yaml ADDED
@@ -0,0 +1,184 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ optimizer:
2
+ name: Adam
3
+ lr: 0.0004
4
+ lr_scheduler:
5
+ name: exp_decay_with_warmup
6
+ warmup_steps: 2500
7
+ decay_steps: 100000
8
+ model:
9
+ initializer:
10
+ name: FixedLearnedInit
11
+ n_slots: 11
12
+ dim: 64
13
+ encoder:
14
+ backbone:
15
+ name: NoPEDinoExtractor
16
+ registry_name: nope_dinov2_s
17
+ checkpoint_path: /group/awm/pyext/dinosaw_ckpt/nope_coco_dv2_vits14_reg4.pth
18
+ feature: vit_output
19
+ frozen: true
20
+ output_transform:
21
+ name: networks.two_layer_mlp
22
+ inp_dim: 384
23
+ outp_dim: 64
24
+ hidden_dim: 768
25
+ layer_norm: true
26
+ post_pos_embed:
27
+ name: ConcatPatchPosEmbed
28
+ n_patches: 1369
29
+ mode: fourier
30
+ bands: 1
31
+ include_raw: false
32
+ norm_features: false
33
+ grouper:
34
+ name: SlotAttention
35
+ inp_dim: 68
36
+ slot_dim: 64
37
+ n_iters: 2
38
+ use_mlp: true
39
+ stream_split: 60
40
+ inp_split: 64
41
+ pos_logit_gain: 1.0
42
+ pos_norm: rms
43
+ pos_mlp: false
44
+ pos_init: identity
45
+ decoder:
46
+ name: CanonMLPDecoder
47
+ inp_dim: 64
48
+ outp_dim: 384
49
+ hidden_dims:
50
+ - 1024
51
+ - 1024
52
+ - 1024
53
+ n_patches: 1369
54
+ pose_dims:
55
+ - 60
56
+ - 64
57
+ content_dims:
58
+ - 0
59
+ - 60
60
+ pose_hidden: 64
61
+ scale_range:
62
+ - 0.01
63
+ - 4.0
64
+ abs_table: false
65
+ h_init: default
66
+ h_hidden_dims: []
67
+ fourier_bands: 8
68
+ delta: 5.0
69
+ pos_gain: 1.0
70
+ gate_mode: none
71
+ dynamics_predictor: null
72
+ predictor:
73
+ name: networks.SplitSlotPredictor
74
+ dim: 64
75
+ content_dims:
76
+ - 0
77
+ - 60
78
+ pose_dims:
79
+ - 60
80
+ - 64
81
+ appearance_blocks: 1
82
+ appearance_heads: 4
83
+ kinematics_blocks: 1
84
+ kinematics_heads: 4
85
+ content_cond_dim: 8
86
+ detach_content_cond: true
87
+ target_encoder: null
88
+ latent_processor:
89
+ first_step_corrector_args:
90
+ n_iters: 3
91
+ mask_resizers: null
92
+ losses:
93
+ loss_featrec:
94
+ name: MSELoss
95
+ pred_dims:
96
+ - 0
97
+ - 384
98
+ loss_ss:
99
+ name: Slot_Slot_Contrastive_Loss
100
+ pred_key: processor.state
101
+ temperature: 0.1
102
+ batch_contrast: true
103
+ patch_inputs: false
104
+ keep_input_dim: true
105
+ dims:
106
+ - 0
107
+ - 60
108
+ loss_weights:
109
+ loss_featrec: 1.0
110
+ loss_ss: 0.5
111
+ input_type: video
112
+ target_type: features
113
+ target_encoder_input: null
114
+ encoder_input: null
115
+ decoder_source: state
116
+ aux_decoders: null
117
+ pointmap: null
118
+ cross_view: null
119
+ occlusion: null
120
+ anchor_supervision: null
121
+ visualize: true
122
+ eval_mode_config: null
123
+ visualize_every_n_steps: 2500
124
+ masks_to_visualize: null
125
+ load_weights: null
126
+ modules_to_load: null
127
+ dataset:
128
+ name: LaCaterVideoDataModule
129
+ root: /group/awm/datasets/la_cater
130
+ batch_size: 32
131
+ chunk_size: 8
132
+ frame_stride: 2
133
+ val_chunk_size: 24
134
+ val_batch_size: 4
135
+ val_max_clips: 250
136
+ num_workers: 16
137
+ num_val_workers: 4
138
+ samples_per_clip: 8
139
+ train_transforms:
140
+ name: movi_train
141
+ type: video
142
+ input_size: 518
143
+ use_movi_normalization: false
144
+ h_flip_prob: 0.5
145
+ val_transforms:
146
+ name: movi_val
147
+ type: video
148
+ input_size: 518
149
+ use_movi_normalization: false
150
+ num_classes: 1
151
+ trainer:
152
+ precision: bf16
153
+ max_steps: 100000
154
+ log_every_n_steps: 500
155
+ val_check_interval: 2500
156
+ gradient_clip_val: 0.05
157
+ accelerator: auto
158
+ train_metrics: null
159
+ val_metrics: null
160
+ activation_reg_schedule: null
161
+ depth_beta_schedule: null
162
+ globals:
163
+ NUM_SLOTS: 11
164
+ SLOT_DIM: 64
165
+ DINO_MODEL: vit_small_patch14_dinov2
166
+ FEAT_DIM: 384
167
+ POS_DIM: 4
168
+ BANDS: 1
169
+ INPUT_SIZE: 518
170
+ NUM_PATCHES: 1369
171
+ NUM_GPUS: 1
172
+ BATCH_SIZE_PER_GPU: 32
173
+ BASE_LR: 0.0001
174
+ CONTENT_LO: 0
175
+ CONTENT_HI: 60
176
+ POSE_LO: 60
177
+ POSE_HI: 64
178
+ experiment_name: permanence_lacater_static_ours
179
+ experiment_group: slotcontrast
180
+ seed: 20260826
181
+ checkpoint_every_n_steps: 1000
182
+ checkpoint_save_top_k: -1
183
+ checkpoint_best: null
184
+ wandb: null
lacater_static/isee/walker_s0_args.json ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "run_name": "gws_loc_s0",
3
+ "runs": "/group/awm/slotcontrast/grid_walk_runs_latchev",
4
+ "feat": "/group/awm/slotcontrast/cache/grid_walk/train_slocked_f64",
5
+ "slots": "/group/awm/slotcontrast/cache/latch_evidence/walkcache_static_loc",
6
+ "feat_extra": "",
7
+ "device": "auto",
8
+ "threads": 0,
9
+ "seed": 0,
10
+ "resume": true,
11
+ "d": 32,
12
+ "no_mem": false,
13
+ "win": 11,
14
+ "scale_init": 20.0,
15
+ "stay_init": 5.0,
16
+ "sigma_init": 0.05,
17
+ "sigma_min": 0.02,
18
+ "hold_lag": 1,
19
+ "no_ckpt": false,
20
+ "ckpt_all": false,
21
+ "stats_every": 5,
22
+ "target_lag": 1,
23
+ "len_coef": 1.0,
24
+ "dmax": 0.35,
25
+ "pseudo": 8,
26
+ "pseudo_coef": 1.0,
27
+ "pseudo_min": 1,
28
+ "pseudo_max": 8,
29
+ "moved_boost": 4.0,
30
+ "steps": 4000,
31
+ "batch": 16,
32
+ "crop": 0,
33
+ "lr": 0.001,
34
+ "lr_floor": 0.05,
35
+ "lr_scalars": 0.0,
36
+ "warmup": 100,
37
+ "clip": 1.0,
38
+ "ema": 0.998,
39
+ "val_clips": 100,
40
+ "val_batch": 8,
41
+ "val_every": 500,
42
+ "save_every": 500,
43
+ "log_every": 25,
44
+ "bench": 0
45
+ }
lacater_static/isee/walker_s0_step2000.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8893a3195fa0f4c29f1d5a1236509a1981039805d3f171eb1c94d54a21749c7e
3
+ size 1381743
lacater_static/isee/walker_s1_args.json ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "run_name": "gws_loc_s1",
3
+ "runs": "/group/awm/slotcontrast/grid_walk_runs_latchev",
4
+ "feat": "/group/awm/slotcontrast/cache/grid_walk/train_slocked_f64",
5
+ "slots": "/group/awm/slotcontrast/cache/latch_evidence/walkcache_static_loc",
6
+ "feat_extra": "",
7
+ "device": "auto",
8
+ "threads": 0,
9
+ "seed": 1,
10
+ "resume": true,
11
+ "d": 32,
12
+ "no_mem": false,
13
+ "win": 11,
14
+ "scale_init": 20.0,
15
+ "stay_init": 5.0,
16
+ "sigma_init": 0.05,
17
+ "sigma_min": 0.02,
18
+ "hold_lag": 1,
19
+ "no_ckpt": false,
20
+ "ckpt_all": false,
21
+ "stats_every": 5,
22
+ "target_lag": 1,
23
+ "len_coef": 1.0,
24
+ "dmax": 0.35,
25
+ "pseudo": 8,
26
+ "pseudo_coef": 1.0,
27
+ "pseudo_min": 1,
28
+ "pseudo_max": 8,
29
+ "moved_boost": 4.0,
30
+ "steps": 4000,
31
+ "batch": 16,
32
+ "crop": 0,
33
+ "lr": 0.001,
34
+ "lr_floor": 0.05,
35
+ "lr_scalars": 0.0,
36
+ "warmup": 100,
37
+ "clip": 1.0,
38
+ "ema": 0.998,
39
+ "val_clips": 100,
40
+ "val_batch": 8,
41
+ "val_every": 500,
42
+ "save_every": 500,
43
+ "log_every": 25,
44
+ "bench": 0
45
+ }
lacater_static/isee/walker_s1_step2000.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0b3e16bcb8879dc2a5dcb3627e0f93e81c27e51b39fd15bf79552b1807a3ffae
3
+ size 1381832
lacater_static/isee/walker_s2_args.json ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "run_name": "gws_loc_s2",
3
+ "runs": "/group/awm/slotcontrast/grid_walk_runs_latchev",
4
+ "feat": "/group/awm/slotcontrast/cache/grid_walk/train_slocked_f64",
5
+ "slots": "/group/awm/slotcontrast/cache/latch_evidence/walkcache_static_loc",
6
+ "feat_extra": "",
7
+ "device": "auto",
8
+ "threads": 0,
9
+ "seed": 2,
10
+ "resume": true,
11
+ "d": 32,
12
+ "no_mem": false,
13
+ "win": 11,
14
+ "scale_init": 20.0,
15
+ "stay_init": 5.0,
16
+ "sigma_init": 0.05,
17
+ "sigma_min": 0.02,
18
+ "hold_lag": 1,
19
+ "no_ckpt": false,
20
+ "ckpt_all": false,
21
+ "stats_every": 5,
22
+ "target_lag": 1,
23
+ "len_coef": 1.0,
24
+ "dmax": 0.35,
25
+ "pseudo": 8,
26
+ "pseudo_coef": 1.0,
27
+ "pseudo_min": 1,
28
+ "pseudo_max": 8,
29
+ "moved_boost": 4.0,
30
+ "steps": 4000,
31
+ "batch": 16,
32
+ "crop": 0,
33
+ "lr": 0.001,
34
+ "lr_floor": 0.05,
35
+ "lr_scalars": 0.0,
36
+ "warmup": 100,
37
+ "clip": 1.0,
38
+ "ema": 0.998,
39
+ "val_clips": 100,
40
+ "val_batch": 8,
41
+ "val_every": 500,
42
+ "save_every": 500,
43
+ "log_every": 25,
44
+ "bench": 0
45
+ }
lacater_static/isee/walker_s2_step2000.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:197363ebcd5801221038a8ca750bdaff0bd9609591178377c9223f693bdc8af5
3
+ size 1381743
lacater_static/isee_fig1a/walker_vis_s0_args.json ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "run_name": "gws_vis_s0",
3
+ "runs": "/group/awm/slotcontrast/grid_walk_runs_slocked",
4
+ "feat": "/group/awm/slotcontrast/cache/grid_walk/train_slocked_f64",
5
+ "slots": "/group/awm/slotcontrast/cache/lacater57/perm_full9300",
6
+ "feat_extra": "",
7
+ "device": "auto",
8
+ "threads": 0,
9
+ "seed": 0,
10
+ "resume": true,
11
+ "d": 32,
12
+ "no_mem": false,
13
+ "win": 11,
14
+ "scale_init": 20.0,
15
+ "stay_init": 5.0,
16
+ "sigma_init": 0.05,
17
+ "sigma_min": 0.02,
18
+ "hold_lag": 1,
19
+ "no_ckpt": false,
20
+ "ckpt_all": false,
21
+ "stats_every": 5,
22
+ "target_lag": 1,
23
+ "len_coef": 1.0,
24
+ "dmax": 0.35,
25
+ "pseudo": 8,
26
+ "pseudo_coef": 1.0,
27
+ "pseudo_min": 1,
28
+ "pseudo_max": 8,
29
+ "moved_boost": 4.0,
30
+ "steps": 4000,
31
+ "batch": 16,
32
+ "crop": 0,
33
+ "lr": 0.001,
34
+ "lr_floor": 0.05,
35
+ "lr_scalars": 0.0,
36
+ "warmup": 100,
37
+ "clip": 1.0,
38
+ "ema": 0.998,
39
+ "val_clips": 100,
40
+ "val_batch": 8,
41
+ "val_every": 500,
42
+ "save_every": 500,
43
+ "log_every": 25,
44
+ "bench": 0
45
+ }
lacater_static/isee_fig1a/walker_vis_s0_step2000.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:96a51f4c59b08ec59e81a3cc35b9b64442e2f95d235cffcfd34f200840db733f
3
+ size 1381832
lacater_static/isee_fig1a/walker_vis_s1_args.json ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "run_name": "gws_vis_s1",
3
+ "runs": "/group/awm/slotcontrast/grid_walk_runs_slocked",
4
+ "feat": "/group/awm/slotcontrast/cache/grid_walk/train_slocked_f64",
5
+ "slots": "/group/awm/slotcontrast/cache/lacater57/perm_full9300",
6
+ "feat_extra": "",
7
+ "device": "auto",
8
+ "threads": 0,
9
+ "seed": 1,
10
+ "resume": true,
11
+ "d": 32,
12
+ "no_mem": false,
13
+ "win": 11,
14
+ "scale_init": 20.0,
15
+ "stay_init": 5.0,
16
+ "sigma_init": 0.05,
17
+ "sigma_min": 0.02,
18
+ "hold_lag": 1,
19
+ "no_ckpt": false,
20
+ "ckpt_all": false,
21
+ "stats_every": 5,
22
+ "target_lag": 1,
23
+ "len_coef": 1.0,
24
+ "dmax": 0.35,
25
+ "pseudo": 8,
26
+ "pseudo_coef": 1.0,
27
+ "pseudo_min": 1,
28
+ "pseudo_max": 8,
29
+ "moved_boost": 4.0,
30
+ "steps": 4000,
31
+ "batch": 16,
32
+ "crop": 0,
33
+ "lr": 0.001,
34
+ "lr_floor": 0.05,
35
+ "lr_scalars": 0.0,
36
+ "warmup": 100,
37
+ "clip": 1.0,
38
+ "ema": 0.998,
39
+ "val_clips": 100,
40
+ "val_batch": 8,
41
+ "val_every": 500,
42
+ "save_every": 500,
43
+ "log_every": 25,
44
+ "bench": 0
45
+ }
lacater_static/isee_fig1a/walker_vis_s1_step2000.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:7e35c49e235a8df768086fda14f82aca326daf750fd877a40459960f8db7802f
3
+ size 1381832
lacater_static/isee_fig1a/walker_vis_s2_args.json ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "run_name": "gws_vis_s2",
3
+ "runs": "/group/awm/slotcontrast/grid_walk_runs_slocked",
4
+ "feat": "/group/awm/slotcontrast/cache/grid_walk/train_slocked_f64",
5
+ "slots": "/group/awm/slotcontrast/cache/lacater57/perm_full9300",
6
+ "feat_extra": "",
7
+ "device": "auto",
8
+ "threads": 0,
9
+ "seed": 2,
10
+ "resume": true,
11
+ "d": 32,
12
+ "no_mem": false,
13
+ "win": 11,
14
+ "scale_init": 20.0,
15
+ "stay_init": 5.0,
16
+ "sigma_init": 0.05,
17
+ "sigma_min": 0.02,
18
+ "hold_lag": 1,
19
+ "no_ckpt": false,
20
+ "ckpt_all": false,
21
+ "stats_every": 5,
22
+ "target_lag": 1,
23
+ "len_coef": 1.0,
24
+ "dmax": 0.35,
25
+ "pseudo": 8,
26
+ "pseudo_coef": 1.0,
27
+ "pseudo_min": 1,
28
+ "pseudo_max": 8,
29
+ "moved_boost": 4.0,
30
+ "steps": 4000,
31
+ "batch": 16,
32
+ "crop": 0,
33
+ "lr": 0.001,
34
+ "lr_floor": 0.05,
35
+ "lr_scalars": 0.0,
36
+ "warmup": 100,
37
+ "clip": 1.0,
38
+ "ema": 0.998,
39
+ "val_clips": 100,
40
+ "val_batch": 8,
41
+ "val_every": 500,
42
+ "save_every": 500,
43
+ "log_every": 25,
44
+ "bench": 0
45
+ }
lacater_static/isee_fig1a/walker_vis_s2_step2000.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1aec9cd81116483f0bb0563b611afd7bf983f65ffb6c5dd0f26e42c6d461eeb5
3
+ size 1381832
lacater_static/loci_looped/cfg.json ADDED
@@ -0,0 +1,84 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "model_path": "lacater_level2",
3
+ "datatype": "lacater",
4
+ "dataset": "LACATER",
5
+ "learning_rate": 3.333e-05,
6
+ "num_updates": 800000,
7
+ "max_epochs": 1000,
8
+ "max_updates": 1150000,
9
+ "phases": {
10
+ "start_inner_loop": 60000,
11
+ "shufleslots_end": 30000,
12
+ "entity_pretraining_phase2_end": 50000,
13
+ "entity_pretraining_phase1_end": 30000,
14
+ "background_pretraining_end": 0
15
+ },
16
+ "defaults": {
17
+ "num_workers": 8,
18
+ "prefetch_factor": 2,
19
+ "statistics_offset": 10,
20
+ "load_optimizers": false,
21
+ "teacher_forcing": 10,
22
+ "skip_frames": 1,
23
+ "error_dropout": 0.1,
24
+ "lacater_stride": 2,
25
+ "seed": 20260918,
26
+ "save_every": 5000
27
+ },
28
+ "bptt": {
29
+ "bptt_start_timestep": 0,
30
+ "bptt_steps": 2,
31
+ "bptt_steps_max": 2,
32
+ "increase_bptt_steps_every": 200000
33
+ },
34
+ "model": {
35
+ "level": 2,
36
+ "batch_size": 16,
37
+ "num_objects": 10,
38
+ "img_channels": 3,
39
+ "input_size": [
40
+ 240,
41
+ 320
42
+ ],
43
+ "latent_size": [
44
+ 15,
45
+ 20
46
+ ],
47
+ "gestalt_size": 96,
48
+ "bottleneck": "binar",
49
+ "position_regularizer": 0.01,
50
+ "time_regularizer": 0.1,
51
+ "encoder_regularizer": 0.333333,
52
+ "inner_loop_enabled": true,
53
+ "encoder": {
54
+ "channels": 48,
55
+ "level1_channels": 24,
56
+ "num_layers": 3,
57
+ "reg_lambda": 1e-10
58
+ },
59
+ "predictor": {
60
+ "heads": 2,
61
+ "layers": 2,
62
+ "channels_multiplier": 2,
63
+ "reg_lambda": 1e-10,
64
+ "transformer_type": "standard"
65
+ },
66
+ "decoder": {
67
+ "channels": 48,
68
+ "level1_channels": 24,
69
+ "num_layers": 5
70
+ },
71
+ "background": {
72
+ "learning_rate": 0.0001,
73
+ "learning_rate_old": 0.0001,
74
+ "num_layers": 1,
75
+ "latent_channels": 48,
76
+ "level1_channels": 24,
77
+ "gestalt_size": 8,
78
+ "flow": false
79
+ },
80
+ "update_module": {
81
+ "reg_lambda": 5e-06
82
+ }
83
+ }
84
+ }
lacater_static/loci_looped/net_900000.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:924387eee96d33fc0b290893c66ac73d464248896def5d4e70163e7a4ccfcb22
3
+ size 33536941
lacater_static/randsfq/0042.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d84462b977e01f3a08deebe1eb87e6ef0f7401fe719449a58c57e8d4d1a2d92a
3
+ size 139678903
lacater_static/randsfq/config.py ADDED
@@ -0,0 +1,293 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """`permanence_randsfq_lacater_static` -- RandSF.Q (Zhao, Li, Kannala, Pajarinen, AAAI 2026,
2
+ arXiv:2508.01345) trained from scratch on LA-CATER, STATIC camera, for T1. Not upstream: this repo,
3
+ 2026-09-15. Its moving-camera twin is `permanence_randsfq_lacater_moving.py`, which differs in
4
+ `data_root` alone (asserted by tests/test_randsfq_lacater.py).
5
+
6
+ PROTOCOL (user decision 2026-09-15, "match ours" = slotcontrast/configs/slotcontrast/lacater.yaml):
7
+ 518 px input -> DINOv2 ViT-S/14 -> 37x37 = 1,369 tokens; K = 11; 8-frame windows at frame stride 2
8
+ drawn from the 300 annotated frames; ImageNet normalisation; horizontal flip p 0.5 at train with the
9
+ whole window flipped together. EVERYTHING ELSE is the authors' MOVi-C recipe
10
+ `config-randsfq/randsfq_c-movi_c.py`. The complete delta from it:
11
+
12
+ | key | recipe | here | why |
13
+ |---|---|---|---|
14
+ | resolut0 | [256, 256] | [518, 518] | protocol |
15
+ | resolut1 | [16, 16] | [37, 37] | 518 // 14; sizes the decoder's learnt position embedding |
16
+ | encode_backbone.modules[0] | Interpolate x0.875 bicubic | Identity | 518 goes straight into the ViT (its native img_size); x0.875 would feed it 453 px. Identity keeps the ViT at index 1, so parameter names match the recipe |
17
+ | DINO2ViT.in_size | int(256 * 0.875) = 224 | 518 | same |
18
+ | dataset_t / dataset_v | MOVi lmdb + segment + bbox | LaCater(root, split, clip_len 8, stride 2) | the dataset |
19
+ | transform0 | StridedRandomSliceSequence(size=6) | window drawn inside LaCater | protocol: 8 frames at stride 2 from [0, 300) |
20
+ | samples_per_clip | (one window per clip per epoch) | 1 | same semantics -> 1,163 steps/epoch vs MOVi-C's 1,218, so train.py's epoch-granular val and SaveModel cadence match the recipe |
21
+ | dataset_v | MOVi-C val, 250 clips, full 24 frames | first 250 val clips, one 8x2 window from frame 0 | loss-only val at the train window shape; a 300-frame clip at 518 px is not a val batch |
22
+ | transform_t RandomCrop(size=None, scale=[.75, 1]) | present | REMOVED | on a 4:3 frame its area is 56-75% of the image, i.e. never the full frame; ours has no crop; T1 needs the full frame |
23
+ | transform_v CenterCrop(size=None) | present | REMOVED | the max square drops the left/right 40 px of every 320x240 frame, where the snitch can be |
24
+ | Resize keys / size | video + segment, 256 | video, 518 (bilinear, antialias, as recipe) | no segment. `[!]` 320x240 -> 518x518 is an ANISOTROPIC squash, exactly as ours (`movi_train` Resize) |
25
+ | RandomFlip / Normalize keys | video + segment / video | video / video | no segment |
26
+ | collate_fn_t / _v | ClPadToMax1(segment) + ClPadTo1(bbox) + DefaultCollate | DefaultCollate | no segment / bbox |
27
+ | initializ | MLP(in_dim=4) on GT frame-0 boxes (`condit="batch.bbox"`) | NormalShared(num=11, dim=256) | `[!]` the `c-` recipes are CONDITIONAL on ground-truth boxes, which LA-CATER does not have per object; NormalShared is the authors' own unconditional init (`randsfq_r-ytvis.py`, "# >NormalSeparat") |
28
+ | model_imap | input + condit | input | same |
29
+ | transit.dt | 6 | 8 | the authors set dt = training window length in BOTH released recipes (MOVi 6/6, YTVIS 5/5) |
30
+ | decode.num_keep_fixed | (literal int(256 * 0.1) - 1 = 24) | int(1369 * 0.1) - 1 = 135 | the literal is ~10% of the recipe's 256 tokens; at 1369 it would be 1.8% (model/dias.py) |
31
+ | num_work | 4 | 8 | loader only, no effect on the objective: live MJPEG decode + 518 px resize measured 55 windows/s at 4 workers vs 118 at 8 (0.144 vs 0.068 s per batch of 8, static train, n=40 batches); an H200 at 2-3x the A6000's measured 0.51 s/step compute would wait on 4 |
32
+ | acc_fn_t / acc_fn_v | mBO / ARI, ARI-fg, mBO, mIoU | {} / {} | LA-CATER has no masks: training and validation are loss-only |
33
+ | after_forward | argmax decoder attention -> one-hot `output.segment` | removed | it only fed those metrics (and is ~2 GB of transient tensors at 518 px) |
34
+ | before_step .cuda() keys | video, segment, bbox | video | no segment / bbox |
35
+
36
+ UNCHANGED, deliberately (the recipe): emb_dim 256, vfm_dim 384, backbone
37
+ `vit_small_patch14_reg4_dinov2.lvd142m` (DINOv2 ViT-S/14 WITH 4 register tokens -- ours uses the
38
+ register-free `vit_small_patch14_dinov2`), frozen; encode_project MLP; SlotAttention 3 iters on
39
+ frame 0 / 1 after; RSFQTransit nhead 4, expansion 4, dropout 0.5; decoder 4 layers, 4 heads;
40
+ Adam lr 2e-4 / 4 = 5e-5, linear warm-up total_step // 20 then cosine to lr / 1e3; grad-norm clip
41
+ 0.05; GradScaler + autocast; loss = recon MSE + 0.5 * SlotContrast; total_step 50,000; batch 8;
42
+ val_interval total_step // 40; SaveModel every val epoch past 50%; seed via train.py.
43
+
44
+ `[!]` Run it through `scripts/randsfq/permanence_randsfq_lacater_train.sh {static,moving} <seed>`,
45
+ which refuses gcp nodes (reading /group there starves the loader; stage to /scratch first) and turns
46
+ on train.py's opt-in resume with the cross-cluster claim in `scripts/randsfq/randsfq_claim.sh`.
47
+ """
48
+
49
+ from object_centric_bench.datum import (
50
+ Resize,
51
+ RandomFlip,
52
+ Normalize,
53
+ Lambda,
54
+ LaCater,
55
+ DefaultCollate,
56
+ )
57
+ from object_centric_bench.learn import (
58
+ Adam,
59
+ GradScaler,
60
+ ClipGradNorm,
61
+ MSELoss,
62
+ SlotContrastLoss,
63
+ CbLinearCosine,
64
+ Callback,
65
+ AverageLog,
66
+ SaveModel,
67
+ )
68
+ from object_centric_bench.model import (
69
+ RandSFQ,
70
+ Sequential,
71
+ DINO2ViT,
72
+ Identity,
73
+ MLP,
74
+ SlotAttention,
75
+ NormalShared,
76
+ RSFQTransit,
77
+ ARRandTransformerDecoder,
78
+ LearntPositionalEmbedding,
79
+ Linear,
80
+ LayerNorm,
81
+ TransformerDecoder,
82
+ TransformerDecoderLayer,
83
+ )
84
+ from object_centric_bench.util import Compose, ComposeNoStar
85
+
86
+ ### global
87
+
88
+ max_num = 10 + 1 # K = 11: protocol, and the recipe's own value
89
+ resolut0 = [518, 518] # CHANGED 256 -> 518 (protocol)
90
+ resolut1 = [37, 37] # CHANGED 16 -> 37 (518 // 14)
91
+ emb_dim = 256
92
+ vfm_dim = 384
93
+
94
+ total_step = 50000 # 100000 better
95
+ val_interval = total_step // 40
96
+ batch_size_t = 32 // 4 # 64 better
97
+ batch_size_v = batch_size_t
98
+ num_work = 8 # CHANGED 4 -> 8: live MJPEG decode; measured 55 windows/s at 4 workers, 118 at 8
99
+ lr = 2e-4 / 4 # scale with batch_size
100
+
101
+ ### datum
102
+
103
+ data_root = "la_cater" # joined onto train.py's --data_dir (/group/awm/datasets)
104
+ clip_len = 8 # CHANGED (protocol): 8-frame windows
105
+ stride = 2 # CHANGED (protocol): frame stride 2 -> a window spans 15 of the 300 annotated frames
106
+
107
+ IMAGENET_MEAN = [[[123.675]], [[116.28]], [[103.53]]]
108
+ IMAGENET_STD = [[[58.395]], [[57.12]], [[57.375]]]
109
+ transform_t = [
110
+ dict(type=Resize, keys=["video"], size=resolut0, interp="bilinear"),
111
+ dict(type=RandomFlip, keys=["video"], dims=[-1], p=0.5),
112
+ dict(type=Normalize, keys=["video"], mean=[IMAGENET_MEAN], std=[IMAGENET_STD]),
113
+ ]
114
+ transform_v = [
115
+ dict(type=Resize, keys=["video"], size=resolut0, interp="bilinear"),
116
+ dict(type=Normalize, keys=["video"], mean=[IMAGENET_MEAN], std=[IMAGENET_STD]),
117
+ ]
118
+ dataset_t = dict(
119
+ type=LaCater,
120
+ root=data_root,
121
+ split="train",
122
+ clip_len=clip_len,
123
+ stride=stride,
124
+ samples_per_clip=1,
125
+ train=True,
126
+ seed=0,
127
+ transform=dict(type=Compose, transforms=transform_t),
128
+ base_dir=...,
129
+ )
130
+ dataset_v = dict(
131
+ type=LaCater,
132
+ root=data_root,
133
+ split="val",
134
+ clip_len=clip_len,
135
+ stride=stride,
136
+ samples_per_clip=1,
137
+ train=False,
138
+ start=0,
139
+ max_clips=250,
140
+ transform=dict(type=Compose, transforms=transform_v),
141
+ base_dir=...,
142
+ )
143
+ collate_fn_t = dict(
144
+ type=ComposeNoStar,
145
+ transforms=[
146
+ dict(type=DefaultCollate),
147
+ ],
148
+ )
149
+ collate_fn_v = collate_fn_t
150
+
151
+ ### model
152
+
153
+ model = dict(
154
+ type=RandSFQ,
155
+ encode_backbone=dict(
156
+ type=Sequential,
157
+ modules=[
158
+ dict(type=Identity), # CHANGED: recipe Interpolate(scale_factor=0.875, bicubic)
159
+ dict(
160
+ type=DINO2ViT,
161
+ model_name="vit_small_patch14_reg4_dinov2.lvd142m",
162
+ in_size=resolut0[0], # CHANGED: recipe int(resolut0[0] * 0.875)
163
+ rearrange=True,
164
+ norm_out=False,
165
+ ),
166
+ ],
167
+ ),
168
+ encode_posit_embed=dict(type=Identity),
169
+ encode_project=dict(
170
+ type=MLP, in_dim=vfm_dim, dims=[vfm_dim, vfm_dim], ln="pre", dropout=0.0
171
+ ),
172
+ # CHANGED: recipe MLP(in_dim=4) on GT boxes; LA-CATER has none -> the authors' unconditional init
173
+ initializ=dict(type=NormalShared, num=max_num, dim=emb_dim),
174
+ aggregat=dict(
175
+ type=SlotAttention,
176
+ num_iter=3, # 3 > 2, 1
177
+ embed_dim=emb_dim,
178
+ ffn_dim=emb_dim * 4,
179
+ dropout=0,
180
+ kv_dim=vfm_dim,
181
+ trunc_bp=None, # > bi-level
182
+ ),
183
+ transit=dict(
184
+ type=RSFQTransit,
185
+ dt=clip_len, # CHANGED 6 -> 8: dt = training window length, as in both released recipes
186
+ ci=vfm_dim,
187
+ c=emb_dim,
188
+ nhead=4,
189
+ expanz=4,
190
+ pdo=0.5, # XXX XXX XXX
191
+ norm_first=False,
192
+ bias=False,
193
+ ),
194
+ decode=dict(
195
+ type=ARRandTransformerDecoder,
196
+ emb_dim=vfm_dim,
197
+ posit_embed=dict(
198
+ type=LearntPositionalEmbedding,
199
+ resolut=[resolut1[0] * resolut1[1]],
200
+ embed_dim=vfm_dim,
201
+ ),
202
+ project1=dict( # fc>fc+ln
203
+ type=Sequential,
204
+ modules=[
205
+ dict(
206
+ type=Linear, in_features=vfm_dim, out_features=vfm_dim, bias=False
207
+ ),
208
+ dict(type=LayerNorm, normalized_shape=vfm_dim),
209
+ ],
210
+ ),
211
+ project2=dict( # fc+ln>fc
212
+ type=Sequential,
213
+ modules=[
214
+ dict(
215
+ type=Linear, in_features=emb_dim, out_features=vfm_dim, bias=False
216
+ ),
217
+ dict(type=LayerNorm, normalized_shape=vfm_dim),
218
+ ],
219
+ ),
220
+ backbone=dict(
221
+ type=TransformerDecoder,
222
+ decoder_layer=dict(
223
+ type=TransformerDecoderLayer,
224
+ d_model=vfm_dim,
225
+ nhead=4, # 4@384, 6@768
226
+ dim_feedforward=vfm_dim * 4,
227
+ dropout=0.0,
228
+ activation="gelu",
229
+ batch_first=True,
230
+ norm_first=True,
231
+ bias=False,
232
+ ),
233
+ num_layers=4,
234
+ ),
235
+ readout=dict(type=Identity),
236
+ # CHANGED: the recipe's literal int(256 * 0.1) - 1 is ~10% of ITS 256 tokens
237
+ num_keep_fixed=int(resolut1[0] * resolut1[1] * 0.1) - 1,
238
+ ),
239
+ )
240
+ model_imap = dict(input="batch.video") # CHANGED: no condit (no GT boxes)
241
+ model_omap = ["feature", "slotz", "attenta", "recon", "attentd"]
242
+ ckpt_map = [] # target<-source
243
+ freez = [r"^m\.encode_backbone\..*"]
244
+
245
+ ### learn
246
+
247
+ param_groups = None
248
+ optimiz = dict(type=Adam, params=param_groups, lr=lr)
249
+ gscale = dict(type=GradScaler)
250
+ gclip = dict(type=ClipGradNorm, max_norm=0.05)
251
+
252
+ loss_fn_t = loss_fn_v = dict(
253
+ recon=dict(
254
+ metric=dict(type=MSELoss),
255
+ map=dict(input="output.recon", target="output.feature"),
256
+ transform=dict(type=Lambda, ikeys=[["target"]], func=lambda _: _.detach()),
257
+ ),
258
+ ssc=dict(
259
+ metric=dict(type=SlotContrastLoss),
260
+ map=dict(input="output.slotz"),
261
+ weight=0.5,
262
+ ),
263
+ )
264
+ # CHANGED: LA-CATER has no segmentation masks -> no mBO / ARI / mIoU; train and val are loss-only
265
+ acc_fn_t = dict()
266
+ acc_fn_v = dict()
267
+
268
+ before_step = [
269
+ dict(
270
+ type=Lambda,
271
+ ikeys=[["batch.video"]], # CHANGED: no batch.segment / batch.bbox
272
+ func=lambda _: _.cuda(),
273
+ ),
274
+ dict(
275
+ type=CbLinearCosine,
276
+ assigns=["optimiz.param_groups[0]['lr']=value"],
277
+ nlin=total_step // 20,
278
+ ntotal=total_step,
279
+ vstart=0,
280
+ vbase=lr,
281
+ vfinal=lr / 1e3,
282
+ ),
283
+ ]
284
+ # CHANGED: no after_forward (it only built `output.segment` for the removed metrics)
285
+ callback_t = [
286
+ dict(type=Callback, before_step=before_step),
287
+ dict(type=AverageLog, log_file=...),
288
+ ]
289
+ callback_v = [
290
+ dict(type=Callback, before_step=before_step[:1]),
291
+ callback_t[1],
292
+ dict(type=SaveModel, save_dir=..., since_step=total_step * 0.5),
293
+ ]
lacater_static/slotcontrast/settings.yaml ADDED
@@ -0,0 +1,138 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ optimizer:
2
+ name: Adam
3
+ lr: 0.0004
4
+ lr_scheduler:
5
+ name: exp_decay_with_warmup
6
+ warmup_steps: 2500
7
+ decay_steps: 100000
8
+ model:
9
+ initializer:
10
+ name: FixedLearnedInit
11
+ n_slots: 11
12
+ dim: 64
13
+ encoder:
14
+ backbone:
15
+ name: TimmExtractor
16
+ model: vit_small_patch14_dinov2
17
+ features:
18
+ - vit_block12
19
+ frozen: true
20
+ pretrained: true
21
+ model_kwargs:
22
+ dynamic_img_size: true
23
+ output_transform:
24
+ name: networks.two_layer_mlp
25
+ inp_dim: 384
26
+ outp_dim: 64
27
+ hidden_dim: 768
28
+ layer_norm: true
29
+ grouper:
30
+ name: SlotAttention
31
+ inp_dim: 64
32
+ slot_dim: 64
33
+ n_iters: 2
34
+ use_mlp: true
35
+ decoder:
36
+ name: MLPDecoder
37
+ inp_dim: 64
38
+ outp_dim: 384
39
+ hidden_dims:
40
+ - 1024
41
+ - 1024
42
+ - 1024
43
+ n_patches: 1369
44
+ dynamics_predictor: null
45
+ predictor:
46
+ name: networks.TransformerEncoder
47
+ dim: 64
48
+ n_blocks: 1
49
+ n_heads: 4
50
+ target_encoder: null
51
+ latent_processor:
52
+ first_step_corrector_args:
53
+ n_iters: 3
54
+ mask_resizers: null
55
+ losses:
56
+ loss_featrec:
57
+ name: MSELoss
58
+ pred_dims:
59
+ - 0
60
+ - 384
61
+ loss_ss:
62
+ name: Slot_Slot_Contrastive_Loss
63
+ pred_key: processor.state
64
+ temperature: 0.1
65
+ batch_contrast: true
66
+ patch_inputs: false
67
+ keep_input_dim: true
68
+ loss_weights:
69
+ loss_featrec: 1.0
70
+ loss_ss: 0.5
71
+ input_type: video
72
+ target_type: features
73
+ target_encoder_input: null
74
+ encoder_input: null
75
+ decoder_source: state
76
+ aux_decoders: null
77
+ pointmap: null
78
+ cross_view: null
79
+ occlusion: null
80
+ anchor_supervision: null
81
+ visualize: true
82
+ eval_mode_config: null
83
+ visualize_every_n_steps: 2500
84
+ masks_to_visualize: null
85
+ load_weights: null
86
+ modules_to_load: null
87
+ dataset:
88
+ name: LaCaterVideoDataModule
89
+ root: /group/awm/datasets/la_cater
90
+ batch_size: 32
91
+ chunk_size: 8
92
+ frame_stride: 2
93
+ val_chunk_size: 24
94
+ val_batch_size: 4
95
+ val_max_clips: 250
96
+ num_workers: 16
97
+ num_val_workers: 4
98
+ samples_per_clip: 8
99
+ train_transforms:
100
+ name: movi_train
101
+ type: video
102
+ input_size: 518
103
+ use_movi_normalization: false
104
+ h_flip_prob: 0.5
105
+ val_transforms:
106
+ name: movi_val
107
+ type: video
108
+ input_size: 518
109
+ use_movi_normalization: false
110
+ num_classes: 1
111
+ trainer:
112
+ precision: bf16
113
+ max_steps: 100000
114
+ log_every_n_steps: 500
115
+ val_check_interval: 2500
116
+ gradient_clip_val: 0.05
117
+ accelerator: auto
118
+ train_metrics: null
119
+ val_metrics: null
120
+ activation_reg_schedule: null
121
+ depth_beta_schedule: null
122
+ globals:
123
+ NUM_SLOTS: 11
124
+ SLOT_DIM: 64
125
+ DINO_MODEL: vit_small_patch14_dinov2
126
+ FEAT_DIM: 384
127
+ INPUT_SIZE: 518
128
+ NUM_PATCHES: 1369
129
+ NUM_GPUS: 1
130
+ BATCH_SIZE_PER_GPU: 32
131
+ BASE_LR: 0.0001
132
+ experiment_name: lacater_base_100k_t8
133
+ experiment_group: slotcontrast
134
+ seed: 20260826
135
+ checkpoint_every_n_steps: 1000
136
+ checkpoint_save_top_k: -1
137
+ checkpoint_best: null
138
+ wandb: null
lacater_static/slotcontrast/step100000.ckpt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9f3c15fb7715f31f0dca9118b9bdf7608ab09a1030634f97ea4fa92def53b1ca
3
+ size 125739709