Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
s920243400
PaddleOCR
提交
0f84fc1e
P
PaddleOCR
项目概览
s920243400
/
PaddleOCR
与 Fork 源项目一致
Fork自
PaddlePaddle / PaddleOCR
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
PaddleOCR
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
0f84fc1e
编写于
6月 09, 2021
作者:
L
LDOUBLEV
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix ci error
上级
1203276f
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
65 addition
and
62 deletion
+65
-62
test/infer.sh
test/infer.sh
+59
-56
test/params.txt
test/params.txt
+1
-1
test/test.sh
test/test.sh
+5
-5
未找到文件。
test/infer.sh
浏览文件 @
0f84fc1e
#!/bin/bash
#!/bin/bash
FILENAME
=
$1
dataline
=
$(
cat
${
FILENAME
}
)
dataline
=
$(
cat
${
FILENAME
}
)
# parser params
# parser params
IFS
=
$'
\n
'
IFS
=
$'
\n
'
lines
=(
${
dataline
}
)
lines
=(
${
dataline
}
)
function
func_parser
(){
function
func_parser
(){
strs
=
$1
strs
=
$1
IFS
=
":"
IFS
=
":
"
array
=(
${
strs
}
)
array
=(
${
strs
}
)
tmp
=
${
array
[1]
}
tmp
=
${
array
[1]
}
echo
${
tmp
}
echo
${
tmp
}
...
@@ -17,7 +17,7 @@ train_model_list=$(func_parser "${lines[0]}")
...
@@ -17,7 +17,7 @@ train_model_list=$(func_parser "${lines[0]}")
slim_trainer_list
=
$(
func_parser
"
${
lines
[3]
}
"
)
slim_trainer_list
=
$(
func_parser
"
${
lines
[3]
}
"
)
python
=
$(
func_parser
"
${
lines
[4]
}
"
)
python
=
$(
func_parser
"
${
lines
[4]
}
"
)
# inference params
# inference params
inference
=
$(
func_parser
"
${
lines
[5]
}
"
)
#
inference=$(func_parser "${lines[5]}")
devices
=
$(
func_parser
"
${
lines
[6]
}
"
)
devices
=
$(
func_parser
"
${
lines
[6]
}
"
)
use_mkldnn_list
=
$(
func_parser
"
${
lines
[7]
}
"
)
use_mkldnn_list
=
$(
func_parser
"
${
lines
[7]
}
"
)
cpu_threads_list
=
$(
func_parser
"
${
lines
[8]
}
"
)
cpu_threads_list
=
$(
func_parser
"
${
lines
[8]
}
"
)
...
@@ -40,14 +40,15 @@ function status_check(){
...
@@ -40,14 +40,15 @@ function status_check(){
echo
-e
"
\0
33[33m
$case
failed with command -
${
run_command
}
!
\0
33[0m"
|
tee
-a
${
save_log
}
echo
-e
"
\0
33[33m
$case
failed with command -
${
run_command
}
!
\0
33[0m"
|
tee
-a
${
save_log
}
fi
fi
}
}
IFS
=
'|'
for
train_model
in
${
train_model_list
[*]
}
;
do
for
train_model
in
${
train_model_list
[*]
}
;
do
if
[
${
train_model
}
=
"det"
]
;
then
if
[
${
train_model
}
=
"
ocr_
det"
]
;
then
model_name
=
"det"
model_name
=
"det"
yml_file
=
"configs/det/det_mv3_db.yml"
yml_file
=
"configs/det/det_mv3_db.yml"
wget
-nc
-P
./inference https://paddleocr.bj.bcebos.com/dygraph_v2.0/test/ch_det_data_50.tar
&&
tar
xf ./inference/ch_det_data_50.tar
# wget -nc -P ./inference https://paddleocr.bj.bcebos.com/dygraph_v2.0/test/ch_det_data_50.tar
tar
xf ./inference/ch_det_data_50.tar
img_dir
=
"./inference/ch_det_data_50/"
img_dir
=
"./inference/ch_det_data_50/"
elif
[
${
train_model
}
=
"rec"
]
;
then
elif
[
${
train_model
}
=
"
ocr_
rec"
]
;
then
model_name
=
"rec"
model_name
=
"rec"
yml_file
=
"configs/rec/rec_mv3_none_bilstm_ctc.yml"
yml_file
=
"configs/rec/rec_mv3_none_bilstm_ctc.yml"
wget
-nc
-P
./inference https://paddleocr.bj.bcebos.com/dygraph_v2.0/test/ch_rec_data_200.tar
&&
tar
xf ./inference/ch_rec_data_200.tar
wget
-nc
-P
./inference https://paddleocr.bj.bcebos.com/dygraph_v2.0/test/ch_rec_data_200.tar
&&
tar
xf ./inference/ch_rec_data_200.tar
...
@@ -71,7 +72,7 @@ for train_model in ${train_model_list[*]}; do
...
@@ -71,7 +72,7 @@ for train_model in ${train_model_list[*]}; do
else
else
eval_model_name
=
"ch_ppocr_mobile_v2.0_rec_quant_infer"
eval_model_name
=
"ch_ppocr_mobile_v2.0_rec_quant_infer"
wget
-nc
-P
./inference https://paddleocr.bj.bcebos.com/dygraph_v2.0/slim/ch_ppocr_mobile_v2.0_rec_quant_train.tar
wget
-nc
-P
./inference https://paddleocr.bj.bcebos.com/dygraph_v2.0/slim/ch_ppocr_mobile_v2.0_rec_quant_train.tar
fi
fi
elif
[
${
slim_trainer
}
=
"distill"
]
;
then
elif
[
${
slim_trainer
}
=
"distill"
]
;
then
if
[
${
model_name
}
=
"det"
]
;
then
if
[
${
model_name
}
=
"det"
]
;
then
eval_model_name
=
"ch_ppocr_mobile_v2.0_det_distill_infer"
eval_model_name
=
"ch_ppocr_mobile_v2.0_det_distill_infer"
...
@@ -89,59 +90,61 @@ for train_model in ${train_model_list[*]}; do
...
@@ -89,59 +90,61 @@ for train_model in ${train_model_list[*]}; do
wget
-nc
-P
./inference https://paddleocr.bj.bcebos.com/dygraph_v2.0/slim/ch_ppocr_mobile_v2.0_rec_prune_train.tar
wget
-nc
-P
./inference https://paddleocr.bj.bcebos.com/dygraph_v2.0/slim/ch_ppocr_mobile_v2.0_rec_prune_train.tar
fi
fi
fi
fi
save_log_path
=
"
${
log_path
}
/
${
eval_model_name
}
"
command
=
"
${
python
}
tools/eval.py -c
${
yml_file
}
-o Global.pretrained_model=
${
eval_model_name
}
Global.save_model_dir=
${
save_log_path
}
"
${
python
}
tools/eval.py
-c
${
yml_file
}
-o
Global.pretrained_model
=
${
eval_model_name
}
Global.save_model_dir
=
${
save_log_path
}
status_check
$?
"
${
trainer
}
"
"
${
command
}
"
"
${
save_log_path
}
/train.log"
command
=
"
${
python
}
tools/export_model.py -c
${
yml_file
}
-o Global.pretrained_model=
${
eval_model_name
}
Global.save_inference_dir=
${
log_path
}
/
${
eval_model_name
}
_infer Global.save_model_dir=
${
save_log_path
}
"
save_log_path
=
"
${
log_path
}
/
${
eval_model_name
}
"
${
python
}
tools/export_model.py
-c
${
yml_file
}
-o
Global.pretrained_model
=
${
eval_model_name
}
Global.save_inference_dir
=
${
log_path
}
/
${
eval_model_name
}
_infer Global.save_model_dir
=
${
save_log_path
}
command
=
"
${
python
}
tools/eval.py -c
${
yml_file
}
-o Global.pretrained_model=
${
eval_model_name
}
Global.save_model_dir=
${
save_log_path
}
"
status_check
$?
"
${
trainer
}
"
"
${
command
}
"
"
${
save_log_path
}
/train.log"
${
python
}
tools/eval.py
-c
${
yml_file
}
-o
Global.pretrained_model
=
${
eval_model_name
}
Global.save_model_dir
=
${
save_log_path
}
status_check
$?
"
${
trainer
}
"
"
${
command
}
"
"
${
save_log_path
}
/train.log"
if
[
$?
-eq
0
]
;
then
command
=
"
${
python
}
tools/export_model.py -c
${
yml_file
}
-o Global.pretrained_model=
${
eval_model_name
}
Global.save_inference_dir=
${
log_path
}
/
${
eval_model_name
}
_infer Global.save_model_dir=
${
save_log_path
}
"
echo
-e
"
\0
33[33m training of
$model_name
successfully!
\0
33[0m"
|
tee
-a
${
save_log
}
/train.log
${
python
}
tools/export_model.py
-c
${
yml_file
}
-o
Global.pretrained_model
=
${
eval_model_name
}
Global.save_inference_dir
=
"
${
log_path
}
/
${
eval_model_name
}
_infer"
Global.save_model_dir
=
${
save_log_path
}
else
status_check
$?
"
${
trainer
}
"
"
${
command
}
"
"
${
save_log_path
}
/train.log"
cat
${
save_log
}
/train.log
echo
-e
"
\0
33[33m training of
$model_name
failed!
\0
33[0m"
|
tee
-a
${
save_log
}
/train.log
if
[
$?
-eq
0
]
;
then
fi
echo
-e
"
\0
33[33m training of
$model_name
successfully!
\0
33[0m"
|
tee
-a
${
save_log
}
/train.log
if
[
"
${
model_name
}
"
=
"det"
]
;
then
else
export
rec_batch_size_list
=(
"1"
)
cat
${
save_log
}
/train.log
inference
=
"tools/infer/predict_det.py"
echo
-e
"
\0
33[33m training of
$model_name
failed!
\0
33[0m"
|
tee
-a
${
save_log
}
/train.log
det_model_dir
=
${
log_path
}
/
${
eval_model_name
}
_infer
fi
rec_model_dir
=
""
if
[
"
${
model_name
}
"
=
"det"
]
;
then
elif
[
"
${
model_name
}
"
=
"rec"
]
;
then
export
rec_batch_size_list
=(
"1"
)
inference
=
"tools/infer/predict_rec.py"
inference
=
"tools/infer/predict_det.py"
rec_model_dir
=
${
log_path
}
/
${
eval_model_name
}
_infer
det_model_dir
=
${
log_path
}
/
${
eval_model_name
}
_infer
det_model_dir
=
""
rec_model_dir
=
""
fi
elif
[
"
${
model_name
}
"
=
"rec"
]
;
then
# inference
inference
=
"tools/infer/predict_rec.py"
for
device
in
${
devices
[*]
}
;
do
rec_model_dir
=
${
log_path
}
/
${
eval_model_name
}
_infer
if
[
${
device
}
=
"cpu"
]
;
then
det_model_dir
=
""
for
use_mkldnn
in
${
use_mkldnn_list
[*]
}
;
do
fi
for
threads
in
${
cpu_threads_list
[*]
}
;
do
# inference
for
rec_batch_size
in
${
rec_batch_size_list
[*]
}
;
do
for
device
in
${
devices
[*]
}
;
do
save_log_path
=
"
${
log_path
}
/
${
model_name
}
_
${
slim_trainer
}
_cpu_usemkldnn_
${
use_mkldnn
}
_cputhreads_
${
threads
}
_recbatchnum_
${
rec_batch_size
}
_infer.log"
if
[
${
device
}
=
"cpu"
]
;
then
command
=
"
${
python
}
${
inference
}
--enable_mkldnn=
${
use_mkldnn
}
--use_gpu=False --cpu_threads=
${
threads
}
--benchmark=True --det_model_dir=
${
det_model_dir
}
--rec_batch_num=
${
rec_batch_size
}
--rec_model_dir=
${
rec_model_dir
}
--image_dir=
${
img_dir
}
--save_log_path=
${
save_log_path
}
"
for
use_mkldnn
in
${
use_mkldnn_list
[*]
}
;
do
${
python
}
${
inference
}
--enable_mkldnn
=
${
use_mkldnn
}
--use_gpu
=
False
--cpu_threads
=
${
threads
}
--benchmark
=
True
--det_model_dir
=
${
det_model_dir
}
--rec_batch_num
=
${
rec_batch_size
}
--rec_model_dir
=
${
rec_model_dir
}
--image_dir
=
${
img_dir
}
--save_log_path
=
${
save_log_path
}
for
threads
in
${
cpu_threads_list
[*]
}
;
do
status_check
$?
"
${
trainer
}
"
"
${
command
}
"
"
${
save_log_path
}
"
for
rec_batch_size
in
${
rec_batch_size_list
[*]
}
;
do
save_log_path
=
"
${
log_path
}
/
${
model_name
}
_
${
slim_trainer
}
_cpu_usemkldnn_
${
use_mkldnn
}
_cputhreads_
${
threads
}
_recbatchnum_
${
rec_batch_size
}
_infer.log"
command
=
"
${
python
}
${
inference
}
--enable_mkldnn=
${
use_mkldnn
}
--use_gpu=False --cpu_threads=
${
threads
}
--benchmark=True --det_model_dir=
${
det_model_dir
}
--rec_batch_num=
${
rec_batch_size
}
--rec_model_dir=
${
rec_model_dir
}
--image_dir=
${
img_dir
}
--save_log_path=
${
save_log_path
}
"
${
python
}
${
inference
}
--enable_mkldnn
=
${
use_mkldnn
}
--use_gpu
=
False
--cpu_threads
=
${
threads
}
--benchmark
=
True
--det_model_dir
=
${
det_model_dir
}
--rec_batch_num
=
${
rec_batch_size
}
--rec_model_dir
=
${
rec_model_dir
}
--image_dir
=
${
img_dir
}
--save_log_path
=
${
save_log_path
}
status_check
$?
"
${
trainer
}
"
"
${
command
}
"
"
${
save_log_path
}
"
done
done
done
done
done
done
else
else
env
=
"CUDA_VISIBLE_DEVICES=
${
infer_gpu_id
}
"
env
=
"CUDA_VISIBLE_DEVICES=
${
infer_gpu_id
}
"
for
use_trt
in
${
gpu_trt_list
[*]
}
;
do
for
use_trt
in
${
gpu_trt
_list
[*]
}
;
do
for
precision
in
${
gpu_precision
_list
[*]
}
;
do
for
precision
in
${
gpu_precision_list
[*]
}
;
do
if
[
${
use_trt
}
=
"False"
]
&&
[
${
precision
}
!=
"fp32"
]
;
then
if
[
${
use_trt
}
=
"False"
]
&&
[
${
precision
}
!=
"fp32"
]
;
then
continue
continue
fi
fi
for
rec_batch_size
in
${
rec_batch_size_list
[*]
}
;
do
for
rec_batch_size
in
${
rec_batch_size_list
[*]
}
;
do
save_log_path
=
"
${
log_path
}
/
${
model_name
}
_
${
slim_trainer
}
_gpu_usetensorrt_
${
use_trt
}
_usefp16_
${
precision
}
_recbatchnum_
${
rec_batch_size
}
_infer.log"
save_log_path
=
"
${
log_path
}
/
${
model_name
}
_
${
slim_trainer
}
_gpu_usetensorrt_
${
use_trt
}
_usefp16_
${
precision
}
_recbatchnum_
${
rec_batch_size
}
_infer.log
"
command
=
"
${
env
}
${
python
}
${
inference
}
--use_gpu=True --use_tensorrt=
${
use_trt
}
--precision=
${
precision
}
--benchmark=True --det_model_dir=
${
log_path
}
/
${
eval_model_name
}
_infer --rec_batch_num=
${
rec_batch_size
}
--rec_model_dir=
${
rec_model_dir
}
--image_dir=
${
img_dir
}
--save_log_path=
${
save_log_path
}
"
command
=
"
${
env
}
${
python
}
${
inference
}
--use_gpu=True --use_tensorrt=
${
use_trt
}
--precision=
${
precision
}
--benchmark=True --det_model_dir=
${
log_path
}
/
${
eval_model_name
}
_infer --rec_batch_num=
${
rec_batch_size
}
--rec_model_dir=
${
rec_model_dir
}
--image_dir=
${
img_dir
}
--save_log_path=
${
save_log_path
}
"
${
env
}
${
python
}
${
inference
}
--use_gpu
=
True
--use_tensorrt
=
${
use_trt
}
--precision
=
${
precision
}
--benchmark
=
True
--det_model_dir
=
${
log_path
}
/
${
eval_model_name
}
_infer
--rec_batch_num
=
${
rec_batch_size
}
--rec_model_dir
=
${
rec_model_dir
}
--image_dir
=
${
img_dir
}
--save_log_path
=
${
save_log_path
}
${
env
}
${
python
}
${
inference
}
--use_gpu
=
True
--use_tensorrt
=
${
use_trt
}
--precision
=
${
precision
}
--benchmark
=
True
--det_model_dir
=
${
log_path
}
/
${
eval_model_name
}
_infer
--rec_batch_num
=
${
rec_batch_size
}
--rec_model_dir
=
${
rec_model_dir
}
--image_dir
=
${
img_dir
}
--save_log_path
=
${
save_log_path
}
status_check
$?
"
${
trainer
}
"
"
${
command
}
"
"
${
save_log_path
}
"
status_check
$?
"
${
trainer
}
"
"
${
command
}
"
"
${
save_log_path
}
"
done
done
done
done
done
done
fi
fi
done
done
done
done
done
test/params.txt
浏览文件 @
0f84fc1e
train_model_list: ocr_det
train_model_list: ocr_det
gpu_list: -1|0|0,1
gpu_list: -1|0|0,1
auto_cast_list: False
auto_cast_list: False
trainer_list: norm|quant
|prune
trainer_list: norm|quant
python: python3.7
python: python3.7
inference: python
inference: python
...
...
test/test.sh
浏览文件 @
0f84fc1e
...
@@ -78,7 +78,7 @@ function status_check(){
...
@@ -78,7 +78,7 @@ function status_check(){
fi
fi
}
}
IFS
=
"|"
for
train_model
in
${
train_model_list
[*]
}
;
do
for
train_model
in
${
train_model_list
[*]
}
;
do
if
[
${
train_model
}
=
"ocr_det"
]
;
then
if
[
${
train_model
}
=
"ocr_det"
]
;
then
model_name
=
"det"
model_name
=
"det"
...
@@ -107,7 +107,7 @@ for train_model in ${train_model_list[*]}; do
...
@@ -107,7 +107,7 @@ for train_model in ${train_model_list[*]}; do
env
=
"CUDA_VISIBLE_DEVICES=
${
array
[0]
}
"
env
=
"CUDA_VISIBLE_DEVICES=
${
array
[0]
}
"
IFS
=
"|"
IFS
=
"|"
fi
fi
IFS
=
"|"
for
auto_cast
in
${
auto_cast_list
[*]
}
;
do
for
auto_cast
in
${
auto_cast_list
[*]
}
;
do
for
slim_trainer
in
${
slim_trainer_list
[*]
}
;
do
for
slim_trainer
in
${
slim_trainer_list
[*]
}
;
do
if
[
${
slim_trainer
}
=
"norm"
]
;
then
if
[
${
slim_trainer
}
=
"norm"
]
;
then
...
@@ -126,13 +126,13 @@ for train_model in ${train_model_list[*]}; do
...
@@ -126,13 +126,13 @@ for train_model in ${train_model_list[*]}; do
trainer
=
"tools/train.py"
trainer
=
"tools/train.py"
export_model
=
"tools/export_model.py"
export_model
=
"tools/export_model.py"
fi
fi
save_log
=
${
log_path
}
/
${
model_name
}
_
${
slim_trainer
}
_autocast_
${
auto_cast
}
_gpuid_
${
gpu
}
save_log
=
"
${
log_path
}
/
${
model_name
}
_
${
slim_trainer
}
_autocast_
${
auto_cast
}
_gpuid_
${
gpu
}
"
command
=
"
${
env
}
${
python
}
${
launch
}
${
trainer
}
-c
${
yml_file
}
-o Global.epoch_num=
${
epoch
}
Global.eval_batch_step=
${
eval_batch_step
}
Global.auto_cast=
${
auto_cast
}
Global.save_model_dir=
${
save_log
}
Global.use_gpu=
${
use_gpu
}
"
command
=
"
${
env
}
${
python
}
${
launch
}
${
trainer
}
-c
${
yml_file
}
-o Global.epoch_num=
${
epoch
}
Global.eval_batch_step=
${
eval_batch_step
}
Global.auto_cast=
${
auto_cast
}
Global.save_model_dir=
${
save_log
}
Global.use_gpu=
${
use_gpu
}
"
${
env
}
${
python
}
${
launch
}
${
trainer
}
-c
${
yml_file
}
-o
Global.epoch_num
=
${
epoch
}
Global.eval_batch_step
=
${
eval_batch_step
}
Global.auto_cast
=
${
auto_cast
}
Global.save_model_dir
=
${
save_log
}
Global.use_gpu
=
${
use_gpu
}
${
env
}
${
python
}
${
launch
}
${
trainer
}
-c
${
yml_file
}
-o
Global.epoch_num
=
${
epoch
}
Global.eval_batch_step
=
${
eval_batch_step
}
Global.auto_cast
=
${
auto_cast
}
Global.save_model_dir
=
${
save_log
}
Global.use_gpu
=
${
use_gpu
}
status_check
$?
"
${
trainer
}
"
"
${
command
}
"
"
${
save_log
}
/train.log"
status_check
$?
"
${
trainer
}
"
"
${
command
}
"
"
${
save_log
}
/train.log"
command
=
"
${
env
}
${
python
}
${
export_model
}
-c
${
yml_file
}
-o Global.pretrained_model=
${
save_log
}
/
best_accuracy
Global.save_inference_dir=
${
save_log
}
/export_inference/ Global.save_model_dir=
${
save_log
}
"
command
=
"
${
env
}
${
python
}
${
export_model
}
-c
${
yml_file
}
-o Global.pretrained_model=
${
save_log
}
/
latest
Global.save_inference_dir=
${
save_log
}
/export_inference/ Global.save_model_dir=
${
save_log
}
"
${
env
}
${
python
}
${
export_model
}
-c
${
yml_file
}
-o
Global.pretrained_model
=
${
save_log
}
/
best_accuracy
Global.save_inference_dir
=
${
save_log
}
/export_inference/ Global.save_model_dir
=
${
save_log
}
${
env
}
${
python
}
${
export_model
}
-c
${
yml_file
}
-o
Global.pretrained_model
=
${
save_log
}
/
latest
Global.save_inference_dir
=
${
save_log
}
/export_inference/ Global.save_model_dir
=
${
save_log
}
status_check
$?
"
${
trainer
}
"
"
${
command
}
"
"
${
save_log
}
/train.log"
status_check
$?
"
${
trainer
}
"
"
${
command
}
"
"
${
save_log
}
/train.log"
if
[
"
${
model_name
}
"
=
"det"
]
;
then
if
[
"
${
model_name
}
"
=
"det"
]
;
then
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录