ONE - On-device Neural Engine
Loading...
Searching...
No Matches
PRelu.h
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
#ifndef LUCI_INTERPRETER_KERNELS_PRELU_H
18
#define LUCI_INTERPRETER_KERNELS_PRELU_H
19
20
#include "
core/Kernel.h
"
21
#include <vector>
22
23
namespace
luci_interpreter
24
{
25
namespace
kernels
26
{
27
28
class
ChannelQuantMultipliers;
29
30
class
PRelu
:
public
Kernel
31
{
32
public
:
33
PRelu
(
const
Tensor
*
input
,
const
Tensor
*
alpha
,
Tensor
*
output
);
34
35
~PRelu
();
36
37
const
Tensor
*
input
()
const
{
return
_inputs
[0]; }
38
const
Tensor
*
alpha
()
const
{
return
_inputs
[1]; }
39
Tensor
*
output
()
const
{
return
_outputs
[0]; }
40
41
void
configure
()
override
;
42
void
execute
()
const override
;
43
44
private
:
45
void
evalFloat()
const
;
46
void
evalQuantized()
const
;
47
void
evalQuantizedS16()
const
;
48
49
private
:
50
std::vector<ChannelQuantMultipliers> _alpha_multipliers;
51
// TODO merge this into one ChannelQuantMultiplier object
52
int32_t _output_multiplier_identity = 0;
53
int
_output_shift_identity = 0;
54
};
55
56
}
// namespace kernels
57
}
// namespace luci_interpreter
58
59
#endif
// LUCI_INTERPRETER_KERNELS_PRELU_H
Kernel.h
luci_interpreter::Kernel
Definition
Kernel.h:29
luci_interpreter::Kernel::_inputs
const std::vector< const Tensor * > _inputs
Definition
Kernel.h:52
luci_interpreter::Kernel::_outputs
const std::vector< Tensor * > _outputs
Definition
Kernel.h:53
luci_interpreter::Tensor
Definition
Tensor.h:101
luci_interpreter::kernels::PRelu
Definition
PRelu.h:31
luci_interpreter::kernels::PRelu::~PRelu
~PRelu()
Definition
PRelu.cpp:38
luci_interpreter::kernels::PRelu::execute
void execute() const override
Definition
PRelu.cpp:92
luci_interpreter::kernels::PRelu::alpha
const Tensor * alpha() const
Definition
PRelu.h:38
luci_interpreter::kernels::PRelu::output
Tensor * output() const
Definition
PRelu.h:39
luci_interpreter::kernels::PRelu::input
const Tensor * input() const
Definition
PRelu.h:37
luci_interpreter::kernels::PRelu::configure
void configure() override
Definition
PRelu.cpp:43
luci_interpreter
Definition
BuddyMemoryManager.h:22
compiler
luci-interpreter
src
kernels
PRelu.h
Generated by
1.9.8