Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
X2Paddle
提交
d7cde00c
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看板
提交
d7cde00c
编写于
6月 08, 2022
作者:
W
wjj19950828
浏览文件
操作
浏览文件
下载
差异文件
Merge remote-tracking branch 'upstream/develop' into rm_fluid
上级
d0ec9c38
71018375
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
37 addition
and
39 deletion
+37
-39
x2paddle/op_mapper/onnx2paddle/opset9/opset.py
x2paddle/op_mapper/onnx2paddle/opset9/opset.py
+37
-39
未找到文件。
x2paddle/op_mapper/onnx2paddle/opset9/opset.py
浏览文件 @
d7cde00c
...
...
@@ -1882,28 +1882,11 @@ class OpSet9():
@
print_mapping_info
def
NonZero
(
self
,
node
):
val_x
=
self
.
graph
.
get_input_node
(
node
,
idx
=
0
,
copy
=
True
)
val_x_dim
=
len
(
val_x
.
out_shapes
[
0
])
if
val_x_dim
==
1
:
self
.
paddle_graph
.
add_layer
(
"paddle.nonzero"
,
inputs
=
{
"x"
:
val_x
.
name
},
outputs
=
[
val_x
.
name
])
self
.
paddle_graph
.
add_layer
(
"paddle.transpose"
,
inputs
=
{
"x"
:
val_x
.
name
},
outputs
=
[
node
.
layer_name
],
perm
=
[
1
,
0
])
if
val_x_dim
>
1
:
self
.
paddle_graph
.
add_layer
(
"paddle.nonzero"
,
inputs
=
{
"x"
:
val_x
.
name
},
outputs
=
[
val_x
.
name
])
self
.
paddle_graph
.
add_layer
(
"paddle.split"
,
inputs
=
{
"x"
:
val_x
.
name
},
outputs
=
[
val_x
.
name
],
num_or_sections
=
1
,
axis
=
val_x_dim
)
as_tuple
=
True
)
self
.
paddle_graph
.
add_layer
(
"paddle.concat"
,
inputs
=
{
"x"
:
val_x
.
name
},
outputs
=
[
node
.
name
])
...
...
@@ -2579,18 +2562,33 @@ class OpSet9():
def
TopK
(
self
,
node
):
val_x
=
self
.
graph
.
get_input_node
(
node
,
idx
=
0
,
copy
=
True
)
val_k
=
self
.
graph
.
get_input_node
(
node
,
idx
=
1
,
copy
=
True
)
if
val_k
.
dtype
!=
"int32"
:
self
.
paddle_graph
.
add_layer
(
"paddle.cast"
,
inputs
=
{
"x"
:
val_k
.
name
},
outputs
=
[
val_k
.
name
],
dtype
=
string
(
'int32'
))
layer_attrs
=
dict
()
layer_attrs
[
"axis"
]
=
node
.
get_attr
(
'axis'
,
-
1
)
layer_attrs
[
"largest"
]
=
True
if
node
.
get_attr
(
'largest'
,
1
)
==
1
else
False
layer_attrs
[
"sorted"
]
=
True
if
node
.
get_attr
(
'sorted'
,
1
)
==
1
else
False
k
=
_const_weight_or_none
(
val_k
)
if
isinstance
(
k
,
(
list
,
tuple
,
np
.
ndarray
)):
k
=
k
[
0
]
# If k can get the value directly, it is used as an attribute; otherwise it is used as an input tensor
if
k
is
not
None
:
layer_attrs
[
"k"
]
=
k
self
.
paddle_graph
.
add_layer
(
"paddle.topk"
,
inputs
=
{
"x"
:
val_x
.
name
},
outputs
=
[
"{}_p{}"
.
format
(
node
.
layer_name
,
0
),
"{}_p{}"
.
format
(
node
.
layer_name
,
1
)
],
**
layer_attrs
)
else
:
if
val_k
.
dtype
!=
"int32"
:
self
.
paddle_graph
.
add_layer
(
"paddle.cast"
,
inputs
=
{
"x"
:
val_k
.
name
},
outputs
=
[
val_k
.
name
],
dtype
=
string
(
'int32'
))
self
.
paddle_graph
.
add_layer
(
"paddle.topk"
,
inputs
=
{
"x"
:
val_x
.
name
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录