Skip to content

Commit deea1e3

Browse files
authored
[BUG FIX] Fix the issue that library striping function failed (#5747)
1 parent 55ec3f4 commit deea1e3

File tree

2 files changed

+84
-1
lines changed

2 files changed

+84
-1
lines changed

lite/tools/build_android_by_models.sh

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
#!/bin/bash
2+
set -e
3+
set -x
4+
5+
## Global variables
6+
workspace=$PWD/$(dirname $0)
7+
readonly workspace=${workspace%%lite/tools*}
8+
WITH_LOG=OFF
9+
WITH_CV=ON
10+
WITH_EXCEPTION=ON
11+
TOOL_CHAIN=clang
12+
13+
## step 1: compile opt tool
14+
cd $workspace
15+
if [ ! -f build.opt/lite/api/opt ]; then
16+
./lite/tools/build.sh build_optimize_tool
17+
fi
18+
cd build.opt/lite/api
19+
rm -rf models && cp -rf $1 ./models
20+
21+
### models names
22+
models_names=$(ls models)
23+
## step 2. convert models
24+
rm -rf models_opt && mkdir models_opt
25+
for name in $models_names
26+
do
27+
if [[ $(ls models/$name | wc -l) -gt 2 ]]
28+
then
29+
if [[ -f models/$name/__model__ ]]
30+
then
31+
./opt --model_dir=./models/$name --valid_targets=arm --optimize_out=./models_opt/$name --record_tailoring_info=true
32+
else
33+
echo "Error: unsupported model format /models/$name"
34+
exit 1
35+
fi
36+
else
37+
if [[ -f models/$name/model ]] && [[ -f models/$name/params ]]
38+
then
39+
./opt --model_file=./models/$name/model --param_file=./models/$name/params --valid_targets=arm --optimize_out=./models_opt/$name --record_tailoring_info=true
40+
else
41+
echo "Error: unsupported model format /models/$name"
42+
exit 1
43+
fi
44+
fi
45+
done
46+
47+
48+
# step 3. record model infos
49+
rm -rf model_info && mkdir model_info
50+
rm -rf optimized_model && mkdir optimized_model
51+
content=$(ls ./models_opt | grep -v .nb)
52+
53+
for dir_name in $content
54+
do
55+
cat ./models_opt/$dir_name/.tailored_kernels_list >> ./model_info/tailored_kernels_list
56+
cat ./models_opt/$dir_name/.tailored_kernels_source_list >> ./model_info/tailored_kernels_source_list
57+
cat ./models_opt/$dir_name/.tailored_ops_list >> ./model_info/tailored_ops_list
58+
cat ./models_opt/$dir_name/.tailored_ops_source_list >> ./model_info/tailored_ops_source_list
59+
cp -f ./models_opt/$dir_name.nb optimized_model
60+
done
61+
62+
sort -n ./model_info/tailored_kernels_list | uniq > ./model_info/.tailored_kernels_list
63+
sort -n ./model_info/tailored_kernels_source_list | uniq > ./model_info/.tailored_kernels_source_list
64+
sort -n ./model_info/tailored_ops_list | uniq > ./model_info/.tailored_ops_list
65+
sort -n ./model_info/tailored_ops_source_list | uniq > ./model_info/.tailored_ops_source_list
66+
67+
rm -rf $(ls ./models_opt | grep -v .nb)
68+
69+
# step 4. compiling iOS lib
70+
cd $workspace
71+
./lite/tools/build_android.sh --with_strip=ON --opt_model_dir=$workspace/build.opt/lite/api/model_info --with_log=$WITH_LOG --with_cv=$WITH_CV --toolchain=$TOOL_CHAIN --with_exception=$WITH_EXCEPTION
72+
./lite/tools/build_android.sh --with_strip=ON --opt_model_dir=$workspace/build.opt/lite/api/model_info --with_log=$WITH_LOG --arch=armv7 --with_cv=$WITH_CV --toolchain=$TOOL_CHAIN --with_exception=$WITH_EXCEPTION
73+
74+
# step 5. pack compiling results and optimized models
75+
result_name=android_lib
76+
rm -rf $result_name && mkdir $result_name
77+
cp -rf build.lite.android.armv7.$TOOL_CHAIN/inference_lite_lib.android.armv7 $result_name/armv7.$TOOL_CHAIN
78+
cp -rf build.lite.android.armv8.$TOOL_CHAIN/inference_lite_lib.android.armv8 $result_name/armv8.$TOOL_CHAIN
79+
cp build.opt/lite/api/opt $result_name/
80+
mv build.opt/lite/api/optimized_model $result_name
81+
82+
# step6. compress the result into tar file
83+
tar zcf $result_name.tar.gz $result_name

lite/tools/cmake_tools/parse_kernel_registry.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@
4545
kernel_parser.parse(with_extra)
4646

4747
for k in kernel_parser.kernels:
48-
kernel = "%s, %s, %s, %s, %s" % (
48+
kernel = "%s,%s,%s,%s,%s" % (
4949
k.op_type,
5050
k.target,
5151
k.precision,

0 commit comments

Comments
 (0)