// // Copyright © 2017 Arm Ltd and Contributors. All rights reserved. // SPDX-License-Identifier: MIT // #pragma once #include "ClBaseWorkload.hpp" #include #include #include namespace armnn { arm_compute::Status ClFullyConnectedWorkloadValidate(const TensorInfo& input, const TensorInfo& output, const TensorInfo& weights, const TensorInfo& biases, const FullyConnectedDescriptor& descriptor, const ActivationDescriptor* activationDescriptor = nullptr); class ClFullyConnectedWorkload : public ClBaseWorkload { public: ClFullyConnectedWorkload(const FullyConnectedQueueDescriptor& descriptor, const WorkloadInfo& info, std::shared_ptr& memoryManager, const arm_compute::CLCompileContext& clCompileContext); using ClBaseWorkload::m_Data; void Execute() const override; private: mutable arm_compute::CLFullyConnectedLayer m_FullyConnectedLayer; std::unique_ptr m_WeightsTensor; std::unique_ptr m_BiasesTensor; void FreeUnusedTensors(); }; } //namespace armnn