ONE - On-device Neural Engine
Loading...
Searching...
No Matches
FullyConnectedLayer.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 __ONERT_BACKEND_RUY_OPS_FULLYCONNECTEDLAYER_H__
18
#define __ONERT_BACKEND_RUY_OPS_FULLYCONNECTEDLAYER_H__
19
20
#include <
backend/IPortableTensor.h
>
21
#include "../ExternalContext.h"
22
#include "
OperationUtils.h
"
23
24
#include <
exec/IFunction.h
>
25
26
namespace
onert
27
{
28
namespace
backend
29
{
30
namespace
ruy
31
{
32
namespace
ops
33
{
34
35
class
FullyConnectedLayer
:
public
::onert::exec::IFunction
36
{
37
public
:
38
FullyConnectedLayer
();
39
~FullyConnectedLayer
();
40
41
public
:
42
void
fullyConnectedFloat32
();
43
44
void
configure
(
const
IPortableTensor
*input,
const
IPortableTensor
*weights,
45
const
IPortableTensor
*bias,
ir::Activation
activation,
IPortableTensor
*output,
46
const
std::shared_ptr<ExternalContext> &external_context);
47
48
void
run
()
override
;
49
50
void
prepare
()
override
;
51
52
private
:
53
const
IPortableTensor
*_input;
54
const
IPortableTensor
*_weights;
55
const
IPortableTensor
*_bias;
56
IPortableTensor
*_output;
57
58
ir::Activation
_activation;
59
60
std::shared_ptr<ExternalContext> _external_context;
61
};
62
63
}
// namespace ops
64
}
// namespace ruy
65
}
// namespace backend
66
}
// namespace onert
67
68
#endif
// __ONERT_BACKEND_RUY_OPS_FULLYCONNECTEDLAYER_H__
IFunction.h
IPortableTensor.h
onert::backend::IPortableTensor
A tensor class that is portable for other backends.
Definition
IPortableTensor.h:39
onert::backend::ruy::ops::FullyConnectedLayer
Definition
FullyConnectedLayer.h:36
onert::backend::ruy::ops::FullyConnectedLayer::fullyConnectedFloat32
void fullyConnectedFloat32()
Definition
FullyConnectedLayer.cc:41
onert::backend::ruy::ops::FullyConnectedLayer::configure
void configure(const IPortableTensor *input, const IPortableTensor *weights, const IPortableTensor *bias, ir::Activation activation, IPortableTensor *output, const std::shared_ptr< ExternalContext > &external_context)
Definition
FullyConnectedLayer.cc:61
onert::backend::ruy::ops::FullyConnectedLayer::~FullyConnectedLayer
~FullyConnectedLayer()
onert::backend::ruy::ops::FullyConnectedLayer::run
void run() override
Definition
FullyConnectedLayer.cc:74
onert::backend::ruy::ops::FullyConnectedLayer::prepare
void prepare() override
Definition
FullyConnectedLayer.cc:86
onert::backend::ruy::ops::FullyConnectedLayer::FullyConnectedLayer
FullyConnectedLayer()
Definition
FullyConnectedLayer.cc:32
onert::exec::IFunction
Definition
IFunction.h:26
mir::ops
Definition
AbsOp.h:25
onert::ir::Activation
Activation
Definition
InternalType.h:28
onert
Definition
CustomKernel.cc:20
OperationUtils.h
runtime
onert
backend
ruy
ops
FullyConnectedLayer.h
Generated by
1.9.8