File size: 1,624 Bytes
ffd86c1 | 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 | #!/usr/bin/env bash
set -euo pipefail
repo=/home/sjkim/POLYEDIT
run_root=$repo/project/experiments/local_runs/multiobjective_20260721
ckpt_root=/tmp/polyedit_multiobjective_ckpts_20260721
hf_root=/tmp/polyedit_multiobjective_hf_20260721
wandb_root=/tmp/polyedit_multiobjective_wandb_20260721
polybert=$hf_root/polybert
python_bin=/home/sjkim/anaconda3/envs/main/bin/python
revision=7bf9ed32ac54dea5bc163cf90100728b49341750
cleanup() {
rm -rf "$hf_root" "$wandb_root"
}
trap cleanup EXIT
if [[ -z ${WANDB_API_KEY:-} ]]; then
read -rsp "W&B API key: " WANDB_API_KEY
export WANDB_API_KEY
echo
fi
mkdir -p "$run_root/results" "$run_root/logs" "$ckpt_root" "$hf_root" "$wandb_root"
export PYTHONPATH=$repo
export HF_HOME=$hf_root/cache
export HF_HUB_CACHE=$hf_root/cache/hub
export WANDB_DIR=$wandb_root
export TOKENIZERS_PARALLELISM=false
/home/sjkim/anaconda3/envs/main/bin/hf download HAYDERphd/polyBERT \
--revision "$revision" --local-dir "$polybert"
worker() {
gpu=$1
shift
for seed in "$@"; do
result=$run_root/results/seed_${seed}.json
[[ -s $result ]] && continue
CUDA_VISIBLE_DEVICES=$gpu "$python_bin" scripts/train_polyedit_multiobjective.py \
--seed "$seed" --polybert_path "$polybert" --out "$result" \
--ckpt "$ckpt_root/seed_${seed}" --wandb 2>&1 | tee "$run_root/logs/seed_${seed}.log"
done
}
cd "$repo"
worker 0 1004 1006 1008 &
worker0=$!
worker 1 1005 1007 &
worker1=$!
wait "$worker0" "$worker1"
"$python_bin" scripts/summarize_polyedit_multiobjective.py \
--input "$run_root/results" --output "$run_root/summary.json" \
--markdown "$run_root/summary.md"
|