Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
s920243400
PaddleOCR
提交
5299d8e6
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看板
未验证
提交
5299d8e6
编写于
10月 27, 2020
作者:
D
dyning
提交者:
GitHub
10月 27, 2020
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #1025 from littletomatodonkey/dev/fix_hb_export
fix export python path
上级
3573388b
d1322af3
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
39 addition
and
55 deletion
+39
-55
deploy/hubserving/ocr_det/module.py
deploy/hubserving/ocr_det/module.py
+11
-12
deploy/hubserving/ocr_rec/module.py
deploy/hubserving/ocr_rec/module.py
+13
-15
deploy/hubserving/ocr_system/module.py
deploy/hubserving/ocr_system/module.py
+13
-14
deploy/hubserving/readme.md
deploy/hubserving/readme.md
+0
-6
deploy/hubserving/readme_en.md
deploy/hubserving/readme_en.md
+2
-8
未找到文件。
deploy/hubserving/ocr_det/module.py
浏览文件 @
5299d8e6
...
@@ -3,11 +3,14 @@ from __future__ import absolute_import
...
@@ -3,11 +3,14 @@ from __future__ import absolute_import
from
__future__
import
division
from
__future__
import
division
from
__future__
import
print_function
from
__future__
import
print_function
import
os
import
sys
sys
.
path
.
insert
(
0
,
"."
)
import
argparse
import
argparse
import
ast
import
ast
import
copy
import
copy
import
math
import
math
import
os
import
time
import
time
from
paddle.fluid.core
import
AnalysisConfig
,
create_paddle_predictor
,
PaddleTensor
from
paddle.fluid.core
import
AnalysisConfig
,
create_paddle_predictor
,
PaddleTensor
...
@@ -67,9 +70,7 @@ class OCRDet(hub.Module):
...
@@ -67,9 +70,7 @@ class OCRDet(hub.Module):
images
.
append
(
img
)
images
.
append
(
img
)
return
images
return
images
def
predict
(
self
,
def
predict
(
self
,
images
=
[],
paths
=
[]):
images
=
[],
paths
=
[]):
"""
"""
Get the text box in the predicted images.
Get the text box in the predicted images.
Args:
Args:
...
@@ -87,7 +88,7 @@ class OCRDet(hub.Module):
...
@@ -87,7 +88,7 @@ class OCRDet(hub.Module):
raise
TypeError
(
"The input data is inconsistent with expectations."
)
raise
TypeError
(
"The input data is inconsistent with expectations."
)
assert
predicted_data
!=
[],
"There is not any image to be predicted. Please check the input data."
assert
predicted_data
!=
[],
"There is not any image to be predicted. Please check the input data."
all_results
=
[]
all_results
=
[]
for
img
in
predicted_data
:
for
img
in
predicted_data
:
if
img
is
None
:
if
img
is
None
:
...
@@ -99,11 +100,9 @@ class OCRDet(hub.Module):
...
@@ -99,11 +100,9 @@ class OCRDet(hub.Module):
rec_res_final
=
[]
rec_res_final
=
[]
for
dno
in
range
(
len
(
dt_boxes
)):
for
dno
in
range
(
len
(
dt_boxes
)):
rec_res_final
.
append
(
rec_res_final
.
append
({
{
'text_region'
:
dt_boxes
[
dno
].
astype
(
np
.
int
).
tolist
()
'text_region'
:
dt_boxes
[
dno
].
astype
(
np
.
int
).
tolist
()
})
}
)
all_results
.
append
(
rec_res_final
)
all_results
.
append
(
rec_res_final
)
return
all_results
return
all_results
...
@@ -116,7 +115,7 @@ class OCRDet(hub.Module):
...
@@ -116,7 +115,7 @@ class OCRDet(hub.Module):
results
=
self
.
predict
(
images_decode
,
**
kwargs
)
results
=
self
.
predict
(
images_decode
,
**
kwargs
)
return
results
return
results
if
__name__
==
'__main__'
:
if
__name__
==
'__main__'
:
ocr
=
OCRDet
()
ocr
=
OCRDet
()
image_path
=
[
image_path
=
[
...
@@ -124,4 +123,4 @@ if __name__ == '__main__':
...
@@ -124,4 +123,4 @@ if __name__ == '__main__':
'./doc/imgs/12.jpg'
,
'./doc/imgs/12.jpg'
,
]
]
res
=
ocr
.
predict
(
paths
=
image_path
)
res
=
ocr
.
predict
(
paths
=
image_path
)
print
(
res
)
print
(
res
)
\ No newline at end of file
deploy/hubserving/ocr_rec/module.py
浏览文件 @
5299d8e6
...
@@ -3,11 +3,14 @@ from __future__ import absolute_import
...
@@ -3,11 +3,14 @@ from __future__ import absolute_import
from
__future__
import
division
from
__future__
import
division
from
__future__
import
print_function
from
__future__
import
print_function
import
os
import
sys
sys
.
path
.
insert
(
0
,
"."
)
import
argparse
import
argparse
import
ast
import
ast
import
copy
import
copy
import
math
import
math
import
os
import
time
import
time
from
paddle.fluid.core
import
AnalysisConfig
,
create_paddle_predictor
,
PaddleTensor
from
paddle.fluid.core
import
AnalysisConfig
,
create_paddle_predictor
,
PaddleTensor
...
@@ -67,9 +70,7 @@ class OCRRec(hub.Module):
...
@@ -67,9 +70,7 @@ class OCRRec(hub.Module):
images
.
append
(
img
)
images
.
append
(
img
)
return
images
return
images
def
predict
(
self
,
def
predict
(
self
,
images
=
[],
paths
=
[]):
images
=
[],
paths
=
[]):
"""
"""
Get the text box in the predicted images.
Get the text box in the predicted images.
Args:
Args:
...
@@ -87,31 +88,28 @@ class OCRRec(hub.Module):
...
@@ -87,31 +88,28 @@ class OCRRec(hub.Module):
raise
TypeError
(
"The input data is inconsistent with expectations."
)
raise
TypeError
(
"The input data is inconsistent with expectations."
)
assert
predicted_data
!=
[],
"There is not any image to be predicted. Please check the input data."
assert
predicted_data
!=
[],
"There is not any image to be predicted. Please check the input data."
img_list
=
[]
img_list
=
[]
for
img
in
predicted_data
:
for
img
in
predicted_data
:
if
img
is
None
:
if
img
is
None
:
continue
continue
img_list
.
append
(
img
)
img_list
.
append
(
img
)
rec_res_final
=
[]
rec_res_final
=
[]
try
:
try
:
rec_res
,
predict_time
=
self
.
text_recognizer
(
img_list
)
rec_res
,
predict_time
=
self
.
text_recognizer
(
img_list
)
for
dno
in
range
(
len
(
rec_res
)):
for
dno
in
range
(
len
(
rec_res
)):
text
,
score
=
rec_res
[
dno
]
text
,
score
=
rec_res
[
dno
]
rec_res_final
.
append
(
rec_res_final
.
append
({
{
'text'
:
text
,
'text'
:
text
,
'confidence'
:
float
(
score
),
'confidence'
:
float
(
score
),
})
}
)
except
Exception
as
e
:
except
Exception
as
e
:
print
(
e
)
print
(
e
)
return
[[]]
return
[[]]
return
[
rec_res_final
]
return
[
rec_res_final
]
@
serving
@
serving
def
serving_method
(
self
,
images
,
**
kwargs
):
def
serving_method
(
self
,
images
,
**
kwargs
):
"""
"""
...
@@ -121,7 +119,7 @@ class OCRRec(hub.Module):
...
@@ -121,7 +119,7 @@ class OCRRec(hub.Module):
results
=
self
.
predict
(
images_decode
,
**
kwargs
)
results
=
self
.
predict
(
images_decode
,
**
kwargs
)
return
results
return
results
if
__name__
==
'__main__'
:
if
__name__
==
'__main__'
:
ocr
=
OCRRec
()
ocr
=
OCRRec
()
image_path
=
[
image_path
=
[
...
@@ -130,4 +128,4 @@ if __name__ == '__main__':
...
@@ -130,4 +128,4 @@ if __name__ == '__main__':
'./doc/imgs_words/ch/word_3.jpg'
,
'./doc/imgs_words/ch/word_3.jpg'
,
]
]
res
=
ocr
.
predict
(
paths
=
image_path
)
res
=
ocr
.
predict
(
paths
=
image_path
)
print
(
res
)
print
(
res
)
\ No newline at end of file
deploy/hubserving/ocr_system/module.py
浏览文件 @
5299d8e6
...
@@ -3,11 +3,14 @@ from __future__ import absolute_import
...
@@ -3,11 +3,14 @@ from __future__ import absolute_import
from
__future__
import
division
from
__future__
import
division
from
__future__
import
print_function
from
__future__
import
print_function
import
os
import
sys
sys
.
path
.
insert
(
0
,
"."
)
import
argparse
import
argparse
import
ast
import
ast
import
copy
import
copy
import
math
import
math
import
os
import
time
import
time
from
paddle.fluid.core
import
AnalysisConfig
,
create_paddle_predictor
,
PaddleTensor
from
paddle.fluid.core
import
AnalysisConfig
,
create_paddle_predictor
,
PaddleTensor
...
@@ -52,7 +55,7 @@ class OCRSystem(hub.Module):
...
@@ -52,7 +55,7 @@ class OCRSystem(hub.Module):
)
)
cfg
.
ir_optim
=
True
cfg
.
ir_optim
=
True
cfg
.
enable_mkldnn
=
enable_mkldnn
cfg
.
enable_mkldnn
=
enable_mkldnn
self
.
text_sys
=
TextSystem
(
cfg
)
self
.
text_sys
=
TextSystem
(
cfg
)
def
read_images
(
self
,
paths
=
[]):
def
read_images
(
self
,
paths
=
[]):
...
@@ -67,9 +70,7 @@ class OCRSystem(hub.Module):
...
@@ -67,9 +70,7 @@ class OCRSystem(hub.Module):
images
.
append
(
img
)
images
.
append
(
img
)
return
images
return
images
def
predict
(
self
,
def
predict
(
self
,
images
=
[],
paths
=
[]):
images
=
[],
paths
=
[]):
"""
"""
Get the chinese texts in the predicted images.
Get the chinese texts in the predicted images.
Args:
Args:
...
@@ -104,13 +105,11 @@ class OCRSystem(hub.Module):
...
@@ -104,13 +105,11 @@ class OCRSystem(hub.Module):
for
dno
in
range
(
dt_num
):
for
dno
in
range
(
dt_num
):
text
,
score
=
rec_res
[
dno
]
text
,
score
=
rec_res
[
dno
]
rec_res_final
.
append
(
rec_res_final
.
append
({
{
'text'
:
text
,
'text'
:
text
,
'confidence'
:
float
(
score
),
'confidence'
:
float
(
score
),
'text_region'
:
dt_boxes
[
dno
].
astype
(
np
.
int
).
tolist
()
'text_region'
:
dt_boxes
[
dno
].
astype
(
np
.
int
).
tolist
()
})
}
)
all_results
.
append
(
rec_res_final
)
all_results
.
append
(
rec_res_final
)
return
all_results
return
all_results
...
@@ -123,7 +122,7 @@ class OCRSystem(hub.Module):
...
@@ -123,7 +122,7 @@ class OCRSystem(hub.Module):
results
=
self
.
predict
(
images_decode
,
**
kwargs
)
results
=
self
.
predict
(
images_decode
,
**
kwargs
)
return
results
return
results
if
__name__
==
'__main__'
:
if
__name__
==
'__main__'
:
ocr
=
OCRSystem
()
ocr
=
OCRSystem
()
image_path
=
[
image_path
=
[
...
@@ -131,4 +130,4 @@ if __name__ == '__main__':
...
@@ -131,4 +130,4 @@ if __name__ == '__main__':
'./doc/imgs/12.jpg'
,
'./doc/imgs/12.jpg'
,
]
]
res
=
ocr
.
predict
(
paths
=
image_path
)
res
=
ocr
.
predict
(
paths
=
image_path
)
print
(
res
)
print
(
res
)
\ No newline at end of file
deploy/hubserving/readme.md
浏览文件 @
5299d8e6
...
@@ -29,12 +29,6 @@ deploy/hubserving/ocr_system/
...
@@ -29,12 +29,6 @@ deploy/hubserving/ocr_system/
```
shell
```
shell
# 安装paddlehub
# 安装paddlehub
pip3
install
paddlehub
--upgrade
-i
https://pypi.tuna.tsinghua.edu.cn/simple
pip3
install
paddlehub
--upgrade
-i
https://pypi.tuna.tsinghua.edu.cn/simple
# 在Linux下设置环境变量
export
PYTHONPATH
=
.
# 或者,在Windows下设置环境变量
SET
PYTHONPATH
=
.
```
```
### 2. 下载推理模型
### 2. 下载推理模型
...
...
deploy/hubserving/readme_en.md
浏览文件 @
5299d8e6
English |
[
简体中文
](
readme.md
)
English |
[
简体中文
](
readme.md
)
PaddleOCR provides 2 service deployment methods:
PaddleOCR provides 2 service deployment methods:
-
Based on
**PaddleHub Serving**
: Code path is "
`./deploy/hubserving`
". Please follow this tutorial.
-
Based on
**PaddleHub Serving**
: Code path is "
`./deploy/hubserving`
". Please follow this tutorial.
-
Based on
**PaddleServing**
: Code path is "
`./deploy/pdserving`
". Please refer to the
[
tutorial
](
../../doc/doc_ch/serving_inference.md
)
for usage.
-
Based on
**PaddleServing**
: Code path is "
`./deploy/pdserving`
". Please refer to the
[
tutorial
](
../../doc/doc_ch/serving_inference.md
)
for usage.
# Service deployment based on PaddleHub Serving
# Service deployment based on PaddleHub Serving
...
@@ -30,12 +30,6 @@ The following steps take the 2-stage series service as an example. If only the d
...
@@ -30,12 +30,6 @@ The following steps take the 2-stage series service as an example. If only the d
```
shell
```
shell
# Install paddlehub
# Install paddlehub
pip3
install
paddlehub
--upgrade
-i
https://pypi.tuna.tsinghua.edu.cn/simple
pip3
install
paddlehub
--upgrade
-i
https://pypi.tuna.tsinghua.edu.cn/simple
# Set environment variables on Linux
export
PYTHONPATH
=
.
# Set environment variables on Windows
SET
PYTHONPATH
=
.
```
```
### 2. Download inference model
### 2. Download inference model
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录