-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmnist-inference-execute-72thread.sh
executable file
·81 lines (73 loc) · 8.37 KB
/
mnist-inference-execute-72thread.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
#/usr/bin/env bash
set -eu
commands=(
##############
# Batch-axis
##############
# MNIST: Square [Level: 5]
"(OMP_NUM_THREADS=72 /usr/bin/time -v ./bin/main -P N16384_L5_50-30 -D mnist -M 3layer_cnn-square-BN --model-params 3layer_cnn-square-BN-99.35_200epoch-1223_1032-params.h5 -A square --fuse-layer --mode batch -N 2)"
# MNIST: ReLU approx. (rg5_deg2, rg7_deg2, rg5_deg5, rg7_deg4) [Level: 5 or 7]
"(OMP_NUM_THREADS=72 /usr/bin/time -v ./bin/main -P N16384_L5_50-30 -D mnist -M 3layer_cnn-relu_rg5_deg2-BN --model-params 3layer_cnn-relu_rg5_deg2-BN-99.36_200epoch-1223_1247-params.h5 -A relu_rg5_deg2 --fuse-layer --opt-act --mode batch -N 2)"
"(OMP_NUM_THREADS=72 /usr/bin/time -v ./bin/main -P N16384_L5_50-30 -D mnist -M 3layer_cnn-relu_rg7_deg2-BN --model-params 3layer_cnn-relu_rg7_deg2-BN-99.49_200epoch-1223_1508-params.h5 -A relu_rg7_deg2 --fuse-layer --opt-act --mode batch -N 2)"
"(OMP_NUM_THREADS=72 /usr/bin/time -v ./bin/main -P N16384_L7_50-30 -D mnist -M 3layer_cnn-relu_rg5_deg4-BN --model-params 3layer_cnn-relu_rg5_deg4-BN-99.39_200epoch-1223_1730-params.h5 -A relu_rg5_deg4 --fuse-layer --opt-act --mode batch -N 2)"
"(OMP_NUM_THREADS=72 /usr/bin/time -v ./bin/main -P N16384_L7_50-30 -D mnist -M 3layer_cnn-relu_rg7_deg4-BN --model-params 3layer_cnn-relu_rg7_deg4-BN-99.43_200epoch-1223_1951-params.h5 -A relu_rg7_deg4 --fuse-layer --opt-act --mode batch -N 2)"
# MNIST: Swish approx. (rg5_deg2, rg7_deg2, rg5_deg5, rg7_deg4) [Level: 5 or 7]
"(OMP_NUM_THREADS=72 /usr/bin/time -v ./bin/main -P N16384_L5_50-30 -D mnist -M 3layer_cnn-swish_rg5_deg2-BN --model-params 3layer_cnn-swish_rg5_deg2-BN-99.48_200epoch-1223_2212-params.h5 -A swish_rg5_deg2 --fuse-layer --opt-act --mode batch -N 2)"
"(OMP_NUM_THREADS=72 /usr/bin/time -v ./bin/main -P N16384_L5_50-30 -D mnist -M 3layer_cnn-swish_rg7_deg2-BN --model-params 3layer_cnn-swish_rg7_deg2-BN-99.42_200epoch-1224_0038-params.h5 -A swish_rg7_deg2 --fuse-layer --opt-act --mode batch -N 2)"
"(OMP_NUM_THREADS=72 /usr/bin/time -v ./bin/main -P N16384_L7_50-30 -D mnist -M 3layer_cnn-swish_rg5_deg4-BN --model-params 3layer_cnn-swish_rg5_deg4-BN-99.48_200epoch-1224_0307-params.h5 -A swish_rg5_deg4 --fuse-layer --opt-act --mode batch -N 2)"
"(OMP_NUM_THREADS=72 /usr/bin/time -v ./bin/main -P N16384_L7_50-30 -D mnist -M 3layer_cnn-swish_rg7_deg4-BN --model-params 3layer_cnn-swish_rg7_deg4-BN-99.52_200epoch-1224_0536-params.h5 -A swish_rg7_deg4 --fuse-layer --opt-act --mode batch -N 2)"
##############
# Batch-axis (Pruned model)
##############
# MNIST: Square [Level: 5]
"(OMP_NUM_THREADS=72 /usr/bin/time -v ./bin/main -P N16384_L5_50-30 -D mnist -M 3layer_cnn-square-BN --model-structure 3layer_cnn-square-BN-round1-98.61-structure.json --model-params 3layer_cnn-square-BN-round1-98.61-params.h5 -A square --fuse-layer --mode batch -N 2)"
"(OMP_NUM_THREADS=72 /usr/bin/time -v ./bin/main -P N16384_L5_50-30 -D mnist -M 3layer_cnn-square-BN --model-structure 3layer_cnn-square-BN-round2-96.68-structure.json --model-params 3layer_cnn-square-BN-round2-96.68-params.h5 -A square --fuse-layer --mode batch -N 2)"
# MNIST: Swish approx. (rg5_deg2, rg7_deg2, rg5_deg5, rg7_deg4) [Level: 5 or 7]
"(OMP_NUM_THREADS=72 /usr/bin/time -v ./bin/main -P N16384_L5_50-30 -D mnist -M 3layer_cnn-swish_rg5_deg2-BN --model-structure 3layer_cnn-swish_rg5_deg2-BN-round1-98.83-structure.json --model-params 3layer_cnn-swish_rg5_deg2-BN-round1-98.83-params.h5 -A swish_rg5_deg2 --fuse-layer --opt-act --mode batch -N 2)"
"(OMP_NUM_THREADS=72 /usr/bin/time -v ./bin/main -P N16384_L5_50-30 -D mnist -M 3layer_cnn-swish_rg5_deg2-BN --model-structure 3layer_cnn-swish_rg5_deg2-BN-round2-95.52-structure.json --model-params 3layer_cnn-swish_rg5_deg2-BN-round2-95.52-params.h5 -A swish_rg5_deg2 --fuse-layer --opt-act --mode batch -N 2)"
"(OMP_NUM_THREADS=72 /usr/bin/time -v ./bin/main -P N16384_L7_50-30 -D mnist -M 3layer_cnn-swish_rg7_deg4-BN --model-structure 3layer_cnn-swish_rg7_deg4-BN-round1-97.77-structure.json --model-params 3layer_cnn-swish_rg7_deg4-BN-round1-97.77-params.h5 -A swish_rg7_deg4 --fuse-layer --opt-act --mode batch -N 2)"
"(OMP_NUM_THREADS=72 /usr/bin/time -v ./bin/main -P N16384_L7_50-30 -D mnist -M 3layer_cnn-swish_rg7_deg4-BN --model-structure 3layer_cnn-swish_rg7_deg4-BN-round2-96.78-structure.json --model-params 3layer_cnn-swish_rg7_deg4-BN-round2-96.78-params.h5 -A swish_rg7_deg4 --fuse-layer --opt-act --mode batch -N 2)"
##############
# Channel-wise
##############
# MNIST: Square [Level: 5]
"(OMP_NUM_THREADS=72 /usr/bin/time -v ./bin/main -P N16384_L5_50-30-60 -D mnist -M 3layer_cnn-square-BN --model-params 3layer_cnn-square-BN-99.35_200epoch-1223_1032-params.h5 -A square --fuse-layer --mode single --images 20)"
# MNIST: Swish approx. (rg5_deg2, rg7_deg4) [Level: 5 or 7]
"(OMP_NUM_THREADS=72 /usr/bin/time -v ./bin/main -P N16384_L5_50-30-60 -D mnist -M 3layer_cnn-swish_rg5_deg2-BN --model-params 3layer_cnn-swish_rg5_deg2-BN-99.48_200epoch-1223_2212-params.h5 -A swish_rg5_deg2 --fuse-layer --opt-act --mode single --images 20)"
"(OMP_NUM_THREADS=72 /usr/bin/time -v ./bin/main -P N16384_L7_50-30-60 -D mnist -M 3layer_cnn-swish_rg7_deg4-BN --model-params 3layer_cnn-swish_rg7_deg4-BN-99.52_200epoch-1224_0536-params.h5 -A swish_rg7_deg4 --fuse-layer --opt-act --mode single --images 20)"
##############
# Channel-wise (Pruned model)
##############
# MNIST: Square [Level: 5]
"(OMP_NUM_THREADS=72 /usr/bin/time -v ./bin/main -P N16384_L5_50-30-60 -D mnist -M 3layer_cnn-square-BN --model-structure 3layer_cnn-square-BN-round1-98.61-structure.json --model-params 3layer_cnn-square-BN-round1-98.61-params.h5 -A square --fuse-layer --mode single --images 20)"
"(OMP_NUM_THREADS=72 /usr/bin/time -v ./bin/main -P N16384_L5_50-30-60 -D mnist -M 3layer_cnn-square-BN --model-structure 3layer_cnn-square-BN-round2-96.68-structure.json --model-params 3layer_cnn-square-BN-round2-96.68-params.h5 -A square --fuse-layer --mode single --images 20)"
# MNIST: Swish approx. (rg5_deg2, rg7_deg2, rg5_deg5, rg7_deg4) [Level: 5 or 7]
"(OMP_NUM_THREADS=72 /usr/bin/time -v ./bin/main -P N16384_L5_50-30-60 -D mnist -M 3layer_cnn-swish_rg5_deg2-BN --model-structure 3layer_cnn-swish_rg5_deg2-BN-round1-98.83-structure.json --model-params 3layer_cnn-swish_rg5_deg2-BN-round1-98.83-params.h5 -A swish_rg5_deg2 --fuse-layer --opt-act --mode single --images 20)"
"(OMP_NUM_THREADS=72 /usr/bin/time -v ./bin/main -P N16384_L5_50-30-60 -D mnist -M 3layer_cnn-swish_rg5_deg2-BN --model-structure 3layer_cnn-swish_rg5_deg2-BN-round2-95.52-structure.json --model-params 3layer_cnn-swish_rg5_deg2-BN-round2-95.52-params.h5 -A swish_rg5_deg2 --fuse-layer --opt-act --mode single --images 20)"
"(OMP_NUM_THREADS=72 /usr/bin/time -v ./bin/main -P N16384_L7_50-30-60 -D mnist -M 3layer_cnn-swish_rg7_deg4-BN --model-structure 3layer_cnn-swish_rg7_deg4-BN-round1-97.77-structure.json --model-params 3layer_cnn-swish_rg7_deg4-BN-round1-97.77-params.h5 -A swish_rg7_deg4 --fuse-layer --opt-act --mode single --images 20)"
"(OMP_NUM_THREADS=72 /usr/bin/time -v ./bin/main -P N16384_L7_50-30-60 -D mnist -M 3layer_cnn-swish_rg7_deg4-BN --model-structure 3layer_cnn-swish_rg7_deg4-BN-round2-96.78-structure.json --model-params 3layer_cnn-swish_rg7_deg4-BN-round2-96.78-params.h5 -A swish_rg7_deg4 --fuse-layer --opt-act --mode single --images 20)"
)
if [ $# -ne 1 ]; then
echo "Please specify log file name"
echo "usage: ./execute.sh ${LOG_FILE_NAME}"
exit 1
fi
log_path="./logs/"
log_file_name=$1
# log_file_path="${log_path}main_log.txt"
log_file_path="${log_path}${log_file_name}"
[[ -d "${log_path}" ]] || mkdir "${log_path}"
[[ -f "${log_file_path}" ]] || touch "${log_file_path}"
for command in "${commands[@]}"
do
echo "====================================================================================================================================================================================" >> "${log_file_path}"
echo "{" >> "${log_file_path}"
/bin/echo -n "[$(date)]" >> "${log_file_path}"
echo ": START \"${command}\"" >> "${log_file_path}"
eval "${command}" &>> "${log_file_path}"
/bin/echo -n "[$(date)]" >> "${log_file_path}"
echo ": FINISH \"${command}\"" >> "${log_file_path}"
echo "}" >> "${log_file_path}"
echo "====================================================================================================================================================================================" >> "${log_file_path}"
echo -e "\n" >> "${log_file_path}"
done