Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
PaddleOCR
提交
d8a8ca81
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看板
未验证
提交
d8a8ca81
编写于
5月 23, 2022
作者:
X
xiaoting
提交者:
GitHub
5月 23, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
support xpu (#6382)
上级
453ae6bb
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
22 addition
and
11 deletion
+22
-11
tools/infer/utility.py
tools/infer/utility.py
+3
-0
tools/program.py
tools/program.py
+19
-11
未找到文件。
tools/infer/utility.py
浏览文件 @
d8a8ca81
...
...
@@ -34,6 +34,7 @@ def init_args():
parser
=
argparse
.
ArgumentParser
()
# params for prediction engine
parser
.
add_argument
(
"--use_gpu"
,
type
=
str2bool
,
default
=
True
)
parser
.
add_argument
(
"--use_xpu"
,
type
=
str2bool
,
default
=
False
)
parser
.
add_argument
(
"--ir_optim"
,
type
=
str2bool
,
default
=
True
)
parser
.
add_argument
(
"--use_tensorrt"
,
type
=
str2bool
,
default
=
False
)
parser
.
add_argument
(
"--min_subgraph_size"
,
type
=
int
,
default
=
15
)
...
...
@@ -285,6 +286,8 @@ def create_predictor(args, mode, logger):
config
.
set_trt_dynamic_shape_info
(
min_input_shape
,
max_input_shape
,
opt_input_shape
)
elif
args
.
use_xpu
:
config
.
enable_xpu
(
10
*
1024
*
1024
)
else
:
config
.
disable_gpu
()
if
hasattr
(
args
,
"cpu_threads"
):
...
...
tools/program.py
浏览文件 @
d8a8ca81
...
...
@@ -112,20 +112,25 @@ def merge_config(config, opts):
return
config
def
check_
gpu
(
use_gpu
):
def
check_
device
(
use_gpu
,
use_xpu
=
False
):
"""
Log error and exit when set use_gpu=true in paddlepaddle
cpu version.
"""
err
=
"Config
use_gpu cannot be set as true while you ar
e "
\
"
using paddlepaddle cpu version
!
\n
Please try:
\n
"
\
"
\t
1. Install paddlepaddle
-gpu to run model on GPU
\n
"
\
"
\t
2. Set
use_gpu
as false in config file to run "
\
err
=
"Config
{} cannot be set as true while your paddl
e "
\
"
is not compiled with {}
!
\n
Please try:
\n
"
\
"
\t
1. Install paddlepaddle
to run model on {}
\n
"
\
"
\t
2. Set
{}
as false in config file to run "
\
"model on CPU"
try
:
if
use_gpu
and
use_xpu
:
print
(
"use_xpu and use_gpu can not both be ture."
)
if
use_gpu
and
not
paddle
.
is_compiled_with_cuda
():
print
(
err
)
print
(
err
.
format
(
"use_gpu"
,
"cuda"
,
"gpu"
,
"use_gpu"
))
sys
.
exit
(
1
)
if
use_xpu
and
not
paddle
.
device
.
is_compiled_with_xpu
():
print
(
err
.
format
(
"use_xpu"
,
"xpu"
,
"xpu"
,
"use_xpu"
))
sys
.
exit
(
1
)
except
Exception
as
e
:
pass
...
...
@@ -301,6 +306,7 @@ def train(config,
stats
[
'lr'
]
=
lr
train_stats
.
update
(
stats
)
if
log_writer
is
not
None
and
dist
.
get_rank
()
==
0
:
log_writer
.
log_metrics
(
metrics
=
train_stats
.
get
(),
prefix
=
"TRAIN"
,
step
=
global_step
)
...
...
@@ -547,7 +553,7 @@ def preprocess(is_train=False):
# check if set use_gpu=True in paddlepaddle cpu version
use_gpu
=
config
[
'Global'
][
'use_gpu'
]
check_gpu
(
use_gpu
)
use_xpu
=
config
[
'Global'
].
get
(
'use_xpu'
,
False
)
# check if set use_xpu=True in paddlepaddle cpu/gpu version
use_xpu
=
False
...
...
@@ -562,11 +568,13 @@ def preprocess(is_train=False):
'SEED'
,
'SDMGR'
,
'LayoutXLM'
,
'LayoutLM'
,
'PREN'
,
'FCE'
,
'SVTR'
]
device
=
'cpu'
if
use_gpu
:
device
=
'gpu:{}'
.
format
(
dist
.
ParallelEnv
().
dev_id
)
if
use_xpu
:
device
=
'xpu'
device
=
'xpu:{0}'
.
format
(
os
.
getenv
(
'FLAGS_selected_xpus'
,
0
))
else
:
device
=
'gpu:{}'
.
format
(
dist
.
ParallelEnv
()
.
dev_id
)
if
use_gpu
else
'cpu'
check_device
(
use_gpu
,
use_xpu
)
device
=
paddle
.
set_device
(
device
)
config
[
'Global'
][
'distributed'
]
=
dist
.
get_world_size
()
!=
1
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录