This repository was archived by the owner on Oct 25, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 211
/
Copy pathrun_benchmark.sh
86 lines (74 loc) · 1.74 KB
/
run_benchmark.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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#!/bin/bash
set -x
function main {
init_params "$@"
run_benchmark
}
# init params
function init_params {
iters=100
batch_size=16
tuned_checkpoint=saved_results
for var in "$@"
do
case $var in
--topology=*)
topology=$(echo $var |cut -f2 -d=)
;;
--dataset_location=*)
dataset_location=$(echo $var |cut -f2 -d=)
;;
--input_model=*)
input_model=$(echo $var |cut -f2 -d=)
;;
--mode=*)
mode=$(echo $var |cut -f2 -d=)
;;
--batch_size=*)
batch_size=$(echo $var |cut -f2 -d=)
;;
--iters=*)
iters=$(echo ${var} |cut -f2 -d=)
;;
--int8=*)
int8=$(echo ${var} |cut -f2 -d=)
;;
--config=*)
tuned_checkpoint=$(echo $var |cut -f2 -d=)
;;
*)
echo "Error: No such parameter: ${var}"
exit 1
;;
esac
done
}
# run_benchmark
function run_benchmark {
extra_cmd=''
MAX_SEQ_LENGTH=128
if [[ ${mode} == "accuracy" ]]; then
mode_cmd=" --accuracy_only"
elif [[ ${mode} == "benchmark" ]]; then
mode_cmd=" --benchmark "
else
echo "Error: No such mode: ${mode}"
exit 1
fi
if [ "${topology}" = "distilbert_base_sst2" ]; then
TASK_NAME='sst2'
model_name_or_path=distilbert-base-uncased-finetuned-sst-2-english
fi
python -u ./run_glue.py \
--model_name_or_path ${model_name_or_path} \
--task_name ${TASK_NAME} \
--target_sparsity_ratio 0.1 \
--do_eval \
--do_train \
--per_device_eval_batch_size ${batch_size} \
--output_dir ${tuned_checkpoint} \
--overwrite_output_dir \
${mode_cmd} \
${extra_cmd}
}
main "$@"