File size: 1,015 Bytes
7ed86c3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
#!/bin/bash
# Launch the final recipe on all 5 folds (one 4-GPU job each).
# Usage: scripts/tagger_5fold.sh [config] [ckpt]
set -euo pipefail
TAGGER_ROOT=$(cd "$(dirname "$0")/../.." && pwd)
CONFIG=${1:-configs/tagger/tagger_final.json}
CKPT=${2:-}
cd "$TAGGER_ROOT"
source env.sh
for FOLD in 0 1 2 3 4; do
  GEN="configs/tagger/_gen_fold${FOLD}.json"
  python - "$CONFIG" "$FOLD" "$GEN" <<'EOF'
import json, re, sys
cfg = json.load(open(sys.argv[1]))
fold = int(sys.argv[2])
cfg["fold"] = fold
cfg["out_dir"] = re.sub(r"(_fold\d+)?$", f"_fold{fold}", cfg["out_dir"], count=1)
json.dump(cfg, open(sys.argv[3], "w"), indent=2)
print(sys.argv[3], "->", cfg["out_dir"])
EOF
  if [ -n "$CKPT" ]; then
    sbatch scripts/slurm/tagger_tagger.sbatch "$GEN" --ckpt "$CKPT"
  else
    sbatch scripts/slurm/tagger_tagger.sbatch "$GEN"
  fi
done
echo "submitted 5 folds; evaluate each with:"
echo "  python -m tagger.evaluate --run \$STOICHEIA_DATA/runs/<out_dir> --gold \$STOICHEIA_DATA/treebanks/oga_repo/kfold/test.conllu"