PULSE-code / experiments /slurm /run_exp2_combos.sh
velvet-pine-22's picture
Upload folder using huggingface_hub
b4b2877 verified
#!/bin/bash
# Exp2 Action Segmentation: run all modality combos from Exp1
# Already done: mocap, emg, mocap+emg+eyetrack, mocap+emg+eyetrack+imu, all 5
# Missing: imu, pressure, eyetrack, emg+imu, mocap+imu, mocap+emg+imu,
# mocap+emg+eyetrack+pressure, mocap+emg
# = 8 combos x 3 models = 24 jobs
PYTHON=python
SCRIPT=${PULSE_ROOT}/experiments/train_exp2.py
OUTDIR=${PULSE_ROOT}/results/exp2
LOGDIR=${OUTDIR}/slurm_logs
mkdir -p $LOGDIR
COMMON="--epochs 80 --batch_size 16 --lr 5e-4 --weight_decay 1e-4 --hidden_dim 64 --downsample 2 --patience 15 --seed 42 --output_dir $OUTDIR"
MODELS=(tcn mstcn lstm)
MISSING_MODS=("imu" "pressure" "eyetrack" "emg,imu" "mocap,imu" "mocap,emg,imu" "mocap,emg,eyetrack,pressure" "mocap,emg")
COUNT=0
for mods in "${MISSING_MODS[@]}"; do
for model in "${MODELS[@]}"; do
mod_tag=$(echo $mods | tr ',' '-')
job_name="e2_${model}_${mod_tag}"
sbatch \
-J "$job_name" \
-p gpuA800 \
--gres=gpu:1 \
-N 1 -n 1 \
--cpus-per-task=8 \
--mem=32G \
-t 2:00:00 \
-o "${LOGDIR}/${job_name}_%j.out" \
-e "${LOGDIR}/${job_name}_%j.err" \
--export=ALL \
--wrap="export PYTHONUNBUFFERED=1; cd ${PULSE_ROOT}; $PYTHON $SCRIPT --model $model --modalities $mods $COMMON"
echo "Submitted: $job_name"
COUNT=$((COUNT + 1))
done
done
echo ""
echo "Total: $COUNT jobs submitted"
echo "Results: $OUTDIR"