From 3122bd574a3d29774c535ca2136de361da626e88 Mon Sep 17 00:00:00 2001 From: Matteo Martincigh Date: Mon, 3 Jun 2019 16:54:25 +0100 Subject: IVGCVSW-3212 Refactor the Reference BatchNormalization workloads to handle Float32 and QAsymm8 types * Removed the type-specific workload implementations * Added type-independent RefBatchNormalizationWorkload implementation * Reworked BachNormImpl to use decoders/encoders * Improved the validation of the BatchNorm queue descriptor * Fixed unit tests where necessary Change-Id: Icf3fa1332292d38ec2fa0b1cb984cab78426034b Signed-off-by: Matteo Martincigh --- .../workloads/RefBatchNormalizationWorkload.hpp | 28 ++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 src/backends/reference/workloads/RefBatchNormalizationWorkload.hpp (limited to 'src/backends/reference/workloads/RefBatchNormalizationWorkload.hpp') diff --git a/src/backends/reference/workloads/RefBatchNormalizationWorkload.hpp b/src/backends/reference/workloads/RefBatchNormalizationWorkload.hpp new file mode 100644 index 0000000000..9e71e7b4c5 --- /dev/null +++ b/src/backends/reference/workloads/RefBatchNormalizationWorkload.hpp @@ -0,0 +1,28 @@ +// +// Copyright © 2017 Arm Ltd. All rights reserved. +// SPDX-License-Identifier: MIT +// + +#pragma once + +#include +#include + +namespace armnn +{ + +class RefBatchNormalizationWorkload : public BaseWorkload +{ +public: + explicit RefBatchNormalizationWorkload(const BatchNormalizationQueueDescriptor& descriptor, + const WorkloadInfo& info); + virtual void Execute() const override; + +private: + std::unique_ptr m_Mean; + std::unique_ptr m_Variance; + std::unique_ptr m_Beta; + std::unique_ptr m_Gamma; +}; + +} //namespace armnn -- cgit v1.2.1