BonanDing commited on
Commit
9657cab
·
1 Parent(s): 89b7241

Keep multiview Berzelius training script

Browse files
train_dememwm_curric_event_trigger_8a100_berzelius.sh DELETED
@@ -1,95 +0,0 @@
1
- #!/usr/bin/env bash
2
- #SBATCH --job-name=dememwm-curric-event-anchorclean-causal-8a100
3
- #SBATCH --nodes=1
4
- #SBATCH --ntasks-per-node=8
5
- #SBATCH --cpus-per-task=8
6
- #SBATCH --time=72:00:00
7
- #SBATCH --output=slurm_logs/dememwm-curric-event-anchorclean-causal-8a100-%j.out
8
- #SBATCH --error=slurm_logs/dememwm-curric-event-anchorclean-causal-8a100-%j.out
9
- #SBATCH --account=berzelius-2025-436
10
- #SBATCH --gres=gpu:A100-SXM4-80GB:8
11
- #SBATCH --chdir=/proj/cvl/users/x_fahkh2/DeMemWM
12
-
13
- set -eo pipefail
14
-
15
- module load buildenv-gcccuda/12.1.1-gcc12.3.0
16
- source $(conda info --base)/etc/profile.d/conda.sh
17
-
18
- export PYTHONPATH="./:${PYTHONPATH:-}"
19
- export HF_HOME=/proj/cvl/users/x_fahkh2/caches
20
- export TORCH_HOME=/proj/cvl/users/x_fahkh2/caches
21
- export PIP_CACHE_DIR=/proj/cvl/users/x_fahkh2/caches
22
- export TMPDIR=/proj/cvl/users/x_fahkh2/caches
23
- export TRITON_CACHE_DIR=/proj/cvl/users/x_fahkh2/caches
24
- export CUDA_HOME=$CUDA_ROOT
25
- export CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7
26
- export HYDRA_FULL_ERROR=1
27
-
28
- git checkout main
29
-
30
- RUN_NAME=train_dememwm_curric_event_trigger_anchorclean_causal_a2d4r2_route_ntok8_8a100_bs8_global64_400k
31
- OUTPUT_DIR=/proj/cvl/users/x_fahkh2/DeMemWM/results/${RUN_NAME}
32
- CURRICULUM='{enabled:true,stages:[{name:no_updown,until_step:120000,dataset:{wo_updown:true}},{name:with_updown,until_step:400000,dataset:{wo_updown:false}}]}'
33
-
34
- srun python -m main \
35
- +name=${RUN_NAME} \
36
- +output_dir=$OUTPUT_DIR/ \
37
- auto_resume=true \
38
- wandb.mode=offline \
39
- "experiment.tasks=[training]" \
40
- algorithm=dememwm_base \
41
- +customized_load=true \
42
- +seperate_load=true \
43
- +diffusion_model_path=/proj/cvl/users/x_fahkh2/WorldMem_Repro/checkpoints/oasis500m.safetensors \
44
- +vae_path=/proj/cvl/users/x_fahkh2/WorldMem_Repro/checkpoints/vit-l-20.safetensors \
45
- dataset=video_minecraft_dememwm_latent \
46
- dataset.save_dir=/proj/cvl/users/x_fahkh2/WorldMem_Repro/datasets/minecraft \
47
- dataset.precomputed_feature_dir=/proj/cvl/users/x_fahkh2/WorldMem_Repro/datasets/minecraft/vae_features \
48
- dataset.n_frames=8 \
49
- dataset.n_frames_valid=1100 \
50
- dataset.context_length=100 \
51
- dataset.single_eval_clip=true \
52
- dataset.memory_selection.enabled=true \
53
- dataset.memory_selection.causal=true \
54
- dataset.memory_selection.max_anchor_frames=2 \
55
- dataset.memory_selection.max_dynamic_frames=4 \
56
- dataset.memory_selection.max_revisit_frames=2 \
57
- dataset.memory_selection.pose_similarity_threshold=0.6 \
58
- dataset.memory_selection.training_use_plucker=true \
59
- dataset.memory_selection.training_plucker_weight=1.0 \
60
- dataset.memory_selection.fov_overlap_threshold=0.6 \
61
- dataset.memory_selection.min_total_selected_coverage=0.1 \
62
- dataset.memory_selection.local_context_exclusion_frames=8 \
63
- dataset.memory_selection.anchor_diverse_selection=true \
64
- +dataset.memory_selection.pose_preselect_topk=64 \
65
- +dataset.memory_selection.candidate_chunk_size=64 \
66
- dataset.memory_selection.dynamic.selection_policy=event_triggered \
67
- algorithm.n_tokens=8 \
68
- algorithm.context_frames=600 \
69
- algorithm.metric_report_segment=100 \
70
- algorithm.chunk_size=1 \
71
- algorithm.warmup_steps=10000 \
72
- algorithm.trainability.train_full_dit=true \
73
- algorithm.trainability.full_dit_start_step=40000 \
74
- algorithm.trainability.lr.memory_modules=4.0e-5 \
75
- algorithm.trainability.lr.base_dit=1.0e-5 \
76
- algorithm.log_video=true \
77
- algorithm.save_local=true \
78
- algorithm.diffusion.sampling_timesteps=20 \
79
- algorithm.noise_route.anchor=high \
80
- algorithm.noise_route.dynamic=low \
81
- algorithm.noise_route.revisit=all \
82
- algorithm.memory_noise.enabled=true \
83
- algorithm.memory_noise.mode=random_cleaner_fraction \
84
- algorithm.memory_noise.anchor_max_fraction=0.0 \
85
- algorithm.memory_noise.dynamic_max_fraction=0.25 \
86
- algorithm.memory_noise.revisit_max_fraction=0.25 \
87
- "experiment.training.curriculum=${CURRICULUM}" \
88
- experiment.training.batch_size=8 \
89
- experiment.training.optim.accumulate_grad_batches=1 \
90
- experiment.validation.batch_size=1 \
91
- experiment.validation.limit_batch=1 \
92
- experiment.training.checkpointing.every_n_train_steps=2000 \
93
- experiment.training.checkpointing.save_last_k=10 \
94
- experiment.validation.val_every_n_step=2000 \
95
- experiment.training.max_steps=400000
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
train_dememwm_curric_event_trigger_8h200_berzelius.sh DELETED
@@ -1,95 +0,0 @@
1
- #!/usr/bin/env bash
2
- #SBATCH --job-name=dememwm-curric-event-anchorclean-causal-8h200
3
- #SBATCH --nodes=1
4
- #SBATCH --ntasks-per-node=8
5
- #SBATCH --cpus-per-task=8
6
- #SBATCH --time=72:00:00
7
- #SBATCH --output=slurm_logs/dememwm-curric-event-anchorclean-causal-8h200-%j.out
8
- #SBATCH --error=slurm_logs/dememwm-curric-event-anchorclean-causal-8h200-%j.out
9
- #SBATCH --account=berzelius-2025-436
10
- #SBATCH --gres=gpu:8
11
- #SBATCH --chdir=/proj/cvl/users/x_fahkh2/DeMemWM
12
-
13
- set -eo pipefail
14
-
15
- module load buildenv-gcccuda/12.9.1-gcc11
16
- source $(conda info --base)/etc/profile.d/conda.sh
17
-
18
- export PYTHONPATH="./:${PYTHONPATH:-}"
19
- export HF_HOME=/proj/cvl/users/x_fahkh2/caches
20
- export TORCH_HOME=/proj/cvl/users/x_fahkh2/caches
21
- export PIP_CACHE_DIR=/proj/cvl/users/x_fahkh2/caches
22
- export TMPDIR=/proj/cvl/users/x_fahkh2/caches
23
- export TRITON_CACHE_DIR=/proj/cvl/users/x_fahkh2/caches
24
- export CUDA_HOME=$CUDA_ROOT
25
- export CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7
26
- export HYDRA_FULL_ERROR=1
27
-
28
- git checkout main
29
-
30
- RUN_NAME=train_dememwm_curric_event_trigger_anchorclean_causal_a2d4r2_route_ntok8_8h200_bs16_global128_150k
31
- OUTPUT_DIR=/proj/cvl/users/x_fahkh2/DeMemWM/results/${RUN_NAME}
32
- CURRICULUM='{enabled:true,stages:[{name:no_updown,until_step:30000,dataset:{wo_updown:true}},{name:with_updown,until_step:150000,dataset:{wo_updown:false}}]}'
33
-
34
- srun python -m main \
35
- +name=${RUN_NAME} \
36
- +output_dir=$OUTPUT_DIR/ \
37
- auto_resume=true \
38
- wandb.mode=offline \
39
- "experiment.tasks=[training]" \
40
- algorithm=dememwm_base \
41
- +customized_load=true \
42
- +seperate_load=true \
43
- +diffusion_model_path=/proj/cvl/users/x_fahkh2/WorldMem_Repro/checkpoints/oasis500m.safetensors \
44
- +vae_path=/proj/cvl/users/x_fahkh2/WorldMem_Repro/checkpoints/vit-l-20.safetensors \
45
- dataset=video_minecraft_dememwm_latent \
46
- dataset.save_dir=/proj/cvl/users/x_fahkh2/WorldMem_Repro/datasets/minecraft \
47
- dataset.precomputed_feature_dir=/proj/cvl/users/x_fahkh2/WorldMem_Repro/datasets/minecraft/vae_features \
48
- dataset.n_frames=8 \
49
- dataset.n_frames_valid=1100 \
50
- dataset.context_length=100 \
51
- dataset.single_eval_clip=true \
52
- dataset.memory_selection.enabled=true \
53
- dataset.memory_selection.causal=true \
54
- dataset.memory_selection.max_anchor_frames=2 \
55
- dataset.memory_selection.max_dynamic_frames=4 \
56
- dataset.memory_selection.max_revisit_frames=2 \
57
- dataset.memory_selection.pose_similarity_threshold=0.6 \
58
- dataset.memory_selection.training_use_plucker=true \
59
- dataset.memory_selection.training_plucker_weight=1.0 \
60
- dataset.memory_selection.fov_overlap_threshold=0.6 \
61
- dataset.memory_selection.min_total_selected_coverage=0.1 \
62
- dataset.memory_selection.local_context_exclusion_frames=8 \
63
- dataset.memory_selection.anchor_diverse_selection=true \
64
- +dataset.memory_selection.pose_preselect_topk=64 \
65
- +dataset.memory_selection.candidate_chunk_size=64 \
66
- dataset.memory_selection.dynamic.selection_policy=event_triggered \
67
- algorithm.n_tokens=8 \
68
- algorithm.context_frames=600 \
69
- algorithm.metric_report_segment=100 \
70
- algorithm.chunk_size=1 \
71
- algorithm.warmup_steps=1000 \
72
- algorithm.trainability.train_full_dit=true \
73
- algorithm.trainability.full_dit_start_step=10000 \
74
- algorithm.trainability.lr.memory_modules=8.0e-5 \
75
- algorithm.trainability.lr.base_dit=2.0e-5 \
76
- algorithm.log_video=true \
77
- algorithm.save_local=true \
78
- algorithm.diffusion.sampling_timesteps=20 \
79
- algorithm.noise_route.anchor=high \
80
- algorithm.noise_route.dynamic=low \
81
- algorithm.noise_route.revisit=all \
82
- algorithm.memory_noise.enabled=true \
83
- algorithm.memory_noise.mode=random_cleaner_fraction \
84
- algorithm.memory_noise.anchor_max_fraction=0.0 \
85
- algorithm.memory_noise.dynamic_max_fraction=0.25 \
86
- algorithm.memory_noise.revisit_max_fraction=0.25 \
87
- "experiment.training.curriculum=${CURRICULUM}" \
88
- experiment.training.batch_size=16 \
89
- experiment.training.optim.accumulate_grad_batches=1 \
90
- experiment.validation.batch_size=1 \
91
- experiment.validation.limit_batch=1 \
92
- experiment.training.checkpointing.every_n_train_steps=2000 \
93
- experiment.training.checkpointing.save_last_k=10 \
94
- experiment.validation.val_every_n_step=2000 \
95
- experiment.training.max_steps=150000
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
train_dememwm_curric_event_trigger_anchorclean_causal_route_safe_8h200_berzelius.sh DELETED
@@ -1,102 +0,0 @@
1
- #!/usr/bin/env bash
2
- #SBATCH --job-name=dememwm-curric-event-anchorclean-causal-route-safe-8h200
3
- #SBATCH --nodes=1
4
- #SBATCH --ntasks-per-node=8
5
- #SBATCH --cpus-per-task=8
6
- #SBATCH --time=72:00:00
7
- #SBATCH --output=slurm_logs/dememwm-curric-event-anchorclean-causal-route-safe-8h200-%j.out
8
- #SBATCH --error=slurm_logs/dememwm-curric-event-anchorclean-causal-route-safe-8h200-%j.out
9
- #SBATCH --account=berzelius-2025-436
10
- #SBATCH --gres=gpu:8
11
- #SBATCH --chdir=/proj/cvl/users/x_fahkh2/DeMemWM
12
-
13
- set -eo pipefail
14
-
15
- module load buildenv-gcccuda/12.9.1-gcc11
16
- source $(conda info --base)/etc/profile.d/conda.sh
17
-
18
- export PYTHONPATH="./:${PYTHONPATH:-}"
19
- export HF_HOME=/proj/cvl/users/x_fahkh2/caches
20
- export TORCH_HOME=/proj/cvl/users/x_fahkh2/caches
21
- export PIP_CACHE_DIR=/proj/cvl/users/x_fahkh2/caches
22
- export TMPDIR=/proj/cvl/users/x_fahkh2/caches
23
- export TRITON_CACHE_DIR=/proj/cvl/users/x_fahkh2/caches
24
- export CUDA_HOME=$CUDA_ROOT
25
- export CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7
26
- export HYDRA_FULL_ERROR=1
27
-
28
- git checkout main
29
-
30
- RUN_NAME=train_dememwm_curric_event_trigger_anchorclean_causal_route_safe_a2d4r2_ntok8_8h200_bs16_global128_120k
31
- OUTPUT_DIR=/proj/cvl/users/x_fahkh2/DeMemWM/results/${RUN_NAME}
32
- CURRICULUM='{enabled:true,stages:[{name:no_updown,until_step:60000,dataset:{wo_updown:true}},{name:with_updown,until_step:120000,dataset:{wo_updown:false}}]}'
33
-
34
- srun python -m main \
35
- +name=${RUN_NAME} \
36
- +output_dir=$OUTPUT_DIR/ \
37
- auto_resume=true \
38
- wandb.mode=offline \
39
- "experiment.tasks=[training]" \
40
- algorithm=dememwm_base \
41
- +customized_load=true \
42
- +seperate_load=true \
43
- +diffusion_model_path=/proj/cvl/users/x_fahkh2/WorldMem_Repro/checkpoints/oasis500m.safetensors \
44
- +vae_path=/proj/cvl/users/x_fahkh2/WorldMem_Repro/checkpoints/vit-l-20.safetensors \
45
- dataset=video_minecraft_dememwm_latent \
46
- dataset.save_dir=/proj/cvl/users/x_fahkh2/WorldMem_Repro/datasets/minecraft \
47
- dataset.precomputed_feature_dir=/proj/cvl/users/x_fahkh2/WorldMem_Repro/datasets/minecraft/vae_features \
48
- dataset.n_frames=8 \
49
- dataset.n_frames_valid=1100 \
50
- dataset.context_length=100 \
51
- dataset.single_eval_clip=true \
52
- dataset.memory_selection.enabled=true \
53
- dataset.memory_selection.causal=true \
54
- dataset.memory_selection.max_anchor_frames=2 \
55
- dataset.memory_selection.max_dynamic_frames=4 \
56
- dataset.memory_selection.max_revisit_frames=2 \
57
- dataset.memory_selection.pose_similarity_threshold=0.6 \
58
- dataset.memory_selection.training_use_plucker=true \
59
- dataset.memory_selection.training_plucker_weight=1.0 \
60
- dataset.memory_selection.fov_overlap_threshold=0.6 \
61
- dataset.memory_selection.min_total_selected_coverage=0.1 \
62
- dataset.memory_selection.local_context_exclusion_frames=8 \
63
- dataset.memory_selection.anchor_diverse_selection=true \
64
- +dataset.memory_selection.pose_preselect_topk=64 \
65
- +dataset.memory_selection.candidate_chunk_size=64 \
66
- dataset.memory_selection.dynamic.selection_policy=event_triggered \
67
- algorithm.causal=true \
68
- algorithm.n_tokens=8 \
69
- algorithm.context_frames=600 \
70
- algorithm.metric_report_segment=100 \
71
- +algorithm.log_per_frame_metrics=true \
72
- algorithm.chunk_size=1 \
73
- algorithm.warmup_steps=5000 \
74
- algorithm.trainability.train_full_dit=true \
75
- algorithm.trainability.full_dit_start_step=40000 \
76
- algorithm.trainability.lr.memory_modules=4.0e-5 \
77
- algorithm.trainability.lr.base_dit=1.0e-5 \
78
- algorithm.log_video=true \
79
- algorithm.save_local=true \
80
- algorithm.diffusion.sampling_timesteps=20 \
81
- algorithm.noise_route.anchor=high \
82
- algorithm.noise_route.dynamic=low \
83
- algorithm.noise_route.revisit=all \
84
- algorithm.memory_noise.enabled=true \
85
- algorithm.memory_noise.mode=random_cleaner_fraction \
86
- algorithm.memory_noise.anchor_max_fraction=0.0 \
87
- algorithm.memory_noise.dynamic_max_fraction=0.50 \
88
- algorithm.memory_noise.revisit_max_fraction=0.50 \
89
- +algorithm.memory_noise.validation_noisy_memory=false \
90
- "experiment.training.curriculum=${CURRICULUM}" \
91
- experiment.training.batch_size=16 \
92
- experiment.training.precision=16-mixed \
93
- experiment.training.optim.accumulate_grad_batches=1 \
94
- experiment.training.optim.gradient_clip_val=1.0 \
95
- experiment.validation.batch_size=1 \
96
- experiment.validation.limit_batch=1 \
97
- experiment.validation.val_every_n_step=2000 \
98
- experiment.training.checkpointing.every_n_train_steps=2000 \
99
- experiment.training.checkpointing.save_top_k=5 \
100
- experiment.training.checkpointing.monitor=lpips \
101
- experiment.training.checkpointing.mode=min \
102
- experiment.training.max_steps=120000
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
train_dememwm_curric_event_trigger_anchorclean_causal_route_safe_nodynamic_8h200_berzelius.sh DELETED
@@ -1,102 +0,0 @@
1
- #!/usr/bin/env bash
2
- #SBATCH --job-name=dememwm-curric-event-anchorclean-causal-route-safe-nodynamic-8h200
3
- #SBATCH --nodes=1
4
- #SBATCH --ntasks-per-node=8
5
- #SBATCH --cpus-per-task=8
6
- #SBATCH --time=72:00:00
7
- #SBATCH --output=slurm_logs/dememwm-curric-event-anchorclean-causal-route-safe-nodynamic-8h200-%j.out
8
- #SBATCH --error=slurm_logs/dememwm-curric-event-anchorclean-causal-route-safe-nodynamic-8h200-%j.out
9
- #SBATCH --account=berzelius-2025-436
10
- #SBATCH --gres=gpu:8
11
- #SBATCH --chdir=/proj/cvl/users/x_fahkh2/DeMemWM
12
-
13
- set -eo pipefail
14
-
15
- module load buildenv-gcccuda/12.9.1-gcc11
16
- source $(conda info --base)/etc/profile.d/conda.sh
17
-
18
- export PYTHONPATH="./:${PYTHONPATH:-}"
19
- export HF_HOME=/proj/cvl/users/x_fahkh2/caches
20
- export TORCH_HOME=/proj/cvl/users/x_fahkh2/caches
21
- export PIP_CACHE_DIR=/proj/cvl/users/x_fahkh2/caches
22
- export TMPDIR=/proj/cvl/users/x_fahkh2/caches
23
- export TRITON_CACHE_DIR=/proj/cvl/users/x_fahkh2/caches
24
- export CUDA_HOME=$CUDA_ROOT
25
- export CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7
26
- export HYDRA_FULL_ERROR=1
27
-
28
- git checkout main
29
-
30
- RUN_NAME=train_dememwm_curric_event_trigger_anchorclean_causal_route_safe_a2d0r2_ntok8_8h200_bs16_global128_120k
31
- OUTPUT_DIR=/proj/cvl/users/x_fahkh2/DeMemWM/results/${RUN_NAME}
32
- CURRICULUM='{enabled:true,stages:[{name:no_updown,until_step:60000,dataset:{wo_updown:true}},{name:with_updown,until_step:120000,dataset:{wo_updown:false}}]}'
33
-
34
- srun python -m main \
35
- +name=${RUN_NAME} \
36
- +output_dir=$OUTPUT_DIR/ \
37
- auto_resume=true \
38
- wandb.mode=offline \
39
- "experiment.tasks=[training]" \
40
- algorithm=dememwm_base \
41
- +customized_load=true \
42
- +seperate_load=true \
43
- +diffusion_model_path=/proj/cvl/users/x_fahkh2/WorldMem_Repro/checkpoints/oasis500m.safetensors \
44
- +vae_path=/proj/cvl/users/x_fahkh2/WorldMem_Repro/checkpoints/vit-l-20.safetensors \
45
- dataset=video_minecraft_dememwm_latent \
46
- dataset.save_dir=/proj/cvl/users/x_fahkh2/WorldMem_Repro/datasets/minecraft \
47
- dataset.precomputed_feature_dir=/proj/cvl/users/x_fahkh2/WorldMem_Repro/datasets/minecraft/vae_features \
48
- dataset.n_frames=8 \
49
- dataset.n_frames_valid=1100 \
50
- dataset.context_length=100 \
51
- dataset.single_eval_clip=true \
52
- dataset.memory_selection.enabled=true \
53
- dataset.memory_selection.causal=true \
54
- dataset.memory_selection.max_anchor_frames=2 \
55
- dataset.memory_selection.max_dynamic_frames=0 \
56
- dataset.memory_selection.max_revisit_frames=2 \
57
- dataset.memory_selection.pose_similarity_threshold=0.6 \
58
- dataset.memory_selection.training_use_plucker=true \
59
- dataset.memory_selection.training_plucker_weight=1.0 \
60
- dataset.memory_selection.fov_overlap_threshold=0.6 \
61
- dataset.memory_selection.min_total_selected_coverage=0.1 \
62
- dataset.memory_selection.local_context_exclusion_frames=8 \
63
- dataset.memory_selection.anchor_diverse_selection=true \
64
- +dataset.memory_selection.pose_preselect_topk=64 \
65
- +dataset.memory_selection.candidate_chunk_size=64 \
66
- dataset.memory_selection.dynamic.selection_policy=event_triggered \
67
- algorithm.causal=true \
68
- algorithm.n_tokens=8 \
69
- algorithm.context_frames=600 \
70
- algorithm.metric_report_segment=100 \
71
- +algorithm.log_per_frame_metrics=true \
72
- algorithm.chunk_size=1 \
73
- algorithm.warmup_steps=5000 \
74
- algorithm.trainability.train_full_dit=true \
75
- algorithm.trainability.full_dit_start_step=40000 \
76
- algorithm.trainability.lr.memory_modules=4.0e-5 \
77
- algorithm.trainability.lr.base_dit=1.0e-5 \
78
- algorithm.log_video=true \
79
- algorithm.save_local=true \
80
- algorithm.diffusion.sampling_timesteps=20 \
81
- algorithm.noise_route.anchor=high \
82
- algorithm.noise_route.dynamic=low \
83
- algorithm.noise_route.revisit=all \
84
- algorithm.memory_noise.enabled=true \
85
- algorithm.memory_noise.mode=random_cleaner_fraction \
86
- algorithm.memory_noise.anchor_max_fraction=0.0 \
87
- algorithm.memory_noise.dynamic_max_fraction=0.0 \
88
- algorithm.memory_noise.revisit_max_fraction=0.50 \
89
- +algorithm.memory_noise.validation_noisy_memory=false \
90
- "experiment.training.curriculum=${CURRICULUM}" \
91
- experiment.training.batch_size=16 \
92
- experiment.training.precision=16-mixed \
93
- experiment.training.optim.accumulate_grad_batches=1 \
94
- experiment.training.optim.gradient_clip_val=1.0 \
95
- experiment.validation.batch_size=1 \
96
- experiment.validation.limit_batch=1 \
97
- experiment.validation.val_every_n_step=2000 \
98
- experiment.training.checkpointing.every_n_train_steps=2000 \
99
- experiment.training.checkpointing.save_top_k=5 \
100
- experiment.training.checkpointing.monitor=lpips \
101
- experiment.training.checkpointing.mode=min \
102
- experiment.training.max_steps=120000
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
train_dememwm_curric_event_trigger_anchorclean_noncausal_8a100_berzelius.sh DELETED
@@ -1,95 +0,0 @@
1
- #!/usr/bin/env bash
2
- #SBATCH --job-name=dememwm-curric-event-anchorclean-noncausal-8a100
3
- #SBATCH --nodes=1
4
- #SBATCH --ntasks-per-node=8
5
- #SBATCH --cpus-per-task=8
6
- #SBATCH --time=72:00:00
7
- #SBATCH --output=slurm_logs/dememwm-curric-event-anchorclean-noncausal-8a100-%j.out
8
- #SBATCH --error=slurm_logs/dememwm-curric-event-anchorclean-noncausal-8a100-%j.out
9
- #SBATCH --account=berzelius-2025-436
10
- #SBATCH --gres=gpu:A100-SXM4-80GB:8
11
- #SBATCH --chdir=/proj/cvl/users/x_fahkh2/DeMemWM
12
-
13
- set -eo pipefail
14
-
15
- module load buildenv-gcccuda/12.1.1-gcc12.3.0
16
- source $(conda info --base)/etc/profile.d/conda.sh
17
-
18
- export PYTHONPATH="./:${PYTHONPATH:-}"
19
- export HF_HOME=/proj/cvl/users/x_fahkh2/caches
20
- export TORCH_HOME=/proj/cvl/users/x_fahkh2/caches
21
- export PIP_CACHE_DIR=/proj/cvl/users/x_fahkh2/caches
22
- export TMPDIR=/proj/cvl/users/x_fahkh2/caches
23
- export TRITON_CACHE_DIR=/proj/cvl/users/x_fahkh2/caches
24
- export CUDA_HOME=$CUDA_ROOT
25
- export CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7
26
- export HYDRA_FULL_ERROR=1
27
-
28
- git checkout main
29
-
30
- RUN_NAME=train_dememwm_curric_event_trigger_anchorclean_noncausal_a2d4r2_route_ntok8_8a100_bs8_global64_400k
31
- OUTPUT_DIR=/proj/cvl/users/x_fahkh2/DeMemWM/results/${RUN_NAME}
32
- CURRICULUM='{enabled:true,stages:[{name:no_updown,until_step:120000,dataset:{wo_updown:true}},{name:with_updown,until_step:400000,dataset:{wo_updown:false}}]}'
33
-
34
- srun python -m main \
35
- +name=${RUN_NAME} \
36
- +output_dir=$OUTPUT_DIR/ \
37
- auto_resume=true \
38
- wandb.mode=offline \
39
- "experiment.tasks=[training]" \
40
- algorithm=dememwm_base \
41
- +customized_load=true \
42
- +seperate_load=true \
43
- +diffusion_model_path=/proj/cvl/users/x_fahkh2/WorldMem_Repro/checkpoints/oasis500m.safetensors \
44
- +vae_path=/proj/cvl/users/x_fahkh2/WorldMem_Repro/checkpoints/vit-l-20.safetensors \
45
- dataset=video_minecraft_dememwm_latent \
46
- dataset.save_dir=/proj/cvl/users/x_fahkh2/WorldMem_Repro/datasets/minecraft \
47
- dataset.precomputed_feature_dir=/proj/cvl/users/x_fahkh2/WorldMem_Repro/datasets/minecraft/vae_features \
48
- dataset.n_frames=8 \
49
- dataset.n_frames_valid=1100 \
50
- dataset.context_length=100 \
51
- dataset.single_eval_clip=true \
52
- dataset.memory_selection.enabled=true \
53
- dataset.memory_selection.causal=false \
54
- dataset.memory_selection.max_anchor_frames=2 \
55
- dataset.memory_selection.max_dynamic_frames=4 \
56
- dataset.memory_selection.max_revisit_frames=2 \
57
- dataset.memory_selection.pose_similarity_threshold=0.6 \
58
- dataset.memory_selection.training_use_plucker=true \
59
- dataset.memory_selection.training_plucker_weight=1.0 \
60
- dataset.memory_selection.fov_overlap_threshold=0.6 \
61
- dataset.memory_selection.min_total_selected_coverage=0.1 \
62
- dataset.memory_selection.local_context_exclusion_frames=8 \
63
- dataset.memory_selection.anchor_diverse_selection=true \
64
- +dataset.memory_selection.pose_preselect_topk=64 \
65
- +dataset.memory_selection.candidate_chunk_size=64 \
66
- dataset.memory_selection.dynamic.selection_policy=event_triggered \
67
- algorithm.n_tokens=8 \
68
- algorithm.context_frames=600 \
69
- algorithm.metric_report_segment=100 \
70
- algorithm.chunk_size=1 \
71
- algorithm.warmup_steps=10000 \
72
- algorithm.trainability.train_full_dit=true \
73
- algorithm.trainability.full_dit_start_step=40000 \
74
- algorithm.trainability.lr.memory_modules=4.0e-5 \
75
- algorithm.trainability.lr.base_dit=1.0e-5 \
76
- algorithm.log_video=true \
77
- algorithm.save_local=true \
78
- algorithm.diffusion.sampling_timesteps=20 \
79
- algorithm.noise_route.anchor=high \
80
- algorithm.noise_route.dynamic=low \
81
- algorithm.noise_route.revisit=all \
82
- algorithm.memory_noise.enabled=true \
83
- algorithm.memory_noise.mode=random_cleaner_fraction \
84
- algorithm.memory_noise.anchor_max_fraction=0.0 \
85
- algorithm.memory_noise.dynamic_max_fraction=0.25 \
86
- algorithm.memory_noise.revisit_max_fraction=0.25 \
87
- "experiment.training.curriculum=${CURRICULUM}" \
88
- experiment.training.batch_size=8 \
89
- experiment.training.optim.accumulate_grad_batches=1 \
90
- experiment.validation.batch_size=1 \
91
- experiment.validation.limit_batch=1 \
92
- experiment.training.checkpointing.every_n_train_steps=2000 \
93
- experiment.training.checkpointing.save_last_k=10 \
94
- experiment.validation.val_every_n_step=2000 \
95
- experiment.training.max_steps=400000
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
train_dememwm_curric_event_trigger_anchorclean_noncausal_8h200_berzelius.sh DELETED
@@ -1,95 +0,0 @@
1
- #!/usr/bin/env bash
2
- #SBATCH --job-name=dememwm-curric-event-anchorclean-noncausal-8h200
3
- #SBATCH --nodes=1
4
- #SBATCH --ntasks-per-node=8
5
- #SBATCH --cpus-per-task=8
6
- #SBATCH --time=72:00:00
7
- #SBATCH --output=slurm_logs/dememwm-curric-event-anchorclean-noncausal-8h200-%j.out
8
- #SBATCH --error=slurm_logs/dememwm-curric-event-anchorclean-noncausal-8h200-%j.out
9
- #SBATCH --account=berzelius-2025-436
10
- #SBATCH --gres=gpu:8
11
- #SBATCH --chdir=/proj/cvl/users/x_fahkh2/DeMemWM
12
-
13
- set -eo pipefail
14
-
15
- module load buildenv-gcccuda/12.9.1-gcc11
16
- source $(conda info --base)/etc/profile.d/conda.sh
17
-
18
- export PYTHONPATH="./:${PYTHONPATH:-}"
19
- export HF_HOME=/proj/cvl/users/x_fahkh2/caches
20
- export TORCH_HOME=/proj/cvl/users/x_fahkh2/caches
21
- export PIP_CACHE_DIR=/proj/cvl/users/x_fahkh2/caches
22
- export TMPDIR=/proj/cvl/users/x_fahkh2/caches
23
- export TRITON_CACHE_DIR=/proj/cvl/users/x_fahkh2/caches
24
- export CUDA_HOME=$CUDA_ROOT
25
- export CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7
26
- export HYDRA_FULL_ERROR=1
27
-
28
- git checkout main
29
-
30
- RUN_NAME=train_dememwm_curric_event_trigger_anchorclean_noncausal_a2d4r2_route_ntok8_8h200_bs16_global128_150k
31
- OUTPUT_DIR=/proj/cvl/users/x_fahkh2/DeMemWM/results/${RUN_NAME}
32
- CURRICULUM='{enabled:true,stages:[{name:no_updown,until_step:30000,dataset:{wo_updown:true}},{name:with_updown,until_step:150000,dataset:{wo_updown:false}}]}'
33
-
34
- srun python -m main \
35
- +name=${RUN_NAME} \
36
- +output_dir=$OUTPUT_DIR/ \
37
- auto_resume=true \
38
- wandb.mode=offline \
39
- "experiment.tasks=[training]" \
40
- algorithm=dememwm_base \
41
- +customized_load=true \
42
- +seperate_load=true \
43
- +diffusion_model_path=/proj/cvl/users/x_fahkh2/WorldMem_Repro/checkpoints/oasis500m.safetensors \
44
- +vae_path=/proj/cvl/users/x_fahkh2/WorldMem_Repro/checkpoints/vit-l-20.safetensors \
45
- dataset=video_minecraft_dememwm_latent \
46
- dataset.save_dir=/proj/cvl/users/x_fahkh2/WorldMem_Repro/datasets/minecraft \
47
- dataset.precomputed_feature_dir=/proj/cvl/users/x_fahkh2/WorldMem_Repro/datasets/minecraft/vae_features \
48
- dataset.n_frames=8 \
49
- dataset.n_frames_valid=1100 \
50
- dataset.context_length=100 \
51
- dataset.single_eval_clip=true \
52
- dataset.memory_selection.enabled=true \
53
- dataset.memory_selection.causal=false \
54
- dataset.memory_selection.max_anchor_frames=2 \
55
- dataset.memory_selection.max_dynamic_frames=4 \
56
- dataset.memory_selection.max_revisit_frames=2 \
57
- dataset.memory_selection.pose_similarity_threshold=0.6 \
58
- dataset.memory_selection.training_use_plucker=true \
59
- dataset.memory_selection.training_plucker_weight=1.0 \
60
- dataset.memory_selection.fov_overlap_threshold=0.6 \
61
- dataset.memory_selection.min_total_selected_coverage=0.1 \
62
- dataset.memory_selection.local_context_exclusion_frames=8 \
63
- dataset.memory_selection.anchor_diverse_selection=true \
64
- +dataset.memory_selection.pose_preselect_topk=64 \
65
- +dataset.memory_selection.candidate_chunk_size=64 \
66
- dataset.memory_selection.dynamic.selection_policy=event_triggered \
67
- algorithm.n_tokens=8 \
68
- algorithm.context_frames=600 \
69
- algorithm.metric_report_segment=100 \
70
- algorithm.chunk_size=1 \
71
- algorithm.warmup_steps=1000 \
72
- algorithm.trainability.train_full_dit=true \
73
- algorithm.trainability.full_dit_start_step=10000 \
74
- algorithm.trainability.lr.memory_modules=8.0e-5 \
75
- algorithm.trainability.lr.base_dit=2.0e-5 \
76
- algorithm.log_video=true \
77
- algorithm.save_local=true \
78
- algorithm.diffusion.sampling_timesteps=20 \
79
- algorithm.noise_route.anchor=high \
80
- algorithm.noise_route.dynamic=low \
81
- algorithm.noise_route.revisit=all \
82
- algorithm.memory_noise.enabled=true \
83
- algorithm.memory_noise.mode=random_cleaner_fraction \
84
- algorithm.memory_noise.anchor_max_fraction=0.0 \
85
- algorithm.memory_noise.dynamic_max_fraction=0.25 \
86
- algorithm.memory_noise.revisit_max_fraction=0.25 \
87
- "experiment.training.curriculum=${CURRICULUM}" \
88
- experiment.training.batch_size=16 \
89
- experiment.training.optim.accumulate_grad_batches=1 \
90
- experiment.validation.batch_size=1 \
91
- experiment.validation.limit_batch=1 \
92
- experiment.training.checkpointing.every_n_train_steps=2000 \
93
- experiment.training.checkpointing.save_last_k=10 \
94
- experiment.validation.val_every_n_step=2000 \
95
- experiment.training.max_steps=150000
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
train_dememwm_curric_event_trigger_no_route_8a100_berzelius.sh DELETED
@@ -1,95 +0,0 @@
1
- #!/usr/bin/env bash
2
- #SBATCH --job-name=dememwm-curric-event-noroute-anchorclean-8a100
3
- #SBATCH --nodes=1
4
- #SBATCH --ntasks-per-node=8
5
- #SBATCH --cpus-per-task=8
6
- #SBATCH --time=72:00:00
7
- #SBATCH --output=slurm_logs/dememwm-curric-event-noroute-anchorclean-8a100-%j.out
8
- #SBATCH --error=slurm_logs/dememwm-curric-event-noroute-anchorclean-8a100-%j.out
9
- #SBATCH --account=berzelius-2025-436
10
- #SBATCH --gres=gpu:A100-SXM4-80GB:8
11
- #SBATCH --chdir=/proj/cvl/users/x_fahkh2/DeMemWM
12
-
13
- set -eo pipefail
14
-
15
- module load buildenv-gcccuda/12.1.1-gcc12.3.0
16
- source $(conda info --base)/etc/profile.d/conda.sh
17
-
18
- export PYTHONPATH="./:${PYTHONPATH:-}"
19
- export HF_HOME=/proj/cvl/users/x_fahkh2/caches
20
- export TORCH_HOME=/proj/cvl/users/x_fahkh2/caches
21
- export PIP_CACHE_DIR=/proj/cvl/users/x_fahkh2/caches
22
- export TMPDIR=/proj/cvl/users/x_fahkh2/caches
23
- export TRITON_CACHE_DIR=/proj/cvl/users/x_fahkh2/caches
24
- export CUDA_HOME=$CUDA_ROOT
25
- export CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7
26
- export HYDRA_FULL_ERROR=1
27
-
28
- git checkout main
29
-
30
- RUN_NAME=train_dememwm_curric_event_trigger_no_route_anchorclean_a2d4r2_ntok8_8a100_bs8_global64_400k
31
- OUTPUT_DIR=/proj/cvl/users/x_fahkh2/DeMemWM/results/${RUN_NAME}
32
- CURRICULUM='{enabled:true,stages:[{name:no_updown,until_step:120000,dataset:{wo_updown:true}},{name:with_updown,until_step:400000,dataset:{wo_updown:false}}]}'
33
-
34
- srun python -m main \
35
- +name=${RUN_NAME} \
36
- +output_dir=$OUTPUT_DIR/ \
37
- auto_resume=true \
38
- wandb.mode=offline \
39
- "experiment.tasks=[training]" \
40
- algorithm=dememwm_base \
41
- +customized_load=true \
42
- +seperate_load=true \
43
- +diffusion_model_path=/proj/cvl/users/x_fahkh2/WorldMem_Repro/checkpoints/oasis500m.safetensors \
44
- +vae_path=/proj/cvl/users/x_fahkh2/WorldMem_Repro/checkpoints/vit-l-20.safetensors \
45
- dataset=video_minecraft_dememwm_latent \
46
- dataset.save_dir=/proj/cvl/users/x_fahkh2/WorldMem_Repro/datasets/minecraft \
47
- dataset.precomputed_feature_dir=/proj/cvl/users/x_fahkh2/WorldMem_Repro/datasets/minecraft/vae_features \
48
- dataset.n_frames=8 \
49
- dataset.n_frames_valid=1100 \
50
- dataset.context_length=100 \
51
- dataset.single_eval_clip=true \
52
- dataset.memory_selection.enabled=true \
53
- dataset.memory_selection.causal=true \
54
- dataset.memory_selection.max_anchor_frames=2 \
55
- dataset.memory_selection.max_dynamic_frames=4 \
56
- dataset.memory_selection.max_revisit_frames=2 \
57
- dataset.memory_selection.pose_similarity_threshold=0.6 \
58
- dataset.memory_selection.training_use_plucker=true \
59
- dataset.memory_selection.training_plucker_weight=1.0 \
60
- dataset.memory_selection.fov_overlap_threshold=0.6 \
61
- dataset.memory_selection.min_total_selected_coverage=0.1 \
62
- dataset.memory_selection.local_context_exclusion_frames=8 \
63
- dataset.memory_selection.anchor_diverse_selection=true \
64
- +dataset.memory_selection.pose_preselect_topk=64 \
65
- +dataset.memory_selection.candidate_chunk_size=64 \
66
- dataset.memory_selection.dynamic.selection_policy=event_triggered \
67
- algorithm.n_tokens=8 \
68
- algorithm.context_frames=600 \
69
- algorithm.metric_report_segment=100 \
70
- algorithm.chunk_size=1 \
71
- algorithm.warmup_steps=10000 \
72
- algorithm.trainability.train_full_dit=true \
73
- algorithm.trainability.full_dit_start_step=40000 \
74
- algorithm.trainability.lr.memory_modules=4.0e-5 \
75
- algorithm.trainability.lr.base_dit=1.0e-5 \
76
- algorithm.log_video=true \
77
- algorithm.save_local=true \
78
- algorithm.diffusion.sampling_timesteps=20 \
79
- algorithm.noise_route.anchor=all \
80
- algorithm.noise_route.dynamic=all \
81
- algorithm.noise_route.revisit=all \
82
- algorithm.memory_noise.enabled=true \
83
- algorithm.memory_noise.mode=random_cleaner_fraction \
84
- algorithm.memory_noise.anchor_max_fraction=0.0 \
85
- algorithm.memory_noise.dynamic_max_fraction=0.25 \
86
- algorithm.memory_noise.revisit_max_fraction=0.25 \
87
- "experiment.training.curriculum=${CURRICULUM}" \
88
- experiment.training.batch_size=8 \
89
- experiment.training.optim.accumulate_grad_batches=1 \
90
- experiment.validation.batch_size=1 \
91
- experiment.validation.limit_batch=1 \
92
- experiment.training.checkpointing.every_n_train_steps=2000 \
93
- experiment.training.checkpointing.save_last_k=10 \
94
- experiment.validation.val_every_n_step=2000 \
95
- experiment.training.max_steps=400000
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
train_dememwm_curric_event_trigger_no_route_8h200_berzelius.sh DELETED
@@ -1,95 +0,0 @@
1
- #!/usr/bin/env bash
2
- #SBATCH --job-name=dememwm-curric-event-noroute-anchorclean-8h200
3
- #SBATCH --nodes=1
4
- #SBATCH --ntasks-per-node=8
5
- #SBATCH --cpus-per-task=8
6
- #SBATCH --time=72:00:00
7
- #SBATCH --output=slurm_logs/dememwm-curric-event-noroute-anchorclean-8h200-%j.out
8
- #SBATCH --error=slurm_logs/dememwm-curric-event-noroute-anchorclean-8h200-%j.out
9
- #SBATCH --account=berzelius-2025-436
10
- #SBATCH --gres=gpu:8
11
- #SBATCH --chdir=/proj/cvl/users/x_fahkh2/DeMemWM
12
-
13
- set -eo pipefail
14
-
15
- module load buildenv-gcccuda/12.9.1-gcc11
16
- source $(conda info --base)/etc/profile.d/conda.sh
17
-
18
- export PYTHONPATH="./:${PYTHONPATH:-}"
19
- export HF_HOME=/proj/cvl/users/x_fahkh2/caches
20
- export TORCH_HOME=/proj/cvl/users/x_fahkh2/caches
21
- export PIP_CACHE_DIR=/proj/cvl/users/x_fahkh2/caches
22
- export TMPDIR=/proj/cvl/users/x_fahkh2/caches
23
- export TRITON_CACHE_DIR=/proj/cvl/users/x_fahkh2/caches
24
- export CUDA_HOME=$CUDA_ROOT
25
- export CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7
26
- export HYDRA_FULL_ERROR=1
27
-
28
- git checkout main
29
-
30
- RUN_NAME=train_dememwm_curric_event_trigger_no_route_anchorclean_a2d4r2_ntok8_8h200_bs16_global128_150k
31
- OUTPUT_DIR=/proj/cvl/users/x_fahkh2/DeMemWM/results/${RUN_NAME}
32
- CURRICULUM='{enabled:true,stages:[{name:no_updown,until_step:30000,dataset:{wo_updown:true}},{name:with_updown,until_step:150000,dataset:{wo_updown:false}}]}'
33
-
34
- srun python -m main \
35
- +name=${RUN_NAME} \
36
- +output_dir=$OUTPUT_DIR/ \
37
- auto_resume=true \
38
- wandb.mode=offline \
39
- "experiment.tasks=[training]" \
40
- algorithm=dememwm_base \
41
- +customized_load=true \
42
- +seperate_load=true \
43
- +diffusion_model_path=/proj/cvl/users/x_fahkh2/WorldMem_Repro/checkpoints/oasis500m.safetensors \
44
- +vae_path=/proj/cvl/users/x_fahkh2/WorldMem_Repro/checkpoints/vit-l-20.safetensors \
45
- dataset=video_minecraft_dememwm_latent \
46
- dataset.save_dir=/proj/cvl/users/x_fahkh2/WorldMem_Repro/datasets/minecraft \
47
- dataset.precomputed_feature_dir=/proj/cvl/users/x_fahkh2/WorldMem_Repro/datasets/minecraft/vae_features \
48
- dataset.n_frames=8 \
49
- dataset.n_frames_valid=1100 \
50
- dataset.context_length=100 \
51
- dataset.single_eval_clip=true \
52
- dataset.memory_selection.enabled=true \
53
- dataset.memory_selection.causal=true \
54
- dataset.memory_selection.max_anchor_frames=2 \
55
- dataset.memory_selection.max_dynamic_frames=4 \
56
- dataset.memory_selection.max_revisit_frames=2 \
57
- dataset.memory_selection.pose_similarity_threshold=0.6 \
58
- dataset.memory_selection.training_use_plucker=true \
59
- dataset.memory_selection.training_plucker_weight=1.0 \
60
- dataset.memory_selection.fov_overlap_threshold=0.6 \
61
- dataset.memory_selection.min_total_selected_coverage=0.1 \
62
- dataset.memory_selection.local_context_exclusion_frames=8 \
63
- dataset.memory_selection.anchor_diverse_selection=true \
64
- +dataset.memory_selection.pose_preselect_topk=64 \
65
- +dataset.memory_selection.candidate_chunk_size=64 \
66
- dataset.memory_selection.dynamic.selection_policy=event_triggered \
67
- algorithm.n_tokens=8 \
68
- algorithm.context_frames=600 \
69
- algorithm.metric_report_segment=100 \
70
- algorithm.chunk_size=1 \
71
- algorithm.warmup_steps=1000 \
72
- algorithm.trainability.train_full_dit=true \
73
- algorithm.trainability.full_dit_start_step=10000 \
74
- algorithm.trainability.lr.memory_modules=8.0e-5 \
75
- algorithm.trainability.lr.base_dit=2.0e-5 \
76
- algorithm.log_video=true \
77
- algorithm.save_local=true \
78
- algorithm.diffusion.sampling_timesteps=20 \
79
- algorithm.noise_route.anchor=all \
80
- algorithm.noise_route.dynamic=all \
81
- algorithm.noise_route.revisit=all \
82
- algorithm.memory_noise.enabled=true \
83
- algorithm.memory_noise.mode=random_cleaner_fraction \
84
- algorithm.memory_noise.anchor_max_fraction=0.0 \
85
- algorithm.memory_noise.dynamic_max_fraction=0.25 \
86
- algorithm.memory_noise.revisit_max_fraction=0.25 \
87
- "experiment.training.curriculum=${CURRICULUM}" \
88
- experiment.training.batch_size=16 \
89
- experiment.training.optim.accumulate_grad_batches=1 \
90
- experiment.validation.batch_size=1 \
91
- experiment.validation.limit_batch=1 \
92
- experiment.training.checkpointing.every_n_train_steps=2000 \
93
- experiment.training.checkpointing.save_last_k=10 \
94
- experiment.validation.val_every_n_step=2000 \
95
- experiment.training.max_steps=150000
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
train_dememwm_curric_event_trigger_anchorclean_causal_nodynamic_8h200_berzelius.sh → train_dememwm_curric_multiview_8h200_berzelius.sh RENAMED
@@ -1,12 +1,12 @@
1
  #!/usr/bin/env bash
2
- #SBATCH --job-name=dememwm-curric-event-anchorclean-causal-nodynamic-8h200
3
  #SBATCH --nodes=1
4
  #SBATCH --ntasks-per-node=8
5
  #SBATCH --cpus-per-task=8
6
  #SBATCH --time=72:00:00
7
- #SBATCH --output=slurm_logs/dememwm-curric-event-anchorclean-causal-nodynamic-8h200-%j.out
8
- #SBATCH --error=slurm_logs/dememwm-curric-event-anchorclean-causal-nodynamic-8h200-%j.out
9
- #SBATCH --account=berzelius-2025-436
10
  #SBATCH --gres=gpu:8
11
  #SBATCH --chdir=/proj/cvl/users/x_fahkh2/DeMemWM
12
 
@@ -27,9 +27,9 @@ export HYDRA_FULL_ERROR=1
27
 
28
  git checkout main
29
 
30
- RUN_NAME=train_dememwm_curric_event_trigger_anchorclean_causal_a2d0r2_route_ntok8_8h200_bs16_global128_120k
31
  OUTPUT_DIR=/proj/cvl/users/x_fahkh2/DeMemWM/results/${RUN_NAME}
32
- CURRICULUM='{enabled:true,stages:[{name:no_updown,until_step:30000,dataset:{wo_updown:true}},{name:with_updown,until_step:120000,dataset:{wo_updown:false}}]}'
33
 
34
  srun python -m main \
35
  +name=${RUN_NAME} \
@@ -52,41 +52,34 @@ srun python -m main \
52
  dataset.memory_selection.enabled=true \
53
  dataset.memory_selection.causal=true \
54
  dataset.memory_selection.max_anchor_frames=2 \
55
- dataset.memory_selection.max_dynamic_frames=0 \
56
  dataset.memory_selection.max_revisit_frames=2 \
57
- dataset.memory_selection.pose_similarity_threshold=0.6 \
58
- dataset.memory_selection.training_use_plucker=true \
59
- dataset.memory_selection.training_plucker_weight=1.0 \
60
- dataset.memory_selection.fov_overlap_threshold=0.6 \
61
- dataset.memory_selection.min_total_selected_coverage=0.1 \
62
- dataset.memory_selection.local_context_exclusion_frames=8 \
63
- dataset.memory_selection.anchor_diverse_selection=true \
64
- +dataset.memory_selection.pose_preselect_topk=64 \
65
- +dataset.memory_selection.candidate_chunk_size=64 \
66
- dataset.memory_selection.dynamic.selection_policy=event_triggered \
67
  algorithm.n_tokens=8 \
68
  algorithm.context_frames=600 \
69
  algorithm.metric_report_segment=100 \
 
 
70
  algorithm.chunk_size=1 \
71
- algorithm.warmup_steps=1000 \
72
  algorithm.trainability.train_full_dit=true \
73
  algorithm.trainability.full_dit_start_step=10000 \
74
  algorithm.trainability.lr.memory_modules=8.0e-5 \
75
  algorithm.trainability.lr.base_dit=2.0e-5 \
76
  algorithm.log_video=true \
77
- algorithm.save_local=true \
78
  algorithm.diffusion.sampling_timesteps=20 \
79
  algorithm.noise_route.anchor=high \
80
  algorithm.noise_route.dynamic=low \
81
  algorithm.noise_route.revisit=all \
82
  algorithm.memory_noise.enabled=true \
83
  algorithm.memory_noise.mode=random_cleaner_fraction \
84
- algorithm.memory_noise.anchor_max_fraction=0.0 \
85
- algorithm.memory_noise.dynamic_max_fraction=0.0 \
86
- algorithm.memory_noise.revisit_max_fraction=0.25 \
87
  "experiment.training.curriculum=${CURRICULUM}" \
88
  experiment.training.batch_size=16 \
89
- experiment.training.optim.accumulate_grad_batches=1 \
90
  experiment.validation.batch_size=1 \
91
  experiment.validation.limit_batch=1 \
92
  experiment.training.checkpointing.every_n_train_steps=2000 \
 
1
  #!/usr/bin/env bash
2
+ #SBATCH --job-name=dememwm-curric-multiview-anchorclean-causal-8h200
3
  #SBATCH --nodes=1
4
  #SBATCH --ntasks-per-node=8
5
  #SBATCH --cpus-per-task=8
6
  #SBATCH --time=72:00:00
7
+ #SBATCH --output=slurm_logs/dememwm-curric-multiview-anchorclean-causal-8h200-%j.out
8
+ #SBATCH --error=slurm_logs/dememwm-curric-multiview-anchorclean-causal-8h200-%j.out
9
+ #SBATCH --account=berzelius-2026-196
10
  #SBATCH --gres=gpu:8
11
  #SBATCH --chdir=/proj/cvl/users/x_fahkh2/DeMemWM
12
 
 
27
 
28
  git checkout main
29
 
30
+ RUN_NAME=train_dememwm_curric_multiview_anchorclean_causal_a2d4r2_route_ntok8_8h200_bs16_global128_150k
31
  OUTPUT_DIR=/proj/cvl/users/x_fahkh2/DeMemWM/results/${RUN_NAME}
32
+ CURRICULUM='{enabled:true,stages:[{name:no_updown,until_step:40000,dataset:{wo_updown:true}},{name:with_updown,until_step:120000,dataset:{wo_updown:false}}]}'
33
 
34
  srun python -m main \
35
  +name=${RUN_NAME} \
 
52
  dataset.memory_selection.enabled=true \
53
  dataset.memory_selection.causal=true \
54
  dataset.memory_selection.max_anchor_frames=2 \
55
+ dataset.memory_selection.max_dynamic_frames=4 \
56
  dataset.memory_selection.max_revisit_frames=2 \
57
+ dataset.memory_selection.dynamic.selection_policy=multiview \
58
+ dataset.memory_selection.dynamic.multiview_selector=fov_greedy \
 
 
 
 
 
 
 
 
59
  algorithm.n_tokens=8 \
60
  algorithm.context_frames=600 \
61
  algorithm.metric_report_segment=100 \
62
+ algorithm.memory_attention_key_only_geometry=true \
63
+ algorithm.add_timestamp_embedding=false \
64
  algorithm.chunk_size=1 \
65
+ algorithm.warmup_steps=500 \
66
  algorithm.trainability.train_full_dit=true \
67
  algorithm.trainability.full_dit_start_step=10000 \
68
  algorithm.trainability.lr.memory_modules=8.0e-5 \
69
  algorithm.trainability.lr.base_dit=2.0e-5 \
70
  algorithm.log_video=true \
71
+ algorithm.save_local=false \
72
  algorithm.diffusion.sampling_timesteps=20 \
73
  algorithm.noise_route.anchor=high \
74
  algorithm.noise_route.dynamic=low \
75
  algorithm.noise_route.revisit=all \
76
  algorithm.memory_noise.enabled=true \
77
  algorithm.memory_noise.mode=random_cleaner_fraction \
78
+ algorithm.memory_noise.anchor_max_fraction=0.25 \
79
+ algorithm.memory_noise.dynamic_max_fraction=0.50 \
80
+ algorithm.memory_noise.revisit_max_fraction=0.50 \
81
  "experiment.training.curriculum=${CURRICULUM}" \
82
  experiment.training.batch_size=16 \
 
83
  experiment.validation.batch_size=1 \
84
  experiment.validation.limit_batch=1 \
85
  experiment.training.checkpointing.every_n_train_steps=2000 \