Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
gaoqiong
MIGraphX
Commits
43725424
Commit
43725424
authored
Jul 21, 2021
by
Khalique
Browse files
add onnx test
parent
54e1dfd1
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
130 additions
and
92 deletions
+130
-92
test/onnx/flatten_nonstd_test.onnx
test/onnx/flatten_nonstd_test.onnx
+0
-0
test/onnx/gen_onnx.py
test/onnx/gen_onnx.py
+115
-92
test/onnx/onnx_test.cpp
test/onnx/onnx_test.cpp
+15
-0
No files found.
test/onnx/flatten_nonstd_test.onnx
0 → 100644
View file @
43725424
File added
test/onnx/gen_onnx.py
View file @
43725424
...
...
@@ -1232,98 +1232,6 @@ def equal_bool_test():
return
([
node1
,
node2
],
[
x1
,
x2
],
[
y
])
@
onnx_test
def
greater_test
():
ax1
=
np
.
array
([
1.0
,
2.0
,
3.0
,
4.0
,
5.0
,
6.0
])
x1
=
helper
.
make_tensor
(
"x1"
,
data_type
=
TensorProto
.
FLOAT
,
dims
=
(
2
,
3
),
vals
=
ax1
.
astype
(
np
.
float32
))
x2
=
helper
.
make_tensor_value_info
(
'x2'
,
TensorProto
.
FLOAT
,
[
2
,
3
])
y
=
helper
.
make_tensor_value_info
(
'y'
,
TensorProto
.
FLOAT
,
[
2
,
3
])
node
=
onnx
.
helper
.
make_node
(
'Greater'
,
inputs
=
[
'x1'
,
'x2'
],
outputs
=
[
'y'
],
)
return
([
node
],
[
x2
],
[
y
],
[
x1
])
@
onnx_test
def
greater_bool_test
():
x1
=
helper
.
make_tensor_value_info
(
'x1'
,
TensorProto
.
FLOAT
,
[
2
,
3
])
x2
=
helper
.
make_tensor_value_info
(
'x2'
,
TensorProto
.
BOOL
,
[
2
,
3
])
y
=
helper
.
make_tensor_value_info
(
'y'
,
TensorProto
.
FLOAT
,
[
2
,
3
])
node1
=
onnx
.
helper
.
make_node
(
'Cast'
,
inputs
=
[
'x1'
],
outputs
=
[
'bx1'
],
to
=
9
)
node2
=
onnx
.
helper
.
make_node
(
'Greater'
,
inputs
=
[
'bx1'
,
'x2'
],
outputs
=
[
'y'
],
)
return
([
node1
,
node2
],
[
x1
,
x2
],
[
y
])
@
onnx_test
def
less_test
():
ax1
=
np
.
array
([
1.0
,
2.0
,
3.0
,
4.0
,
5.0
,
6.0
])
x1
=
helper
.
make_tensor
(
"x1"
,
data_type
=
TensorProto
.
FLOAT
,
dims
=
(
2
,
3
),
vals
=
ax1
.
astype
(
np
.
float32
))
x2
=
helper
.
make_tensor_value_info
(
'x2'
,
TensorProto
.
FLOAT
,
[
2
,
3
])
y
=
helper
.
make_tensor_value_info
(
'y'
,
TensorProto
.
FLOAT
,
[
2
,
3
])
node
=
onnx
.
helper
.
make_node
(
'Less'
,
inputs
=
[
'x1'
,
'x2'
],
outputs
=
[
'y'
],
)
return
([
node
],
[
x2
],
[
y
],
[
x1
])
@
onnx_test
def
less_bool_test
():
x1
=
helper
.
make_tensor_value_info
(
'x1'
,
TensorProto
.
FLOAT
,
[
2
,
3
])
x2
=
helper
.
make_tensor_value_info
(
'x2'
,
TensorProto
.
BOOL
,
[
2
,
3
])
y
=
helper
.
make_tensor_value_info
(
'y'
,
TensorProto
.
FLOAT
,
[
2
,
3
])
node1
=
onnx
.
helper
.
make_node
(
'Cast'
,
inputs
=
[
'x1'
],
outputs
=
[
'bx1'
],
to
=
9
)
node2
=
onnx
.
helper
.
make_node
(
'Less'
,
inputs
=
[
'bx1'
,
'x2'
],
outputs
=
[
'y'
],
)
return
([
node1
,
node2
],
[
x1
,
x2
],
[
y
])
@
onnx_test
def
lessorequal_test
():
x1
=
helper
.
make_tensor_value_info
(
'x1'
,
TensorProto
.
FLOAT
,
[
3
])
x2
=
helper
.
make_tensor_value_info
(
'x2'
,
TensorProto
.
FLOAT
,
[
3
])
y
=
helper
.
make_tensor_value_info
(
'y'
,
TensorProto
.
FLOAT
,
[
3
])
node
=
onnx
.
helper
.
make_node
(
'LessOrEqual'
,
inputs
=
[
'x1'
,
'x2'
],
outputs
=
[
'y'
],
)
return
([
node
],
[
x1
,
x2
],
[
y
])
@
onnx_test
def
erf_test
():
x
=
helper
.
make_tensor_value_info
(
'x'
,
TensorProto
.
FLOAT
,
[
10
,
15
])
...
...
@@ -1391,6 +1299,29 @@ def flatten_test():
return
([
node
,
node2
],
[
x
],
[
y
,
y2
])
@
onnx_test
def
flatten_nonstd_test
():
x
=
helper
.
make_tensor_value_info
(
'0'
,
TensorProto
.
FLOAT
,
[
2
,
3
,
5
,
4
])
y
=
helper
.
make_tensor_value_info
(
'2'
,
TensorProto
.
FLOAT
,
[
6
,
20
])
y2
=
helper
.
make_tensor_value_info
(
'3'
,
TensorProto
.
FLOAT
,
[
2
,
60
])
trans
=
helper
.
make_node
(
'Transpose'
,
inputs
=
[
'0'
],
outputs
=
[
'tx'
],
perm
=
[
0
,
1
,
3
,
2
],
)
node
=
onnx
.
helper
.
make_node
(
'Flatten'
,
inputs
=
[
'tx'
],
axis
=
2
,
outputs
=
[
'2'
])
node2
=
onnx
.
helper
.
make_node
(
'Flatten'
,
inputs
=
[
'tx'
],
outputs
=
[
'3'
])
return
([
trans
,
node
,
node2
],
[
x
],
[
y
,
y2
])
@
onnx_test
def
floor_test
():
x
=
helper
.
make_tensor_value_info
(
'x'
,
TensorProto
.
FLOAT
,
[
10
])
...
...
@@ -1534,6 +1465,44 @@ def globalmaxpool_test():
return
([
node
],
[
x
],
[
y
])
@
onnx_test
def
greater_test
():
ax1
=
np
.
array
([
1.0
,
2.0
,
3.0
,
4.0
,
5.0
,
6.0
])
x1
=
helper
.
make_tensor
(
"x1"
,
data_type
=
TensorProto
.
FLOAT
,
dims
=
(
2
,
3
),
vals
=
ax1
.
astype
(
np
.
float32
))
x2
=
helper
.
make_tensor_value_info
(
'x2'
,
TensorProto
.
FLOAT
,
[
2
,
3
])
y
=
helper
.
make_tensor_value_info
(
'y'
,
TensorProto
.
FLOAT
,
[
2
,
3
])
node
=
onnx
.
helper
.
make_node
(
'Greater'
,
inputs
=
[
'x1'
,
'x2'
],
outputs
=
[
'y'
],
)
return
([
node
],
[
x2
],
[
y
],
[
x1
])
@
onnx_test
def
greater_bool_test
():
x1
=
helper
.
make_tensor_value_info
(
'x1'
,
TensorProto
.
FLOAT
,
[
2
,
3
])
x2
=
helper
.
make_tensor_value_info
(
'x2'
,
TensorProto
.
BOOL
,
[
2
,
3
])
y
=
helper
.
make_tensor_value_info
(
'y'
,
TensorProto
.
FLOAT
,
[
2
,
3
])
node1
=
onnx
.
helper
.
make_node
(
'Cast'
,
inputs
=
[
'x1'
],
outputs
=
[
'bx1'
],
to
=
9
)
node2
=
onnx
.
helper
.
make_node
(
'Greater'
,
inputs
=
[
'bx1'
,
'x2'
],
outputs
=
[
'y'
],
)
return
([
node1
,
node2
],
[
x1
,
x2
],
[
y
])
@
onnx_test
def
group_conv_test
():
x
=
helper
.
make_tensor_value_info
(
'0'
,
TensorProto
.
FLOAT
,
[
1
,
4
,
16
,
16
])
...
...
@@ -2231,6 +2200,60 @@ def leaky_relu_test():
return
([
node
],
[
x
],
[
y
])
@
onnx_test
def
less_test
():
ax1
=
np
.
array
([
1.0
,
2.0
,
3.0
,
4.0
,
5.0
,
6.0
])
x1
=
helper
.
make_tensor
(
"x1"
,
data_type
=
TensorProto
.
FLOAT
,
dims
=
(
2
,
3
),
vals
=
ax1
.
astype
(
np
.
float32
))
x2
=
helper
.
make_tensor_value_info
(
'x2'
,
TensorProto
.
FLOAT
,
[
2
,
3
])
y
=
helper
.
make_tensor_value_info
(
'y'
,
TensorProto
.
FLOAT
,
[
2
,
3
])
node
=
onnx
.
helper
.
make_node
(
'Less'
,
inputs
=
[
'x1'
,
'x2'
],
outputs
=
[
'y'
],
)
return
([
node
],
[
x2
],
[
y
],
[
x1
])
@
onnx_test
def
less_bool_test
():
x1
=
helper
.
make_tensor_value_info
(
'x1'
,
TensorProto
.
FLOAT
,
[
2
,
3
])
x2
=
helper
.
make_tensor_value_info
(
'x2'
,
TensorProto
.
BOOL
,
[
2
,
3
])
y
=
helper
.
make_tensor_value_info
(
'y'
,
TensorProto
.
FLOAT
,
[
2
,
3
])
node1
=
onnx
.
helper
.
make_node
(
'Cast'
,
inputs
=
[
'x1'
],
outputs
=
[
'bx1'
],
to
=
9
)
node2
=
onnx
.
helper
.
make_node
(
'Less'
,
inputs
=
[
'bx1'
,
'x2'
],
outputs
=
[
'y'
],
)
return
([
node1
,
node2
],
[
x1
,
x2
],
[
y
])
@
onnx_test
def
lessorequal_test
():
x1
=
helper
.
make_tensor_value_info
(
'x1'
,
TensorProto
.
FLOAT
,
[
3
])
x2
=
helper
.
make_tensor_value_info
(
'x2'
,
TensorProto
.
FLOAT
,
[
3
])
y
=
helper
.
make_tensor_value_info
(
'y'
,
TensorProto
.
FLOAT
,
[
3
])
node
=
onnx
.
helper
.
make_node
(
'LessOrEqual'
,
inputs
=
[
'x1'
,
'x2'
],
outputs
=
[
'y'
],
)
return
([
node
],
[
x1
,
x2
],
[
y
])
@
onnx_test
def
log_test
():
x
=
helper
.
make_tensor_value_info
(
'x'
,
TensorProto
.
FLOAT
,
[
10
])
...
...
test/onnx/onnx_test.cpp
View file @
43725424
...
...
@@ -1183,6 +1183,21 @@ TEST_CASE(flatten_test)
EXPECT
(
p
==
prog
);
}
TEST_CASE
(
flatten_nonstd_test
)
{
migraphx
::
program
p
;
auto
*
mm
=
p
.
get_main_module
();
auto
l0
=
mm
->
add_parameter
(
"0"
,
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2
,
3
,
5
,
4
}});
auto
l1
=
mm
->
add_instruction
(
migraphx
::
make_op
(
"transpose"
,
{{
"dims"
,
{
0
,
1
,
3
,
2
}}}),
l0
);
auto
l2
=
mm
->
add_instruction
(
migraphx
::
make_op
(
"contiguous"
),
l1
);
mm
->
add_instruction
(
migraphx
::
make_op
(
"flatten"
,
{{
"axis"
,
2
}}),
l2
);
auto
l3
=
mm
->
add_instruction
(
migraphx
::
make_op
(
"contiguous"
),
l1
);
mm
->
add_instruction
(
migraphx
::
make_op
(
"flatten"
,
{{
"axis"
,
1
}}),
l3
);
auto
prog
=
optimize_onnx
(
"flatten_nonstd_test.onnx"
);
EXPECT
(
p
==
prog
);
}
TEST_CASE
(
floor_test
)
{
migraphx
::
program
p
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment