summaryrefslogtreecommitdiff
path: root/runtime/neurun/backend/srcn/TensorRegister.cc
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/neurun/backend/srcn/TensorRegister.cc')
-rw-r--r--runtime/neurun/backend/srcn/TensorRegister.cc118
1 files changed, 0 insertions, 118 deletions
diff --git a/runtime/neurun/backend/srcn/TensorRegister.cc b/runtime/neurun/backend/srcn/TensorRegister.cc
deleted file mode 100644
index 8c2f59aef..000000000
--- a/runtime/neurun/backend/srcn/TensorRegister.cc
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * Copyright (c) 2019 Samsung Electronics Co., Ltd. All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "TensorRegister.h"
-
-#include "Convert.h"
-#include "kernel/OperationUtils.h"
-
-namespace neurun
-{
-namespace backend
-{
-namespace srcn
-{
-
-TensorRegister::TensorRegister(const ir::Operands &operands,
- const std::shared_ptr<TensorBuilder> &tensor_builder)
- : _operands{operands}, _tensor_builder{tensor_builder}
-{
- assert(tensor_builder != nullptr);
-}
-
-void TensorRegister::visit(const ir::operation::Conv2D &node)
-{
- // General cases
- defaultRegisterTensorInfo(node.getInputs().at(ir::operation::Conv2D::INPUT));
- defaultRegisterTensorInfo(node.getInputs().at(ir::operation::Conv2D::BIAS));
- defaultRegisterTensorInfo(node.getOutputs().at(0));
-
- // Special case
- const auto &kernel_index = node.getInputs().at(ir::operation::Conv2D::KERNEL);
- const auto &kernel_obj = _operands.at(kernel_index);
-
- const auto frontend_layout = frontendLayout();
- assert(frontend_layout == ir::Layout::NCHW || frontend_layout == ir::Layout::NHWC);
- const auto frontend_filter_layout =
- frontend_layout == ir::Layout::NHWC ? kernel::FilterLayout::OHWI : kernel::FilterLayout::OIHW;
- const auto backend_layout = backendLayout(kernel_index);
- assert(backend_layout == ir::Layout::NCHW || backend_layout == ir::Layout::NHWC);
- const auto backend_filter_layout =
- backend_layout == ir::Layout::NHWC ? kernel::FilterLayout::HWIO : kernel::FilterLayout::OIHW;
-
- ir::OperandInfo backend_info{
- asKernelShape(kernel_obj.shape(), frontend_filter_layout, backend_filter_layout),
- kernel_obj.info().typeInfo()};
- _tensor_builder->registerTensorInfo(kernel_index, backend_info, backend_layout,
- kernel_obj.isConstant());
-}
-
-void TensorRegister::visit(const ir::operation::DepthwiseConv2D &node)
-{
- // General cases
- defaultRegisterTensorInfo(node.getInputs().at(ir::operation::DepthwiseConv2D::INPUT));
- defaultRegisterTensorInfo(node.getInputs().at(ir::operation::DepthwiseConv2D::BIAS));
- defaultRegisterTensorInfo(node.getOutputs().at(0));
-
- // Special case
- const auto &kernel_index = node.getInputs().at(ir::operation::DepthwiseConv2D::KERNEL);
- const auto &kernel_obj = _operands.at(kernel_index);
-
- const auto frontend_layout = frontendLayout();
- assert(frontend_layout == ir::Layout::NCHW || frontend_layout == ir::Layout::NHWC);
- const auto frontend_filter_layout =
- frontend_layout == ir::Layout::NHWC ? kernel::FilterLayout::OHWI : kernel::FilterLayout::OIHW;
- const auto backend_layout = backendLayout(kernel_index);
- assert(backend_layout == ir::Layout::NCHW || backend_layout == ir::Layout::NHWC);
- const auto backend_filter_layout =
- backend_layout == ir::Layout::NHWC ? kernel::FilterLayout::HWIO : kernel::FilterLayout::OIHW;
-
- ir::OperandInfo backend_info{
- asKernelShape(kernel_obj.shape(), frontend_filter_layout, backend_filter_layout),
- kernel_obj.info().typeInfo()};
- _tensor_builder->registerTensorInfo(kernel_index, backend_info, backend_layout,
- kernel_obj.isConstant());
-}
-
-void TensorRegister::visit(const ir::operation::TransposeConv &node)
-{
- // General cases
- defaultRegisterTensorInfo(node.getInputs().at(ir::operation::TransposeConv::INPUT));
- defaultRegisterTensorInfo(node.getOutputs().at(0));
-
- // Special case
- const auto &kernel_index = node.getInputs().at(ir::operation::TransposeConv::KERNEL);
- const auto &kernel_obj = _operands.at(kernel_index);
-
- const auto frontend_layout = frontendLayout();
- assert(frontend_layout == ir::Layout::NCHW || frontend_layout == ir::Layout::NHWC);
- const auto frontend_filter_layout =
- frontend_layout == ir::Layout::NHWC ? kernel::FilterLayout::OHWI : kernel::FilterLayout::OIHW;
- const auto backend_layout = backendLayout(kernel_index);
- assert(backend_layout == ir::Layout::NCHW || backend_layout == ir::Layout::NHWC);
- const auto backend_filter_layout =
- backend_layout == ir::Layout::NHWC ? kernel::FilterLayout::HWOI : kernel::FilterLayout::IOHW;
-
- ir::OperandInfo backend_info{
- asKernelShape(kernel_obj.shape(), frontend_filter_layout, backend_filter_layout),
- kernel_obj.info().typeInfo()};
- _tensor_builder->registerTensorInfo(kernel_index, backend_info, backend_layout,
- kernel_obj.isConstant());
-}
-
-} // namespace srcn
-} // namespace backend
-} // namespace neurun