File size: 1,415 Bytes
b4b2877
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#!/bin/bash
# Action Recognition Ensemble: 5 seeds × top 3 modality combos
# Then evaluate ensemble via majority voting
# Total: 15 jobs

PYTHON=python
BASEDIR=${PULSE_ROOT}
TRAIN_SCRIPT=${BASEDIR}/experiments/tasks/train_pred_cls.py
OUTDIR=${BASEDIR}/results/recog_ens
LOGDIR=${OUTDIR}/slurm_logs
mkdir -p $LOGDIR

BASE="--mode recognition --coarse --use_prev_action --epochs 80 --batch_size 32 --lr 1e-3 --weight_decay 1e-4 --hidden_dim 128 --dropout 0.2 --downsample 2 --patience 20 --augment --noise_std 0.1 --time_mask_ratio 0.1 --label_smoothing 0.1 --window_sec 4.0 --output_dir $OUTDIR"

TOP_MODS=("mocap,emg,eyetrack" "mocap,imu" "mocap,emg,imu")
SEEDS=(42 123 456 789 1024)

for mods in "${TOP_MODS[@]}"; do
    mod_tag=$(echo $mods | tr ',' '-')
    for seed in "${SEEDS[@]}"; do
        sbatch \
            -J "ens_${mod_tag}_s${seed}" \
            -p gpuA800 \
            --gres=gpu:1 \
            -N 1 -n 1 \
            --cpus-per-task=4 \
            --mem=32G \
            -t 2:00:00 \
            -o "${LOGDIR}/${mod_tag}_s${seed}_%j.out" \
            -e "${LOGDIR}/${mod_tag}_s${seed}_%j.err" \
            --export=ALL \
            --wrap="export PYTHONUNBUFFERED=1; cd ${BASEDIR}; $PYTHON $TRAIN_SCRIPT --modalities $mods --seed $seed --tag s${seed} $BASE"
        echo "Submitted: $mods seed=$seed"
    done
done

echo ""
echo "Total: 15 jobs | Ensemble seeds"
echo "Results: $OUTDIR"