File size: 1,757 Bytes
5952424
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
#!/bin/bash
#SBATCH -A YOUR_ACCOUNT
#SBATCH -p gpu
#SBATCH --nodes 1
#SBATCH --gpus-per-node 1
#SBATCH --ntasks-per-node 1
#SBATCH -c 16
#SBATCH -t 01:00:00
#SBATCH --job-name=insc-buildfold
#SBATCH -o logs/buildfold-%j.out
#SBATCH -e logs/buildfold-%j.out
# SLURM copies the submitted script into a per-job spool dir before running it on this
# cluster, so locating the repo via ${BASH_SOURCE[0]} resolves to that spool path, not
# the real one. $SLURM_SUBMIT_DIR is set by sbatch to the directory it was invoked from,
# immune to that copy (see scripts/slurm/README.md point 6).
STOICHEIA_ROOT="${SLURM_SUBMIT_DIR:-$PWD}"
export STOICHEIA_ROOT
# Builds each fold's OWN correctly-rotated shard pair by setting INSC_TEST_DIGIT/
# VAL_DIGIT before the build, not just before eval. This matters: a single shard pair
# built under the default 3/4 split must NOT be reused by the other fold configs --
# every fold except t3v4/t4v5 would then fine-tune directly on its own held-out test
# digit's real data.
# Usage: sbatch scripts/slurm/insc_build_shards_fold.sbatch <test_digit> <val_digit>
set -euo pipefail
TEST_DIGIT="${1:?usage: sbatch scripts/slurm/insc_build_shards_fold.sbatch <test_digit> <val_digit>}"
VAL_DIGIT="${2:?val_digit required}"
INS_ROOT=$STOICHEIA_ROOT

source "$INS_ROOT/env.sh"

echo "test_digit=$TEST_DIGIT val_digit=$VAL_DIGIT $(date)"

srun apptainer exec --nv $APPTAINER_BINDS $SIF bash -lc "
    set -e
    export PYTHONPATH=$STOICHEIA_ROOT
    export INSC_TEST_DIGIT=$TEST_DIGIT INSC_VAL_DIGIT=$VAL_DIGIT
    cd $INS_ROOT/insc/data
    python build_shards.py     --out \$INS_DATA/shards/iphi_punct_fold${TEST_DIGIT}
    python build_pap_shards.py --out \$INS_DATA/shards/pap_punct_fold${TEST_DIGIT}
  "
echo BUILD_SHARDS_FOLD_DONE