-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlm_eval.sh
59 lines (51 loc) · 923 Bytes
/
lm_eval.sh
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
56
57
58
59
FORML=$1
TAG=$2
MODL=$3
if [ -z "$4" ]
then
UPOS=""
else
UPOS="--eval-upos-file $4"
fi
if [ -z "$5" ]
then
BASELINE=""
else
BASELINE="--baseline-enc $5"
fi
if [ -z "$6" ]
then
INPUT_UPOS=""
else
INPUT_UPOS="--train-upos-file $6"
fi
CMD="python3 eval.py $FORML $TAG $MODL $UPOS $BASELINE $INPUT_UPOS"
JOB_NAME="lm-eval-$FORML$TAG$MODL-$5"
CMMND="eval-$FORML$TAG$MODL$5.cmd"
OUTPUT="eval-$FORML$TAG$MODL$5.out"
ERROR="eval-$FORML$TAG$MODL$5.err"
GRES="--gres=gpu:1"
NTASKS="1"
CPUS="8"
TIME="500:00"
MEM="24G"
read -r SBATCH_CMD << EOL
sbatch \
--job-name=$JOB_NAME \
--output=$OUTPUT \
--error=$ERROR \
$GRES \
--ntasks=$NTASKS \
--cpus-per-task=$CPUS \
--time=$TIME \
--mem=$MEM \
--wrap="$CMD"
EOL
echo "$SBATCH_CMD" | tee "$CMMND"
{
eval $SBATCH_CMD &&
echo "Running on" `hostname`
} || {
echo "slurm not found; running in shell instead..."
eval $CMD > $OUTPUT 2> $ERROR
}