ONE - On-device Neural Engine
Toggle main menu visibility
Main Page
Related Pages
Topics
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
w
Typedefs
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
Enumerations
a
b
c
d
e
f
i
k
l
m
n
o
p
q
r
s
t
u
Enumerator
a
b
c
d
e
f
g
i
k
l
m
n
o
p
r
s
u
v
w
y
Data Structures
Data Structures
Data Structure Index
Class Hierarchy
Data Fields
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
z
Enumerations
a
c
d
e
f
g
i
k
l
m
o
p
r
s
t
w
Enumerator
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
Related Symbols
a
b
c
d
e
f
g
h
i
m
n
o
p
r
s
t
u
v
w
Files
File List
Globals
All
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
Functions
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
u
v
Variables
_
b
c
d
f
g
i
k
m
n
o
p
s
t
v
Typedefs
a
d
f
g
i
l
m
n
o
s
t
u
v
Enumerations
f
g
n
o
p
r
Enumerator
a
k
n
Macros
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
Examples
•
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Modules
Pages
Loading...
Searching...
No Matches
Sub.cpp
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2019 Samsung Electronics Co., Ltd. All Rights Reserved
3
*
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
* you may not use this file except in compliance with the License.
6
* You may obtain a copy of the License at
7
*
8
* http://www.apache.org/licenses/LICENSE-2.0
9
*
10
* Unless required by applicable law or agreed to in writing, software
11
* distributed under the License is distributed on an "AS IS" BASIS,
12
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
* See the License for the specific language governing permissions and
14
* limitations under the License.
15
*/
16
17
#include "
Sub.h
"
18
19
#include "
ONNXHelpers.h
"
20
#include "
AttributeHelpers.h
"
21
22
#include "
mir/ops/SubOp.h
"
23
24
namespace
mir_onnx
25
{
26
27
void
convertSubV1
(
const
onnx::NodeProto &onnx_node,
ConverterContext
*context)
28
{
29
// consumed_inputs attribute not used
30
convertSubV6
(onnx_node, context);
31
}
27
void
convertSubV1
(
const
onnx::NodeProto &onnx_node,
ConverterContext
*context) {
…
}
32
33
void
convertSubV6
(
const
onnx::NodeProto &onnx_node,
ConverterContext
*context)
34
{
35
// broadcast attribute not used
36
const
auto
*axis =
findAttribute
(onnx_node,
"axis"
);
37
if
(axis !=
nullptr
)
38
throw
std::runtime_error(
"Not supported axis attribute in Sub operation!"
);
39
40
convertSubV7
(onnx_node, context);
41
}
33
void
convertSubV6
(
const
onnx::NodeProto &onnx_node,
ConverterContext
*context) {
…
}
42
43
void
convertSubV7
(
const
onnx::NodeProto &onnx_node,
ConverterContext
*context)
44
{
45
std::vector<mir::Operation::Output *> inputs = context->
getNodeInputs
(onnx_node);
46
mir::Graph
*graph = context->
getGraph
();
47
48
auto
result = createOp<mir::ops::SubOp>(graph, inputs[0], inputs[1])->getOutput(0);
49
50
context->
setNodeOutputs
(onnx_node, {result});
51
}
43
void
convertSubV7
(
const
onnx::NodeProto &onnx_node,
ConverterContext
*context) {
…
}
52
53
}
// namespace mir_onnx
AttributeHelpers.h
ONNXHelpers.h
SubOp.h
mir::Graph
Definition
Graph.h:35
mir_onnx::ConverterContext
Definition
ONNXNodeConverterRegistry.h:43
mir_onnx::ConverterContext::setNodeOutputs
void setNodeOutputs(const onnx::NodeProto &onnx_node, const std::vector< mir::Operation::Output * > &outputs)
Definition
ONNXNodeConverterRegistry.cpp:96
mir_onnx::ConverterContext::getNodeInputs
std::vector< mir::Operation::Output * > getNodeInputs(const onnx::NodeProto &onnx_node) const
Definition
ONNXNodeConverterRegistry.cpp:79
mir_onnx::ConverterContext::getGraph
mir::Graph * getGraph() const
Definition
ONNXNodeConverterRegistry.h:53
mir_onnx
Definition
ONNXImporterImpl.h:26
mir_onnx::convertSubV6
void convertSubV6(const onnx::NodeProto &onnx_node, ConverterContext *context)
Definition
Sub.cpp:33
mir_onnx::convertSubV1
void convertSubV1(const onnx::NodeProto &onnx_node, ConverterContext *context)
Definition
Sub.cpp:27
mir_onnx::findAttribute
const onnx::AttributeProto * findAttribute(const onnx::NodeProto &node, const std::string &name)
Definition
AttributeHelpers.h:74
mir_onnx::convertSubV7
void convertSubV7(const onnx::NodeProto &onnx_node, ConverterContext *context)
Definition
Sub.cpp:43
Sub.h
compiler
mir
src
mir_onnx_importer
Op
Sub.cpp
Generated by
1.9.8