Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
AI信仰者
PaddleOCR
提交
0a011e56
P
PaddleOCR
项目概览
AI信仰者
/
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看板
体验新版 GitCode,发现更多精彩内容 >>
提交
0a011e56
编写于
8月 24, 2020
作者:
littletomatodonkey
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add python interface
上级
3ebebae3
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
21 addition
and
6 deletion
+21
-6
tools/infer/predict_det.py
tools/infer/predict_det.py
+7
-2
tools/infer/predict_rec.py
tools/infer/predict_rec.py
+7
-2
tools/infer/utility.py
tools/infer/utility.py
+7
-2
未找到文件。
tools/infer/predict_det.py
浏览文件 @
0a011e56
...
@@ -42,6 +42,7 @@ class TextDetector(object):
...
@@ -42,6 +42,7 @@ class TextDetector(object):
def
__init__
(
self
,
args
):
def
__init__
(
self
,
args
):
max_side_len
=
args
.
det_max_side_len
max_side_len
=
args
.
det_max_side_len
self
.
det_algorithm
=
args
.
det_algorithm
self
.
det_algorithm
=
args
.
det_algorithm
self
.
use_zero_copy_run
=
args
.
use_zero_copy_run
preprocess_params
=
{
'max_side_len'
:
max_side_len
}
preprocess_params
=
{
'max_side_len'
:
max_side_len
}
postprocess_params
=
{}
postprocess_params
=
{}
if
self
.
det_algorithm
==
"DB"
:
if
self
.
det_algorithm
==
"DB"
:
...
@@ -138,8 +139,12 @@ class TextDetector(object):
...
@@ -138,8 +139,12 @@ class TextDetector(object):
return
None
,
0
return
None
,
0
im
=
im
.
copy
()
im
=
im
.
copy
()
starttime
=
time
.
time
()
starttime
=
time
.
time
()
im
=
fluid
.
core
.
PaddleTensor
(
im
)
if
self
.
use_zero_copy_run
:
self
.
predictor
.
run
([
im
])
self
.
input_tensor
.
copy_from_cpu
(
im
)
self
.
predictor
.
zero_copy_run
()
else
:
im
=
fluid
.
core
.
PaddleTensor
(
im
)
self
.
predictor
.
run
([
im
])
outputs
=
[]
outputs
=
[]
for
output_tensor
in
self
.
output_tensors
:
for
output_tensor
in
self
.
output_tensors
:
output
=
output_tensor
.
copy_to_cpu
()
output
=
output_tensor
.
copy_to_cpu
()
...
...
tools/infer/predict_rec.py
浏览文件 @
0a011e56
...
@@ -40,6 +40,7 @@ class TextRecognizer(object):
...
@@ -40,6 +40,7 @@ class TextRecognizer(object):
self
.
character_type
=
args
.
rec_char_type
self
.
character_type
=
args
.
rec_char_type
self
.
rec_batch_num
=
args
.
rec_batch_num
self
.
rec_batch_num
=
args
.
rec_batch_num
self
.
rec_algorithm
=
args
.
rec_algorithm
self
.
rec_algorithm
=
args
.
rec_algorithm
self
.
use_zero_copy_run
=
args
.
use_zero_copy_run
char_ops_params
=
{
char_ops_params
=
{
"character_type"
:
args
.
rec_char_type
,
"character_type"
:
args
.
rec_char_type
,
"character_dict_path"
:
args
.
rec_char_dict_path
,
"character_dict_path"
:
args
.
rec_char_dict_path
,
...
@@ -105,8 +106,12 @@ class TextRecognizer(object):
...
@@ -105,8 +106,12 @@ class TextRecognizer(object):
norm_img_batch
=
np
.
concatenate
(
norm_img_batch
)
norm_img_batch
=
np
.
concatenate
(
norm_img_batch
)
norm_img_batch
=
norm_img_batch
.
copy
()
norm_img_batch
=
norm_img_batch
.
copy
()
starttime
=
time
.
time
()
starttime
=
time
.
time
()
norm_img_batch
=
fluid
.
core
.
PaddleTensor
(
norm_img_batch
)
if
self
.
use_zero_copy_run
:
self
.
predictor
.
run
([
norm_img_batch
])
self
.
input_tensor
.
copy_from_cpu
(
norm_img_batch
)
self
.
predictor
.
zero_copy_run
()
else
:
norm_img_batch
=
fluid
.
core
.
PaddleTensor
(
norm_img_batch
)
self
.
predictor
.
run
([
norm_img_batch
])
if
self
.
loss_type
==
"ctc"
:
if
self
.
loss_type
==
"ctc"
:
rec_idx_batch
=
self
.
output_tensors
[
0
].
copy_to_cpu
()
rec_idx_batch
=
self
.
output_tensors
[
0
].
copy_to_cpu
()
...
...
tools/infer/utility.py
浏览文件 @
0a011e56
...
@@ -71,6 +71,7 @@ def parse_args():
...
@@ -71,6 +71,7 @@ def parse_args():
default
=
"./ppocr/utils/ppocr_keys_v1.txt"
)
default
=
"./ppocr/utils/ppocr_keys_v1.txt"
)
parser
.
add_argument
(
"--use_space_char"
,
type
=
bool
,
default
=
True
)
parser
.
add_argument
(
"--use_space_char"
,
type
=
bool
,
default
=
True
)
parser
.
add_argument
(
"--enable_mkldnn"
,
type
=
bool
,
default
=
False
)
parser
.
add_argument
(
"--enable_mkldnn"
,
type
=
bool
,
default
=
False
)
parser
.
add_argument
(
"--use_zero_copy_run"
,
type
=
bool
,
default
=
False
)
return
parser
.
parse_args
()
return
parser
.
parse_args
()
...
@@ -105,8 +106,12 @@ def create_predictor(args, mode):
...
@@ -105,8 +106,12 @@ def create_predictor(args, mode):
#config.enable_memory_optim()
#config.enable_memory_optim()
config
.
disable_glog_info
()
config
.
disable_glog_info
()
# use zero copy
if
args
.
use_zero_copy_run
:
config
.
switch_use_feed_fetch_ops
(
True
)
config
.
delete_pass
(
"conv_transpose_eltwiseadd_bn_fuse_pass"
)
config
.
switch_use_feed_fetch_ops
(
False
)
else
:
config
.
switch_use_feed_fetch_ops
(
True
)
predictor
=
create_paddle_predictor
(
config
)
predictor
=
create_paddle_predictor
(
config
)
input_names
=
predictor
.
get_input_names
()
input_names
=
predictor
.
get_input_names
()
input_tensor
=
predictor
.
get_input_tensor
(
input_names
[
0
])
input_tensor
=
predictor
.
get_input_tensor
(
input_names
[
0
])
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录