Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
wangsen
paddle_dbnet
Commits
3305d9fd
Commit
3305d9fd
authored
Aug 18, 2021
by
Leif
Browse files
Merge remote-tracking branch 'origin/dygraph' into dygraph
parents
ef383cf1
7c43db14
Changes
25
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
77 additions
and
3 deletions
+77
-3
tests/prepare.sh
tests/prepare.sh
+1
-1
tests/readme.md
tests/readme.md
+58
-0
tools/infer/predict_det.py
tools/infer/predict_det.py
+2
-1
tools/infer/predict_rec.py
tools/infer/predict_rec.py
+2
-1
tools/infer/utility.py
tools/infer/utility.py
+14
-0
No files found.
tests/prepare.sh
View file @
3305d9fd
...
@@ -62,7 +62,7 @@ else
...
@@ -62,7 +62,7 @@ else
if
[
${
model_name
}
=
"ocr_det"
]
;
then
if
[
${
model_name
}
=
"ocr_det"
]
;
then
eval_model_name
=
"ch_ppocr_mobile_v2.0_det_infer"
eval_model_name
=
"ch_ppocr_mobile_v2.0_det_infer"
rm
-rf
./train_data/icdar2015
rm
-rf
./train_data/icdar2015
wget
-nc
-P
./
train_data
https://paddleocr.bj.bcebos.com/dygraph_v2.0/test/ch_det_data_50.tar
wget
-nc
-P
./
inference
https://paddleocr.bj.bcebos.com/dygraph_v2.0/test/ch_det_data_50.tar
wget
-nc
-P
./inference https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_mobile_v2.0_det_infer.tar
wget
-nc
-P
./inference https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_mobile_v2.0_det_infer.tar
cd
./inference
&&
tar
xf
${
eval_model_name
}
.tar
&&
tar
xf ch_det_data_50.tar
&&
cd
../
cd
./inference
&&
tar
xf
${
eval_model_name
}
.tar
&&
tar
xf ch_det_data_50.tar
&&
cd
../
else
else
...
...
tests/readme.md
0 → 100644
View file @
3305d9fd
# 介绍
test.sh和params.txt文件配合使用,完成OCR轻量检测和识别模型从训练到预测的流程测试。
# 安装依赖
-
安装PaddlePaddle >= 2.0
-
安装PaddleOCR依赖
```
pip3 install -r ../requirements.txt
```
-
安装autolog
```
git clone https://github.com/LDOUBLEV/AutoLog
cd AutoLog
pip3 install -r requirements.txt
python3 setup.py bdist_wheel
pip3 install ./dist/auto_log-1.0.0-py3-none-any.whl
cd ../
```
# 目录介绍
```
bash
tests/
├── ocr_det_params.txt
# 测试OCR检测模型的参数配置文件
├── ocr_rec_params.txt
# 测试OCR识别模型的参数配置文件
└── prepare.sh
# 完成test.sh运行所需要的数据和模型下载
└── test.sh
# 根据
```
# 使用方法
test.sh包含四种运行模式,每种模式的运行数据不同,分别用于测试速度和精度,分别是:
-
模式1 lite_train_infer,使用少量数据训练,用于快速验证训练到预测的走通流程,不验证精度和速度;
```
bash test/prepare.sh ./tests/ocr_det_params.txt 'lite_train_infer'
bash tests/test.sh ./tests/ocr_det_params.txt 'lite_train_infer'
```
-
模式2 whole_infer,使用少量数据训练,一定量数据预测,用于验证训练后的模型执行预测,预测速度是否合理;
```
bash tests/prepare.sh ./tests/ocr_det_params.txt 'whole_infer'
bash tests/test.sh ./tests/ocr_det_params.txt 'whole_infer'
```
-
模式3 infer 不训练,全量数据预测,走通开源模型评估、动转静,检查inference model预测时间和精度;
```
bash tests/prepare.sh ./tests/ocr_det_params.txt 'infer'
用法1:
bash tests/test.sh ./tests/ocr_det_params.txt 'infer'
用法2: 指定GPU卡预测,第三个传入参数为GPU卡号
bash tests/test.sh ./tests/ocr_det_params.txt 'infer' '1'
```
模式4: whole_train_infer , CE: 全量数据训练,全量数据预测,验证模型训练精度,预测精度,预测速度
```
bash tests/prepare.sh ./tests/ocr_det_params.txt 'whole_train_infer'
bash tests/test.sh ./tests/ocr_det_params.txt 'whole_train_infer'
```
tools/infer/predict_det.py
View file @
3305d9fd
...
@@ -101,6 +101,7 @@ class TextDetector(object):
...
@@ -101,6 +101,7 @@ class TextDetector(object):
if
args
.
benchmark
:
if
args
.
benchmark
:
import
auto_log
import
auto_log
pid
=
os
.
getpid
()
pid
=
os
.
getpid
()
gpu_id
=
utility
.
get_infer_gpuid
()
self
.
autolog
=
auto_log
.
AutoLogger
(
self
.
autolog
=
auto_log
.
AutoLogger
(
model_name
=
"det"
,
model_name
=
"det"
,
model_precision
=
args
.
precision
,
model_precision
=
args
.
precision
,
...
@@ -110,7 +111,7 @@ class TextDetector(object):
...
@@ -110,7 +111,7 @@ class TextDetector(object):
inference_config
=
self
.
config
,
inference_config
=
self
.
config
,
pids
=
pid
,
pids
=
pid
,
process_name
=
None
,
process_name
=
None
,
gpu_ids
=
0
,
gpu_ids
=
gpu_id
if
args
.
use_gpu
else
None
,
time_keys
=
[
time_keys
=
[
'preprocess_time'
,
'inference_time'
,
'postprocess_time'
'preprocess_time'
,
'inference_time'
,
'postprocess_time'
],
],
...
...
tools/infer/predict_rec.py
View file @
3305d9fd
...
@@ -68,6 +68,7 @@ class TextRecognizer(object):
...
@@ -68,6 +68,7 @@ class TextRecognizer(object):
if
args
.
benchmark
:
if
args
.
benchmark
:
import
auto_log
import
auto_log
pid
=
os
.
getpid
()
pid
=
os
.
getpid
()
gpu_id
=
utility
.
get_infer_gpuid
()
self
.
autolog
=
auto_log
.
AutoLogger
(
self
.
autolog
=
auto_log
.
AutoLogger
(
model_name
=
"rec"
,
model_name
=
"rec"
,
model_precision
=
args
.
precision
,
model_precision
=
args
.
precision
,
...
@@ -77,7 +78,7 @@ class TextRecognizer(object):
...
@@ -77,7 +78,7 @@ class TextRecognizer(object):
inference_config
=
self
.
config
,
inference_config
=
self
.
config
,
pids
=
pid
,
pids
=
pid
,
process_name
=
None
,
process_name
=
None
,
gpu_ids
=
0
if
args
.
use_gpu
else
None
,
gpu_ids
=
gpu_id
if
args
.
use_gpu
else
None
,
time_keys
=
[
time_keys
=
[
'preprocess_time'
,
'inference_time'
,
'postprocess_time'
'preprocess_time'
,
'inference_time'
,
'postprocess_time'
],
],
...
...
tools/infer/utility.py
View file @
3305d9fd
...
@@ -280,6 +280,20 @@ def create_predictor(args, mode, logger):
...
@@ -280,6 +280,20 @@ def create_predictor(args, mode, logger):
return
predictor
,
input_tensor
,
output_tensors
,
config
return
predictor
,
input_tensor
,
output_tensors
,
config
def
get_infer_gpuid
():
cmd
=
"nvidia-smi"
res
=
os
.
popen
(
cmd
).
readlines
()
if
len
(
res
)
==
0
:
return
None
cmd
=
"env | grep CUDA_VISIBLE_DEVICES"
env_cuda
=
os
.
popen
(
cmd
).
readlines
()
if
len
(
env_cuda
)
==
0
:
return
0
else
:
gpu_id
=
env_cuda
[
0
].
strip
().
split
(
"="
)[
1
]
return
int
(
gpu_id
[
0
])
def
draw_e2e_res
(
dt_boxes
,
strs
,
img_path
):
def
draw_e2e_res
(
dt_boxes
,
strs
,
img_path
):
src_im
=
cv2
.
imread
(
img_path
)
src_im
=
cv2
.
imread
(
img_path
)
for
box
,
str
in
zip
(
dt_boxes
,
strs
):
for
box
,
str
in
zip
(
dt_boxes
,
strs
):
...
...
Prev
1
2
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment