File size: 2,038 Bytes
eb725f8
1f3e7a2
eb725f8
 
 
 
 
 
1f3e7a2
eb725f8
 
 
 
 
1f3e7a2
eb725f8
 
 
 
1f3e7a2
eb725f8
 
 
 
1f3e7a2
eb725f8
1f3e7a2
eb725f8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#!/bin/bash
#SBATCH --account=<your-slurm-account>
#SBATCH --partition=l40s
#SBATCH --nodes=1
#SBATCH --ntasks=8
#SBATCH --gres=gpu:l40s:1
#SBATCH --time=04:00:00
#SBATCH --job-name=ddpm_hi_lh6_eval
#SBATCH --mail-user=<your-email>   # replace before submitting
#SBATCH --output=slurm-eval-%j.out
#SBATCH --error=slurm-eval-%j.err

# Evaluate conditional DDPM (6 CAMELS LH parameters).
# Submit:
#   sbatch <DDPM_ROOT>/Models/6param_ddpm_hi_lh6/scripts/shell/evaluate_conditional_lh6.sh
#
# Optional overrides (example):
#   sbatch --export=CHECKPOINT=/path/to/best_model.pt,OUTPUT_DIR=/path/to/eval_out evaluate_conditional_lh6.sh

REPO="<DDPM_ROOT>/Models/6param_ddpm_hi_lh6"
cd "${REPO}" || exit 1

module load python/miniconda3-py3.12-usr

DATA_DIR="${DATA_DIR:-<DDPM_ROOT>/data/LH_data/params_6}"
# Default: trained run kept under april_26 (large artifacts not duplicated here).
CHECKPOINT="${CHECKPOINT:-<DDPM_ROOT>/april_26/ddpm_hi_lh6/outputs_conditional_6param_20260413_132226/checkpoints/best_model.pt}"
OUTPUT_DIR="${OUTPUT_DIR:-${REPO}/evaluation_outputs_6param}"
TRAINING_ARGS="${TRAINING_ARGS:-}"

echo "==============================================="
echo "Job ID: ${SLURM_JOB_ID:-local}"
echo "Job Name: ${SLURM_JOB_NAME:-evaluate_conditional_lh6}"
echo "Node: ${SLURM_NODELIST:-$(hostname)}"
echo "GPU: ${CUDA_VISIBLE_DEVICES:-n/a}"
echo "Starting Time: $(date)"
echo "CHECKPOINT: ${CHECKPOINT}"
echo "DATA_DIR: ${DATA_DIR}"
echo "OUTPUT_DIR: ${OUTPUT_DIR}"
echo "==============================================="

EVAL_ARGS=(
  python evaluate_conditional.py
  --checkpoint "${CHECKPOINT}"
  --data_dir "${DATA_DIR}"
  --output_dir "${OUTPUT_DIR}"
  --split test
  --num_samples 8
  --ddim_steps 50
)

if [[ -n "${TRAINING_ARGS}" ]]; then
  EVAL_ARGS+=(--training_args "${TRAINING_ARGS}")
fi

"${EVAL_ARGS[@]}"

echo "==============================================="
echo "Evaluation completed at: $(date)"
echo "Plots and evaluation_data.npz under: ${OUTPUT_DIR}"
echo "==============================================="