// // Copyright © 2017 Arm Ltd and Contributors. All rights reserved. // SPDX-License-Identifier: MIT // #pragma once #include "ClBaseWorkload.hpp" #include #include namespace armnn { arm_compute::Status ClBatchNormalizationValidate(const TensorInfo& input, const TensorInfo& output, const TensorInfo& mean, const TensorInfo& var, const TensorInfo& beta, const TensorInfo& gamma, const BatchNormalizationDescriptor& descriptor, const ActivationDescriptor* activationDescriptor = nullptr); class ClBatchNormalizationFloatWorkload : public FloatWorkload { public: ClBatchNormalizationFloatWorkload(const BatchNormalizationQueueDescriptor& descriptor, const WorkloadInfo& info, const arm_compute::CLCompileContext& clCompileContext); using FloatWorkload::FloatWorkload; void Execute() const override; private: mutable arm_compute::CLBatchNormalizationLayer m_Layer; std::unique_ptr m_Mean; std::unique_ptr m_Variance; std::unique_ptr m_Gamma; std::unique_ptr m_Beta; void FreeUnusedTensors(); }; } //namespace armnn