#!/usr/bin/env bash # Run canonical non-backprop baselines. Method-specific knobs can be appended. # Usage: baseline_sweep.sh "" "" [extra args...] set -eu cd "$(dirname "$0")/.." PY=/home/yurenh2/miniconda3/envs/ep_pascal/bin/python3 GPU="${1:?GPU index required}" METHODS="${2:-fa pepita ff ep}" SEEDS="${3:-0}" DATASET="${4:-mnist}" DEPTH="${5:-2}" WIDTH="${6:-500}" EPOCHS="${7:-10}" PREFIX="${8:-canonical}" shift 8 || true export CUDA_VISIBLE_DEVICES="$GPU" export OMP_NUM_THREADS=2 mkdir -p results logs/baselines for seed in $SEEDS; do for method in $METHODS; do tag="${PREFIX}_${DATASET}_${method}_w${WIDTH}_d${DEPTH}_s${seed}" result="results/${tag}.json" log="logs/baselines/${tag}.log" if [[ -f "$result" ]]; then echo "skip $tag (result exists)" continue fi echo ">>> $tag $(date --iso-8601=seconds) gpu=$GPU" "$PY" experiments/baseline_run.py --method "$method" --dataset "$DATASET" \ --depth "$DEPTH" --width "$WIDTH" --epochs "$EPOCHS" --seed "$seed" \ --tag "$tag" --outdir results "$@" > "$log" 2>&1 grep -h DONE "$log" done done