| # Action Prediction via Verb-Category Classification (20 classes) | |
| # Transformer classifier + data augmentation + label smoothing + class weights | |
| # Total: 9 jobs | |
| PYTHON=python | |
| BASEDIR=${PULSE_ROOT} | |
| TRAIN_SCRIPT=${BASEDIR}/experiments/tasks/train_pred_cls.py | |
| OUTDIR=${BASEDIR}/results/pred_cls | |
| LOGDIR=${OUTDIR}/slurm_logs | |
| mkdir -p $LOGDIR | |
| COMMON="--epochs 80 --batch_size 32 --lr 1e-3 --weight_decay 1e-4 --hidden_dim 64 --downsample 5 --patience 20 --seed 42 --augment --noise_std 0.1 --time_mask_ratio 0.1 --label_smoothing 0.1 --output_dir $OUTDIR --window_sec 15.0" | |
| MODS=("imu" "emg" "mocap" "emg,imu" "mocap,imu" "mocap,emg,imu" "mocap,emg,eyetrack" "mocap,emg,eyetrack,imu" "mocap,emg,eyetrack,imu,pressure") | |
| for mods in "${MODS[@]}"; do | |
| mod_tag=$(echo $mods | tr ',' '-') | |
| sbatch \ | |
| -J "pcls_${mod_tag}" \ | |
| -p gpuA800 \ | |
| --gres=gpu:1 \ | |
| -N 1 -n 1 \ | |
| --cpus-per-task=4 \ | |
| --mem=32G \ | |
| -t 2:00:00 \ | |
| -o "${LOGDIR}/${mod_tag}_%j.out" \ | |
| -e "${LOGDIR}/${mod_tag}_%j.err" \ | |
| --export=ALL \ | |
| --wrap="export PYTHONUNBUFFERED=1; cd ${BASEDIR}; $PYTHON $TRAIN_SCRIPT --modalities $mods $COMMON" | |
| echo "Submitted: $mods" | |
| done | |
| echo "" | |
| echo "Total: 9 jobs" | |
| echo "Classes: 20 verb categories" | |
| echo "Results: $OUTDIR" | |