// // Copyright © 2017 Arm Ltd. All rights reserved. // SPDX-License-Identifier: MIT // #pragma once #include "LayerWithParameters.hpp" namespace armnn { class ScopedCpuTensorHandle; class FullyConnectedLayer : public LayerWithParameters { public: std::unique_ptr m_Weight; std::unique_ptr m_Bias; virtual std::unique_ptr CreateWorkload(const Graph& graph, const IWorkloadFactory& factory) const override; FullyConnectedLayer* Clone(Graph& graph) const override; void ValidateTensorShapesFromInputs() override; std::vector InferOutputShapes(const std::vector& inputShapes) const override; protected: FullyConnectedLayer(const FullyConnectedDescriptor& param, const char* name); ~FullyConnectedLayer() = default; ConstantTensors GetConstantTensorsByRef() override; }; } // namespace