summaryrefslogtreecommitdiff
path: root/experiments/baseline_sweep.sh
diff options
context:
space:
mode:
Diffstat (limited to 'experiments/baseline_sweep.sh')
-rwxr-xr-xexperiments/baseline_sweep.sh37
1 files changed, 37 insertions, 0 deletions
diff --git a/experiments/baseline_sweep.sh b/experiments/baseline_sweep.sh
new file mode 100755
index 0000000..bd3ff7b
--- /dev/null
+++ b/experiments/baseline_sweep.sh
@@ -0,0 +1,37 @@
+#!/usr/bin/env bash
+# Run canonical non-backprop baselines. Method-specific knobs can be appended.
+# Usage: baseline_sweep.sh <gpu> "<methods>" "<seeds>" <dataset> <depth> <width> <epochs> <prefix> [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