ONE - On-device Neural Engine
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
23
{
24
namespace
ir
25
{
26
namespace
operation
27
{
28
29
void
Reduce::accept
(
OperationVisitor
&v)
const
{ v.visit(*
this
); }
30
31
Reduce::Reduce
(
const
OperandIndexSequence
&inputs,
const
OperandIndexSequence
&outputs,
32
const
Param
¶m)
33
:
Operation
{
OperandConstraint
::createExact(2u), inputs, outputs}, _param{param}
34
{
35
}
36
37
std::string
Reduce::name
()
const
38
{
39
using
ReduceType
=
onert::ir::operation::Reduce::ReduceType
;
40
static
const
std::unordered_map<ReduceType, std::string> name_map{
41
{
ReduceType::ALL
, std::string{
toString
(
opcode
())} +
"All"
},
42
{
ReduceType::ANY
, std::string{
toString
(
opcode
())} +
"Any"
},
43
{
ReduceType::MAX
, std::string{
toString
(
opcode
())} +
"Max"
},
44
{
ReduceType::MEAN
, std::string{
toString
(
opcode
())} +
"Mean"
},
45
{
ReduceType::MIN
, std::string{
toString
(
opcode
())} +
"Min"
},
46
{
ReduceType::PROD
, std::string{
toString
(
opcode
())} +
"Prod"
},
47
{
ReduceType::SUM
, std::string{
toString
(
opcode
())} +
"SUM"
}};
48
return
name_map.at(_param.
reduce_type
);
49
// return std::string(toString(opcode())) + reduce_type_str_map.at(_param.reduce_type);
50
}
51
52
}
// namespace operation
53
}
// namespace ir
54
}
// namespace onert
OperationVisitor.h
onert::ir::OperandConstraint
Definition
OperandConstraint.h:30
onert::ir::OperandIndexSequence
Definition
OperandIndexSequence.h:37
onert::ir::Operation
Definition
Operation.h:34
onert::ir::operation::Reduce::ReduceType
ReduceType
Definition
Reduce.h:41
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:31
onert::ir::operation::Reduce::opcode
OpCode opcode() const final
Definition
Reduce.h:64
onert::ir::operation::Reduce::name
std::string name() const override
Definition
Reduce.cc:37
onert::ir::operation::Reduce::accept
void accept(OperationVisitor &v) const override
Definition
Reduce.cc:29
onert::ir::toString
const char * toString(OpCode opcode)
Definition
OpCode.cc:26
onert
Definition
CustomKernel.cc:20
Reduce.h
onert::ir::OperationVisitor
Definition
OperationVisitor.h:28
onert::ir::operation::Reduce::Param
Definition
Reduce.h:52
onert::ir::operation::Reduce::Param::reduce_type
ReduceType reduce_type
Definition
Reduce.h:53
runtime
onert
core
src
ir
operation
Reduce.cc
Generated by
1.9.8