// // Copyright © 2017 Arm Ltd. All rights reserved. // SPDX-License-Identifier: MIT // #pragma once #include #include #include #include #include #include namespace armnn { arm_compute::Status ClTransposeConvolution2dWorkloadValidate(const TensorInfo& input, const TensorInfo& output, const TransposeConvolution2dDescriptor& descriptor, const TensorInfo& weights, const Optional& biases); class ClTransposeConvolution2dWorkload : public BaseWorkload { public: ClTransposeConvolution2dWorkload(const TransposeConvolution2dQueueDescriptor& descriptor, const WorkloadInfo& info, std::shared_ptr& memoryManager, const arm_compute::CLCompileContext& clCompileContext); void Execute() const override; private: mutable arm_compute::CLDeconvolutionLayer m_Layer; std::unique_ptr m_WeightsTensor; std::unique_ptr m_BiasesTensor; void FreeUnusedTensors(); }; } // namespace armnn