diff options
author | arovir01 <Aron.Virginas-Tar@arm.com> | 2018-08-31 15:26:35 +0100 |
---|---|---|
committer | Matthew Bentham <matthew.bentham@arm.com> | 2018-09-17 17:21:25 +0100 |
commit | 9e53a35b66b1ec7ceee7c712380a13596175b83b (patch) | |
tree | d40bf9f27c799184324b6ab91cbb1a546fc4012e /src/armnn/backends/NeonWorkloads/NeonBatchNormalizationFloat32Workload.cpp | |
parent | 5540d2f379b15503269d1b9b5fbe8fbafd160d2e (diff) | |
download | armnn-9e53a35b66b1ec7ceee7c712380a13596175b83b.tar.gz |
IVGCVSW-1784: Rename float32 workloads for ACL
Change-Id: I98bdfe9cb12c663d1d5cfa456e2cc967d70ab22b
Diffstat (limited to 'src/armnn/backends/NeonWorkloads/NeonBatchNormalizationFloat32Workload.cpp')
-rw-r--r-- | src/armnn/backends/NeonWorkloads/NeonBatchNormalizationFloat32Workload.cpp | 96 |
1 files changed, 0 insertions, 96 deletions
diff --git a/src/armnn/backends/NeonWorkloads/NeonBatchNormalizationFloat32Workload.cpp b/src/armnn/backends/NeonWorkloads/NeonBatchNormalizationFloat32Workload.cpp deleted file mode 100644 index ca5c8202cd..0000000000 --- a/src/armnn/backends/NeonWorkloads/NeonBatchNormalizationFloat32Workload.cpp +++ /dev/null @@ -1,96 +0,0 @@ -// -// Copyright © 2017 Arm Ltd. All rights reserved. -// See LICENSE file in the project root for full license information. -// - -#include "NeonBatchNormalizationFloat32Workload.hpp" -#include "backends/CpuTensorHandle.hpp" -#include "backends/ArmComputeTensorUtils.hpp" -#include "../../../../include/armnn/ArmNN.hpp" - -namespace armnn -{ -using namespace armcomputetensorutils; - - -arm_compute::Status NeonBatchNormalizationValidate(const TensorInfo& input, - const TensorInfo& output, - const TensorInfo& mean, - const TensorInfo& var, - const TensorInfo& beta, - const TensorInfo& gamma, - const BatchNormalizationDescriptor& descriptor) -{ - const arm_compute::TensorInfo aclInputInfo = BuildArmComputeTensorInfo(input); - const arm_compute::TensorInfo aclOutputInfo = BuildArmComputeTensorInfo(output); - const arm_compute::TensorInfo aclMeanInfo = BuildArmComputeTensorInfo(mean); - const arm_compute::TensorInfo aclVarInfo = BuildArmComputeTensorInfo(var); - const arm_compute::TensorInfo aclBetaInfo = BuildArmComputeTensorInfo(beta); - const arm_compute::TensorInfo aclGammaInfo = BuildArmComputeTensorInfo(gamma); - - return arm_compute::NEBatchNormalizationLayer::validate(&aclInputInfo, - &aclOutputInfo, - &aclMeanInfo, - &aclVarInfo, - &aclBetaInfo, - &aclGammaInfo, - descriptor.m_Eps); -} - -NeonBatchNormalizationFloat32Workload::NeonBatchNormalizationFloat32Workload( - const BatchNormalizationQueueDescriptor& descriptor, const WorkloadInfo& info) - : FloatWorkload<BatchNormalizationQueueDescriptor>(descriptor, info) -{ - m_Data.ValidateInputsOutputs("NeonBatchNormalizationFloat32Workload", 1, 1); - - arm_compute::ITensor& input = boost::polymorphic_downcast<INeonTensorHandle*>(m_Data.m_Inputs[0])->GetTensor(); - arm_compute::ITensor& output = boost::polymorphic_downcast<INeonTensorHandle*>(m_Data.m_Outputs[0])->GetTensor(); - - m_Mean = std::make_unique<arm_compute::Tensor>(); - BuildArmComputeTensor(*m_Mean, m_Data.m_Mean->GetTensorInfo()); - - m_Variance = std::make_unique<arm_compute::Tensor>(); - BuildArmComputeTensor(*m_Variance, m_Data.m_Variance->GetTensorInfo()); - - m_Gamma = std::make_unique<arm_compute::Tensor>(); - BuildArmComputeTensor(*m_Gamma, m_Data.m_Gamma->GetTensorInfo()); - - m_Beta = std::make_unique<arm_compute::Tensor>(); - BuildArmComputeTensor(*m_Beta, m_Data.m_Beta->GetTensorInfo()); - - m_Layer.configure(&input, - &output, - m_Mean.get(), - m_Variance.get(), - m_Beta.get(), - m_Gamma.get(), - m_Data.m_Parameters.m_Eps); - - InitializeArmComputeTensorDataForFloatTypes(*m_Mean, m_Data.m_Mean); - InitializeArmComputeTensorDataForFloatTypes(*m_Variance, m_Data.m_Variance); - InitializeArmComputeTensorDataForFloatTypes(*m_Gamma, m_Data.m_Gamma); - InitializeArmComputeTensorDataForFloatTypes(*m_Beta, m_Data.m_Beta); - - // Force Compute Library to perform the necessary copying and reshaping, after which - // delete all the input tensors that will no longer be needed - m_Layer.prepare(); - FreeUnusedTensors(); -} - -void NeonBatchNormalizationFloat32Workload::Execute() const -{ - ARMNN_SCOPED_PROFILING_EVENT_NEON("NeonBatchNormalizationFloat32Workload_Execute"); - m_Layer.run(); -} - -void NeonBatchNormalizationFloat32Workload::FreeUnusedTensors() -{ - FreeTensorIfUnused(m_Mean); - FreeTensorIfUnused(m_Variance); - FreeTensorIfUnused(m_Gamma); - FreeTensorIfUnused(m_Beta); -} - -} //namespace armnn - - |