summaryrefslogtreecommitdiff
path: root/experiments/traffic_timescale_validation_sweep.sh
blob: 593394a6f5eed3508f1342639038291484856ccc (plain)
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
#!/usr/bin/env bash
# Validation-only development sweep for predictor tracking timescales.
# Usage:
#   traffic_timescale_validation_sweep.sh <gpu> <scale> [eta_Ps] [warmup_steps] [seeds]
set -eu

cd "$(dirname "$0")/.."
GPU="${1:?GPU index required}"
SCALE="${2:?topdown traffic scale required}"
ETA_PS="${3:-0.002 0.01 0.05}"
WARMUPS="${4:-0 200 1000}"
SEEDS="${5:-0}"
PYTHON="${PYTHON:-/home/yurenh2/miniconda3/envs/ep_pascal/bin/python3}"
scale_tag="${SCALE//./p}"

for seed in $SEEDS; do
  for eta_p in $ETA_PS; do
    eta_tag="${eta_p//./p}"
    for warmup in $WARMUPS; do
      tag="traffic_time_dev_v1_mnist_topdown_rho${scale_tag}_ep${eta_tag}_wu${warmup}_d3_s${seed}"
      out="results/${tag}.json"
      if [ -s "$out" ]; then
        echo "[$tag] exists; skipping"
        continue
      fi
      CUDA_VISIBLE_DEVICES="$GPU" "$PYTHON" experiments/run.py \
        --mode sdil --dataset mnist --device cuda \
        --depth 3 --width 256 --residual 1 --act tanh \
        --epochs 15 --batch_size 128 --eta 0.05 --momentum 0.9 \
        --eta_A 0.02 --eta_P "$eta_p" \
        --pert_sigma 0.01 --pert_every 4 --pert_ndirs 16 --pert_mode simultaneous \
        --traffic_mode topdown --nuis_rho "$SCALE" \
        --use_residual 1 --learn_A 1 --learn_P 1 --p_neutral 1 \
        --p_warmup_steps "$warmup" --p_warmup_eta 0.05 \
        --val_examples 5000 --split_seed 2027 --eval_split validation \
        --diagnostics alignment --seed "$seed" --log_every 200 --tag "$tag"
    done
  done
done