ONE - On-device Neural Engine
Loading...
Searching...
No Matches
Constant.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 "
Constant.h
"
18
19
#include <cassert>
20
21
namespace
moco
22
{
23
namespace
onnx
24
{
25
26
bool
ConstantGraphBuilder::validate
(
OpsetVersion
opset_version, const ::onnx::NodeProto &node)
const
27
{
28
if
(opset_version >= 9)
29
return
Constant_V9
().
validate
(node);
30
else
if
(opset_version >= 1)
31
return
Constant_V1
().
validate
(node);
32
else
33
throw
std::runtime_error(
"Invalid ONNX IR version"
);
34
}
35
36
void
ConstantGraphBuilder::build
(
OpsetVersion
opset_version, const ::onnx::NodeProto &node,
37
GraphBuilderContext
*context)
const
38
{
39
if
(opset_version >= 9)
40
Constant_V9
().
build
(node, context);
41
else
if
(opset_version >= 1)
42
Constant_V1
().
build
(node, context);
43
else
44
throw
std::runtime_error(
"Invalid ONNX IR version"
);
45
}
46
47
}
// namespace onnx
48
}
// namespace moco
49
50
#include "GraphBuilderRegistry.h"
51
52
REGISTER_OP_BUILDER
(Constant, ConstantGraphBuilder)
moco::onnx::Constant_V1
GraphBuilder for Constant(since version 1) node.
Definition
Constant.h:30
moco::onnx::Constant_V1::validate
bool validate(const ::onnx::NodeProto &) const
Definition
Constant_V1.cpp:27
moco::onnx::Constant_V1::build
void build(const ::onnx::NodeProto &, GraphBuilderContext *) const
Definition
Constant_V1.cpp:39
moco::onnx::Constant_V9
GraphBuilder for Constant(since version 9) node.
Definition
Constant.h:42
moco::onnx::Constant_V9::validate
bool validate(const ::onnx::NodeProto &) const
Definition
Constant_V9.cpp:27
moco::onnx::Constant_V9::build
void build(const ::onnx::NodeProto &, GraphBuilderContext *) const
Definition
Constant_V9.cpp:35
moco::onnx::ConstantGraphBuilder::build
void build(OpsetVersion, const ::onnx::NodeProto &, GraphBuilderContext *) const
Definition
Constant.cpp:36
moco::onnx::ConstantGraphBuilder::validate
bool validate(OpsetVersion, const ::onnx::NodeProto &) const
Definition
Constant.cpp:26
moco::onnx::GraphBuilderContext
Class to store context to build IR from onnx.
Definition
GraphBuilderContext.h:75
moco::onnx::GraphBuilder::OpsetVersion
int64_t OpsetVersion
Definition
GraphBuilder.h:36
moco
Definition
Log.h:23
REGISTER_OP_BUILDER
#define REGISTER_OP_BUILDER(NAME, BUILDER)
Definition
GraphBuilderRegistry.h:68
Constant.h
compiler
oneco
src
Op
Constant.cpp
Generated by
1.9.8