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
ecf260d8
Commit
ecf260d8
authored
Feb 25, 2019
by
Khalique
Browse files
testing migraphx_tf py independently
parent
395ccd2c
Changes
8
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
31 additions
and
43 deletions
+31
-43
src/include/migraphx/onnx.hpp
src/include/migraphx/onnx.hpp
+1
-17
src/include/migraphx/operators.hpp
src/include/migraphx/operators.hpp
+19
-0
src/include/migraphx/tf.hpp
src/include/migraphx/tf.hpp
+1
-19
src/onnx/onnx.cpp
src/onnx/onnx.cpp
+1
-1
src/py/CMakeLists.txt
src/py/CMakeLists.txt
+1
-1
src/py/migraphx_py.cpp
src/py/migraphx_py.cpp
+5
-2
src/tf/tf.cpp
src/tf/tf.cpp
+1
-1
test/onnx/onnx_test.cpp
test/onnx/onnx_test.cpp
+2
-2
No files found.
src/include/migraphx/onnx.hpp
View file @
ecf260d8
...
@@ -7,23 +7,7 @@
...
@@ -7,23 +7,7 @@
namespace
migraphx
{
namespace
migraphx
{
inline
namespace
MIGRAPHX_INLINE_NS
{
inline
namespace
MIGRAPHX_INLINE_NS
{
struct
unknown
{
std
::
string
op
;
std
::
string
name
()
const
{
return
"unknown:"
+
op
;
}
shape
compute_shape
(
std
::
vector
<
shape
>
input
)
const
{
if
(
input
.
empty
())
return
{};
else
return
input
.
front
();
}
friend
std
::
ostream
&
operator
<<
(
std
::
ostream
&
os
,
const
unknown
&
x
)
{
os
<<
x
.
name
();
return
os
;
}
};
/// Create a program from an onnx file
/// Create a program from an onnx file
program
parse_onnx
(
const
std
::
string
&
name
);
program
parse_onnx
(
const
std
::
string
&
name
);
...
...
src/include/migraphx/operators.hpp
View file @
ecf260d8
...
@@ -1271,6 +1271,25 @@ struct undefined
...
@@ -1271,6 +1271,25 @@ struct undefined
argument
compute
(
const
shape
&
,
const
std
::
vector
<
argument
>&
)
const
{
return
{{},
nullptr
};
}
argument
compute
(
const
shape
&
,
const
std
::
vector
<
argument
>&
)
const
{
return
{{},
nullptr
};
}
};
};
struct
unknown
{
std
::
string
op
;
std
::
string
name
()
const
{
return
"unknown:"
+
op
;
}
shape
compute_shape
(
std
::
vector
<
shape
>
input
)
const
{
if
(
input
.
empty
())
return
{};
else
return
input
.
front
();
}
friend
std
::
ostream
&
operator
<<
(
std
::
ostream
&
os
,
const
unknown
&
x
)
{
os
<<
x
.
name
();
return
os
;
}
};
}
// namespace op
}
// namespace op
}
// namespace MIGRAPHX_INLINE_NS
}
// namespace MIGRAPHX_INLINE_NS
}
// namespace migraphx
}
// namespace migraphx
...
...
src/include/migraphx/tf.hpp
View file @
ecf260d8
...
@@ -7,25 +7,7 @@
...
@@ -7,25 +7,7 @@
namespace
migraphx
{
namespace
migraphx
{
inline
namespace
MIGRAPHX_INLINE_NS
{
inline
namespace
MIGRAPHX_INLINE_NS
{
struct
unknown
/// Create a program from a tf pb file (default is nhwc format)
{
std
::
string
op
;
std
::
string
name
()
const
{
return
"unknown:"
+
op
;
}
shape
compute_shape
(
std
::
vector
<
shape
>
input
)
const
{
if
(
input
.
empty
())
return
{};
else
return
input
.
front
();
}
friend
std
::
ostream
&
operator
<<
(
std
::
ostream
&
os
,
const
unknown
&
x
)
{
os
<<
x
.
name
();
return
os
;
}
};
/// Create a program from an onnx file
program
parse_tf
(
const
std
::
string
&
name
,
bool
is_nhwc
);
program
parse_tf
(
const
std
::
string
&
name
,
bool
is_nhwc
);
}
// namespace MIGRAPHX_INLINE_NS
}
// namespace MIGRAPHX_INLINE_NS
...
...
src/onnx/onnx.cpp
View file @
ecf260d8
...
@@ -996,7 +996,7 @@ struct onnx_parser
...
@@ -996,7 +996,7 @@ struct onnx_parser
std
::
vector
<
instruction_ref
>
result
;
std
::
vector
<
instruction_ref
>
result
;
if
(
ops
.
count
(
node
.
op_type
())
==
0
)
if
(
ops
.
count
(
node
.
op_type
())
==
0
)
{
{
result
.
push_back
(
prog
.
add_instruction
(
unknown
{
node
.
op_type
()},
args
));
result
.
push_back
(
prog
.
add_instruction
(
op
::
unknown
{
node
.
op_type
()},
args
));
}
}
else
else
{
{
...
...
src/py/CMakeLists.txt
View file @
ecf260d8
...
@@ -12,7 +12,7 @@ if(MIGRAPHX_ENABLE_PYTHON)
...
@@ -12,7 +12,7 @@ if(MIGRAPHX_ENABLE_PYTHON)
C_VISIBILITY_PRESET hidden
C_VISIBILITY_PRESET hidden
CXX_VISIBILITY_PRESET hidden
CXX_VISIBILITY_PRESET hidden
)
)
target_link_libraries
(
migraphx_py PRIVATE migraphx migraphx_
onnx
migraphx_cpu
)
target_link_libraries
(
migraphx_py PRIVATE migraphx migraphx_
tf
migraphx_cpu
)
if
(
MIGRAPHX_ENABLE_GPU
)
if
(
MIGRAPHX_ENABLE_GPU
)
target_link_libraries
(
migraphx_py PRIVATE migraphx_gpu
)
target_link_libraries
(
migraphx_py PRIVATE migraphx_gpu
)
target_compile_definitions
(
migraphx_py PRIVATE -DHAVE_GPU
)
target_compile_definitions
(
migraphx_py PRIVATE -DHAVE_GPU
)
...
...
src/py/migraphx_py.cpp
View file @
ecf260d8
...
@@ -4,7 +4,8 @@
...
@@ -4,7 +4,8 @@
#include <migraphx/program.hpp>
#include <migraphx/program.hpp>
#include <migraphx/generate.hpp>
#include <migraphx/generate.hpp>
#include <migraphx/cpu/target.hpp>
#include <migraphx/cpu/target.hpp>
#include <migraphx/onnx.hpp>
// #include <migraphx/onnx.hpp>
#include <migraphx/tf.hpp>
#include <migraphx/stringutils.hpp>
#include <migraphx/stringutils.hpp>
#ifdef HAVE_GPU
#ifdef HAVE_GPU
#include <migraphx/gpu/target.hpp>
#include <migraphx/gpu/target.hpp>
...
@@ -155,7 +156,9 @@ PYBIND11_MODULE(migraphx, m)
...
@@ -155,7 +156,9 @@ PYBIND11_MODULE(migraphx, m)
.
def
(
"__ne__"
,
std
::
not_equal_to
<
migraphx
::
program
>
{})
.
def
(
"__ne__"
,
std
::
not_equal_to
<
migraphx
::
program
>
{})
.
def
(
"__repr__"
,
[](
const
migraphx
::
program
&
p
)
{
return
migraphx
::
to_string
(
p
);
});
.
def
(
"__repr__"
,
[](
const
migraphx
::
program
&
p
)
{
return
migraphx
::
to_string
(
p
);
});
m
.
def
(
"parse_onnx"
,
&
migraphx
::
parse_onnx
);
// m.def("parse_onnx", &migraphx::parse_onnx);
m
.
def
(
"parse_tf"
,
&
migraphx
::
parse_tf
,
"Parse tf protobuf (default format is nhwc)"
,
py
::
arg
(
"filename"
),
py
::
arg
(
"is_nhwc"
)
=
true
);
m
.
def
(
"get_target"
,
[](
const
std
::
string
&
name
)
->
migraphx
::
target
{
m
.
def
(
"get_target"
,
[](
const
std
::
string
&
name
)
->
migraphx
::
target
{
if
(
name
==
"cpu"
)
if
(
name
==
"cpu"
)
...
...
src/tf/tf.cpp
View file @
ecf260d8
...
@@ -461,7 +461,7 @@ struct tf_parser
...
@@ -461,7 +461,7 @@ struct tf_parser
}
}
if
(
ops
.
count
(
node
.
op
())
==
0
)
if
(
ops
.
count
(
node
.
op
())
==
0
)
{
{
instructions
[
name
]
=
prog
.
add_instruction
(
unknown
{
node
.
op
()},
args
);
instructions
[
name
]
=
prog
.
add_instruction
(
op
::
unknown
{
node
.
op
()},
args
);
}
}
else
else
{
{
...
...
test/onnx/onnx_test.cpp
View file @
ecf260d8
...
@@ -392,8 +392,8 @@ TEST_CASE(unknown_test)
...
@@ -392,8 +392,8 @@ TEST_CASE(unknown_test)
migraphx
::
program
p
;
migraphx
::
program
p
;
auto
l0
=
p
.
add_parameter
(
"0"
,
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2
,
3
,
4
,
5
}});
auto
l0
=
p
.
add_parameter
(
"0"
,
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
2
,
3
,
4
,
5
}});
auto
l1
=
p
.
add_parameter
(
"1"
,
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
3
,
4
}});
auto
l1
=
p
.
add_parameter
(
"1"
,
migraphx
::
shape
{
migraphx
::
shape
::
float_type
,
{
3
,
4
}});
auto
l2
=
p
.
add_instruction
(
migraphx
::
unknown
{
"Unknown"
},
l0
,
l1
);
auto
l2
=
p
.
add_instruction
(
migraphx
::
op
::
unknown
{
"Unknown"
},
l0
,
l1
);
p
.
add_instruction
(
migraphx
::
unknown
{
"Unknown"
},
l2
);
p
.
add_instruction
(
migraphx
::
op
::
unknown
{
"Unknown"
},
l2
);
auto
prog
=
migraphx
::
parse_onnx
(
"unknown_test.onnx"
);
auto
prog
=
migraphx
::
parse_onnx
(
"unknown_test.onnx"
);
EXPECT
(
p
==
prog
);
EXPECT
(
p
==
prog
);
...
...
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