-
Notifications
You must be signed in to change notification settings - Fork 243
/
run_benchmark.sh
124 lines (112 loc) · 3.2 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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
#!/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}" = "bert_base_MRPC" ];then
TASK_NAME='MRPC'
model_name_or_path='bert-base-uncased'
elif [ "${topology}" = "distilbert_base_MRPC" ]; then
TASK_NAME='MRPC'
model_name_or_path=$input_model
elif [ "${topology}" = "albert_base_MRPC" ]; then
MAX_SEQ_LENGTH=512
TASK_NAME='MRPC'
model_name_or_path=$input_model #'albert-base-v1'
elif [ "${topology}" = "funnel_MRPC" ]; then
TASK_NAME='MRPC'
model_name_or_path=$input_model #'funnel-transformer/small'
elif [ "${topology}" = "bart_WNLI" ]; then
TASK_NAME='WNLI'
model_name_or_path=$input_model #'facebook/bart-large'
elif [ "${topology}" = "mbart_WNLI" ]; then
TASK_NAME='WNLI'
model_name_or_path=$input_model #'facebook/mbart-large-cc25'
elif [ "${topology}" = "xlm_roberta_MRPC" ]; then
TASK_NAME='MRPC'
model_name_or_path=$input_model
elif [ "${topology}" = "xlnet_base_MRPC" ]; then
TASK_NAME='MRPC'
model_name_or_path=$input_model
elif [ "${topology}" = "gpt2_MRPC" ]; then
TASK_NAME='MRPC'
model_name_or_path=$input_model
elif [ "${topology}" = "transfo_xl_MRPC" ]; then
TASK_NAME='MRPC'
model_name_or_path=$input_model
elif [ "${topology}" = "ctrl_MRPC" ]; then
TASK_NAME='MRPC'
model_name_or_path=$input_model
elif [ "${topology}" = "xlm_MRPC" ]; then
TASK_NAME='MRPC'
model_name_or_path=$input_model
fi
extra_cmd='--model_name_or_path '${input_model}
if [[ ${int8} == "true" ]]; then
extra_cmd='--model_name_or_path '${tuned_checkpoint}
extra_cmd=$extra_cmd" --int8"
fi
echo $extra_cmd
python -u run_glue.py \
--task_name ${TASK_NAME} \
--do_eval \
--max_seq_length ${MAX_SEQ_LENGTH} \
--per_device_eval_batch_size ${batch_size} \
--no_cuda \
--output_dir ./output_log \
${mode_cmd} \
${extra_cmd}
}
main "$@"