// // Copyright © 2017 Arm Ltd. All rights reserved. // SPDX-License-Identifier: MIT // #pragma once #include #include #include "BaseIterator.hpp" #include "Decoders.hpp" #include "Encoders.hpp" namespace armnn { class RefFullyConnectedWorkload : public BaseWorkload { public: explicit RefFullyConnectedWorkload(const FullyConnectedQueueDescriptor& descriptor, const WorkloadInfo& info); void PostAllocationConfigure() override; void Execute() const override; void ExecuteAsync(WorkingMemDescriptor& workingMemDescriptor) override; private: void PostAllocationConfigure(std::vector inputs, std::vector outputs); void Execute(std::vector inputs, std::vector outputs) const; std::unique_ptr m_Weight; std::unique_ptr m_Bias; std::unique_ptr> m_WeightDecoder; std::unique_ptr> m_BiasDecoder; TensorShape m_InputShape; TensorShape m_OutputShape; TensorShape m_WeightShape; unsigned int m_NumActivations; }; } //namespace armnn