| #!/bin/bash |
| |
| |
| |
|
|
| set -u |
| PYTHON=python |
| BASEDIR=${PULSE_ROOT} |
| OUTROOT=${BASEDIR}/results/exp_new |
| mkdir -p ${OUTROOT}/slurm_logs |
|
|
| SUBMIT() { |
| |
| local jname=$1; shift |
| local hrs=$1; shift |
| sbatch \ |
| -J "${jname}" \ |
| -p gpuA800 \ |
| --gres=gpu:1 \ |
| -N 1 -n 1 \ |
| --cpus-per-task=4 \ |
| --mem=32G \ |
| -t "${hrs}:00:00" \ |
| -o "${OUTROOT}/slurm_logs/${jname}_%j.out" \ |
| -e "${OUTROOT}/slurm_logs/${jname}_%j.err" \ |
| --export=ALL \ |
| --wrap="export PYTHONUNBUFFERED=1; cd ${BASEDIR}; $*" |
| } |
|
|
| |
| |
| |
| |
| |
| echo "=== Exp A: Missing-modality robustness (5 jobs) ===" |
| for seed in 42 123 456 789 2024; do |
| SUBMIT "expA_missing_seed${seed}" 2 \ |
| "$PYTHON experiments/tasks/train_exp_missing.py \ |
| --model transformer --fusion late \ |
| --modalities mocap,emg,eyetrack,imu,pressure \ |
| --mod_dropout_p 0.3 \ |
| --epochs 100 --batch_size 16 --lr 1e-3 --hidden_dim 128 \ |
| --patience 15 --augment \ |
| --seed ${seed} \ |
| --output_dir ${OUTROOT}/expA_missing \ |
| --tag ''" |
| echo " Submitted: expA_missing_seed${seed}" |
| done |
|
|
| |
| for seed in 42 123 456; do |
| SUBMIT "expA_baseline_seed${seed}" 2 \ |
| "$PYTHON experiments/tasks/train_exp_missing.py \ |
| --model transformer --fusion late \ |
| --modalities mocap,emg,eyetrack,imu,pressure \ |
| --mod_dropout_p 0.0 \ |
| --epochs 100 --batch_size 16 --lr 1e-3 --hidden_dim 128 \ |
| --patience 15 --augment \ |
| --seed ${seed} \ |
| --output_dir ${OUTROOT}/expA_baseline \ |
| --tag ''" |
| echo " Submitted: expA_baseline_seed${seed}" |
| done |
|
|
| |
| |
| |
| |
| echo "" |
| echo "=== Exp B: Grip force regression ===" |
| BACKBONES=("transformer" "lstm") |
| MOD_CONFIGS=( |
| "emg" |
| "mocap" |
| "emg,imu" |
| "mocap,emg,imu,eyetrack" |
| ) |
| for bb in "${BACKBONES[@]}"; do |
| for mods in "${MOD_CONFIGS[@]}"; do |
| for seed in 42 123 456; do |
| mod_tag=$(echo $mods | tr ',' '-') |
| SUBMIT "expB_grip_${bb}_${mod_tag}_s${seed}" 1 \ |
| "$PYTHON experiments/tasks/train_exp_grip.py \ |
| --backbone ${bb} --modalities ${mods} \ |
| --epochs 60 --batch_size 8 --lr 1e-3 \ |
| --hidden_dim 128 --patience 12 \ |
| --seed ${seed} \ |
| --output_dir ${OUTROOT}/expB_grip \ |
| --tag ''" |
| echo " Submitted: expB_grip_${bb}_${mod_tag}_s${seed}" |
| done |
| done |
| done |
|
|
| |
| |
| |
| |
| echo "" |
| echo "=== Exp C: T5 text retrieval ===" |
| for mods in "mocap,emg,eyetrack,imu" "emg,imu" "mocap"; do |
| for seed in 42 123 456; do |
| mod_tag=$(echo $mods | tr ',' '-') |
| SUBMIT "expC_retrieval_${mod_tag}_s${seed}" 1 \ |
| "$PYTHON experiments/tasks/train_exp_retrieval.py \ |
| --modalities ${mods} \ |
| --epochs 60 --batch_size 64 --lr 5e-4 \ |
| --hidden_dim 128 --emb_dim 128 \ |
| --seed ${seed} \ |
| --output_dir ${OUTROOT}/expC_retrieval \ |
| --tag ''" |
| echo " Submitted: expC_retrieval_${mod_tag}_s${seed}" |
| done |
| done |
|
|
| echo "" |
| echo "All jobs submitted. Monitor with: squeue -u \$USER" |
| echo "Results in: ${OUTROOT}/" |
|
|