PULSE-code / experiments /slurm /run_t1_all.sh
velvet-pine-22's picture
Upload folder using huggingface_hub
b4b2877 verified
#!/bin/bash
# Submit all T1 scene recognition baselines + SyncFuse.
# 8 methods x 3 seeds = 24 jobs, each on 1 A800 GPU.
set -u
PYTHON=python
BASEDIR=${PULSE_ROOT}
OUTDIR=${BASEDIR}/results/t1_extended
LOGDIR=${OUTDIR}/slurm_logs
PRETRAIN_DIR=${BASEDIR}/results/exp1_v2
mkdir -p ${LOGDIR}
COMMON="--epochs 80 --batch_size 8 --lr 1e-3 --hidden_dim 128 \
--downsample 5 --patience 15 --output_dir ${OUTDIR}"
SUBMIT() {
local jname=$1 hrs=$2; shift 2
sbatch -J "${jname}" -p gpuA800 --gres=gpu:1 -N 1 -n 1 \
--cpus-per-task=4 --mem=32G -t "${hrs}:00:00" \
-o "${LOGDIR}/${jname}_%j.out" \
-e "${LOGDIR}/${jname}_%j.err" \
--export=ALL \
--wrap="export PYTHONUNBUFFERED=1; cd ${BASEDIR}; $*"
}
METHODS=(stgcn ctrgcn limu_bert emg_cnn actionsense mult perceiver)
SEEDS=(42 123 456)
echo "=== 7 published baselines x 3 seeds = 21 jobs ==="
for m in "${METHODS[@]}"; do
for s in "${SEEDS[@]}"; do
SUBMIT "t1_${m}_s${s}" 2 \
"$PYTHON experiments/train_baselines_t1.py \
--method ${m} --seed ${s} ${COMMON}"
echo " submitted ${m}_s${s}"
done
done
echo ""
echo "=== SyncFuse full (all 4 components) x 3 seeds = 3 jobs ==="
for s in "${SEEDS[@]}"; do
SUBMIT "t1_syncfuse_s${s}" 3 \
"$PYTHON experiments/train_baselines_t1.py \
--method syncfuse --seed ${s} \
--mod_dropout_p 0.3 --use_xmod_shift --use_learned_late \
--pretrained_dir ${PRETRAIN_DIR} ${COMMON}"
echo " submitted syncfuse_s${s}"
done
echo ""
echo "=== SyncFuse ablations x 1 seed (42) = 4 jobs ==="
# Ablate each component
# - no modality dropout
SUBMIT "t1_syncfuse_abl_noDrop" 3 \
"$PYTHON experiments/train_baselines_t1.py \
--method syncfuse --seed 42 --tag noDrop \
--mod_dropout_p 0.0 --use_xmod_shift --use_learned_late \
--pretrained_dir ${PRETRAIN_DIR} ${COMMON}"
# - no pretrained transfer
SUBMIT "t1_syncfuse_abl_noPre" 3 \
"$PYTHON experiments/train_baselines_t1.py \
--method syncfuse --seed 42 --tag noPre \
--mod_dropout_p 0.3 --use_xmod_shift --use_learned_late ${COMMON}"
# - no cross-modal shift
SUBMIT "t1_syncfuse_abl_noShift" 3 \
"$PYTHON experiments/train_baselines_t1.py \
--method syncfuse --seed 42 --tag noShift \
--mod_dropout_p 0.3 --use_learned_late \
--pretrained_dir ${PRETRAIN_DIR} ${COMMON}"
# - no learnable late fusion
SUBMIT "t1_syncfuse_abl_noLearn" 3 \
"$PYTHON experiments/train_baselines_t1.py \
--method syncfuse --seed 42 --tag noLearn \
--mod_dropout_p 0.3 --use_xmod_shift \
--pretrained_dir ${PRETRAIN_DIR} ${COMMON}"
echo ""
echo "All jobs submitted. squeue -u \$USER"