#!/bin/bash #SBATCH --job-name=dovla_enhanced_train #SBATCH --nodes=1 #SBATCH --ntasks=1 #SBATCH --cpus-per-task=8 #SBATCH --gres=gpu:1 #SBATCH --mem=64000M #SBATCH --time=48:00:00 #SBATCH --output=logs/phase_a1_enhanced_single_%A_%a.out #SBATCH --error=logs/phase_a1_enhanced_single_%A_%a.err #SBATCH --array=0-2 set -euo pipefail # Phase A1-Revised: Enhanced Training on Existing 3.5K Data # Target: 45%+ with better training, no new data needed PROJECT_DIR="${PROJECT_DIR:-$PWD}" cd "$PROJECT_DIR" source .venv/bin/activate DATASET="/scratch/$USER/dovla/experiments/maniskill_presuccess_six_task_collection" OUT_DIR="/scratch/$USER/dovla/experiments/phase_a1_revised_enhanced" SEED=$SLURM_ARRAY_TASK_ID mkdir -p "$OUT_DIR/seed_$SEED" logs echo "=" "=" "=" "=" "=" "=" "=" "=" "=" "=" "=" "=" "=" "=" "=" "=" "=" "=" echo "Phase A1-Revised: Enhanced Training (Existing Data)" echo "=" "=" "=" "=" "=" "=" "=" "=" "=" "=" "=" "=" "=" "=" "=" "=" "=" "=" echo "" echo "Strategy: Better training, not more data" echo "Seed: $SEED" echo "Dataset: 3,500 groups (existing)" echo "Model: h=256 (best from Phase A4)" echo "Training: 200 epochs with cosine schedule" echo "" echo "Target: 45%+ policy success" echo "" python scripts/train_dovla.py \ --dataset "$DATASET" \ --out "$OUT_DIR/seed_$SEED" \ --objective lattice_field \ --hidden-dim 256 \ --action-horizon 4 \ --epochs 200 \ --batch-groups 16 \ --records-per-group 8 \ --lr 0.0003 \ --weight-decay 0.01 \ --device auto \ --seed $SEED \ --observation-mode state \ --loss-weight bc=1.0 \ --loss-weight field_effect=1.5 \ --loss-weight field_potential=1.0 \ --loss-weight field_preference=0.8 \ --loss-weight field_anchor=0.2 echo "" echo "✅ Phase A1-Revised enhanced training complete (seed $SEED)" echo "" echo "Next: Evaluate and check if 45%+ achieved"