diff options
Diffstat (limited to 'runtimes/neurun/src/util/Padding.cc')
-rw-r--r-- | runtimes/neurun/src/util/Padding.cc | 75 |
1 files changed, 0 insertions, 75 deletions
diff --git a/runtimes/neurun/src/util/Padding.cc b/runtimes/neurun/src/util/Padding.cc deleted file mode 100644 index a24c9ddf7..000000000 --- a/runtimes/neurun/src/util/Padding.cc +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Copyright (c) 2018 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 "util/Padding.h" - -#include <algorithm> - -namespace neurun -{ -namespace util -{ - -Padding valid_padding(void) -{ - // - // ANEURALNETWORKS_PADDING_VALID - // - // VALID padding. No padding. - // - // When the input size is not evenly divisible by the filter size, - // the input at the end that could not fill the whole filter tile - // will simply be ignored. - // - Padding padding; - - padding.top = 0; - padding.bottom = 0; - padding.left = 0; - padding.right = 0; - - return padding; -} - -Padding same_padding(const nnfw::misc::feature::Shape &ifm_shape, - const nnfw::misc::feature::Shape &ofm_shape, const Stride &stride, uint32_t kw, - uint32_t kh) -{ - Padding padding; - - // ANEURALNETWORKS_PADDING_SAME (from NNAPI spec) - // - // SAME padding. Padding on both ends are the "same": - // - // padding_to_beginning = total_padding / 2 - // padding_to_end = (total_padding + 1)/2. - // - const int32_t vertical_needed_input = (ofm_shape.H - 1) * stride.vertical + kh; - const int32_t vertical_total_padding = std::max(0, vertical_needed_input - ifm_shape.H); - - const int32_t horizontal_needed_input = (ofm_shape.W - 1) * stride.horizontal + kw; - const int32_t horizontal_total_padding = std::max(0, horizontal_needed_input - ifm_shape.W); - - padding.top = vertical_total_padding / 2; - padding.bottom = (vertical_total_padding + 1) / 2; - padding.left = horizontal_total_padding / 2; - padding.right = (horizontal_total_padding + 1) / 2; - - return padding; -} - -} // namespace util -} // namespace neurun |