ONE - On-device Neural Engine
Loading...
Searching...
No Matches
ReshapeLayer.cc
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2018 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 "
ReshapeLayer.h
"
18
19
namespace
onert
20
{
21
namespace
backend
22
{
23
namespace
cpu
24
{
25
namespace
ops
26
{
27
28
ReshapeLayer::ReshapeLayer
() : _input(nullptr), _shape(nullptr), _output(nullptr)
29
{
30
// DO NOTHING
31
}
32
33
void
ReshapeLayer::reshapeGeneric
()
34
{
35
// output buffer equals to input buffer means that copy is not needed
36
if
(_output->
buffer
() != _input->
buffer
())
37
{
38
size_t
count = _input->
total_size
();
39
memcpy(_output->
buffer
(), _input->
buffer
(), count);
40
}
41
}
42
43
void
ReshapeLayer::configure
(
const
IPortableTensor
*input,
const
IPortableTensor
*shape,
44
IPortableTensor
*output)
45
{
46
_input = input;
47
/* note : shape is optional. If not provided from model, _shape is nullptr. */
48
_shape = shape;
49
_output = output;
50
}
51
52
void
ReshapeLayer::run
() {
reshapeGeneric
(); }
53
54
}
// namespace ops
55
}
// namespace cpu
56
}
// namespace backend
57
}
// namespace onert
onert::backend::IPortableTensor
A tensor class that is portable for other backends.
Definition
IPortableTensor.h:39
onert::backend::IPortableTensor::total_size
size_t total_size() const override final
Definition
IPortableTensor.h:54
onert::backend::ITensor::buffer
virtual uint8_t * buffer() const =0
onert::backend::cpu::ops::ReshapeLayer::ReshapeLayer
ReshapeLayer()
Definition
ReshapeLayer.cc:28
onert::backend::cpu::ops::ReshapeLayer::run
void run() override
Definition
ReshapeLayer.cc:52
onert::backend::cpu::ops::ReshapeLayer::configure
void configure(const IPortableTensor *input, const IPortableTensor *shape, IPortableTensor *output)
Definition
ReshapeLayer.cc:43
onert::backend::cpu::ops::ReshapeLayer::reshapeGeneric
void reshapeGeneric()
Definition
ReshapeLayer.cc:33
mir::ops
Definition
AbsOp.h:25
onert
Definition
CustomKernel.cc:20
ReshapeLayer.h
runtime
onert
backend
cpu
ops
ReshapeLayer.cc
Generated by
1.9.8