diff options
author | Ellen Norris-Thompson <ellen.norris-thompson@arm.com> | 2019-07-15 14:23:30 +0100 |
---|---|---|
committer | Narumol Prangnawarat <narumol.prangnawarat@arm.com> | 2019-07-17 16:36:30 +0000 |
commit | 37e68686a4889b6e79b035356202903647671f13 (patch) | |
tree | f248e6ba83a3dcecc0c0bef829123a4378c23e99 /src/backends/neon/workloads/NeonResizeBilinearWorkload.cpp | |
parent | bcca1f4a7ba8364f7b5e58e8e8866ccd7d530f92 (diff) | |
download | armnn-37e68686a4889b6e79b035356202903647671f13.tar.gz |
IVGCVSW-3297 Add Neon backend support for ResizeNearestNeighbour
* Renamed NeonResizeBilinearWorkload.* to NeonResizeWorkload.* and added support for ResizeNearestNeighbour
* Added CreateWorkload and LayerTests for Neon backend
Signed-off-by: Ellen Norris-Thompson <ellen.norris-thompson@arm.com>
Change-Id: I72f5340608a0928f8b32a41d1915ee2c35849f18
Diffstat (limited to 'src/backends/neon/workloads/NeonResizeBilinearWorkload.cpp')
-rw-r--r-- | src/backends/neon/workloads/NeonResizeBilinearWorkload.cpp | 59 |
1 files changed, 0 insertions, 59 deletions
diff --git a/src/backends/neon/workloads/NeonResizeBilinearWorkload.cpp b/src/backends/neon/workloads/NeonResizeBilinearWorkload.cpp deleted file mode 100644 index 6943d872e4..0000000000 --- a/src/backends/neon/workloads/NeonResizeBilinearWorkload.cpp +++ /dev/null @@ -1,59 +0,0 @@ -// -// Copyright © 2017 Arm Ltd. All rights reserved. -// SPDX-License-Identifier: MIT -// - -#include "NeonResizeBilinearWorkload.hpp" - -#include <aclCommon/ArmComputeUtils.hpp> -#include <aclCommon/ArmComputeTensorUtils.hpp> -#include <backendsCommon/CpuTensorHandle.hpp> -#include <neon/NeonTensorHandle.hpp> -#include <neon/NeonLayerSupport.hpp> - -using namespace armnn::armcomputetensorutils; - -namespace armnn -{ - -arm_compute::Status NeonResizeBilinearWorkloadValidate(const TensorInfo& input, const TensorInfo& output) -{ - const arm_compute::TensorInfo aclInputInfo = armcomputetensorutils::BuildArmComputeTensorInfo(input); - const arm_compute::TensorInfo aclOutputInfo = armcomputetensorutils::BuildArmComputeTensorInfo(output); - - return arm_compute::NEScale::validate(&aclInputInfo, - &aclOutputInfo, - arm_compute::InterpolationPolicy::BILINEAR, - arm_compute::BorderMode::REPLICATE, - arm_compute::PixelValue(0.f), - arm_compute::SamplingPolicy::TOP_LEFT); -} - -NeonResizeBilinearWorkload::NeonResizeBilinearWorkload(const ResizeBilinearQueueDescriptor& descriptor, - const WorkloadInfo& info) - : BaseWorkload<ResizeBilinearQueueDescriptor>(descriptor, info) -{ - m_Data.ValidateInputsOutputs("NeonResizeBilinearWorkload", 1, 1); - - arm_compute::ITensor& input = boost::polymorphic_downcast<IAclTensorHandle*>(m_Data.m_Inputs[0])->GetTensor(); - arm_compute::ITensor& output = boost::polymorphic_downcast<IAclTensorHandle*>(m_Data.m_Outputs[0])->GetTensor(); - - arm_compute::DataLayout aclDataLayout = ConvertDataLayout(m_Data.m_Parameters.m_DataLayout); - input.info()->set_data_layout(aclDataLayout); - output.info()->set_data_layout(aclDataLayout); - - m_ResizeBilinearLayer.configure(&input, - &output, - arm_compute::InterpolationPolicy::BILINEAR, - arm_compute::BorderMode::REPLICATE, - arm_compute::PixelValue(0.f), - arm_compute::SamplingPolicy::TOP_LEFT); -}; - -void NeonResizeBilinearWorkload::Execute() const -{ - ARMNN_SCOPED_PROFILING_EVENT_NEON("NeonResizeBilinearWorkload_Execute"); - m_ResizeBilinearLayer.run(); -} - -} //namespace armnn |