ONE - On-device Neural Engine
Loading...
Searching...
No Matches
CircleAdd.cpp
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2021 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 <
luci/Service/CircleShapeInference.h
>
18
19
#include "
CircleShapeInferenceHelper.h
"
20
21
#include "
CircleCloneNode.h
"
22
23
namespace
luci
24
{
25
26
luci::CircleNode
*
CloneNodeLet<CN::ABC>::visit
(
const
luci::CircleAdd
*node)
27
{
28
if
(node->
fusedActivationFunction
() ==
luci::FusedActFunc::UNDEFINED
)
29
return
nullptr
;
30
31
auto
*cloned = _graph->nodes()->create<
luci::CircleAdd
>();
32
if
(cloned !=
nullptr
)
33
cloned->
fusedActivationFunction
(node->
fusedActivationFunction
());
34
return
cloned;
35
}
36
37
namespace
sinf
38
{
39
40
loco::TensorShape
Algorithm::visit
(
const
luci::CircleAdd
*node)
41
{
42
const
auto
x = loco::must_cast<luci::CircleNode *>(node->
x
());
43
const
auto
y = loco::must_cast<luci::CircleNode *>(node->
y
());
44
45
const
auto
x_shape =
circle_shape
(x);
46
const
auto
y_shape =
circle_shape
(y);
47
48
return
broadcast_shape
(x_shape, y_shape);
49
}
50
51
}
// namespace sinf
52
53
}
// namespace luci
CircleCloneNode.h
CircleShapeInference.h
CircleShapeInferenceHelper.h
loco::TensorShape
Definition
TensorShape.h:29
luci::CircleAdd
ADD in Circle.
Definition
CircleAdd.h:34
luci::CircleAdd::x
loco::Node * x(void) const
Definition
CircleAdd.h:36
luci::CircleAdd::y
loco::Node * y(void) const
Definition
CircleAdd.h:39
luci::CircleNodeMixin< CircleNodeTrait::FusedActFunc >::fusedActivationFunction
FusedActFunc fusedActivationFunction() const
Definition
CircleNodeMixins.h:45
luci::CloneNodeLet
Definition
CircleCloneNode.h:39
luci::sinf::Algorithm::visit
loco::TensorShape visit(const luci::CircleNode *node) final
Default fallback.
Definition
CircleShapeInference.h:42
luci::sinf::broadcast_shape
loco::TensorShape broadcast_shape(const loco::TensorShape &x, const loco::TensorShape &y)
Definition
CircleShapeInferenceHelper.cpp:152
luci::sinf::circle_shape
loco::TensorShape circle_shape(const luci::CircleNode *node)
Definition
CircleShapeInferenceHelper.cpp:143
luci
Definition
DepthwiseConv2D.h:24
luci::FusedActFunc::UNDEFINED
@ UNDEFINED
luci::CircleNode
Definition
CircleNodeDecl.h:40
compiler
luci
service
src
Nodes
CircleAdd.cpp
Generated by
1.9.8