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
95e70f20
Commit
95e70f20
authored
Jun 20, 2018
by
Paul
Browse files
Add pooling and run on the cpu
parent
9e19f2d7
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
29 additions
and
1 deletion
+29
-1
src/onnx/CMakeLists.txt
src/onnx/CMakeLists.txt
+1
-1
src/onnx/read_onnx.cpp
src/onnx/read_onnx.cpp
+24
-0
src/targets/cpu/cpu_target.cpp
src/targets/cpu/cpu_target.cpp
+4
-0
No files found.
src/onnx/CMakeLists.txt
View file @
95e70f20
...
@@ -8,4 +8,4 @@ target_link_libraries(onnx-proto PRIVATE ${PROTOBUF_LIBRARY})
...
@@ -8,4 +8,4 @@ target_link_libraries(onnx-proto PRIVATE ${PROTOBUF_LIBRARY})
add_executable
(
read_onnx read_onnx.cpp
)
add_executable
(
read_onnx read_onnx.cpp
)
rocm_clang_tidy_check
(
read_onnx
)
rocm_clang_tidy_check
(
read_onnx
)
target_link_libraries
(
read_onnx onnx-proto rtg
)
target_link_libraries
(
read_onnx onnx-proto rtg
rtg_cpu
)
src/onnx/read_onnx.cpp
View file @
95e70f20
...
@@ -12,6 +12,9 @@
...
@@ -12,6 +12,9 @@
#include <rtg/program.hpp>
#include <rtg/program.hpp>
#include <rtg/operators.hpp>
#include <rtg/operators.hpp>
#include <rtg/cpu/cpu_target.hpp>
#include <random>
struct
unknown
struct
unknown
{
{
std
::
string
op
;
std
::
string
op
;
...
@@ -334,6 +337,22 @@ struct onnx_parser
...
@@ -334,6 +337,22 @@ struct onnx_parser
}
}
};
};
// TODO: Move this to a seperate header
std
::
vector
<
float
>
get_tensor_data
(
rtg
::
shape
s
)
{
std
::
vector
<
float
>
result
(
s
.
elements
());
std
::
mt19937
engine
{
0
};
std
::
uniform_real_distribution
<>
dist
;
std
::
generate
(
result
.
begin
(),
result
.
end
(),
[
&
]
{
return
dist
(
engine
);
});
return
result
;
}
rtg
::
argument
get_tensor_argument
(
rtg
::
shape
s
)
{
auto
v
=
get_tensor_data
(
s
);
return
{
s
,
[
v
]()
mutable
{
return
reinterpret_cast
<
char
*>
(
v
.
data
());
}};
}
int
main
(
int
argc
,
char
const
*
argv
[])
int
main
(
int
argc
,
char
const
*
argv
[])
{
{
if
(
argc
>
1
)
if
(
argc
>
1
)
...
@@ -344,6 +363,11 @@ int main(int argc, char const* argv[])
...
@@ -344,6 +363,11 @@ int main(int argc, char const* argv[])
try
try
{
{
parser
.
parse_from
(
input
);
parser
.
parse_from
(
input
);
parser
.
prog
.
compile
(
rtg
::
cpu
::
cpu_target
{});
auto
s
=
parser
.
prog
.
get_parameter_shape
(
"Input3"
);
auto
input3
=
get_tensor_argument
(
s
);
auto
out
=
parser
.
prog
.
eval
({{
"Input3"
,
input3
}});
(
void
)
out
;
}
}
catch
(...)
catch
(...)
{
{
...
...
src/targets/cpu/cpu_target.cpp
View file @
95e70f20
...
@@ -586,6 +586,10 @@ struct cpu_apply
...
@@ -586,6 +586,10 @@ struct cpu_apply
{
{
apply_activation
(
it
);
apply_activation
(
it
);
}
}
else
if
(
it
->
op
.
name
()
==
"pooling"
)
{
apply_pooling
(
it
);
}
else
if
(
apply_map
.
count
(
it
->
op
.
name
())
>
0
)
else
if
(
apply_map
.
count
(
it
->
op
.
name
())
>
0
)
{
{
apply_map
.
at
(
it
->
op
.
name
())(
it
);
apply_map
.
at
(
it
->
op
.
name
())(
it
);
...
...
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