forked from mlfoundations/datacomp
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathslurm_evaluate.sh
53 lines (43 loc) · 1.04 KB
/
slurm_evaluate.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
#!/bin/bash
#SBATCH -p g40n404
#SBATCH --comment "<account-name>"
#SBATCH -N 1
#SBATCH -n 1
#SBATCH -c 8
#SBATCH -G 1
#SBATCH -J "datacomp-eval"
#SBATCH --mem 32G
#SBATCH -e "error-%j.log"
#SBATCH -o "results-%j.log"
#SBATCH --requeue
# Get options
infofolder=
track=0
model="ViT-B-32"
path="openai"
results="eval_results/"
while getopts f:t:m:p:r: arg
do
case "$arg" in
f) infofolder="$OPTARG";;
t) track="$OPTARG";;
m) model="$OPTARG";;
p) path="$OPTARG";;
r) results="$OPTARG";;
esac
done
# If not from training pipeline, generate fake info.pkl
if [ -z $infofolder ]
then
infofolder="/tmp/datanet-eval-metadata-${SLURM_JOB_ID}/"
mkdir -p "$infofolder"
python -c "import pickle; f=open('${infofolder}/info.pkl','wb'); pickle.dump(dict(track=${track},model='${model}',checkpoint='${path}'),f)"
echo "wrote to temporary info.pkl"
else
echo "using training results from ${infofolder}"
fi
# Run evaluation
python evaluate.py \
--train "$infofolder" \
--output "$results"
echo "finished evaluation"