Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
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
Hide 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