ONE - On-device Neural Engine
Loading...
Searching...
No Matches
ReLU.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 "
NodeExecution.h
"
18
19
namespace
20
{
21
22
inline
float
relu_ew(
float
val) {
return
val > 0.0f ? val : 0.0f; }
23
24
struct
Func final :
public
locomotiv::UnaryFunc
25
{
26
float
apply
(
float
v)
const
final
{
return
relu_ew(v); }
27
};
28
29
}
// namespace
30
31
namespace
locomotiv
32
{
33
34
void
NodeExecution::execute(
loco::ReLU
*relu)
35
{
36
Func f;
37
38
eltwise_unary(relu, f);
39
}
40
41
}
// namespace locomotiv
NodeExecution.h
loco::ReLU
Create a new value that rectifies its input.
Definition
Nodes.h:159
locomotiv
Definition
NodeData.h:27
locomotiv::UnaryFunc
Definition
NodeExecution.h:26
locomotiv::UnaryFunc::apply
virtual float apply(float) const
Definition
NodeExecution.cpp:40
compiler
locomotiv
src
Node
ReLU.cpp
Generated by
1.9.8