Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
X2Paddle
提交
1256f60f
X
X2Paddle
项目概览
PaddlePaddle
/
X2Paddle
大约 1 年 前同步成功
通知
328
Star
698
Fork
167
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
26
列表
看板
标记
里程碑
合并请求
4
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
X
X2Paddle
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
26
Issue
26
列表
看板
标记
里程碑
合并请求
4
合并请求
4
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
1256f60f
编写于
8月 17, 2022
作者:
W
wjj19950828
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
move to paddleinference api
上级
be6475f5
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
43 addition
and
11 deletion
+43
-11
tests/onnx/onnxbase.py
tests/onnx/onnxbase.py
+43
-11
未找到文件。
tests/onnx/onnxbase.py
浏览文件 @
1256f60f
...
...
@@ -20,6 +20,8 @@ import logging
import
paddle
import
onnx
import
shutil
from
paddle.inference
import
create_predictor
,
PrecisionType
from
paddle.inference
import
Config
from
onnx
import
helper
from
onnx
import
TensorProto
from
onnxruntime
import
InferenceSession
...
...
@@ -191,6 +193,7 @@ class ONNXConverter(object):
"""
# input data
paddle_tensor_feed
=
list
()
result
=
list
()
for
i
in
range
(
len
(
self
.
input_feed
)):
paddle_tensor_feed
.
append
(
paddle
.
to_tensor
(
self
.
input_feed
[
self
.
inputs_name
[
i
]]))
...
...
@@ -208,18 +211,47 @@ class ONNXConverter(object):
model
.
eval
()
result
=
model
(
*
paddle_tensor_feed
)
else
:
paddle_path
=
os
.
path
.
join
(
self
.
pwd
,
self
.
name
,
self
.
name
+
'_'
+
str
(
ver
)
+
'_paddle/inference_model/model'
)
paddle
.
disable_static
()
# run
model
=
paddle
.
jit
.
load
(
paddle_path
)
model
.
eval
()
result
=
model
(
*
paddle_tensor_feed
)
shutil
.
rmtree
(
os
.
path
.
join
(
self
.
pwd
,
self
.
name
))
paddle_model_path
=
os
.
path
.
join
(
self
.
pwd
,
self
.
name
,
self
.
name
+
'_'
+
str
(
ver
)
+
'_paddle/inference_model/model.pdmodel'
)
paddle_param_path
=
os
.
path
.
join
(
self
.
pwd
,
self
.
name
,
self
.
name
+
'_'
+
str
(
ver
)
+
'_paddle/inference_model/model.pdiparams'
)
config
=
Config
()
config
.
set_prog_file
(
paddle_model_path
)
if
os
.
path
.
exists
(
paddle_param_path
):
config
.
set_params_file
(
paddle_param_path
)
# initial GPU memory(M), device ID
config
.
enable_use_gpu
(
200
,
0
)
# optimize graph and fuse op
config
.
switch_ir_optim
(
False
)
config
.
enable_memory_optim
()
# disable feed, fetch OP, needed by zero_copy_run
config
.
switch_use_feed_fetch_ops
(
False
)
config
.
disable_glog_info
()
pass_builder
=
config
.
pass_builder
()
predictor
=
create_predictor
(
config
)
input_names
=
predictor
.
get_input_names
()
output_names
=
predictor
.
get_output_names
()
for
i
in
range
(
len
(
input_names
)):
input_tensor
=
predictor
.
get_input_handle
(
input_names
[
i
])
input_tensor
.
copy_from_cpu
(
self
.
input_feed
[
self
.
inputs_name
[
i
]])
predictor
.
run
()
for
output_name
in
output_names
:
output_tensor
=
predictor
.
get_output_handle
(
output_name
)
result
.
append
(
output_tensor
.
copy_to_cpu
())
shutil
.
rmtree
(
os
.
path
.
join
(
self
.
pwd
,
self
.
name
,
self
.
name
+
'_'
+
str
(
ver
)
+
'_paddle/'
))
# get paddle outputs
if
isinstance
(
result
,
(
tuple
,
list
)):
if
isinstance
(
result
[
0
],
np
.
ndarray
):
result
=
tuple
(
out
for
out
in
result
)
else
:
result
=
tuple
(
out
.
numpy
()
for
out
in
result
)
else
:
if
isinstance
(
result
,
np
.
ndarray
):
result
=
(
result
,
)
else
:
result
=
(
result
.
numpy
(),
)
return
result
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录