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
Reduce.cc
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2020 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 "
ir/operation/Reduce.h
"
18
#include "
ir/OperationVisitor.h
"
19
20
#include <unordered_map>
21
22
namespace
onert::ir::operation
23
{
24
25
void
Reduce::accept
(
OperationVisitor
&v)
const
{ v.visit(*
this
); }
26
27
Reduce::Reduce
(
const
OperandIndexSequence
&inputs,
const
OperandIndexSequence
&outputs,
28
const
Param
¶m)
29
:
Operation
{
OperandConstraint
::createExact(2u), inputs, outputs}, _param{param}
30
{
31
}
27
Reduce::Reduce
(
const
OperandIndexSequence
&inputs,
const
OperandIndexSequence
&outputs, {
…
}
32
33
std::string
Reduce::name
()
const
34
{
35
using
ReduceType
=
onert::ir::operation::Reduce::ReduceType
;
36
static
const
std::unordered_map<ReduceType, std::string> name_map{
37
{
ReduceType::ALL
, std::string{
toString
(
opcode
())} +
"All"
},
38
{
ReduceType::ANY
, std::string{
toString
(
opcode
())} +
"Any"
},
39
{
ReduceType::MAX
, std::string{
toString
(
opcode
())} +
"Max"
},
40
{
ReduceType::MEAN
, std::string{
toString
(
opcode
())} +
"Mean"
},
41
{
ReduceType::MIN
, std::string{
toString
(
opcode
())} +
"Min"
},
42
{
ReduceType::PROD
, std::string{
toString
(
opcode
())} +
"Prod"
},
43
{
ReduceType::SUM
, std::string{
toString
(
opcode
())} +
"SUM"
}};
44
return
name_map.at(_param.
reduce_type
);
45
// return std::string(toString(opcode())) + reduce_type_str_map.at(_param.reduce_type);
46
}
33
std::string
Reduce::name
()
const
{
…
}
47
48
}
// namespace onert::ir::operation
OperationVisitor.h
onert::ir::OperandConstraint
Definition
OperandConstraint.h:28
onert::ir::OperandIndexSequence
Definition
OperandIndexSequence.h:35
onert::ir::Operation
Definition
Operation.h:32
onert::ir::operation::Reduce::ReduceType
ReduceType
Definition
Reduce.h:37
onert::ir::operation::Reduce::ReduceType::MAX
@ MAX
onert::ir::operation::Reduce::ReduceType::MEAN
@ MEAN
onert::ir::operation::Reduce::ReduceType::ALL
@ ALL
onert::ir::operation::Reduce::ReduceType::SUM
@ SUM
onert::ir::operation::Reduce::ReduceType::ANY
@ ANY
onert::ir::operation::Reduce::ReduceType::PROD
@ PROD
onert::ir::operation::Reduce::ReduceType::MIN
@ MIN
onert::ir::operation::Reduce::Reduce
Reduce(const OperandIndexSequence &inputs, const OperandIndexSequence &outputs, const Param ¶m)
Definition
Reduce.cc:27
onert::ir::operation::Reduce::opcode
OpCode opcode() const final
Definition
Reduce.h:60
onert::ir::operation::Reduce::name
std::string name() const override
Definition
Reduce.cc:33
onert::ir::operation::Reduce::accept
void accept(OperationVisitor &v) const override
Definition
Reduce.cc:25
onert::ir::operation
Definition
AddN.h:23
onert::ir::toString
const char * toString(OpCode opcode)
Definition
OpCode.cc:24
Reduce.h
onert::ir::OperationVisitor
Definition
OperationVisitor.h:26
onert::ir::operation::Reduce::Param
Definition
Reduce.h:48
onert::ir::operation::Reduce::Param::reduce_type
ReduceType reduce_type
Definition
Reduce.h:49
runtime
onert
core
src
ir
operation
Reduce.cc
Generated by
1.9.8