diff options
Diffstat (limited to 'experiments/baseline_sweep.sh')
| -rwxr-xr-x | experiments/baseline_sweep.sh | 37 |
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 |
