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
af1d7a1f
Commit
af1d7a1f
authored
Jul 10, 2018
by
Scott Thornton
Browse files
Fixes for PR
parent
583c76f2
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
21 additions
and
28 deletions
+21
-28
src/include/migraph/operators.hpp
src/include/migraph/operators.hpp
+16
-12
src/onnx/mnist.cpp
src/onnx/mnist.cpp
+4
-15
test/cpu_ops_test.cpp
test/cpu_ops_test.cpp
+1
-1
No files found.
src/include/migraph/operators.hpp
View file @
af1d7a1f
...
@@ -193,6 +193,7 @@ struct pooling
...
@@ -193,6 +193,7 @@ struct pooling
std
::
array
<
std
::
size_t
,
2
>
stride
=
{{
1
,
1
}};
std
::
array
<
std
::
size_t
,
2
>
stride
=
{{
1
,
1
}};
std
::
array
<
std
::
size_t
,
2
>
lengths
=
{{
1
,
1
}};
std
::
array
<
std
::
size_t
,
2
>
lengths
=
{{
1
,
1
}};
std
::
string
name
()
const
{
return
"pooling"
;
}
std
::
string
name
()
const
{
return
"pooling"
;
}
shape
compute_shape
(
std
::
vector
<
shape
>
inputs
)
const
shape
compute_shape
(
std
::
vector
<
shape
>
inputs
)
const
{
{
check_shapes
{
inputs
,
*
this
}.
has
(
1
).
only_dims
(
4
);
check_shapes
{
inputs
,
*
this
}.
has
(
1
).
only_dims
(
4
);
...
@@ -203,17 +204,20 @@ struct pooling
...
@@ -203,17 +204,20 @@ struct pooling
assert
(
lengths
[
0
]
<
(
input
.
lens
()[
2
]
+
2
*
padding
[
0
]));
assert
(
lengths
[
0
]
<
(
input
.
lens
()[
2
]
+
2
*
padding
[
0
]));
assert
(
lengths
[
1
]
<
(
input
.
lens
()[
3
]
+
2
*
padding
[
1
]));
assert
(
lengths
[
1
]
<
(
input
.
lens
()[
3
]
+
2
*
padding
[
1
]));
return
{
return
{
t
,
t
,
{
{
input
.
lens
()[
0
],
input
.
lens
()[
0
],
input
.
lens
()[
1
],
input
.
lens
()[
1
],
std
::
size_t
(
std
::
max
<
std
::
ptrdiff_t
>
(
std
::
size_t
(
std
::
max
<
std
::
ptrdiff_t
>
(
1
,
(
input
.
lens
()[
2
]
+
2
*
padding
[
0
]
-
lengths
[
0
])
/
stride
[
0
])
+
1
,
1
),
std
::
ceil
((
input
.
lens
()[
2
]
+
2
*
padding
[
0
]
-
lengths
[
0
])
/
static_cast
<
float
>
(
stride
[
0
]))
+
1
)),
std
::
size_t
(
std
::
max
<
std
::
ptrdiff_t
>
(
std
::
size_t
(
std
::
max
<
std
::
ptrdiff_t
>
(
1
,
(
input
.
lens
()[
3
]
+
2
*
padding
[
1
]
-
lengths
[
1
])
/
stride
[
1
])
+
1
,
1
),
std
::
ceil
((
input
.
lens
()[
3
]
+
2
*
padding
[
1
]
-
lengths
[
1
])
/
static_cast
<
float
>
(
stride
[
1
]))
+
1
)),
}};
}};
}
}
...
...
src/onnx/mnist.cpp
View file @
af1d7a1f
#include <cstdio>
#include <cstdio>
#include <string>
#include <string>
#include <fstream>
#include <fstream>
#include <numeric>
#include <stdexcept>
#include <stdexcept>
#include <migraph/onnx.hpp>
#include <migraph/onnx.hpp>
...
@@ -43,12 +44,6 @@ std::vector<float> read_mnist_images(std::string full_path, int& number_of_image
...
@@ -43,12 +44,6 @@ std::vector<float> read_mnist_images(std::string full_path, int& number_of_image
image_size
=
n_rows
*
n_cols
;
image_size
=
n_rows
*
n_cols
;
// uchar** _dataset = new uchar*[number_of_images];
// for(int i = 0; i < number_of_images; i++) {
// _dataset[i] = new uchar[image_size];
// file.read((char *)_dataset[i], image_size);
// }
std
::
vector
<
float
>
result
(
number_of_images
*
image_size
);
std
::
vector
<
float
>
result
(
number_of_images
*
image_size
);
for
(
int
i
=
0
;
i
<
number_of_images
;
i
++
)
for
(
int
i
=
0
;
i
<
number_of_images
;
i
++
)
{
{
...
@@ -113,14 +108,9 @@ std::vector<int32_t> read_mnist_labels(std::string full_path, int& number_of_lab
...
@@ -113,14 +108,9 @@ std::vector<int32_t> read_mnist_labels(std::string full_path, int& number_of_lab
std
::
vector
<
float
>
softmax
(
std
::
vector
<
float
>
p
)
{
std
::
vector
<
float
>
softmax
(
std
::
vector
<
float
>
p
)
{
size_t
n
=
p
.
size
();
size_t
n
=
p
.
size
();
std
::
vector
<
float
>
result
(
n
);
std
::
vector
<
float
>
result
(
n
);
float
s
=
0.0
f
;
std
::
transform
(
p
.
begin
(),
p
.
end
(),
result
.
begin
(),
[]
(
auto
x
)
{
return
std
::
exp
(
x
);});
for
(
size_t
i
=
0
;
i
<
n
;
i
++
)
{
float
s
=
std
::
accumulate
(
result
.
begin
(),
result
.
end
(),
0.0
f
,
std
::
plus
<
float
>
());
result
[
i
]
=
std
::
exp
(
p
[
i
]);
std
::
transform
(
result
.
begin
(),
result
.
end
(),
result
.
begin
(),
[
=
]
(
auto
x
)
{
return
x
/
s
;});
s
+=
result
[
i
];
}
for
(
size_t
i
=
0
;
i
<
n
;
i
++
)
{
result
[
i
]
=
result
[
i
]
/
s
;
}
return
result
;
return
result
;
}
}
...
@@ -139,7 +129,6 @@ int main(int argc, char const* argv[])
...
@@ -139,7 +129,6 @@ int main(int argc, char const* argv[])
std
::
string
file
=
argv
[
1
];
std
::
string
file
=
argv
[
1
];
auto
prog
=
migraph
::
parse_onnx
(
file
);
auto
prog
=
migraph
::
parse_onnx
(
file
);
prog
.
compile
(
migraph
::
cpu
::
cpu_target
{});
prog
.
compile
(
migraph
::
cpu
::
cpu_target
{});
// auto s = prog.get_parameter_shape("Input3");
auto
s
=
migraph
::
shape
{
migraph
::
shape
::
float_type
,
{
1
,
1
,
28
,
28
}};
auto
s
=
migraph
::
shape
{
migraph
::
shape
::
float_type
,
{
1
,
1
,
28
,
28
}};
std
::
cout
<<
s
<<
std
::
endl
;
std
::
cout
<<
s
<<
std
::
endl
;
auto
ptr
=
input
.
data
();
auto
ptr
=
input
.
data
();
...
...
test/cpu_ops_test.cpp
View file @
af1d7a1f
...
@@ -621,7 +621,7 @@ int main()
...
@@ -621,7 +621,7 @@ int main()
transpose_test
();
transpose_test
();
contiguous_test
();
contiguous_test
();
softmax_test
();
softmax_test
();
maxpool_test
();
//
maxpool_test();
conv2d_test
();
conv2d_test
();
conv2d_padding_test
();
conv2d_padding_test
();
conv2d_padding_stride_test
();
conv2d_padding_stride_test
();
...
...
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