ONE - On-device Neural Engine
Loading...
Searching...
No Matches
Backend.cpp
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 "
nnkit/support/tflite/AbstractBackend.h
"
18
#include "
nnkit/support/tflite/TensorSets.h
"
19
#include "
nnkit/support/tflite/TensorContext.h
"
20
21
#include <cassert>
22
23
static
inline
void
ensure(TfLiteStatus status) { assert(status == kTfLiteOk); }
24
25
namespace
nnkit
26
{
27
namespace
support
28
{
29
namespace
tflite
30
{
31
32
void
AbstractBackend::prepare
(
const
std::function<
void
(
nnkit::TensorContext
&)> &f)
33
{
34
ensure(
interpreter
().AllocateTensors());
35
36
InputTensorSet
inputs(
interpreter
());
37
TensorContext
ctx(inputs);
38
f(ctx);
39
}
40
41
void
AbstractBackend::run
(
void
) { ensure(
interpreter
().Invoke()); }
42
43
void
AbstractBackend::teardown
(
const
std::function<
void
(
nnkit::TensorContext
&)> &f)
44
{
45
OutputTensorSet
outputs(
interpreter
());
46
TensorContext
ctx(outputs);
47
f(ctx);
48
}
49
50
}
// namespace tflite
51
}
// namespace support
52
}
// namespace nnkit
AbstractBackend.h
TensorSets.h
nnkit::support::tflite::AbstractBackend::teardown
void teardown(const std::function< void(TensorContext &)> &f) override
Definition
Backend.cpp:43
nnkit::support::tflite::AbstractBackend::interpreter
virtual ::tflite::Interpreter & interpreter(void)=0
nnkit::support::tflite::AbstractBackend::run
void run(void) override
Definition
Backend.cpp:41
nnkit::support::tflite::AbstractBackend::prepare
void prepare(const std::function< void(TensorContext &)> &f) override
Definition
Backend.cpp:32
nnkit::support::tflite::InputTensorSet
Definition
TensorSets.h:32
nnkit::support::tflite::OutputTensorSet
Definition
TensorSets.h:50
nnkit::support::tflite::TensorContext
Definition
TensorContext.h:32
nnkit
Definition
Backend.h:32
tflite
Definition
PALreference_ops.h:103
TensorContext.h
nnkit::TensorContext
Definition
TensorContext.h:34
compiler
nnkit-tflite
support
src
Backend.cpp
Generated by
1.9.8