File size: 1,575 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 41 42 43 | #!/bin/bash
# Action Recognition Round 4: Fix epoch-1 overfit with lower LR + warmup
# Test top 3 modality combos from recog3a with LR sweep
# Total: 9 jobs
PYTHON=python
BASEDIR=${PULSE_ROOT}
TRAIN_SCRIPT=${BASEDIR}/experiments/tasks/train_pred_cls.py
OUTDIR=${BASEDIR}/results/recog4
LOGDIR=${OUTDIR}/slurm_logs
mkdir -p $LOGDIR
# Best settings from recog3a: ds=2, window=4s, coarse, prev_action
BASE="--mode recognition --coarse --use_prev_action --epochs 80 --batch_size 32 --weight_decay 1e-4 --hidden_dim 128 --dropout 0.2 --downsample 2 --patience 20 --seed 42 --augment --noise_std 0.1 --time_mask_ratio 0.1 --label_smoothing 0.1 --window_sec 4.0 --output_dir $OUTDIR"
# Top 3 modality combos
TOP_MODS=("mocap,emg,eyetrack" "mocap,imu" "mocap,emg,imu")
LRS=("3e-4" "1e-4" "5e-5")
for mods in "${TOP_MODS[@]}"; do
mod_tag=$(echo $mods | tr ',' '-')
for lr in "${LRS[@]}"; do
lr_tag=$(echo $lr | tr '-' 'n')
sbatch \
-J "rec4_${mod_tag}_${lr_tag}" \
-p gpuA800 \
--gres=gpu:1 \
-N 1 -n 1 \
--cpus-per-task=4 \
--mem=32G \
-t 2:00:00 \
-o "${LOGDIR}/${mod_tag}_lr${lr_tag}_%j.out" \
-e "${LOGDIR}/${mod_tag}_lr${lr_tag}_%j.err" \
--export=ALL \
--wrap="export PYTHONUNBUFFERED=1; cd ${BASEDIR}; $PYTHON $TRAIN_SCRIPT --modalities $mods --lr $lr --tag lr${lr_tag} $BASE"
echo "Submitted: $mods lr=$lr"
done
done
echo ""
echo "Total: 9 jobs | Recognition Round 4 | LR sweep"
echo "Results: $OUTDIR"
|