ONE - On-device Neural Engine
Loading...
Searching...
No Matches
GraphBuilderRegistry.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
18#include "moco/Import/Nodes.h"
19
20#include <memory>
21
22namespace moco
23{
24
26{
27 add("Add", std::make_unique<AddGraphBuilder>());
28 add("AvgPool", std::make_unique<AvgPoolGraphBuilder>());
29 add("BiasAdd", std::make_unique<BiasAddGraphBuilder>());
30 add("ConcatV2", std::make_unique<ConcatV2GraphBuilder>());
31 add("Const", std::make_unique<ConstGraphBuilder>());
32 add("Conv2D", std::make_unique<Conv2DGraphBuilder>());
33 add("Conv2DBackpropInput", std::make_unique<Conv2DBackpropInputGraphBuilder>());
34 add("DepthwiseConv2dNative", std::make_unique<DepthwiseConv2dNativeGraphBuilder>());
35 add("FakeQuantWithMinMaxVars", std::make_unique<FakeQuantWithMinMaxVarsGraphBuilder>());
36 add("FusedBatchNorm", std::make_unique<FusedBatchNormGraphBuilder>());
37 add("Identity", std::make_unique<IdentityGraphBuilder>());
38 add("Maximum", std::make_unique<MaximumGraphBuilder>());
39 add("MaxPool", std::make_unique<MaxPoolGraphBuilder>());
40 add("Mean", std::make_unique<MeanGraphBuilder>());
41 add("Mul", std::make_unique<MulGraphBuilder>());
42 add("Pack", std::make_unique<PackGraphBuilder>());
43 add("Pad", std::make_unique<PadGraphBuilder>());
44 add("Placeholder", std::make_unique<PlaceholderGraphBuilder>());
45 add("RealDiv", std::make_unique<RealDivGraphBuilder>());
46 add("Relu", std::make_unique<ReluGraphBuilder>());
47 add("Relu6", std::make_unique<Relu6GraphBuilder>());
48 add("Reshape", std::make_unique<ReshapeGraphBuilder>());
49 add("Rsqrt", std::make_unique<RsqrtGraphBuilder>());
50 add("Shape", std::make_unique<ShapeGraphBuilder>());
51 add("Softmax", std::make_unique<SoftmaxGraphBuilder>());
52 add("Sqrt", std::make_unique<SqrtGraphBuilder>());
53 add("SquaredDifference", std::make_unique<SquaredDifferenceGraphBuilder>());
54 add("Squeeze", std::make_unique<SqueezeGraphBuilder>());
55 add("StopGradient", std::make_unique<StopGradientGraphBuilder>());
56 add("StridedSlice", std::make_unique<StridedSliceGraphBuilder>());
57 add("Sub", std::make_unique<SubGraphBuilder>());
58 add("Tanh", std::make_unique<TanhGraphBuilder>());
59
60 // Virtual node like `TFPush` need not to be added here
61}
62
63} // namespace moco
void add(const std::string op, std::unique_ptr< GraphBuilder > &&builder)
Definition Log.h:23