diff options
Diffstat (limited to 'libs/ARMComputeEx/src/runtime/NEON')
-rw-r--r-- | libs/ARMComputeEx/src/runtime/NEON/functions/NENormalizationLayerEx.cpp | 74 |
1 files changed, 0 insertions, 74 deletions
diff --git a/libs/ARMComputeEx/src/runtime/NEON/functions/NENormalizationLayerEx.cpp b/libs/ARMComputeEx/src/runtime/NEON/functions/NENormalizationLayerEx.cpp deleted file mode 100644 index 988e92715..000000000 --- a/libs/ARMComputeEx/src/runtime/NEON/functions/NENormalizationLayerEx.cpp +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All Rights Reserved - * Copyright (c) 2016-2018 ARM Limited. - * - * 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 "arm_compute/runtime/NEON/functions/NENormalizationLayerEx.h" -#include "arm_compute/runtime/NEON/NEScheduler.h" - -using namespace arm_compute; - -NENormalizationLayerEx::NENormalizationLayerEx(std::shared_ptr<IMemoryManager> memory_manager) - : _memory_group(std::move(memory_manager)), _norm_kernel(), _multiply_kernel(), - _border_handler(), _input_squared() -{ -} - -void NENormalizationLayerEx::configure(const ITensor *input, ITensor *output, - const NormalizationLayerInfo &norm_info) -{ - ARM_COMPUTE_ERROR_ON_NULLPTR(input, output); - - TensorInfo tensor_info(input->info()->tensor_shape(), 1, input->info()->data_type(), - input->info()->quantization_info()); - _input_squared.allocator()->init(tensor_info); - - // Manage intermediate buffers - _memory_group.manage(&_input_squared); - - // Configure kernels - _norm_kernel.configure(input, &_input_squared, output, norm_info); - _multiply_kernel.configure(input, input, &_input_squared, 1.0f, ConvertPolicy::SATURATE, - RoundingPolicy::TO_ZERO); - _border_handler.configure(&_input_squared, _norm_kernel.border_size(), BorderMode::CONSTANT, - PixelValue(0.0f)); - - // Allocate the tensor once the configure methods have been called - _input_squared.allocator()->allocate(); -} - -Status NENormalizationLayerEx::validate(const ITensorInfo *input, const ITensorInfo *output, - const NormalizationLayerInfo &norm_info) -{ - // Perform validation step - ARM_COMPUTE_RETURN_ERROR_ON_NULLPTR(input, output); - - ARM_COMPUTE_RETURN_ON_ERROR( - NENormalizationLayerExKernel::validate(input, input, output, norm_info)); - ARM_COMPUTE_RETURN_ON_ERROR(NEPixelWiseMultiplicationKernel::validate( - input, input, output, 1.0f, ConvertPolicy::SATURATE, RoundingPolicy::TO_ZERO)); - - return Status{}; -} - -void NENormalizationLayerEx::run() -{ - _memory_group.acquire(); - - NEScheduler::get().schedule(&_multiply_kernel, Window::DimY); - NEScheduler::get().schedule(&_border_handler, Window::DimY); - NEScheduler::get().schedule(&_norm_kernel, Window::DimY); - - _memory_group.release(); -} |