ONE - On-device Neural Engine
Loading...
Searching...
No Matches
CircleExporter.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 "
exo/CircleExporter.h
"
18
19
#include "
CircleExporterImpl.h
"
20
21
#include <
oops/InternalExn.h
>
22
23
#include <memory>
24
#include <fstream>
25
26
namespace
exo
27
{
28
29
CircleExporter::CircleExporter
(
loco::Graph
*graph) : _impl(
std
::make_unique<
Impl
>(graph))
30
{
31
// NOTHING TO DO
32
}
33
34
CircleExporter::~CircleExporter
() =
default
;
35
36
void
CircleExporter::dumpToFile
(
const
char
*path)
const
37
{
38
const
char
*ptr = _impl->getBufferPointer();
39
const
size_t
size
= _impl->getBufferSize();
40
41
if
(!ptr)
42
INTERNAL_EXN
(
"Graph was not serialized by FlatBuffer for some reason"
);
43
44
std::ofstream file(path, std::ofstream::binary);
45
file.write(ptr,
size
);
46
}
47
48
}
// namespace exo
InternalExn.h
INTERNAL_EXN
#define INTERNAL_EXN(msg)
@ brief throw internal exception with message
Definition
InternalExn.h:25
exo::CircleExporter::Impl
Definition
CircleExporterImpl.h:41
exo::CircleExporter::dumpToFile
void dumpToFile(const char *path) const
write to a file
Definition
CircleExporter.cpp:36
exo::CircleExporter::~CircleExporter
~CircleExporter()
exo::CircleExporter::CircleExporter
CircleExporter(loco::Graph *graph)
Definition
CircleExporter.cpp:29
loco::Graph
A neural network graph.
Definition
Graph.h:161
CircleExporter.h
CircleExporterImpl.h
exo
Definition
CircleExporter.h:25
std
Definition
CircleExporterUtils.h:53
size
int32_t size[5]
Definition
Slice.cpp:35
compiler
exo
src
Circle
CircleExporter.cpp
Generated by
1.9.8