File size: 1,360 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 | #!/bin/bash
# Sensor-to-text with LoRA-tuned Qwen2.5-0.5B
# LoRA on q_proj/v_proj + instruction prefix + max 20 tokens
# Total: 9 jobs
PYTHON=python
BASEDIR=${PULSE_ROOT}
TRAIN_SCRIPT=${BASEDIR}/experiments/tasks/train_pred.py
OUTDIR=${BASEDIR}/results/pred_llm2
LOGDIR=${OUTDIR}/slurm_logs
mkdir -p $LOGDIR
LLM="${BASEDIR}/models/qwen2.5-0.5b"
COMMON="--epochs 50 --batch_size 8 --lr 5e-4 --weight_decay 1e-4 --hidden_dim 64 --n_sensor_tokens 8 --downsample 5 --patience 15 --seed 42 --lora_r 8 --lora_alpha 16 --output_dir $OUTDIR --llm_name $LLM --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 "pllm2_${mod_tag}" \
-p gpuA800 \
--gres=gpu:1 \
-N 1 -n 1 \
--cpus-per-task=8 \
--mem=64G \
-t 4:00:00 \
-o "${LOGDIR}/${mod_tag}_%j.out" \
-e "${LOGDIR}/${mod_tag}_%j.err" \
--export=ALL \
--wrap="export PYTHONUNBUFFERED=1; export HF_HUB_OFFLINE=1; export TRANSFORMERS_OFFLINE=1; cd ${BASEDIR}; $PYTHON $TRAIN_SCRIPT --modalities $mods $COMMON"
echo "Submitted: $mods"
done
echo ""
echo "Total: 9 jobs"
echo "LLM: $LLM (LoRA r=8 alpha=16)"
echo "Results: $OUTDIR"
|