// // Copyright © 2017 Arm Ltd. All rights reserved. // See LICENSE file in the project root for full license information. // #pragma once #include #include #include "backends/CpuTensorHandle.hpp" #include "backends/ArmComputeTensorUtils.hpp" #include "backends/NeonLayerSupport.hpp" #include "arm_compute/runtime/MemoryManagerOnDemand.h" #include namespace armnn { arm_compute::Status NeonConvolution2dWorkloadValidate(const TensorInfo& input, const TensorInfo& output, const Convolution2dDescriptor& descriptor, const TensorInfo& weights, const TensorInfo& biases); template class NeonConvolution2dBaseWorkload : public TypedWorkload { public: using TypedWorkload::m_Data; NeonConvolution2dBaseWorkload(const Convolution2dQueueDescriptor& descriptor, const WorkloadInfo& info, std::shared_ptr& memoryManager); virtual void ValidateData() const {}; protected: std::unique_ptr m_ConvolutionLayer; arm_compute::Tensor m_KernelTensor; arm_compute::Tensor m_BiasTensor; }; } //namespace armnn