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"