Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
PaddleOCR
提交
796aea86
P
PaddleOCR
项目概览
PaddlePaddle
/
PaddleOCR
大约 1 年 前同步成功
通知
1528
Star
32962
Fork
6643
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
108
列表
看板
标记
里程碑
合并请求
7
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
PaddleOCR
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
108
Issue
108
列表
看板
标记
里程碑
合并请求
7
合并请求
7
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
796aea86
编写于
4月 26, 2021
作者:
M
MissPenguin
提交者:
GitHub
4月 26, 2021
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #2633 from littletomatodonkey/dyg/cp_add_save_rec
add save rec res
上级
05975f84
ec069632
变更
14
隐藏空白更改
内联
并排
Showing
14 changed file
with
51 addition
and
29 deletion
+51
-29
configs/rec/ch_ppocr_v2.0/rec_chinese_common_train_v2.0.yml
configs/rec/ch_ppocr_v2.0/rec_chinese_common_train_v2.0.yml
+1
-0
configs/rec/ch_ppocr_v2.0/rec_chinese_lite_train_v2.0.yml
configs/rec/ch_ppocr_v2.0/rec_chinese_lite_train_v2.0.yml
+1
-0
configs/rec/rec_icdar15_train.yml
configs/rec/rec_icdar15_train.yml
+1
-0
configs/rec/rec_mv3_none_bilstm_ctc.yml
configs/rec/rec_mv3_none_bilstm_ctc.yml
+1
-0
configs/rec/rec_mv3_none_none_ctc.yml
configs/rec/rec_mv3_none_none_ctc.yml
+1
-0
configs/rec/rec_mv3_tps_bilstm_att.yml
configs/rec/rec_mv3_tps_bilstm_att.yml
+1
-0
configs/rec/rec_mv3_tps_bilstm_ctc.yml
configs/rec/rec_mv3_tps_bilstm_ctc.yml
+1
-0
configs/rec/rec_r34_vd_none_bilstm_ctc.yml
configs/rec/rec_r34_vd_none_bilstm_ctc.yml
+1
-0
configs/rec/rec_r34_vd_none_none_ctc.yml
configs/rec/rec_r34_vd_none_none_ctc.yml
+1
-0
configs/rec/rec_r34_vd_tps_bilstm_att.yml
configs/rec/rec_r34_vd_tps_bilstm_att.yml
+1
-0
configs/rec/rec_r34_vd_tps_bilstm_ctc.yml
configs/rec/rec_r34_vd_tps_bilstm_ctc.yml
+1
-0
configs/rec/rec_r50_fpn_srn.yml
configs/rec/rec_r50_fpn_srn.yml
+1
-0
deploy/hubserving/ocr_cls/module.py
deploy/hubserving/ocr_cls/module.py
+1
-1
tools/infer_rec.py
tools/infer_rec.py
+38
-28
未找到文件。
configs/rec/ch_ppocr_v2.0/rec_chinese_common_train_v2.0.yml
浏览文件 @
796aea86
...
@@ -19,6 +19,7 @@ Global:
...
@@ -19,6 +19,7 @@ Global:
max_text_length
:
25
max_text_length
:
25
infer_mode
:
False
infer_mode
:
False
use_space_char
:
True
use_space_char
:
True
save_res_path
:
./output/rec/predicts_chinese_common_v2.0.txt
Optimizer
:
Optimizer
:
...
...
configs/rec/ch_ppocr_v2.0/rec_chinese_lite_train_v2.0.yml
浏览文件 @
796aea86
...
@@ -19,6 +19,7 @@ Global:
...
@@ -19,6 +19,7 @@ Global:
max_text_length
:
25
max_text_length
:
25
infer_mode
:
False
infer_mode
:
False
use_space_char
:
True
use_space_char
:
True
save_res_path
:
./output/rec/predicts_chinese_lite_v2.0.txt
Optimizer
:
Optimizer
:
...
...
configs/rec/rec_icdar15_train.yml
浏览文件 @
796aea86
...
@@ -19,6 +19,7 @@ Global:
...
@@ -19,6 +19,7 @@ Global:
max_text_length
:
25
max_text_length
:
25
infer_mode
:
False
infer_mode
:
False
use_space_char
:
False
use_space_char
:
False
save_res_path
:
./output/rec/predicts_ic15.txt
Optimizer
:
Optimizer
:
name
:
Adam
name
:
Adam
...
...
configs/rec/rec_mv3_none_bilstm_ctc.yml
浏览文件 @
796aea86
...
@@ -19,6 +19,7 @@ Global:
...
@@ -19,6 +19,7 @@ Global:
max_text_length
:
25
max_text_length
:
25
infer_mode
:
False
infer_mode
:
False
use_space_char
:
False
use_space_char
:
False
save_res_path
:
./output/rec/predicts_mv3_none_bilstm_ctc.txt
Optimizer
:
Optimizer
:
name
:
Adam
name
:
Adam
...
...
configs/rec/rec_mv3_none_none_ctc.yml
浏览文件 @
796aea86
...
@@ -19,6 +19,7 @@ Global:
...
@@ -19,6 +19,7 @@ Global:
max_text_length
:
25
max_text_length
:
25
infer_mode
:
False
infer_mode
:
False
use_space_char
:
False
use_space_char
:
False
save_res_path
:
./output/rec/predicts_mv3_none_none_ctc.txt
Optimizer
:
Optimizer
:
name
:
Adam
name
:
Adam
...
...
configs/rec/rec_mv3_tps_bilstm_att.yml
浏览文件 @
796aea86
...
@@ -19,6 +19,7 @@ Global:
...
@@ -19,6 +19,7 @@ Global:
max_text_length
:
25
max_text_length
:
25
infer_mode
:
False
infer_mode
:
False
use_space_char
:
False
use_space_char
:
False
save_res_path
:
./output/rec/predicts_mv3_tps_bilstm_att.txt
Optimizer
:
Optimizer
:
...
...
configs/rec/rec_mv3_tps_bilstm_ctc.yml
浏览文件 @
796aea86
...
@@ -19,6 +19,7 @@ Global:
...
@@ -19,6 +19,7 @@ Global:
max_text_length
:
25
max_text_length
:
25
infer_mode
:
False
infer_mode
:
False
use_space_char
:
False
use_space_char
:
False
save_res_path
:
./output/rec/predicts_mv3_tps_bilstm_ctc.txt
Optimizer
:
Optimizer
:
name
:
Adam
name
:
Adam
...
...
configs/rec/rec_r34_vd_none_bilstm_ctc.yml
浏览文件 @
796aea86
...
@@ -19,6 +19,7 @@ Global:
...
@@ -19,6 +19,7 @@ Global:
max_text_length
:
25
max_text_length
:
25
infer_mode
:
False
infer_mode
:
False
use_space_char
:
False
use_space_char
:
False
save_res_path
:
./output/rec/predicts_r34_vd_none_bilstm_ctc.txt
Optimizer
:
Optimizer
:
name
:
Adam
name
:
Adam
...
...
configs/rec/rec_r34_vd_none_none_ctc.yml
浏览文件 @
796aea86
...
@@ -19,6 +19,7 @@ Global:
...
@@ -19,6 +19,7 @@ Global:
max_text_length
:
25
max_text_length
:
25
infer_mode
:
False
infer_mode
:
False
use_space_char
:
False
use_space_char
:
False
save_res_path
:
./output/rec/predicts_r34_vd_none_none_ctc.txt
Optimizer
:
Optimizer
:
name
:
Adam
name
:
Adam
...
...
configs/rec/rec_r34_vd_tps_bilstm_att.yml
浏览文件 @
796aea86
...
@@ -19,6 +19,7 @@ Global:
...
@@ -19,6 +19,7 @@ Global:
max_text_length
:
25
max_text_length
:
25
infer_mode
:
False
infer_mode
:
False
use_space_char
:
False
use_space_char
:
False
save_res_path
:
./output/rec/predicts_b3_rare_r34_none_gru.txt
Optimizer
:
Optimizer
:
...
...
configs/rec/rec_r34_vd_tps_bilstm_ctc.yml
浏览文件 @
796aea86
...
@@ -19,6 +19,7 @@ Global:
...
@@ -19,6 +19,7 @@ Global:
max_text_length
:
25
max_text_length
:
25
infer_mode
:
False
infer_mode
:
False
use_space_char
:
False
use_space_char
:
False
save_res_path
:
./output/rec/predicts_r34_vd_tps_bilstm_ctc.txt
Optimizer
:
Optimizer
:
name
:
Adam
name
:
Adam
...
...
configs/rec/rec_r50_fpn_srn.yml
浏览文件 @
796aea86
...
@@ -20,6 +20,7 @@ Global:
...
@@ -20,6 +20,7 @@ Global:
num_heads
:
8
num_heads
:
8
infer_mode
:
False
infer_mode
:
False
use_space_char
:
False
use_space_char
:
False
save_res_path
:
./output/rec/predicts_srn.txt
Optimizer
:
Optimizer
:
...
...
deploy/hubserving/ocr_cls/module.py
浏览文件 @
796aea86
...
@@ -16,6 +16,7 @@ import paddlehub as hub
...
@@ -16,6 +16,7 @@ import paddlehub as hub
from
tools.infer.utility
import
base64_to_cv2
from
tools.infer.utility
import
base64_to_cv2
from
tools.infer.predict_cls
import
TextClassifier
from
tools.infer.predict_cls
import
TextClassifier
from
tools.infer.utility
import
parse_args
from
tools.infer.utility
import
parse_args
from
deploy.hubserving.ocr_cls.params
import
read_params
@
moduleinfo
(
@
moduleinfo
(
...
@@ -55,7 +56,6 @@ class OCRCls(hub.Module):
...
@@ -55,7 +56,6 @@ class OCRCls(hub.Module):
sys
.
argv
=
sys
.
argv
[:
1
]
sys
.
argv
=
sys
.
argv
[:
1
]
cfg
=
parse_args
()
cfg
=
parse_args
()
from
ocr_det.params
import
read_params
update_cfg_map
=
vars
(
read_params
())
update_cfg_map
=
vars
(
read_params
())
for
key
in
update_cfg_map
:
for
key
in
update_cfg_map
:
...
...
tools/infer_rec.py
浏览文件 @
796aea86
...
@@ -73,35 +73,45 @@ def main():
...
@@ -73,35 +73,45 @@ def main():
global_config
[
'infer_mode'
]
=
True
global_config
[
'infer_mode'
]
=
True
ops
=
create_operators
(
transforms
,
global_config
)
ops
=
create_operators
(
transforms
,
global_config
)
save_res_path
=
config
[
'Global'
].
get
(
'save_res_path'
,
"./output/rec/predicts_rec.txt"
)
if
not
os
.
path
.
exists
(
os
.
path
.
dirname
(
save_res_path
)):
os
.
makedirs
(
os
.
path
.
dirname
(
save_res_path
))
model
.
eval
()
model
.
eval
()
for
file
in
get_image_file_list
(
config
[
'Global'
][
'infer_img'
]):
logger
.
info
(
"infer_img: {}"
.
format
(
file
))
with
open
(
save_res_path
,
"w"
)
as
fout
:
with
open
(
file
,
'rb'
)
as
f
:
for
file
in
get_image_file_list
(
config
[
'Global'
][
'infer_img'
]):
img
=
f
.
read
()
logger
.
info
(
"infer_img: {}"
.
format
(
file
))
data
=
{
'image'
:
img
}
with
open
(
file
,
'rb'
)
as
f
:
batch
=
transform
(
data
,
ops
)
img
=
f
.
read
()
if
config
[
'Architecture'
][
'algorithm'
]
==
"SRN"
:
data
=
{
'image'
:
img
}
encoder_word_pos_list
=
np
.
expand_dims
(
batch
[
1
],
axis
=
0
)
batch
=
transform
(
data
,
ops
)
gsrm_word_pos_list
=
np
.
expand_dims
(
batch
[
2
],
axis
=
0
)
if
config
[
'Architecture'
][
'algorithm'
]
==
"SRN"
:
gsrm_slf_attn_bias1_list
=
np
.
expand_dims
(
batch
[
3
],
axis
=
0
)
encoder_word_pos_list
=
np
.
expand_dims
(
batch
[
1
],
axis
=
0
)
gsrm_slf_attn_bias2_list
=
np
.
expand_dims
(
batch
[
4
],
axis
=
0
)
gsrm_word_pos_list
=
np
.
expand_dims
(
batch
[
2
],
axis
=
0
)
gsrm_slf_attn_bias1_list
=
np
.
expand_dims
(
batch
[
3
],
axis
=
0
)
others
=
[
gsrm_slf_attn_bias2_list
=
np
.
expand_dims
(
batch
[
4
],
axis
=
0
)
paddle
.
to_tensor
(
encoder_word_pos_list
),
paddle
.
to_tensor
(
gsrm_word_pos_list
),
others
=
[
paddle
.
to_tensor
(
gsrm_slf_attn_bias1_list
),
paddle
.
to_tensor
(
encoder_word_pos_list
),
paddle
.
to_tensor
(
gsrm_slf_attn_bias2_list
)
paddle
.
to_tensor
(
gsrm_word_pos_list
),
]
paddle
.
to_tensor
(
gsrm_slf_attn_bias1_list
),
paddle
.
to_tensor
(
gsrm_slf_attn_bias2_list
)
images
=
np
.
expand_dims
(
batch
[
0
],
axis
=
0
)
]
images
=
paddle
.
to_tensor
(
images
)
if
config
[
'Architecture'
][
'algorithm'
]
==
"SRN"
:
images
=
np
.
expand_dims
(
batch
[
0
],
axis
=
0
)
preds
=
model
(
images
,
others
)
images
=
paddle
.
to_tensor
(
images
)
else
:
if
config
[
'Architecture'
][
'algorithm'
]
==
"SRN"
:
preds
=
model
(
images
)
preds
=
model
(
images
,
others
)
post_result
=
post_process_class
(
preds
)
else
:
for
rec_reuslt
in
post_result
:
preds
=
model
(
images
)
logger
.
info
(
'
\t
result: {}'
.
format
(
rec_reuslt
))
post_result
=
post_process_class
(
preds
)
for
rec_reuslt
in
post_result
:
logger
.
info
(
'
\t
result: {}'
.
format
(
rec_reuslt
))
if
len
(
rec_reuslt
)
>=
2
:
fout
.
write
(
file
+
"
\t
"
+
rec_reuslt
[
0
]
+
"
\t
"
+
str
(
rec_reuslt
[
1
])
+
"
\n
"
)
logger
.
info
(
"success!"
)
logger
.
info
(
"success!"
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录