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
▼
ONE - On-device Neural Engine
How to Add a New Operation
How to Build Compiler
How to Build Package
How to Build Runtime with GBS for Tizen/RPi4
How to Build Using Prebuilt Docker Image
How to Build Runtime
How to Contribute
How to Cross-build Runtime for AARCH64
How to Cross-build Runtime for Android
How to Cross-build Runtime for ARM
How To Introduce a New Operation Into Compiler
How To Introduce a New Operation Into Runtime
How to Make an Application with Runtime
How to Remote Debugging with Visual Studio Code
How to Run Package
How to Use API
How to Use NNAPI Binding
How to Use NNFW API
How to Use NNFW PYTHON API
How to Use Specific Backend during Inference
Background
Overall Architecture
Roadmap
Supported Operations
Workgroup
API
Backend API
Compute
Controlflow Operations
Core
Executors
Heterogeneous Execution
On-Device Compilation
Supported Operations and backend
Training
Training a simple CNN model on MNIST using ONERT
Training MobileNetV2 on ImageNet Dataset using ONERT
Transfer Learning
►
Topics
►
Namespaces
►
Data Structures
▼
Files
►
File List
►
Globals
►
Examples
•
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Modules
Pages
Loading...
Searching...
No Matches
Softmax.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 "
Softmax.h
"
18
19
#include "
ONNXHelpers.h
"
20
#include "
AttributeHelpers.h
"
21
22
#include "
mir/ops/SoftmaxOp.h
"
23
24
namespace
mir_onnx
25
{
26
27
void
convertSoftmaxV1
(
const
onnx::NodeProto &onnx_node,
ConverterContext
*context)
28
{
29
std::vector<mir::Operation::Output *> inputs = context->
getNodeInputs
(onnx_node);
30
mir::Graph
*graph = context->
getGraph
();
31
32
// 1 is the default axis number.
33
const
auto
axis = getAttributeValue<std::int64_t>(onnx_node,
"axis"
, 1);
34
35
auto
result = createOp<mir::ops::SoftmaxOp>(graph, inputs[0], axis)->getOutput(0);
36
37
context->
setNodeOutputs
(onnx_node, {result});
38
}
27
void
convertSoftmaxV1
(
const
onnx::NodeProto &onnx_node,
ConverterContext
*context) {
…
}
39
40
}
// namespace mir_onnx
AttributeHelpers.h
ONNXHelpers.h
SoftmaxOp.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::convertSoftmaxV1
void convertSoftmaxV1(const onnx::NodeProto &onnx_node, ConverterContext *context)
Definition
Softmax.cpp:27
Softmax.h
compiler
mir
src
mir_onnx_importer
Op
Softmax.cpp
Generated by
1.9.8