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
003e2eb9
"vscode:/vscode.git/clone" did not exist on "3afe882a965fb19a740d2020cd8200f7d8e9ca89"
Commit
003e2eb9
authored
Jun 25, 2018
by
Scott Thornton
Browse files
Added reading of broadcast in Sub, Mul, and Div
parent
3a0c7c77
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
39 additions
and
3 deletions
+39
-3
src/onnx/onnx.cpp
src/onnx/onnx.cpp
+39
-3
No files found.
src/onnx/onnx.cpp
View file @
003e2eb9
...
@@ -110,13 +110,49 @@ struct onnx_parser
...
@@ -110,13 +110,49 @@ struct onnx_parser
}
}
return
prog
.
add_instruction
(
add
{},
args
);
return
prog
.
add_instruction
(
add
{},
args
);
});
});
add_op
(
"Sub"
,
[
this
](
attribute_map
,
std
::
vector
<
instruction_ref
>
args
)
{
add_op
(
"Sub"
,
[
this
](
attribute_map
attributes
,
std
::
vector
<
instruction_ref
>
args
)
{
if
(
contains
(
attributes
,
"broadcast"
))
{
uint64_t
broadcasted
=
parse_value
(
attributes
.
at
(
"broadcast"
)).
at
<
uint64_t
>
();
if
(
broadcasted
!=
0
)
{
uint64_t
axis
=
(
contains
(
attributes
,
"axis"
))
?
parse_value
(
attributes
.
at
(
"axis"
)).
at
<
uint64_t
>
()
:
0
;
auto
l
=
prog
.
add_instruction
(
broadcast
{
axis
},
args
);
return
prog
.
add_instruction
(
sub
{},
args
[
0
],
l
);
}
}
return
prog
.
add_instruction
(
sub
{},
args
);
return
prog
.
add_instruction
(
sub
{},
args
);
});
});
add_op
(
"Mul"
,
[
this
](
attribute_map
,
std
::
vector
<
instruction_ref
>
args
)
{
add_op
(
"Mul"
,
[
this
](
attribute_map
attributes
,
std
::
vector
<
instruction_ref
>
args
)
{
if
(
contains
(
attributes
,
"broadcast"
))
{
uint64_t
broadcasted
=
parse_value
(
attributes
.
at
(
"broadcast"
)).
at
<
uint64_t
>
();
if
(
broadcasted
!=
0
)
{
uint64_t
axis
=
(
contains
(
attributes
,
"axis"
))
?
parse_value
(
attributes
.
at
(
"axis"
)).
at
<
uint64_t
>
()
:
0
;
auto
l
=
prog
.
add_instruction
(
broadcast
{
axis
},
args
);
return
prog
.
add_instruction
(
mul
{},
args
[
0
],
l
);
}
}
return
prog
.
add_instruction
(
mul
{},
args
);
return
prog
.
add_instruction
(
mul
{},
args
);
});
});
add_op
(
"Div"
,
[
this
](
attribute_map
,
std
::
vector
<
instruction_ref
>
args
)
{
add_op
(
"Div"
,
[
this
](
attribute_map
attributes
,
std
::
vector
<
instruction_ref
>
args
)
{
if
(
contains
(
attributes
,
"broadcast"
))
{
uint64_t
broadcasted
=
parse_value
(
attributes
.
at
(
"broadcast"
)).
at
<
uint64_t
>
();
if
(
broadcasted
!=
0
)
{
uint64_t
axis
=
(
contains
(
attributes
,
"axis"
))
?
parse_value
(
attributes
.
at
(
"axis"
)).
at
<
uint64_t
>
()
:
0
;
auto
l
=
prog
.
add_instruction
(
broadcast
{
axis
},
args
);
return
prog
.
add_instruction
(
div
{},
args
[
0
],
l
);
}
}
return
prog
.
add_instruction
(
div
{},
args
);
return
prog
.
add_instruction
(
div
{},
args
);
});
});
}
}
...
...
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